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

Програмування мовою Паскаль

Функції

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

Функції

Функція – це допоміжний алгоритм (підпрограма), результатом роботи якої є деяке значення.

Приклади: • обчислення , ,

• розрахунок значення по складених формулах

• відповідь на запитання (просте число або ні?)

Для чого?• для обчислення однакових розрахунків в різних місцях

програми

• для створення загальнодоступних бібліотек функцій

xsin xxcos

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

Функції

Задача: скласти функцію, яка обчислює більше з двох значень, і навести приклад її використання

Функція:

формальні параметри

function Max (a, b: integer): integer;

begin

if a > b then Max := a

else Max := b;

end. це результат функції

Page 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

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

Функції

Особливості:

• можна оголошувати і використовувати локальні змінні

• значення, яке є результатом, записується в змінну, ім’я якої співпадає з назвою функції; оголошувати НЕ ПОТРІБНО:

function Max (a, b: integer): integer;

begin

...

end;

Max := a;

function qq (a, b: integer): float;

begin

...

end;

var x, y: float;

Page 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

Імена змінних, функцій і процедур не повинні співпадати!!

фактичні параметри

виклик функції

Page 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 складене }

Як краще??

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

Логічні функції

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

умова – це логічне значення

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

Завдання

"4": Скласти функцію, яка визначає суму всіх чисел від 1 до N і навести приклад її використання.

Приклад:

Ввести число:

100

сума = 5050

"5": Скласти функцію, яка визначає, скільки зерен попросив положити на

N-ту клітку винахідник шахмат (на 1-шу – 1 зерно, на 2-у – 2 зерна, на 3-ю – 4 зерна, …)

Приклад:

Ввести номер клітки:

28

На 28-ой клітці 134217728 зерен.

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

Завдання (варіант 2)

"4": Скласти функцію, яка визначає найбільший спільний дільник двох натуральних чисел і навести приклад її використання.

Приклад:

Ввести два числа:

14 21

НСД(14,21)=7

"5": Скласти функцію, яка обчислює синус як суму ряду (с точністю 0.001)

Приклад:

Ввести кут в градусах:

45

sin(45) = 0.707

!7!5!3

sin753 xxx

xx

x в радіанах!


Recommended