Функції користувача в Delphi 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функції користувача в Delphi



Як зазначалося вище, процедура може не мати результатів, а може мати один або більше результатів. Якщо процедура має один результат, то зручніше її оформити і викликати як функцію користувача.

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

Відрізняється функція від процедури таким:

1. Рядок заголовка функції виглядає так:

function <ім’я> (<списки аргументів з їхніми типами>): <тип результату >;

2. Значення, яке функція повинна повернути (передати) команді, яка її викликає, в тексті самої функції має бути присвоєно змінній, ім’я якої збігається з іменем функції.

3. Функція може бути викликана або в правій частині команди присвоювання, або в команді виведення.

Якщо обчислення НСД оформити як функцію, то програма виглядатиме так (рис. 2.61):

Рис. 2.61. Програма додавання двох звичайних дробів з використанням функції НСД

 

Зверніть увагу не тільки на відмінності в оформленні процедури і функції, а й на відмінності в їх виклику і використанні в програмах, наведених на рис. 2.59 і 2.61 (табл. 2.3):

 

Таблиця 2.3. Відмінності у виклику процедури і функції

1. Використання процедури МCD 2. Використання функції МCD
3. MCD(den1, den2,z); 4. den:= den1*den2/z; 5. den:= den1*den2/ MCD(den1, den2);
6. MCD(den, nom, k); 7. k:=MCD(den, nom);

 

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

 

Стандартні процедури і функції в Delphi

У мові програмування Delphi можна використовувати великій набір стандартних процедур і функцій, призначених для виконання різноманітних операцій над числами, текстами, елементами керування, графічними об’єктами, файлами та ін.

Деякі з них ви вже використовували, наприклад, функцію StrToInt для переведення тексту в ціле число, функцію FloatToStr для переведення дійсного числа в текст, функцію sqrt для обчислення арифметичного квадратного кореня з дійсного числа.

Розглянемо ще кілька стандартних математичних функцій та їхнє призначення (табл. 2.4).

Таблиця 2.4. Приклади стандартних математичних функцій у Delphi

Функція Кількість аргументів та їх типи Результат Тип результату
Abs 1, цілий або дійсний Модуль числа Той самих, що й в аргументу
Arctan 1, дійсний Арктангенс числа (в радіанах) Дійсний
Cos 1, дійсний Косинус числа Дійсний
Exp 1, дійсний Експонента числа(ех) Дійсний
Frac 1, дійсний Дробова частина числа Дійсний
Int 1, дійсний Ціла частина числа Дійсний
Ln 1, дійсний Натуральний логарифм числа Дійсний
Pi   Число p Дійсний
Power 2, дійсні І аргумент у степені ІІ аргумент Дійсний
Random   Випадкове число від 0 до 1 Дійсний
Random 1, цілий Випадкове ціле число від 0 до значення аргументу–1 Цілий
Sin 1, дійсний Синус числа Дійсний
Sqr 1, дійсний Квадрат числа Дійсний

 

Звертаємо вашу увагу:

1. При виклику функції без аргументів потрібно вказувати лише її ім’я, наприклад, х:= Pi.

2. Перед першим використанням функції Random потрібно включити до тексту проекту команду виклику процедури Randomize без аргументів і без результатів, яка запустить генератор випадкових чисел.

3. Для використання функції Power потрібно в рядок Uses тексту проекту додати текст Math. Після цього до проекту підключиться додаткова бібліотека стандартних процедур та функцій і стане можливим використання ще цілого ряду математичних та інших процедур і функцій, з якими ви можете ознайомитися в Довідці.

Перевірте себе

1. º Що таке процедури користувача? Якими вони можуть бути?

2. · У яких випадках доцільно використовувати процедури користувача? У чому полягають переваги їхнього використання?

3. · Який загальний вигляд процедур користувача з аргументами та з результатами?

4. º Що таке аргументи процедури; результати процедури?

5. · Який вигляд має команда виклику процедури з аргументами і результатами?

6. º Що таке формальні параметри процедури і фактичні параметри процедури? Поясніть різницю між ними.

7. º Що таке функція користувача?

8. · Чим функція користувача відрізняється від процедури користувача?

9. * Який загальний вигляд функції?

10. · Які ви знаєте стандартні процедури і функції в Delphi? Охарактеризуйте їх.

11. * Знайдіть у Довідці інформацію про процедури без аргументів і без результатів, з аргументами і без результатів, з аргументами і без результатів. Наведіть приклади їхнього використання.

Виконайте завдання

1. º Запишіть заголовок процедури з іменем stepin, аргументами якої є змінна a дійсного типуі змінна b цілого типу, а результатом – змінна с дійсного типу, і приклад команди її виклику.

2. (ДЗ) º Запишіть заголовок процедури з іменем chastka, аргументами якої є дві змінні дійсного типу a, b, а результатами – змінна с дійсного типу та змінна f логічного типу, і приклад команди її виклику.

