Построение графика табулирования функции на delphi

Не могу построить график функции, чтобы через консоль вводилось значение, а после картинка графика.

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}


uses
  System.SysUtils,
  Unit2 in 'Unit2.pas' {Form2};

var
ar: array [0..12] of string = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '.', ',');
a,b,h,x,y: real; o: string;




  function wrtn(): string;
  var  x: string; j, lgbt, dot, i: integer;
  begin
    read(x);
    dot := 0;
    lgbt := 0;
    result := '';
    if ((x = ' ') or (x = '-') or (x = '.') or (x = ',')) then begin
        writeln('Ошибка: 0некорректное значение');
        result := 'Ошибка';
    end;

    for i := 1 to x.Length do begin
        if ('-' = x[i]) and (i <> 1) then begin
            writeln('Ошибка: 1некорректное значение');
            result := 'Ошибка';
        end;
        if (',' = x[i]) or ('.' = x[i]) then
            dot := dot + 1;
        if (dot > 1)then begin
            writeln('Ошибка: 2некорректное значение');
            result := 'Ошибка';
        end;

        for j := 0 to 12 do begin
          if x[i] = ar[j] then
             lgbt := lgbt + 1;
        end;
    end;

    if lgbt < x.Length then begin
      writeln('Ошибка: 3некорректное значение');
      result := 'Ошибка' ;
    end;
    if result <> 'Ошибка' then
      result := x;
  readln;
  end;

 function whle(): real;
 var a: string;
 begin
  a := 'Ошибка';
  while (a = 'Ошибка') do
      a := wrtn().replace(',', '.');
  result := StrToFloat(a);

 end;

  procedure znach();
      begin
      x := a;
        while x<=b do begin
          y:= sin(x);
          writeln('| ',x:0:0,' | ',y:0:3,' |');
          writeln('--------------');
          x:=x+h;
        end;
      end;


begin
begin
    while a>=b do begin
      write('Введите начальное значение: ');
      a:= whle();
      write('Введите конченое значение: ');
      b := whle();
      if a>=b then writeln('Ошибка: некорректный промежуток');
    end;


    while h<=0 do begin
      write('Введите шаг: ');
      h := whle();
      if h<=0 then writeln('Ошибка: недоупстимое значние шага');
    end;
  znach();
  readln
end;

end.

Ответы (0 шт):