Протабулировать функцию - 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.

Объяснение кода листинга программы

  1. Подключение к модулю crt.
  2. Задание констант: a=2, b=4, c=1, d=3, h=0.2.
  3. Создание функции f с аргументами x и y, возвращающей значение типа real. В функции вычисляется значение по формуле ln(x+y+sqrt(sqr(x)+sqr(y))).
  4. Объявление переменных: t - двухмерный массив размером 16x16 с типом real, n, i и j - переменные типа byte.
  5. Инициализация переменной n как round((b-a)/h)+1.
  6. Заполнение первого столбца массива t значениями от a до b с шагом h.
  7. Заполнение первой строки массива t значениями от c до d с шагом h.
  8. Вычисление и заполнение значений массива t с использованием функции f.
  9. Вывод горизонтальной черты.
  10. Вывод заголовка таблицы.
  11. Вывод горизонтальной черты.
  12. Обход значений массива t и вывод их в виде таблицы, а также визуализация границ ячеек таблицы.
  13. Вывод горизонтальной черты. Код также содержит закомментированную часть с циклами while, но они в настоящее время отключены из-за использования блок-комментариев curly brackets.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы