Основы программирования (947332), страница 4
Текст из файла (страница 4)
Например:)А225225-125 = 100В12512510025-100 = 25100-25 = 7575-25 = 5050-25 = 25252525б)А1313-4=99-4=55-4=1111В44444-1=33-1 = 22-1=1Профамма должна начинаться с ввода чисел. Заметим, что любой вводданных пользователем должен сопровождаться запросом на ввод, чтобыпользователь знал, чего от него ждет программа после запуска. На схеме алгоритма и при записи псевдокодов этот запрос часто не указывают.В основе алгоритма лежит циклический процесс, количество повторений которого заранее не известно (итерационный).
Условие выхода из цикла - получение одинаковых чисел. Поскольку нельзя исключить, что пользователь введет равные числа, npoBcpiQ' будем осуществлять на входе в цикл,т.е. имеет смысл использовать цикл-пока. Если числа не равны, то при каждом проходе цикла одно из чисел (большее) должно заменяться разностьюбольшего и меньшего. Для реализации этой замены потребуется описать обаварианта, т.е. использовать ветвление с проверкой, какое из чисел больше.После выхода из цикла можно выводить пользователю любое из двух полученных чисел, так как они равны между собой.19Часть I.
Основы алгоритмизации и процедурное программированНа рис. 1.4 показана схема алгоритма, аниже приведено его описание на псевдокоде.нетА:=А-ВВ:=В-ААлгоритм Евклида:Ввести А,Вцикл-пока А ^ Весли А > ВтоА := А - Виначе В := В - Авсе-есливсе-циклВывести АКонец алгоритма.Алгоритмы простых программ разрабатывают,продумывая последовательностьВывод /действий для решения некоторой задачи, как/это было выполнено в примере. Для разработки алгоритмов более сложных программ( Конец Jцелесообразно использовать метод пошаговойдетализации (см. параграф 1.6).
ПаралРис. 1.4. Схема алгоритмалельнос разработкой алгоритма уточняютЕвклидадиапазон изменения, точность и структурьгпредставления переменных, используемых для хранения исходных данных ирезультатов, а также для временного размещения промежуточных результатов, и описывают их в специальных таблицах.Физическое проектирование. При выполнении физического проектирования осуществляют привязку разрабатываемого программного обеспечения к имеющемуся набору технических и программных средств.
Так, еслипри выполнении логического проектирования определено, что при возникновении некоторой ситуации пользователь должен получить сообщение обошибке, то при физическом проектировании уточняют, что это сообщениедолжно быть передано пользователю, например, посредством синтезатораречи.1.4. РеализацияРазработанные алгоритмы реализуют, составляя по ним текст программы с использованием конкретного языка программирования. Язык можетбыть определен в техническом задании, а может выбираться исходя из особенностей конкретной разработки.20/. Этапы создания программногоТекстпрограммыNобеспеченияТекстовыйредакторИсходнаяпрограмма<имя>.оЬ| J^Объектнаяпрограмма<имя>ЛриБиблиотекаобъектныхпрограммРис. 1.5.
Схема процесса подготовки профаммы к выполнениюНа рис. 1.5 представлена схема процесса подготовки программы к выполнению.Вначале осуществляют ввод программы в компьютер. Для ввода используют специальную программу - текстовый редактор^ с помощью которогосоздают файл, содержащий текст программы.Затем программу необходимо перевести в последовательность машинных команд (машинный код). Для этого запускают специальную программупереводчик - компилятор, В процессе разбора и преобразования программыкомпилятор может обнаружить ошибки. Тогда он аварийно завершает работу, выдав программисту сообщения об ошибках компиляции.
Для исправления этих ошибок обычно достаточно внимательно изучить соответствующийфрагмент с учетом текста сообщения об ошибке и внести требуемое изменение в программу. После исправления ошибок процесс компиляции повторяют. Если с точки зрения компилятора программа написана правильно, то онстроит так называемый объектный код, содержащий текст программы на машинном языке. В среде программированияЗог1апс1 Pascal этот код не переписывается в файл, а сохраняется в памяти до выполнения следующего этапа.В других средах и языках программирования на диске создается объектныйфайл, как правило, с расширением .obj.21/.
Этапы создания программного обеспеченияграммы в пошаговом режиме и проверить содержимое интересующих наспеременных (рис. 1.6, б).Современные языки программирования, как правило, имеют так называемые среды. Среда языка программирования объединяет специализированный текстовый редактор, компилятор, компоновщик, программу выдачисправочной информации, отладчик и другое программное обеспечение, используемое при разработке программ в единый пакет. Таким образом, средаязыка программирования обеспечивает программисту все необходимыесредства для реализации программы.Помимо указанных выше типов ошибок, обнаруживаемых автоматически компилятором, компоновщиком или операционной системой, существуетеще группа очень опасных логических ошибок.
Наличие таких ошибок в программе приводит к выдаче н е п р а в и л ь н ы х результатов. Для их обнаружения параллельно с отладкой программы осуществляют ее тестирование.Тестированием называют процесс выполнения программы при различных тестовых наборах данных с целью обиаруэ/сеиия ошибок. Правильныйподбор тестовых данных - отдельная и достаточно сложная задача. Некоторые аспекты тестирования программ будут обсуждаться в параграфе 3.2.Для поиска логических ошибок также можно использовать отладчик: пошагам отследить процесс получения результата.
Однако полезно бывает выполнить программу вручную, фиксируя результаты выполнения команд набумаге. При этом очень поможет пример расчета, выполненный вручную наэтапе анализа и выбора методов.Параллельно с процессом разработки программного продукта на всехэтапах должно выполняться составление документации как для выполненияследующего этапа, так и для последующего сопровождения и модификации.Кроме того, важной составляющей этапа реализации является создание необходимой документации для пользователей.1.5. МодификацияПервоначально этап модификации не включался в процесс разработкипрограммного обеспечения, но практика показала, что в большинстве случаев разработанное программное обеспечение через некоторое время обновляется, и, следовательно, в процессе разработки программного продукта необходимо учитывать возможность его модификации.Причинами выпуска новых версий являются:• необходимость исправления ошибок, выявленных в процессе длительной эксплуатации;• необходимость совершенствования, например, улучшения интерфейса или расширения состава выполняемых функций;• изменение среды (появление новых технических средств и/или программных продуктов).23Часть I.
Основы алгоритмизации и процедурное программированиеОбычно программа состоит из нескольких частей, каждая из которыхкомпилируется отдельно. Для объединения нескольких фрагментов в единуюпрограмму используют специальную программу -- компоновщик. В процессесвязывания тйкже могут быть зафиксированы ошибки, которые называютошибками компоновки. Для исправления таких ошибок, как правило, необходимо сверить заголовки используемых подпрограмм и обращения к ним. Исправив обнаруженные ошибки, вновь запускают компилятор и компоновщик.В результате компоновки получается готовая к выполнению программа, которую при желании можно сохранить в файле с расширением .ехе.В процессе выполнения программа запрашивает, если это предусмотрено программистом, ввод исходных данных, осуществляет требуемую обработку и производит вывод результатов (рис.
1.6, а). При этом могут быть обнаружены ситуации, когда продолжение работы программы теряет смысл,например, обнаружено «деление на нуль» или попытка открыть не существующий файл для чтения из него и т. п. Такие ошибки называют ошибками выполнения. Для исправления этих ошибок может потребоваться их локализация, т.е. уточнение, при выполнении какого фрагмента программы зафиксировано нарушение нормального вычислительного процесса.Процесс локализации и исправления ошибок получил название отладкипрограммы. При отладке программы часто используют специальные программы - отладчики, которые позволяют выполнить любой фрагмент про-ИсходныеданныеПрограмма5i РезультатыОтладочная^^^^ информацияРезультатыРис.