Реферат на тему:
Функція та її виклики
Розглянемо задачу: обчислити мінімальну з відстаней між точками площини
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
Нашли опечатку? Выделите и нажмите CTRL+Enter