3. · Запишіть процедуру з іменем simp, яка здійснює перевірку, чи є дане натуральне число простим і повертає як результат значення змінної f логічного типу – ознаку того, чи є число простим, і значення змінної k цілого типу – кількість дільників даного числа.

4. (ДЗ) · Запишіть процедуру з іменем square, яка виконує обчислення площі трикутника за відомими довжинами його сторін, значення яких передаються до процедури як аргументи. Для обчислення площі використайте формулу Герона.

5. · Створіть проект, в якому обчислюється площа трикутника за відомими координатами його вершин. Для обчислення площі використайте формулу Герона. Використайте процедуру обчислення довжини відрізка за координатами його кінців. Створіть у власній папці папку Проект 2.10.5 і збережіть у ній проект.

6. (ДЗ) · Створіть проект, в якому для двох заданих на площині точок з цілими координатами визначається, чи лежать вони в одній координатній чверті. Використайте процедуру для визначення координатної чверті, у якій розміщена точка з заданими координатами. Створіть у власній папці папку Проект 2.10.6 і збережіть у ній проект.

7. º Запишіть заголовок функції з іменем length, аргументами якої є чотири змінні цілого типу, а результат має дійсний тип, і приклад команди її виклику.

8. (ДЗ) º Запишіть заголовок функції з іменем step, аргументами якої є змінна a дійсного типуі змінна b цілого типу, а результат має дійсний тип, і приклад команди її виклику.

9. º Запишіть функцію, яка виконує обчислення довжини відрізка за відомими координатами його кінців. Запишіть команду виклику цієї функції для обчислення довжини відрізка а з координатами кінців (0, 0) та (20, 30).

10. (ДЗ) · Запишіть функцію, в якій обчислюється значення факторіалу заданого натурального числа n (n! = 1*2*3*…*n). Запишіть команду використання цієї функції для обчислення суми факторіалів перших п’яти натуральних чисел.

11. º Створіть проект, в якому можна знайти максимальне з чотирьох заданих різних цілих чисел. Використайте функцію для знаходження більшого з двох заданих цілих чисел. Створіть у власній папці папку Проект 2.10.11 і збережіть у ній проект.

12. · Створіть проект, в якому для двох заданих цілих чисел визначається, яке з них має більшу суму цифр. Використайте функцію для знаходження суми цифр заданого цілого числа. Створіть у власній папці папку Проект 2.10.12 і збережіть у ній проект.

13. (ДЗ) · Створіть проект, в якому для двох заданих цілих чисел визначається, яке з них має більшу суму дільників. Використайте функцію для знаходження суми дільників заданого цілого числа. Створіть у папці Мої документи папку Проект 2.10.13 і збережіть у ній проект.

14. * Створіть проект, в якому для заданого цілого числа визначається, чи є одночасно простим саме число і число, записане тими самими цифрами, взятими у зворотньому порядку. Використайте функцію для визначення того, чи є число простим. Створіть у власній папці папку Проект 2.10.14 і збережіть у ній проект.

15. · Запишіть з використанням стандартних функцій Delphi команди для обчислення дискримінанту та коренів квадратного рівняння з коефіцієнтами a, b, c.

16. · Створіть проект, в якому обчислюється сума 11 + 22 + 33 + 44 + 55 +... + nn. Використайте стандартну функцію для піднесення числа до степеня. Створіть у власній папці папку Проект 2.10.16 і збережіть у ній проект.

17. (ДЗ) · Створіть проект, в якому обчислюється сума . Створіть у власній папці папку Проект 2.10.17 і збережіть у ній проект.

18. ·Додайте до проекту додавання двох дробів процедуру, яка з неправильного дробу виділяє цілу частину

 

Практична робота № 10

«Використання підпрограм»

Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.

 

1. Відкрийте середовище розробки Turbo Delphi 2006.

2. Створіть проект, в якому двома способами обчислюється площа опуклого чотирикутника:

а) За відомими довжинами сторін АВ, ВС, CD, DA та довжиною діагоналі АС. Використайте процедуру обчислення площі трикутника за формулою Герона. Складіть обробник події OnClick першої кнопки, виконання якого приведе до виведення розв’язку задачі у вікно повідомлення.

б) За відомими координатами вершин чотирикутника, поданими у порядку обходу. Використайте функцію обчислення довжини відрізка за координатами його кінців. Складіть обробник події OnClick другої кнопки, виконання якого приведе до виведення розв’язку задачі у окремий напис.

3. Створіть у власній папці папку Практична 10 і збережіть у ній проект.


 

Одновимірні масиви

Пригадайте!

1. Що визначає тип змінної? Які типи змінних вам відомі?

2. Який загальний вигляд команд розгалуження в Delphi? Як вони виконуються?

3. Який загальний вигляд команди циклу з лічильником в Delphi? Як вона виконується?

4. Який загальний вигляд команди циклу з передумовою в Delphi? Як вона виконується?

5. Де зустрічаються впорядковані набори даних? У чому зручність їхнього використання?



Поделиться:


Последнее изменение этой страницы: 2016-09-18; просмотров: 793; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.126.74 (0.027 с.)