
- •Формулировка задачи
- •2. Представление данных и ограничения
- •Описание функций программы
- •3.1. Иерархическая схема
- •Title – вывод заголовка программы
- •3.2. Прототипы функций
- •4. Алгоритм решения задачи
- •Поменять местами calc и yesno
- •5. Тестовые наборы данных и реакции
- •5.1. Таблица тест-реакция для чисел
- •5.2. Таблица тест-реакция для управления
- •Исходный текст программы
- •7. Описание тестирования программы
- •7.1. Таблица точек останова
- •1. Было:
- •2. Было:
- •3. Было
- •8. Анализ работы по решению задачи
- •1. Было:
- •2. Было:
- •3. Было
-
Описание функций программы
3.1. Иерархическая схема
main – основная функция
Title – вывод заголовка программы
printf – стандартный форматный вывод
GetPar – получение входных данных
GetNum – получение целого числа в заданном диапазоне
printf
fflush – опорожнение буфера клавиатуры
scanf – стандартный форматный ввод
последовательности символов
Calc – вычисления и вывод результатов
printf
YesNo – запрос на повторный прогон и ожидание ответа “Да/Нет”
printf
fflush
getchar – стандартный ввод символа
Finish – вывод сообщения при завершении работы программы
printf
3.2. Прототипы функций
void Title( char *msg )
/*****
Вход: Указатель на строку для вывода на экран.
Действие: С новой строки выводит на экран заголовок.
Выход: Нет.
*****/
;
void GetPar( void )
/*****
Вход: Нет.
Действие: Получение начального числа и количества обрабатываемых чисел в глобальные переменные Begnum и Maxnum с контролем их ОДЗ и совместимости.
Выход: Нет.
*****/
;
int GetNum( char *query, /* текст запроса целого числа */
int minnum, /* нижняя граница ОДЗ */
int maxnum /* верхняя граница ОДЗ */ )
/*****
Вход: См. аргументы. Считается, что minnum <= maxnum.
Действие: С новой строки выводит текст запроса вида « = » и ожидает ввода пользователем целого числа.
Выход: Возвращает число в указанном диапазоне.
ПРИМЕЧАНИЕ: П ри выходе за диапазон возвращается значение ближайшей границы; при попытке ввода нечисла возвращает полусумму указанных границ.
*****/
;
void Calc( void )
/****
Вход: Нет.
Действие: Вычисляет Maxnum квадратов чисел начиная от Begnum и выводит на экран таблицу со строками вида: “число = хх, квадрат = уу”;.
Выход: Нет.
*****/
;
int YesNo( char *text )
/*****
Вход: Указатель на строку для вывода на экран.
Действие: Выводит строку на экран и ожидает ввода пользователя.
Выход: Возвращает 1 при нажатии клавиши ‘у’ или ‘Y’, иначе 0.
*****/
;
void Finish( char *FINAL )
/****
Вход: Указатель на строку для вывода на экран.
Действие: Выводит строку на экран.
Выход: Нет.
****/
;
4. Алгоритм решения задачи
main:
КТ1:
да
нет
Title:
printf
GetPar:
нет
да
КТ 2: n
GetNum:
printf
fflush
да
нет
да
нет
да
нет
КТ2: n
YesNo:
fflush(stdin);
да нет