Автор работы: Пользователь скрыл имя, 16 Сентября 2009 в 13:41, Не определен
Учебник по программированию
Тема 1. Основные этапы разработки программ.
Вопросы:
На ЭВМ могут решаться задачи различного характера,
например: научно-инженерные; разработки системного программного обеспечения; обучения; управления производственными процессами и т.д.
В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:
В задачах другого класса некоторые этапы могут отсутствовать, например, в задачах разработки системного программного обеспечения отсутствует математическое описание.
Перечисленные этапы связаны друг с другом.
Например, анализ результатов может показать необходимость внесения изменений в программу, алгоритм или даже в постановку задачи.
Для уменьшения числа подобных изменений необходимо на каждом этапе по возможности учитывать требования, предъявляемые последующими этапами.
В некоторых случаях связь между различными этапами, например, между постановкой задачи и выбором метода решения, между составлением алгоритма и программированием, может быть настолько тесной, что разделение их становится затруднительным.
Постановка задачи. На данном этапе формулируется цель решения задачи и подробно описывается ее содержание. Анализируются характер и сущность всех величин, используемых в задаче, и определяются условия, при которых она решается. Корректность постановки задачи является важным моментом, так как от нее в значительной степени зависят другие этапы.
Математическое описание задачи. Настоящий этап характеризуется математической формализацией задачи, при которой существующие соотношения между величинами, определяющими результат, выражаются посредством математических формул.
Так формируется математическая модель явления с определенной точностью, допущениями и ограничениями.
При
этом в зависимости от специфики
решаемой задачи могут быть использованы
различные разделы математики и других
дисциплин.
Выбор и обоснование метода решения. Модель решения задачи с учетом ее особенностей должна быть доведена до решения при помощи конкретных методов решения.
Само по себе математической описание задачи в большинстве случаев трудно перевести на язык машины.
Выбор и использование метода решения задачи позволяет привести решение задачи к конкретным машинным операциям. При обосновании выбора метода необходимо учитывать различные факторы и условия, в том числе точность вычислений, время решения задачи на ЭВМ, требуемый объем памяти и другие.
Одну и ту же задачу можно решить различными методами, при этом в рамках каждого метода можно составить различные алгоритмы.
Алгоритмизация вычислительного процесса. На данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным методом решения.
Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки и устанавливается последовательность выполнения блоков. Разрабатывается блок-схема алгоритма.(Смотри алгоритмизацию вычислительного процесса)
Составление программы. При составлении программы алгоритм решения задачи переводится на конкретный язык программирования.
Для программирования обычно используются языки высокого уровня, поэтому составленная программа требует перевода ее на машинный язык ЭВМ. После такого перевода выполняется уже соответствующая машинная программа.
Отладка программы. Отладка заключается в поиске и устранении синтаксических и логических ошибок в программе.
В ходе (1) синтаксического контроля программы транслятором выявляются конструкции и сочетания символов, недопустимые с точки зрения правил их построения или написания, принятых в данном языке. Сообщения об ошибках ЭВМ выдает программисту, при этом вид и форма выдачи подобных сообщений зависят от вида языка и версии используемого транслятора.
После устранения синтаксических ошибок (2) проверяется логика работы программы в процессе ее выполнения с конкретными исходными данными. Для этого используются специальные методы, например, в программе выбираются контрольные точки, для которых вручную рассчитываются промежуточные результаты. Эти результаты сверяются со значениями, получаемыми ЭВМ в данных точках при выполнении отлаживаемой программы.
Кроме того, для поиска ошибок (3)могут быть использованы отладчики, выполняющие специальные действия на этапе отладки. Например, удаление, замена или вставка отдельных операторов или целых фрагментов программы, вывод или изменение значений заданных переменных.
Решение задачи на ЭВМ и анализ результатов. После отладки программу ее можно использовать для решения прикладной задачи. При этом обычно выполняется многократное решение задачи на ЭВМ для различных наборов исходных данных. Получаемые результаты интерпретируются и анализируются специалистом или пользователем, поставившим задачу.
Разработанная
программа длительного
Чаще всего при установке программы на диск для ее последующего использования помимо файлов с исполняемым кодом устанавливаются различные вспомогательные программы (утилиты, справочники, настройщики и т.д.), а также необходимые для работы программ разного рода файлы с текстовой, графической, звуковой и другой информацией.
Рассмотрим подробнее алгоритмизацию вычислительного процесса.
2. Алгоритмирование вычислительного процесса.
2.1 Способы описания алгоритмов
К основным способам описания алгоритмов можно отнести следующие:
Перед составлением программ чаще всего используются словесно-формульный и блок-схемный способы.
Иногда перед составлением программ на низкоуровневых языках программирования типа Ассемблера алгоритм программы записывают, пользуясь конструкциями некоторого высокоуровнего языка программирования.
Удобно использовать программное описание алгоритмов функционирования сложных программных систем. Так, для описания принципов функционирования ОС использовался алголо-подобный высокоуровневый язык программирования.
При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.
Пусть,
например, необходимо найти значение
следующего выражения:
y
= 2a - (x+6).
Словесно-формульным
способом алгоритм решения этой задачи
может быть записан в следующем
виде:
При блок-схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий.
Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ.
Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой.
Кроме
того, графическое изображение
Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).
Операции обработки данных и носители информации изображаются на схеме соответствующими блоками.
Большая
часть блоков по построению
условно вписана
в прямоугольник
со сторонами a и b.
Минимальное значение
а равно 10 мм, увеличение
а производится на число,
кратное 5 мм. Размер
b=1,5а. Для отдельных
блоков допускается
соотношение между a
и b, равное 1:2. В пределах
одной схемы рекомендуется
изображать блоки одинаковых
размеров. Все блоки
нумеруются. Виды и назначение основных
блоков приведены в табл.1.
Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе.
Вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
На
Рис.1 показан пример линейного алгоритма,
определяющего процесс
Рис. 2.1. Пример линейного алгоритма
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей).
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей - сложным.
Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.
Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: “да” - условие выполнено и “нет” - условие не выполнено.
На Рис. 2.2. показан пример алгоритма с разветвлением для вычисления следующего выражения:
Рис. 2.2. Пример разветвляющегося алгоритма
Циклическими
называются программы,
содержащие циклы.
Цикл - есть многократно
повторяемый участок
программы.
Рис. 2.4.
Алгоритм нахождения
суммы 10-и чисел
Задание
на самоподготовку:
найти в литературе
для самостоятельной
подготовки и записать
в конспект условные
обозначения блоков
схем алгоритмов с расшифровкой
назначения.
3.1
Среда программирования
Turbo Pascal 7.0
Среда программировании Turbo Pascal 7.0 представляет собой интегрированную среду разработки компьютерных программ с использованием языка программирования Pascal.