Програмування: Функції, процедури та підпрограми, Детальна інформація
Програмування: Функції, процедури та підпрограми
d3:=dd(x2, y2, 1, 2);
if d1
if d3
writeln('найменша відстань: ', m)
end.
При виконанні цієї програми після читання значень змінних виконується виклик функції dd: значення змінних x1, y1, x2, y2 присвоюються відповідним параметрам a1, b1, a2, b2 як звичайним змінним і потім обчислюється значення dd. Воно і є значенням виразу dd(x1, y1, x2, y2), що присвоюється змінній d1.
Так само, тільки з іншими аргументами, виконуються другий і третій виклики функції, і інші значення присвоюються змінним d2 і d3.
Отже, ми бачимо, що мова Паскаль дозволяє не тільки користуватися викликами "стандартних" функцій, наприклад, odd або sin, але й створювати свої власні.
Функція має такий загальний вигляд:
function ім'я(означення параметрів) : ім'я типу;
означення
begin
послідовність операторів
end;
У першому рядку функції записано заголовок, де вказано її ім'я й означення параметрів. Наприкінці заголовка обов'язково записується ім'я типу значень, що обчислюються в результаті виконання викликів функції. Ці значення називаються такими, що повертаються.
Параметрів у функції може не бути, тоді й дужки відсутні, а виклик такої функції є просто її ім'ям.
Після заголовка структура функції повторює структуру програми за винятком лише точки в кінці. У функції можна визначати свої змінні, сталі та функції. Проте функція істотно відрізняється від програми тим, що:
1) функція записується серед означень програми;
2) ім'я самої програми ніде в програмі не вказується, тоді як серед операторів функції обов'язково повинні бути оператори присвоювання з ім'ям функції в лівій частині, причому при виконанні виклику функції хоча б один із них повинен бути виконаним.
Виклик функції є виразом того типу, який указано в її заголовку. І він, як усякий вираз, може бути частиною складнішого виразу. Наприклад, за необхідності ми могли б написати d1:=sqr(dd(x1, y1, 1, 2)+1).
Повернемося до прикладу. Нескладно написати функцію обчислення меншого з двох значень:
function min(x1, x2 : real):real;
begin
if x1
else min:=x2
end;
і помістити її слідом за функцією dd у програмі minimdis. З її використанням обчислення мінімального зі значень змінних d1, d2, d3 можна в тілі програми задати так:
m:=min(d1, d2); m:=min(m, d3)
або навіть так:
m:=min(min(d1, d2), d3)
if d1
if d3
writeln('найменша відстань: ', m)
end.
При виконанні цієї програми після читання значень змінних виконується виклик функції dd: значення змінних x1, y1, x2, y2 присвоюються відповідним параметрам a1, b1, a2, b2 як звичайним змінним і потім обчислюється значення dd. Воно і є значенням виразу dd(x1, y1, x2, y2), що присвоюється змінній d1.
Так само, тільки з іншими аргументами, виконуються другий і третій виклики функції, і інші значення присвоюються змінним d2 і d3.
Отже, ми бачимо, що мова Паскаль дозволяє не тільки користуватися викликами "стандартних" функцій, наприклад, odd або sin, але й створювати свої власні.
Функція має такий загальний вигляд:
function ім'я(означення параметрів) : ім'я типу;
означення
begin
послідовність операторів
end;
У першому рядку функції записано заголовок, де вказано її ім'я й означення параметрів. Наприкінці заголовка обов'язково записується ім'я типу значень, що обчислюються в результаті виконання викликів функції. Ці значення називаються такими, що повертаються.
Параметрів у функції може не бути, тоді й дужки відсутні, а виклик такої функції є просто її ім'ям.
Після заголовка структура функції повторює структуру програми за винятком лише точки в кінці. У функції можна визначати свої змінні, сталі та функції. Проте функція істотно відрізняється від програми тим, що:
1) функція записується серед означень програми;
2) ім'я самої програми ніде в програмі не вказується, тоді як серед операторів функції обов'язково повинні бути оператори присвоювання з ім'ям функції в лівій частині, причому при виконанні виклику функції хоча б один із них повинен бути виконаним.
Виклик функції є виразом того типу, який указано в її заголовку. І він, як усякий вираз, може бути частиною складнішого виразу. Наприклад, за необхідності ми могли б написати d1:=sqr(dd(x1, y1, 1, 2)+1).
Повернемося до прикладу. Нескладно написати функцію обчислення меншого з двох значень:
function min(x1, x2 : real):real;
begin
if x1
else min:=x2
end;
і помістити її слідом за функцією dd у програмі minimdis. З її використанням обчислення мінімального зі значень змінних d1, d2, d3 можна в тілі програми задати так:
m:=min(d1, d2); m:=min(m, d3)
або навіть так:
m:=min(min(d1, d2), d3)
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021