Сделала вот так. Не обращайте внимание, что переменные по немецки. Что вы об этом думаете?
Код
program funktionsgraf;
uses crt;
var str, symbol1, symbol2,wertstr1, wertstr2 :string;
position, wert, wert1, wert2, fehler, x, y :integer;
zeichen : char;
BEGIN
TextColor(Black);
clrscr;
writeln('Geben sie die Funtion f(x) ein');
readln(str);
position:=0;
wertstr1 := '';
wertstr2 := '';
wert := 0;
repeat
begin
wert1 := wert;
position:=position+1;
symbol1:=copy(str,position,1);
wertstr1:=wertstr1+symbol1;
val(wertstr1,wert, fehler);
end;
until
fehler<>0;
writeln(wert1); {WEG}
position:=position+1;
zeichen:=str[position];
wert := 0;
repeat
begin
position:=position+1;
symbol2:=copy(str,position,1);
wertstr2:=wertstr2+symbol2;
val(wertstr2,wert,fehler);
wert2 := wert;
end;
until
((fehler<>0) or (position = length(str)));
writeln(wert2); {WEG}
writeln(' x f(x)');
for x:=1 to 10 do
begin
case zeichen of
'+' :
begin
y:=wert1*x+wert2;
{writeln(' ',x,' ',y)}
Punkt(x,wert1*x+wert2);
end;
'-' :
begin
y:=wert1*x-wert2;
{writeln(' ',x,' ',y)}
Punkt(x,wert1*x+wert2);
end
else writeln('Fehler!');
end; { case }
end; { for }
readkey;
END.