Зворотний зв'язок

ПАСКАЛЬ: точка повернення, підстановка аргументів, зберігання змінних

sh(x) = (ex-e-x)/2, ch(x) = (ex+e-x)/2,

th(x) = (ex-e-x)/(ex+e-x) = (e2x-1)/(e2x+1) .

У програмі можна записати функції з іменами sh, ch і th, що задають необхідні обчислення, та означити змінні a, b, h, n, k, x. Тоді оператори тіла програми можуть мати такий вигляд:

Readln(a, b, h);

n:= trunc((b-a)/h);

for k:=0 to n do

begin x:=a+k*h; writeln(x, ' ', sh(x)) end;

for k:=0 to n do

begin x:=a+k*h; writeln(x, ' ', ch(x)) end;

for k:=0 to n do

begin x:=a+k*h; writeln(x, ' ', th(x)) end;

Достатньо нудно. Якби в нас була підпрограма (процедура) з ім'ям tabf, параметризована не тільки відрізком і відстанню між точками, але також і функцією, то замість трьох циклів достатньо було б написати лише

tabf(sh, a, b, h); tabf(ch, a, b, h); tabf(th, a, b, h);

Займемося написанням процедури tabf. Нехай f буде ім'ям параметра, що позначає функцію, яка табулюється; імена й зміст інших параметрів очевидні. Для початку маємо

procedure tabf( означення параметра f; a, b, h : real);

var k, n : integer; x : real;

begin n := trunc((b-a)/h);

for k:=0 to n do

begin x:=a+k*h; writeln(x, ' ', f(x)) end;

end;

Уточнимо тепер означення параметра f. У стандарті мови Паскаль воно мало б вигляд заголовка функції, ім'я параметра в якій не має значення, наприклад,

function f(xxxx : real) : real.

Зауважимо, що функції sh, ch і th слід було б означити з аналогічними заголовками, тобто, наприклад,


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат