- •Алгоритмизация и программирование Алгоритм. Свойства алгоритма
- •Типы алгоритмов:
- •Этапы решения задач на эвм
- •Универсальный язык программирования Pascal. Система программирования Turbo Pascal 7.0.
- •Основные операторы языка Pascal
- •Ввод исходных данных
- •Вывод результатов:
- •3. Присваивание значений переменным
Этапы решения задач на эвм
I. Постановка задачи (создание информационной модели). Постановка задачи состоит из 3-х основных частей:
1) определение исходных данных для решения задачи (количество, типы величин, диапазон изменения, точность задания);
2) выяснение и фиксация всех условий решения задачи, выстраивание определенной последовательности действий; запись формул, по которым должны производиться вычисления;
3) определение промежуточных и окончательных результатов решения задачи (то же, что и для исходных данных).
II. Создание алгоритма. При решении сложных задач оно может происходить в несколько этапов:
- сначала алгоритм пишется на естественном (разговорном) языке, причем в некоторых случаях задача разбивается на отдельные большие блоки (подзадачи);
- создается блок-схема для выстраивания последовательности крупных блоков (подзадач), для каждой подзадачи создается отдельная блок-схема и производится дальнейшая детализация (если это необходимо);
- алгоритм записывается на специальном алгоритмическом языке; если алгоритмический язык является универсальным языком программирования, то он автоматически превращается в программу.
При решении несложных задач, например, задач, связанных с вычислениями, можно сразу приступать к написанию алгоритма на алгоритмическом языке. Если в процессе решения задачи предполагается проверять одно или несколько условий, то полезно нарисовать блок-схему, а затем уже писать алгоритм и программу. Для алгоритмов, содержащих циклическую часть, также рекомендуется сначала нарисовать блок-схему.
IIa. Если алгоритмический язык не является универсальным языком программирования (или ЭВМ, которой предстоит стать исполнителем данного алгоритма, не оснащена соответствующей системой программирования), то за созданием алгоритма следует написание программы на том языке, который можно реализовать на имеющемся типе ЭВМ.
III. Отладка (всесторонняя проверка) алгоритма и программы. Для объемных и сложных задач предварительно создается комплекс проверочных тестов с определенными вариантами исходных данных и соответствующими значениями результатов. Программа считается отлаженной (полностью проверенной), если все прогоны программы с заданными исходными данными дали ожидаемые результаты. В противном случае ошибка в программе должна быть исправлена и соответствующий прогон повторен. Комплекс проверочных тестов должен учитывать все возможные диапазоны изменения исходных данных и все ситуации, которые могут возникнуть в программе. Если программа имеет смешанный тип, т.е. линейные части сочетаются с ветвлением или циклами, то необходимо пройти по всем возможным ветвям и проверить, не происходит ли зацикливание при определенных вариантах значений исходных данных. Проверяться должны и некоторые варианты, не предусмотренные постановкой задачи, чтобы исследовать поведение алгоритма и программы в нештатных ситуациях. Если система программирования содержит САО (систему автоматизированной отладки), то ее можно привлечь для ускорения процесса проверки программы.
Для несложных задач, небольших по объему программ создавать такие комплексы проверочных тестов не нужно, достаточно обдумать варианты задания исходных значений и, исходя из условий решения задачи, проанализировать полученные результаты. Если программа содержит ветвление, необходимо задать исходные данные с таким расчетом, чтобы проверить все ветви.
IV. Эксплуатация алгоритма и программы – когда программа полностью проверена, можно использовать ее для учебных, производственных и иных целей. Программу можно передать или продать.
Примечание. При обнаружении ошибки или неточности на любом из этапов решения задачи необходим всесторонний анализ этой ситуации. Например, в процессе отладки получен незапланированный результат. Причиной получения такого результата может быть не только ошибка в самой программе. Может быть, была допущена неточность при создании алгоритма или на этапе постановки задачи. В этом случае корректируется, в первую очередь, тот этап, на котором возникла непредусмотренная ситуация, а затем коррективы вносятся в последующие этапы.
