Красивая таблица значений функции
В этой программе не только выводятся результаты табулирования функции, но и представляются в "красивом", отформатированном виде. Результат работы программы можно видеть внизу на рисунке.
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.