Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vidpovidi.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
186.88 Кб
Скачать

11. Поняття структури даних типу «запис»

Записи. Запис – це структура даних, що складається з фіксованого числа компонентів, які називаються полями запису.Навідміну від масивів, компоненти (поля) запису можуть бути різного типу. Щоб можна було посилатись на той чи інший компонент запису, полям даються імена. Структура оголошення типу запису така:

<имя типа> = RECORD <сп. полей> END. Як і в масиві, значення змінних типу запису можна надавати іншим змінним того ж типу. Імена полів повинні бути унікальними в межах того запису, де вони оголошені, однак, якщо записи містять поля – записи, тобто вкладені одна в одну, імена можуть повторюватись на різних рівнях вкладеності.

12.Потужність типу даних

Потужність типуТ – наз. Кількість різних констант даного типу, що можна утворити. Потужність позначається як card(T) або |T|, для перерахованого типу = кількості констант, що перераховується у визначені card(TColor)=3;card(TBoy)=3;card(TDay)=2. Для обмеженого типу card (T)= max-min+1.

13. Поняття структури даних типу «множина»

Множини. Це набори однотипних логічно пов’язаних один з одним об’єктів. Кількість елементів, що входять в множину, може змінюватись в межах від 0 до 256. Саме непостійністю кількості своїх елементів множини відрізняються від масивів і записів.

Опис типу множина має вигляд:

<имя типа> = SET OF <баз. тип>. Для задання множини використовується так званий конструктор множини: список специфікацій елементів множини, які відокремлюються один від одного комами. Специфікаціями елементів можуть бути константи або вирази базового типу, а також – тип – діапазон того ж базового типу.

Операції над множинами:

-                      перетин множин;

-                      об’єднання;

-                      різниця;

-                      перевірка еквівалентності;

-                      перевірка включення однієї множини в іншу.

14.Алгебраїчний підхід до проектування програм

15.Аналітичний та синтетичний підходи до проектування програм

Аналітичне програмування (інколи згадується як “систематичне програмування” або “ієрархічне програмування”) є загальним методом боротьби зі складностями шляхом покрокових уточнень. Він починається з ясної постановки задачі, яку треба розв’язати, і розвивається далі шляхом розбиття її на підзадачі, приводячи врешті решт до таких задач, розв’язок яких легко виразити через базові поняття. Без особливих обмежень можна вважати, що потрібний ступінь деталізації досягнуто, якщо кожна підзадача може бути реалізована окремим модулем (підпрограмою) – це і буде базовим поняттям проекту. Аналітичне програмування орієнтоване на проблему: ми шукаємо розв’язок задачі і на кожному кроці даємо повний опис розв’язку (з відповідною мірою деталізації).

Прикладом аналітичного проектування для навчальної програми можна вважати таку схему головної прорами:

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

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

Слід зауважити, що у абсолютно чистому вигляді жоден з цих підходів не може бути життєздатною технологією проектування. Реальна стратегія полягає врозумному поєднанні цих підходів. При цьому варто пам’ятати, що програмування “згори донизу” (аналітичне) застосовується здебільшого для розв’язання конкретних прикладних задач, а програмування “знизу догори” (синтетичне) — для написання операційних систем і системних бібліотек.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]