11 клас (академ). Процедури користувача в Delphi. Опис та виклик процедур. - 11 клас (академічний) - Інформатика - Каталог статей - Кабінет інформатики Черкаської СПШ №20
Кабінет 208
Головна | Реєстрація | Вхід
Вівторок, 06.12.2016, 21:48
Меню сайту
Форма входу

Категорії розділу
5 клас [11]
6 клас [24]
7 клас [16]
8 клас [15]
9 клас [25]
10 клас (стардарт) [17]
10 клас (академічний) [23]
11 клас (стандарт) [21]
11 клас (академічний) [33]
Головна » Статті » Інформатика » 11 клас (академічний)

11 клас (академ). Процедури користувача в Delphi. Опис та виклик процедур.



У попередніх пунктах ми створювали і використовували процедури, які були пов’язані з певними подіями і були методами певних об’єктів. Заготовки цих процедур середовище розробки  створювало автоматично, а ми доповнювали ці заготовки командами і рядком var (опису змінних).

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

Процедура користувача – це відокремлена частина програми, яка має своє ім’я і яка може бути викликана для виконання в будь-якій іншій частині програми.

Процедури користувача можуть бути:

·       без аргументів і без результатів;

·       з аргументами і без результатів;

·       без аргументів і з результатами;

·       з аргументами і з результатами.

Аргументи процедури – це змінні, які отримують свої значення в команді виклику процедури перед початком виконання команд процедури.

Результати процедури – це змінні, які передають свої значення з процедури певним змінним в команді виклику процедури.

Найчастіше використовують процедури останнього типу. Загальний вигляд цих процедур у Delphi такий:

procedure <ім’я> (<опис аргументів>; var <опис результатів>);

var (<опис локальних змінних процедури>);

begin

<команди>

end;

Загальний вигляд команди виклику процедури з аргументами і результатами такий:

<ім’я> (<списки виразів, значення яких передаються аргументам процедури>, <списки змінних, яким передають свої значення результати процедури>);

ВАЖЛИВО: у команді виклику процедури порядок виразів, значення яких передаються аргументам процедури, і змінних, яким передають свої значення результати процедури, повинен строго відповідати порядку запису аргументів і результатів процедури в рядку її заголовка.

Оформимо як процедуру фрагмент програми, який обчислює НСД двох натуральних чисел. У цієї процедури два аргументи – два натуральні числа, НСД яких потрібно знайти, і один результат – їхній НСД. Виглядатиме ця процедура так:

procedure MCD (a, b: Integer; var c: Integer);

var r: Integer;

begin

r := a mod b;

while r <> 0 do begin a := b; b := r; r := a mod b; end;

c := b;

end;

Викликати на виконання цю процедуру для одержання значення НСД двох конкретних натуральних чисел можна, наприклад, такою командою: MCD (35, 77, х).  Виконуватися ця команда буде так:

1.     Змінні a і b (аргументи процедури) одержують значення 35 і 77 відповідно.

2.     Виконуються команди процедури.

3.     Змінна с (результат процедури) передає своє значення змінній х, вказаній у команді виклику процедури.

Отже, в результаті виконання вказаної команди виклику процедури змінна х одержить значення 7.


Змінні, які вказані в заголовку процедури, називаються формальними параметрами процедури.


Змінні, які вказуються в команді виклику процедури, називаються фактичними параметрами процедури.


 Домашнє завдання 

                 §2.10 пит. 1-6 стор. 100

           Впр. 3, 4 (записати тільки процедуру) стор. 100          

 

 

Категорія: 11 клас (академічний) | Додав: admin (04.10.2013)
Переглядів: 1108
Пошук
Статистика

Онлайн всього: 2
Гостей: 2
Користувачів: 0
Copyright MyCorp © 2016
Безкоштовний хостинг uCoz