Красивая таблица значений функции
В этой программе не только выводятся результаты табулирования функции, но и представляются в "красивом", отформатированном виде. Результат работы программы можно видеть внизу на рисунке.
Program TablFunc2; uses Crt; const xn=-20;xk=20;step=1; {xn,xk - начальное и конечное значения x; step - шаг по x; } function f(x:real):real; begin f:=abs(sin(sqr(x))) end; var i:word; row,col,num_of_step:byte; x:real; Begin {Установка фона - цвет экрана} TextBackground(9);ClrScr; {Цвет вывода текста и фона в таблице} TextColor(15);TextBackGround(3); {Начальная позиция для вывода в таблицу col - номер столбца (от 1 до 80), row - номер строки от 1 до 25} row:=3;col:=25; GoToXY(col,row); writeln('________________________________'); {Переход к следующей строке} row:=row+1;GoToXY(col,row); Writeln('|Значение x | Значение F(x) |'); row:=row+1;GoToXY(col,row); writeln('|___________|__________________|'); {Начальное значение x и число шагов} x:=xn; num_of_step:=round((xk-xn)/step)+1; For i:=1 to num_of_step do begin if row<23 then row:=row+1 {В случае, если таблица заполнена} else begin GoToXY(col,24);write('Нажми Enter');row:=6;readln; end; GoToXY(col,row); writeln('|',x:7:3,' | ',F(x):13:3,' |'); x:=x+step; end; row:=row+1;GoToXY(col,row); writeln('|___________|__________________|'); {Заполнение остатка таблицы в случае, если не все строки остались заполнены} TextBackGround(9); repeat row:=row+1;GoToXY(col,row); writeln(' '); until row>22; readln End.