- •I. Теоретические сведения.
- •1.1. Вспомогательные алгоритмы.
- •1.2. Подпрограммы.
- •1.2.2. Формальные параметры подпрограммы. Две категории формальных параметров
- •1.2.4. Местоположение подпрограмм в тексте и вне текста программы.
- •2. Массив как статическая структура данных
- •Тестирование программ
- •4. Отладка программ
- •4.1. Нисходящая отладка программ (сверху вниз).
- •II. Контрольные вопросы.
- •III. Последовательность выполнения общего задания.
- •1. Постановка задачи
- •Иллюстрация для построения тестов
- •2. Входные данные
- •3. Выходные данные
- •4.Функциональные тесты
- •5. Схема решения задачи
- •IV. Последовательность выполнения индивидуального задания.
- •4. Функциональные тесты
- •5. Схема решения, алгоритм, программа
- •V. Требования к разработке программы.
- •VI. Требования к оформлению отчета.
IV. Последовательность выполнения индивидуального задания.
1. Постановка задачи
Используя нисходящую разработку, разработать программу обработки массива согласно индивидуальному заданию.
2. Входные данные
-
Число элементов массива – простая переменная целого типа n; диапазон значений: 1 < n 100; формат переменной n: ХХХ (n:3)
-
Одномерный массив a[1..n] элементов целого или вещественного типа; диапазон значений: a[i] < 100; формат элемента a[i]: ХХХ (a[i]:3) или ХХХ.ХХ (a[i]:6:2)
3. Выходные данные
-
Элемент поиска – простая переменная целого или вещественного типа t; диапазон значений: t < 100; формат переменной t: ХХХ (t:3) или ХХХ.ХХ (t:6:2)
-
Номер элемента поиска в массиве – простая переменная целого типа k; диапазон значений: 1 < k 100; формат переменной k: ХХХ (k:3)
-
Измененный массив a[1..n] элементов целого или вещественного типа; диапазон значений: a[i] < 100; формат элемента a[i]: ХХХ (a[i]:3) или ХХХ.ХХ (a[i]:6:2)
-
Одномерный массив b[1..n] индексов элементов массива a[1..n] после перестановок – элементы целого типа b[i]; диапазон значений: 1 < b[i] 100; формат элемента b[i]: ХХХ (b[i]:3)
4. Функциональные тесты
Необходимо предоставить не менее трех тестов (один тепличный и два экстремальных). На нулевом уровне разработки обработка массива должна быть заменена заглушками (на каждую подпрограмму обработки – своя заглушка).
5. Схема решения, алгоритм, программа
Задача разбивается на подзадачи, например, таким образом:
-
ввод n и элементов массива (вход: нет; выход: n, а);
-
вывод n и элементов массива (вход: n, а; выход: нет);
-
обработка массива (вход: n, а; выход: а, t, k);
-
вывод измененного массива (вход: n, а; выход: нет).
Входным параметром подпрограмм обработки является исходный массив, а выходным, в зависимости от индивидуального задания (например, первая подпрограмма обработки должна изменять значения элементов одномерного массива, вторая – находить элемент поиска и его индекс, а третья – менять порядок элементов в массиве), – измененный массив или элемент поиска с его индексом.
Разрабатываются алгоритмы подпрограмм обработки, которые представляются в виде блок-схем.
Реализация программы должна быть сделана на языке PASCAL.
V. Требования к разработке программы.
Алгоритмы решения подзадач оформить в виде процедур или функций в отдельных файлах, тексты которых подключаются в основной программе.
Основную программу разработать по нисходящей схеме: сначала вместо подзадач подключаются соответствующие заглушки (результатом которых являются конкретные выходные данные, определенные теоретически) из соответствующих файлов, а затем, по мере разработки подпрограмм обработки (процедур или функций), по очереди подключаются сами подпрограммы.
VI. Требования к оформлению отчета.
Отчет должен содержать следующие разделы:
-
Задание – постановка задачи.
-
Описание входных и выходных данных.
-
Схема решения задачи, описание алгоритма, представленного в виде блок-схем подпрограмм обработки (в соответствии с вариантом индивидуального задания).
-
Текст программы (оформляется после отладки алгоритма и проверки его преподавателем).
-
Выводы о проделанной работе.