Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Процедури і функції користувача та стандартні процедури і функції в DelphiСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Пригадайте! 1. Що таке процедура? 2. Що таке обробник події? Як створити обробник події? 3. Який загальний вигляд процедур-обробників подій, які ви створювали в Delphi? 4. Які змінні називаються локальними, а які глобальними? Поясніть різницю між ними. 5. Як у Delphi змінити числовий тип змінної на текстовий і навпаки? Процедури користувача в Delphi У попередніх пунктах ви створювали і використовували процедури, які були пов’язані з певними подіями і були методами певних об’єктів. Заготовки цих процедур середовище розробки створювало автоматично, а ви доповнювали ці заготовки командами і рядком var опису змінних. При створенні програм можна включати до проекту процедури, не пов’язані з подіями. Такі процедури називаються процедурами користувача. Їх найчастіше використовують у випадках, коли потрібно кілька разів при різних значеннях змінних виконувати одні й ті самі операції: обчислювати площу і периметр трикутників або інших геометричних фігур, вибирати більше з двох чисел, визначати, просте число чи ні, та інші. Або коли задачу можна поділити на окремі підзадачі, кожна з яких розв’язується за окремим алгоритмом, тобто при використанні методу покрокової деталізації. Процедура користувача, як й інші процедури – це відокремлена частина програми, яка має своє ім’я і яка може бути викликана для виконання в будь-якій іншій частині програми. Процедури користувача можуть бути: · без аргументів і без результатів; · з аргументами і без результатів; · без аргументів і з результатами; · з аргументами і з результатами. Запам’ятайте! Аргументи процедури – це змінні, які отримують свої значення в команді виклику процедури перед початком виконання команд процедури. Результати процедури – це змінні, які передають свої значення з процедури певним змінним в команді виклику процедури.
Найчастіше використовують процедури останнього типу. Загальний вигляд цих процедур у Delphi такий: procedure <ім’я> (<списки аргументів з їхніми типами>; var <списки результатів з їхніми типами>); var (<списки локальних змінних процедури з їхніми типами>); Begin <команди> end; Загальний вигляд команди виклику процедури з аргументами і результатами такий: <ім’я> (<списки виразів, значення яких передаються аргументам процедури>, <списки змінних, яким передають свої значення результати процедури>); Звертаємо вашу увагу: у команді виклику процедури порядок виразів, значення яких передаються аргументам процедури, і змінних, яким передають свої значення результати процедури, повинен строго відповідати порядку запису аргументів і результатів процедури в рядку її заголовка. Оформимо як процедуру фрагмент програми, який обчислює НСД двох натуральних чисел. У цієї процедури два аргументи – два натуральні числа, НСД яких потрібно знайти, і один результат – їхній НСД. Виглядатиме ця процедура так: procedure МCD (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; Викликати на виконання цю процедуру для одержання значення НСД двох конкретних натуральних чисел можна, наприклад, такою командою: МCD (35, 77, х). Виконуватися ця команда буде так: 1. Змінні a і b (аргументи процедури) одержують значення 35 і 77 відповідно. 2. Виконуються команди процедури. 3. Змінна с (результат процедури) передає своє значення змінній х, вказаній у команді виклику процедури. Отже, в результаті виконання вказаної команди виклику процедури змінна х одержить значення 7. У команді виклику цієї процедури в дужках на перших двох місцях, що відповідають аргументам процедури, можуть стояти не тільки константи, а й змінні, які на момент виконання команди виклику мають певні натуральні значення. Тобто при виконанні команди МCD (к, р, х) аргументи процедури a і b одержать значення змінних к і р відповідно. На цих місцях можуть стояти також арифметичні вирази, значення яких будуть обчислені на початку виконання команди виклику процедури і ці значення будуть передані аргументам процедури, наприклад, МCD (2*к+3, 3*р-1, х). Звертаємо вашу увагу: 1. Аргументи та результати процедури можуть бути одними й тими самими змінними, тобто допустима процедура із заголовком Procedure One (var a, b:Integer). У такої процедури змінні a і b є одночасно і аргументами і результатами. Команда виклику цієї процедури виглядатиме так: One (x, y). 2. Процедура може серед своїх команд мати команду виклику іншої процедури. Запам’ятайте! Змінні, які вказані в заголовку процедури, називаються формальними параметрами процедури. Змінні, які вказуються в команді виклику процедури, називаються фактичними параметрами процедури.
Проілюструємо зручність використання процедур користувача (зокрема, процедури знаходження НСД двох натуральних чисел) на прикладі такої задачі.
Задача 1. Знайти суму двох звичайних дробів.
У наведеному тексті проекту (рис. 2.59) процедура викликається двічі. Перший раз для знаходження НСД знаменників дробів. Цей НСД у наступній команді використовується для знаходження найменшого спільного знаменника дробів (НСК (х, у) = х*у/НСД(х, у)). Другий – для знаходження НСД чисельника і знаменника дробу-суми з метою його подальшого скорочення. Без використання процедури текст цього проекту збільшився б, погіршилась би його структурованість.
|
|||||||||
Последнее изменение этой страницы: 2016-09-18; просмотров: 632; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.73.149 (0.009 с.) |