- •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. Требования к оформлению отчета.
Иллюстрация для построения тестов
r
= 3, n = 5 2
точки с отрицательными координатами,
одна из них – вне круга с радиусом r
= 3: x[i]
= -5, y[i]
= -5
Искомый
процент
= 20% (1:5) среднее
удаление
всех точек
от начала координат = 3.87
2. Входные данные
-
Число точек – простая переменная целого типа n; диапазон значений: 0 < n <= 20; формат переменной n: XX (n:2)
-
Критическое удаление точки от центра – простая переменная вещественного типа r; диапазон значений: 0 < r <=10; точность задания r: 0.01; формат переменной r: XX.ХX (r:5:2)
-
Абсциссы точек – одномерный массив x[1..n] элементов вещественного типа; диапазон значений: x[i]<=20; точность задания x[i]: 0.01; формат элемента x[i]: ХХХ.ХX (x[i]:6:2)
-
Ординаты точек – одномерный массив y[1..n] элементов вещественного типа; диапазон значений: y[i]<= 20; точность задания y[i]: 0.01; формат элементов y[i]: ХХХ.ХX (y[i]:6:2)
3. Выходные данные
-
Искомый процент точек – простая переменная вещественного типа p; диапазон значений: 0<=p<=100; точность вычисления p: 0.1; формат переменной p: XXX.Х (p:5:1)
-
Среднее удаление точек от начала координат – простая переменная вещественного типа sa; диапазон значений: 0 < sa < 40; точность вычисления sa: 0.01; формат переменной sa: XX.XX (sa:5:2)
4.Функциональные тесты
№ теста |
Входные данные |
Ожидаемый результат |
Смысл теста |
1 |
n = 5; r = 3.0 x 2 2 4 -1 -5 y -2 1 3 -2 -5 |
p = 20.0 sa = 3.87 |
Искомые точки существуют; данные взяты из примера |
2 |
n = 5; r = 3.0 x 2 2 -2 1 -2 y -2 -1 2 -2 -1 |
p = 0.0 sa = 2.47 |
Искомые точки не существуют; тест №2 построен на основе теста №1 |
3 |
n = 4; r = 2.5 x -3 -2 -3 -1 y -3 -3 -1 -5 |
p = 100.0 sa = 4.03 |
Все точки являются искомыми; тест № 3 построен на основе теста №1 |
5. Схема решения задачи
При решении задачи необходимо отделить процедуры ввода-вывода от процедур обработки данных.
В данном случае в алгоритмизации нуждается только обработка, поэтому на начальном (нулевом) этапе разработки программы описывается ввод-вывод (подзадачи 1 и 3), а задача обработки (подзадача 2) в алгоритме заменяется заглушкой (или несколькими заглушками – в зависимости от того, сколько подпрограмм будут реализовывать обработку), которая представляет собой простейшие операции, имитирующие решение подзадачи 2, т. е. получает входные и формирует выходные данные, согласно тесту.
На следующем этапе разработки заглушка заменяется необходимой подпрограммой.
Тексты подпрограмм ввода-вывода, обработки и заглушки (заглушек) включаются в текст программы в виде отдельных текстовых файлов с использованием директивы компилятора:
{$I <имя файла>}
6. Блок-схемы алгоритмов подпрограмм обработки
Разрабатываются следующие алгоритмы подпрограмм обработки:
-
алгоритм вычисления процента точек, удаление которых от начала координат больше заданной величины r, когда обе координаты отрицательны;
-
алгоритм вычисления среднего удаления всех точек от начала координат.
Разработанные алгоритмы представляются в виде блок-схем.
7. Программа
Программа реализуется на языке программирования высокого уровня PASCAL.