- •Основні поняття Object Pascal
- •Label { Розділ опису міток } Const { Розділ опису констант }
- •Лабораторна робота № 1 Створення простої програми у середовищі Delphi
- •Упорядкування і пошук даних
- •Лабораторна робота № 2 Упорядкування і пошук даних
- •Структуровані типи даних. Множини
- •Лабораторна робота № 3 Множини
- •Лабораторна робота № 4 Процедурні типи
- •Теоретичні відомості для виконання лабораторної роботи
- •1. Формула середніх прямокутників
- •2. Формула трапецій
- •3. Формула Сімпсона (формула парабол)
- •Pозв’язування рівнянь. Розв’язування рівнянь виду
- •Рекурсивні процедури і функції Рекурсія – це такий спосіб організації обчислювального процесу, при якому підпрограма в ході виконання звертається сама до себе.
- •Лабораторна робота № 5 Рекурсивні процедури і функції
- •Динамічні структури даних
- •Дані, які використовуються у програмі, поділяються на статичні й динамічні.
- •Вказівник може бути у трьох станах:
- •Лабораторна робота № 6 Динамічні структури даних
- •Лабораторна робота № 7 Розв’язання задачі з побудовою віконного інтерфейсу і підключенням форм Delphi
- •Лабораторна робота № 8 Розв’язання задачі з побудовою віконного інтерфейсу, підключенням форм Delphi та використанням графіки
- •Лабораторна робота № 9 Побудова проекту, що складається з декількох форм
Лабораторна робота № 5 Рекурсивні процедури і функції
Мета роботи:
1. Засвоєння принципів організації рекурсивних обчислювальних процесів.
2. Отримання практичних навиків розробки і використання рекурсивних процедур і функцій.
Завдання:
Задано натуральне . Розробити програму для обчислення заданих сум. При обчисленні сум використати рекурсивні процедури або функції.
1. , 2. ,
3. , 4. ,
5. , 6. , .
7. , . 8. , , .
9. , , . 10. , , .
Задано натуральні і . Розробити програму для обчислення значень заданих виразів. При обчисленні виразів використати рекурсивні процедури або функції.
11. , 12. ,
13. 14. , 15. ,
16., 17,
18., 19. ,
20.,
Задано масиви чисел . Розробити програму для обчислення заданої суми, де – відповідні елементи масивів і . При обчисленні сум використати рекурсивні процедури або функції.
21.. 22..
23 24.
25. ,
Задано дійсні і масив , . Розробити програму обчислення значення заданих сум. При обчисленні сум використати рекурсивні процедури або функції.
26., 27.,
28.,
29.,
30.,
Динамічні структури даних
Дані, які використовуються у програмі, поділяються на статичні й динамічні.
Статичні структури даних розміщуються у статичній пам’яті, виділеній компілятором у процесі компіляції програми. Їх взаєморозміщення, взаємозв’язки елементів і кількість завжди залишаються постійними в процесі виконання програми.
Динамічні структури даних розміщуються у динамічній пам’яті, яка виділяється на етапі виконання програми. Їх внутрішня побудова формується за деяким законом, а їх взаєморозміщення, взаємозв’язки елементів і кількість можуть динамічно змінюватися в процесі виконання програми. Для роботи з динамічними даними використовуються вказівники.
Вказівник – це статична змінна, значенням якої є адреса динамічної пам’яті. З допомогою вказівників можна розміщати в динамічній пам’яті будь-які типи даних (цілі, дійсні, логічні, символьні, символьні рядки, масиви, записи та інші). Такі вказівники називаються типізованими. Для опису типізованого вказівника використовується значок ^, який поміщається перед відповідним типом, наприклад
Type Tank = record
p, i, b: string[15];
rn: word;
ps: string[20];
end;
Var v1, s1; ^integer;
v2: ^double;
v3: ^Tank;
Можна описати вказівник і не зв’язувати його з конкретним типом даних. Для цього є стандартний тип Pointer, наприклад:
Var p1, p2: pointer;
Такі вказівники називають нетипізованими. З їх допомогою зручно працювати з динамічними даними, структура і тип яких змінюється при виконанні програми.