Основные этапы подготовки задачи к решению на компьютере.
При написании программы, следует учитывать ряд факторов:
1. Какую работу должна выполнять программа.
2. Какими должны быть входные и выходные данные.
3. На каком языке должна быть написана программа.
Для написания программы, необходимо ее сконструировать- собрать воедино все требования к программе, решить, какие процессы необходимы для преобразования входных данных в выходные, в каком порядке должны выполнятся эти процессы.
Основные этапы конструирования программы:
1. Внешняя спецификация (постановка задачи).
Спецификация- достаточно точное и полное описание задачи, которое человеку понять легче, чем программу, написанную на языке программирования.
Определить назначение программы(что будет делать, как)
Определить входные данные.
Определить выходные данные.
После выполнения всех подпунктов составляем таблицу, в которой описаны все возможн6ые ситуации и действия ЭВМ в каждом случае.
Ситуация | Эффект |
2. Разработка алгоритма.
Разрабатывается алгоритм методом пошаговой детализации, обязательно необходимо следить за тем, чтобы алгоритм удовлетворял всем свойствам, был рациональным.
3. Описание внутренней спецификации.
Уточнение алгоритма, выявление взаимосвязи между входной и выходной информацией, исключение лишних входных данных.
4. Кодирование программы.
Перевод готового алгоритма на язык программирования, учитывая особенности языка и структуры программы.
5. Тестирование и отладка программы.
Тестирование- запуск программы на контрольных примерах. Контрольных примеров может быть несколько, необходимо выбирать так, чтобы при выполнении программа прошла все пути блок- схемы алгоритма.
Отладка- сложный и нестандартный процесс, приводящий к исключению ошибок, рационализации программы. Сложные программы отлаживаются отдельными фрагментами, кроме того, существуют специальные программы отладчики, которые позволяют выполнить программу по шагам и наблюдать за изменением значений переменных.
Пример. Написать программу, которая реализует применения компьютера в книжном магазине. Компьютер запрашивает стоимость книг, сумму денег, внесенную покупателем, если сдачи не требуется, печатает «СПАСИБО!», Если денег внесено больше, то печатает «ВОЗЬМИТЕ СДАЧУ» и указывает сумму, если денег не достаточно, то пишет об этом, указывая сколько доплатить.
1. Внешняя спецификация (постановка задачи).
Программа предназначена для использования в книжном магазине, она запрашивает стоимость книг, сумму денег, внесенную покупателем, если сдачи не требуется, печатает «СПАСИБО!», если денег внесено больше, то печатает «ВОЗЬМИТЕ СДАЧУ» и указывает сумму, если денег не достаточно, то пишет «Доплатите», указывая сколько.
Входными данными являются- стоимость покупки(stoim) и сумма денег(summa), внесенная покупателем.
Выходные данные- это сообщение на экране монитора («Спасибо», «Возьмите сдачу___ руб.», «Доплатите_____ руб.»).
Ситуация | Эффект |
Stoim=summa | «Спасибо» |
Summa> stoim | «Возьмите сдачу summa-stoim руб.» |
Summa<stoim | Доплатите stoim -summa руб |
(Summa<=0) or(stoim<=0) | «Не корректный ввод. Вводите внимательно!» |
2. Разработка алгоритма.
Нач
Ввод(summa, stoim);
Пока (Summa<=0) or(stoim<=0) повторять
Начцикла
Вывод(Не корректный ввод. Вводите внимательно!);
Концикла;
Если summa= stoim
то вывод(спасибо)
Иначе если summa> stoim
то вывод(Возьмите сдачу summa-stoim руб.)
иначе вывод(Доплатите stoim -summa руб);
Кон.
3. Описание внутренней спецификации.
Связь входной и выходной информации, выявляется в формулах
summa-stoim
stoim –summa
Алгорит простой, понятный, уточнения не требует.
4. Кодирование программы.
Program KASSA;
Var stoim, summa: real;
Begin
Write(‘Введите стоимость покупки’);
Readln(stoim);
Write(‘Введите вносимую сумму’);
Readln(summa);
while (Summa<=0) or(stoim<=0) do
writeln(‘Не корректный ввод. Вводите внимательно!’)
if Summa=stoim
then writeln(‘Спасибо за покупку!’)
else if Summa>stoim
then writeln(‘Возьмите сдачу’, summa-stoim)
else Writeln(‘Доплатите’, stoim -summa)
End.
5. Тестирование и отладка программы.
Контрольные примеры:
(stoim summa ):(-12,12); (12,-12); (23,23); (12,50); (50, 10)
Лекция 7.
Дата добавления: 2016-05-25; просмотров: 882;