Реферат на тему:

Функція та її виклики

Розглянемо задачу: обчислити мінімальну з відстаней між точками площини
A(x1; y1), B(x2; y2) і C(1;2). Алгоритм розв’язання цієї задачі
очевидний:

1) обчислити відстані d1=AB, d2=AC, d3=BC;

2) обчислити m= min{d1, d2, d3}.

, і для обчислення відстаней нам необхідно тричі написати
«Паскалівський» варіант цієї формули з різними наборами координат: x1,
y1, x2, y2, потім x1, y1, 1, 2, потім x2, y2, 1, 2. Ці вирази досить
громіздкі й задають по суті ті самі обчислення, тільки з різними
наборами значень. Все це можна записати інакше.

Мова Паскаль дозволяє описати повторювані обчислення один раз, дати
цьому опису ім’я і далі не описувати самі обчислення, а тільки позначати
їх цим ім’ям.

Отже, у мові Паскаль є описи обчислень і є їх позначення. Опис
обчислень, як правило, є параметризованим, подібно до алгоритму
обчислення коренів квадратного рівняння, де параметрами були коефіцієнти
рівняння. Конкретні значення, з якими треба зробити обчислення,
вказуються в позначенні обчислень разом із ім’ям цього опису й
називаються аргументами. Опис обчислень деякого значення називається
функцією, а їх позначення – викликом функції.

У даному випадку параметрами будуть чотири координати двох точок.
Назвемо їх a1, b1, a2, b2. Опис обчислень задається у вигляді функції,
якій ми дамо ім’я dd:

function dd(a1, b1, a2, b2: real):real;

begin

dd:=sqrt( sqr(a1-a2)+sqr(b1-b2) )

end;

Цей опис є означенням імені dd, тому поміщається серед інших означень
програми. Позначення цієї функції, тобто виклики її з конкретними
аргументами записуються в тілі програми:

program minimdis(input, output);

var x1, y1, x2, y2, d1, d2, d3, m : real;

function dd(a1, b1, a2, b2: real):real;

begin

dd:=sqrt( sqr(a1-a2)+sqr(b1-b2) )

end;

begin

writeln(‘введіть координати двох точок:’);

readln(x1, y1, x2, y2);

d1:=dd(x1, y1, x2, y2);

d2:=dd(x1, y1, 1, 2);

d3:=dd(x2, y2, 1, 2);

if d1

Похожие записи