Програмування мовою
Паскаль
Функції
Функції
Функція – це допоміжний алгоритм
(підпрограма), результатом роботи якої є деяке
значення.
Приклади:
• обчислення , ,
• розрахунок значення по складених формулах
• відповідь на запитання (просте число або ні?)
Для чого?
• для обчислення однакових розрахунків в різних місцях
програми
• для створення загальнодоступних бібліотек функцій
xsin xxcos
Функції
Задача: скласти функцію, яка обчислює більше з двох
значень, і навести приклад її використання
Функція:
формальні параметри
function Max (a, b: integer): integer;
begin
if a > b then Max := a
else Max := b;
end. це результат
функції
Функції
Особливості:
• заголовок починається словом function
• формальні параметри описуються так само, як і для процедур
• можна використовувати параметри-змінні
• в кінці заголовка через двокрапку вказується тип результату
• функції розміщуються ВИЩЕ основної програми
Max (a, b: integer): integer;function
function Max (a, b: integer): ;integer
function qq( a, b: integer; x: real ): real;a, b: integer; x: real
function Max ( a, b: integer): integer;var
Функції
Особливості:
• можна оголошувати і використовувати локальні змінні
• значення, яке є результатом, записується в змінну, ім’я якої
співпадає з назвою функції; оголошувати НЕ ПОТРІБНО:
function Max (a, b: integer): integer;
begin
...
end;
Max := a;
function qq (a, b: integer): float;
begin
...
end;
var x, y: float;
Програма
program qq;
var a, b, max: integer;
begin
writeln(‘Введіть два числа');
read(a, b);
max := Max ( a, b );
writeln(‘Найбільше число ', max );
end.
function Max (a, b: integer): integer;
begin
...
end;
c
c
c
Імена змінних, функцій і процедур не
повинні співпадати!
!
фактичні параметри
виклик функції
Логічні функції
Задача: скласти функцію, яка визначає, чи дійсно, що задане число –
просте.
Особливості:
• відповідь – логічне значення (True або False)
• результат функції можна використовувати як логічну величину
в умовах (if, while)
Алгоритм: рахуємо кількість дільників в інтервалі від 2 до N-1, якщо
воно не дорівнює нулю – число складене.
count := 0;
for i := 2 to N-1 do
if N mod i = 0 then
count := count + 1;
if count = 0 then
{ число N просте}
else { число N складене }
Як краще??
Логічні функції
program qq;
var N: integer;
begin
writeln(‘Ввести ціле число');
read(N);
if Prime(N) then
writeln(N, ' – просте число')
else writeln(N, ' – складене число');
end.
function Prime (N: integer): boolean;
var count, i: integer;
begin
i := 2; count := 0;
while i*i <= N do
if N mod i = 0 then count := count + 1;
i := i + 1;
end;
Prime := (count = 0);
end;
виклик функції
результат – логічне значення
перебір тільки до N
умова – це логічне значення
Завдання
"4": Скласти функцію, яка визначає суму всіх чисел від 1 до N і навести
приклад її використання.
Приклад:
Ввести число:
100
сума = 5050
"5": Скласти функцію, яка визначає, скільки зерен попросив положити на
N-ту клітку винахідник шахмат (на 1-шу – 1 зерно, на 2-у – 2 зерна, на
3-ю – 4 зерна, …)
Приклад:
Ввести номер клітки:
28
На 28-ой клітці 134217728 зерен.
Завдання (варіант 2)
"4": Скласти функцію, яка визначає найбільший спільний дільник двох
натуральних чисел і навести приклад її використання.
Приклад:
Ввести два числа:
14 21
НСД(14,21)=7
"5": Скласти функцію, яка обчислює синус як суму ряду (с точністю 0.001)
Приклад:
Ввести кут в градусах:
45
sin(45) = 0.707

!7!5!3
sin
753
xxx
xx
x в радіанах!

програмування мовою паскаль функції

  • 1.
  • 2.
    Функції Функція – цедопоміжний алгоритм (підпрограма), результатом роботи якої є деяке значення. Приклади: • обчислення , , • розрахунок значення по складених формулах • відповідь на запитання (просте число або ні?) Для чого? • для обчислення однакових розрахунків в різних місцях програми • для створення загальнодоступних бібліотек функцій xsin xxcos
  • 3.
    Функції Задача: скласти функцію,яка обчислює більше з двох значень, і навести приклад її використання Функція: формальні параметри function Max (a, b: integer): integer; begin if a > b then Max := a else Max := b; end. це результат функції
  • 4.
    Функції Особливості: • заголовок починаєтьсясловом function • формальні параметри описуються так само, як і для процедур • можна використовувати параметри-змінні • в кінці заголовка через двокрапку вказується тип результату • функції розміщуються ВИЩЕ основної програми Max (a, b: integer): integer;function function Max (a, b: integer): ;integer function qq( a, b: integer; x: real ): real;a, b: integer; x: real function Max ( a, b: integer): integer;var
  • 5.
    Функції Особливості: • можна оголошуватиі використовувати локальні змінні • значення, яке є результатом, записується в змінну, ім’я якої співпадає з назвою функції; оголошувати НЕ ПОТРІБНО: function Max (a, b: integer): integer; begin ... end; Max := a; function qq (a, b: integer): float; begin ... end; var x, y: float;
  • 6.
    Програма program qq; var a,b, max: integer; begin writeln(‘Введіть два числа'); read(a, b); max := Max ( a, b ); writeln(‘Найбільше число ', max ); end. function Max (a, b: integer): integer; begin ... end; c c c Імена змінних, функцій і процедур не повинні співпадати! ! фактичні параметри виклик функції
  • 7.
    Логічні функції Задача: скластифункцію, яка визначає, чи дійсно, що задане число – просте. Особливості: • відповідь – логічне значення (True або False) • результат функції можна використовувати як логічну величину в умовах (if, while) Алгоритм: рахуємо кількість дільників в інтервалі від 2 до N-1, якщо воно не дорівнює нулю – число складене. count := 0; for i := 2 to N-1 do if N mod i = 0 then count := count + 1; if count = 0 then { число N просте} else { число N складене } Як краще??
  • 8.
    Логічні функції program qq; varN: integer; begin writeln(‘Ввести ціле число'); read(N); if Prime(N) then writeln(N, ' – просте число') else writeln(N, ' – складене число'); end. function Prime (N: integer): boolean; var count, i: integer; begin i := 2; count := 0; while i*i <= N do if N mod i = 0 then count := count + 1; i := i + 1; end; Prime := (count = 0); end; виклик функції результат – логічне значення перебір тільки до N умова – це логічне значення
  • 9.
    Завдання "4": Скласти функцію,яка визначає суму всіх чисел від 1 до N і навести приклад її використання. Приклад: Ввести число: 100 сума = 5050 "5": Скласти функцію, яка визначає, скільки зерен попросив положити на N-ту клітку винахідник шахмат (на 1-шу – 1 зерно, на 2-у – 2 зерна, на 3-ю – 4 зерна, …) Приклад: Ввести номер клітки: 28 На 28-ой клітці 134217728 зерен.
  • 10.
    Завдання (варіант 2) "4":Скласти функцію, яка визначає найбільший спільний дільник двох натуральних чисел і навести приклад її використання. Приклад: Ввести два числа: 14 21 НСД(14,21)=7 "5": Скласти функцію, яка обчислює синус як суму ряду (с точністю 0.001) Приклад: Ввести кут в градусах: 45 sin(45) = 0.707  !7!5!3 sin 753 xxx xx x в радіанах!