Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 основи програмування книга.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.77 Mб
Скачать

14.2. Основні структури даних

Продовжимо аналіз прикладів, що приведені на початку параграфа. Звернемо увагу на сукупності даних, з якими працюють ці програми. Дані визначені в розділах типів, змінних і констант:

Program Evclid;

Var

a, b, u, v, w: Integer;

Program EquationSol;

Const

Eps = 1e-4;

Var

a, b, u, v, w: Real;

Program Partition ;

Const

n = 16;

Var

f, g, h : array [1..n] of Integer;

x, b: Integer;

i, j, k: Integer;

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

Методи побудови структур даних подібні методах утворення структур управління. Саме, існують основні (стандартні) структури, кожна з яких визначає один із засобів об’єднання даних у структуру. Дані простих типів при цьому грають роль цеглинок, з яких будується весь будинок.

Структури даних у мові Pascal, напевне, найбільш природним чином відображають ідеологію структурного програмування.

Прості дані: цілі числа, дійсні числа, символи, логічні значення, дані - імена.

Засоби структурування даних: масиви, записи, файли, множини, посилання.

Наприклад, визначення типів

Word = Array [1..20] of Char;

Man = Record

Name: Word;

Age: Integer

end;

Notebook = array [1..n] of Man;

означає масив із записів, перше поле яких – масив із двадцяти символів, а друге – ціле число.

Необхідно розуміти, що зв’язок “дані-управління” полягає не тільки і не стільки у схожості правил їх побудови, скільки в орієнтації структур управління на обробку структур даних. Оператор присвоювання використовує дані простих типів. Логічні дані застосовують для визначення умов. Скалярні типи, що визначаються програмістом, використовують для описання даних-індексів у масивах і селектора варіанта в операторі вибору. Для обробки масивів зручно користуватись оператором циклу з параметром, а для обробки файлів – операторами While і Repeat. Записи з варіантами потрібно оброблювати операторами варіанта. Посилальні (динамічні) структури потрібно оброблювати рекурсивно. Цей список можна продовжити.

14.3. Методологія програмування “зверху-вниз”

Застосування у програмуванні концепції структур даних і управління потребує специфічної методології процесу розробки програм. Цей підхід називають, як ми вже відзначали, методом покрокового уточнення або програмуванням “зверху-вниз”. Суть метода – у наступному:

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

  • уточнює структуру програми;

  • уточнює структуру даних.

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

  2. Уточнення структури даних складається у визначенні й описанні даних, що оброблюються вибраним оператором.

  3. Визначення структури даних програми починається з описання входу-виходу, тобто з визначення структури початкових і вихідних даних.

  4. При роботі користуються принципом мінімальної необхідності: уточнення здійснюють лише з тим ступенем точності, яка необхідна на даному кроці.

  5. При розробці декількох фрагментів програми краще уточнити кожний з них на один крок, а не один – повністю (особливо тоді, коли це уточнення пов’язано з принциповими рішеннями).

  6. Основними структурними одиницями програми є процедури і функції. Кожну відносно самостійну підзадачу оформлюють як підпрограму (процедуру або функцію).