Сделала вот так. Не обращайте внимание, что переменные по немецки. Что вы об этом думаете?
Код
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.