Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_лек.doc
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
152.06 Кб
Скачать

Решение задач на эвм. Этапы проектирования программного изделия

При решении задачи на ЭВМ предполагается, что некоторая исходная информация подвергается обработке в конечный результат по некоторой заранее заданной инструкции, которая называется программным изделием или программой.

Процесс решения задачи с помощью ЭВМ состоит из следующих этапов:

  1. Постановка задачи – На этом этапе программист должен глубоко разобраться в сути задачи и определить конечную цель решения, определить выходную и входную информацию, а также сущность действий, которые приведут к решению.

  2. Составление математической модели. Даётся математическое описание задачи, т.е. она представляется в виде формул, которые могут быть решены на ЭВМ. Выясняется, какие численные методы приведут к решению задачи, если формулы не могут быть решены непосредственно.

  3. Составление алгоритма решения. На этом этапе процесс решения задачи представляется в виде последовательности действий, удобных для программирования.

  4. Составление программы. Программа – это последовательность команд, понятных ЭВМ. Программа пишется с помощью алгоритмического языка, а её перевод на язык ЭВМ осуществляется самой вычислительной машиной.

  5. Отладка программы. На этом этапе осуществляется поиск и определение ошибок, неточностей, описок и их исправление. Для проверки достоверности результатов программа испытывается на тестовых примерах. При получении неудовлетворительных промежуточных либо окончательных результатов необходимо вернуться к одному из предшествующих этапов в зависимости от типа и сложности ошибки.

Типы вычислительных процессов

По способу управления вычислительные процессы делятся на линейные, разветвляющиеся и циклические.

Соответственно имеет место алгоритм линейной структуры, алгоритм разветвляющейся структуры и алгоритм циклической структуры.

Вычислительный процесс, в котором имеется хотя бы одна развилка, называется разветвляющимся; имеющий хотя бы одно повторение называется циклическим. Если отсутствуют и развилка, и цикл – то это линейный вычислительный процесс.

Проектирование схем алгоритмов

(на примере задачи)

Задача. Найти сумму всех чётных чисел от 1 до N включительно, если 5≤N≤15.

  1. Представить будущий алгоритм в виде модели.

а) определить порядок и состав выходной информации;

б) порядок и состав входной информации;

в) определить конкретную суть всех действий.

На этом же этапе подготовляется тестовый пример для проверки правильности алгоритма, а в дальнейшем и программы.

Тестовый пример.

N=10 N≥5

N≤15

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

S=30

2. Делается попытка представить вычислительный процесс цепочкой структур следования.

Попытки прекращаются, когда в алгоритме становится невозможно выделить ни одной структуры следования.

3. Делается попытка представить вычислительный процесс или одну из структур в виде структуры «развилка».

4. Действия повторяются, начиная с пункта 2.

Если не удаётся вычислительный процесс представить ни следованием, ни развилкой, то делается попытка представить его «циклом».

да

да

5. Действия повторяются, начиная с пункта 2.

Повтор производить до тех пор, пока алгоритм не будет состоять из элементарных блоков, из которых невозможно выделить ни одной типовой структуры.

Весь алгоритм в сборке.

Если на каком-то шаге проектной процедуры не удаётся представить вычислительный процесс только типовыми структурами, то это означает, что программист не понимает, где главные, а где второстепенные процессы. В этом случае необходимо вернуться к этапу постановки задачи.

Непонимание задачи приводит к неструктурным алгоритмам, которые сложны для понимания, для отладки, а, следовательно, ненадёжны.

Каждая типовая структура должна иметь один естественный вход и один естественный выход. Передача управления на тело цикла или на ветвь развилки, минуя логическое условие, недопустима. Также недопустим выход из цикла, минуя его логическое завершение.