Протабулировать функцию - Pascal (80374)
Формулировка задачи:
Помогите решить данное задание
Создать программу табулирования ф-ции z = f (x, y) в прямоугольнику [a, b]x[c, d] с шагом табуляции h
Функция - lg(x+y+sqrt(sqr(x)+sqr(y)))
a=2
b=4
c=1
d=3
h=0.20
Решение задачи: «Протабулировать функцию»
textual
Листинг программы
- uses crt;
- const a=2;
- b=4;
- c=1;
- d=3;
- h=0.2;
- function f(x,y:real):real;
- begin
- f:=ln(x+y+sqrt(sqr(x)+sqr(y)))
- end;
- var t:array[0..15,0..15] of real;
- n,i,j:byte;
- begin
- n:=round((b-a)/h)+1 ;
- for i:=1 to n do
- t[i,0]:=a+(i-1)*h;
- for i:=1 to n do
- t[0,i]:=c+(i-1)*h;
- for i:=1 to n do
- for j:=1 to n do
- t[i,j]:=f(t[i,0],t[j,0]);
- for i:=1 to (n+1)*6+2 do write('-');
- writeln;
- write('| x\y |');
- for i:=1 to n do
- write(t[0,i]:6:2);
- writeln('|');
- for i:=1 to (n+1)*6+2 do write('-');
- writeln;
- for i:=1 to n do
- begin
- write('|',t[i,0]:5:2,'|');
- for j:=1 to n do
- if i+j>0 then write(t[i,j]:6:2);
- writeln('|');
- end;
- for i:=1 to (n+1)*6+2 do write('-');
- end.
- {while x<b+h/2 do
- begin
- y:=c;
- while y<d+h/2 do
- begin
- write(' x=',x:4:1,' y=',y:4:1,' f=',f(x,y):5:2);
- y:=y+h;
- end;
- writeln;
- x:=x+h;
- end;
- end.
Объяснение кода листинга программы
- Подключение к модулю
crt
. - Задание констант:
a=2
,b=4
,c=1
,d=3
,h=0.2
. - Создание функции
f
с аргументамиx
иy
, возвращающей значение типаreal
. В функции вычисляется значение по формулеln(x+y+sqrt(sqr(x)+sqr(y)))
. - Объявление переменных:
t
- двухмерный массив размером 16x16 с типомreal
,n
,i
иj
- переменные типаbyte
. - Инициализация переменной
n
какround((b-a)/h)+1
. - Заполнение первого столбца массива
t
значениями отa
доb
с шагомh
. - Заполнение первой строки массива
t
значениями отc
доd
с шагомh
. - Вычисление и заполнение значений массива
t
с использованием функцииf
. - Вывод горизонтальной черты.
- Вывод заголовка таблицы.
- Вывод горизонтальной черты.
- Обход значений массива
t
и вывод их в виде таблицы, а также визуализация границ ячеек таблицы. - Вывод горизонтальной черты.
Код также содержит закомментированную часть с циклами
while
, но они в настоящее время отключены из-за использования блок-комментариевcurly brackets
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д