В этой статье попробуем раскрыть основные этапы разработки программы, написанной на любом языке программирования.
Спецификация (определение требований к программе):
На данном этапе происходит подробное описание исходных данных, осуществляется формулировка требований к получаемому результату, рассматриваются всевозможные поведения программы при возникновении особых случаев (к примеру, если ввели неверные данные), происходит разработка диалоговых окон, которые обеспечат взаимодействие пользователя и самой программы.
Разработка алгоритма:
На этом этапе программист определяет последовательность необходимых действий, которые впоследствии нужно выполнить для получения желаемого результата.
Если возникает ситуация, когда поставленную задачу можно решить несколькими способами, то само собой, возможны множество разных вариантов алгоритма решения. Тогда разработчик программы по некоторому немаловажному критерию (к примеру, скорость решения алгоритма) делает выбор более подходящего решения.
Результат данного этапа разработки программы — подробное словесное описание алгоритма программы, либо блок-схема алгоритма. Подробно узнать о том, как разработать алгоритм любой программы, можно, изучив эту статью.
Кодирование:
После проведения спецификации и составления алгоритма решения, используемый алгоритм в итоге будет записан на необходимом языке программирования (Pascal, Delphi, C++ и др.). Результатом этапа кодирования является готовая программа.
Этапы разработки программы. Отладка:
На данном этапе программист занимается отладкой программы, то есть поиском и устранением ошибок. Последние делятся на две группы: алгоритмические и синтаксические (ошибки в тексте исходной программы). Из этих двух групп ошибок наиболее легко устранить синтаксические ошибки, тогда как алгоритмические ошибки определить достаточно трудно.
Этап отладки считается законченным лишь тогда, когда исходная программа работает корректно и правильно при одном или двух наборах первичных данных. Что такое компиляция любой программы и какие основные задачи она выполняет, можно будет узнать, ознакомившись с данной статьей.
Тестирование:
Тестирование программы очень важно, поскольку в большинстве случаев программисты создают программы не для личного применения, а чтоб их программой пользовались другие. На этапе тестирования разработчик проверяет поведение программы при большой числе наборов входных данных, как верных, так и специально подобранных неверных.
Создание справочной системы:
Если программист разрабатывает программу, чтоб ею впоследствии пользовались другие, то программисту необходимо разработать справочную систему и установить для пользователя легкий быстрый доступ к этой справочной системе при работе с программой. Современные программы обладают справочной информацией, имеющей форму CHM- или HLP-файлов.
Создание установочного диска (CD-ROM):
Инсталяционный диск (CD-ROM) разработчики создают для того, чтобы пользователи могли самостоятельно, без помощи программиста, проинсталировать данную программу на свой ПК.
Как создать программу на пк?!
Как правило, кроме самой программы установочный CD-ROM располагает файлами справочной информации и инструкциями по установке программы. Нужно заметить, что большинство современных программ, включая программы, разработанные в среде Delphi, во многих случаях, даже путем простого копирования файлов не могут быть проинсталированы на компьютер пользователя, поскольку для правильной работы этих программ необходимо присутствие специальных библиотек, а также компонентов, которые могут отсутствовать на ПК конкретного пользователя.
C этой целью установку программы на ПК пользователя должна осуществлять специальная программа, записанная на CD-ROM. Обычно, инсталяционная программа производит создание отдельной папки для устанавливаемой программы, далее копирует в эту папку файлы, и если необходимо, настраивает операционную систему, внося дополнения и изменения в реестр.
Этот этап разработки программы на примере утилиты InstallShield Express (она входит в состав Delphi) подробнее будет рассмотрен позже. Итак, мы вкратце рассмотрели этапы разработки программы. В следующих статьях поподробнее остановимся на каждом из них.
Источник: kvodo.ru
Средства создания программ
В общем случае для создания программ нужно иметь следующие компоненты • текстовый редактор — для набора исходного текста программы; • компилятор — для перевода текста программы в машинный код; • редактор связей — для сборки нескольких откомпилированных модулей в одну программу; 1
• библиотеки функций — для подключения стандартных функций к программе. Современные системы программирования включают в себя все указанные компоненты и называются интегрированными системами . Исходный текст программы можно получить без записи его вручную в текстовом редакторе.
Существуют системы визуального программирования — RAD -среды (Rapid Application Development), которые, не исключая возможности записи программы вручную, позволяют создавать текст программы автоматически, путем манипуляций со стандартными элементами управления, включенными в RAD-среду. Поэтому для RADсреды понятие «программирование» часто заменяют понятием «проектирование». По способу разработки программ можно выделить два подхода: • процедурное программирование — это программирование, при котором выполнение команд программы определяется их последовательностью, командами перехода, цикла или обращениями к процедурам; • объектно-ориентированное программирование – программирование, при котором формируются программные объекты, имеющие набор свойств, обладающие набором методов и способные реагировать на события, возникающие как во внешней среде, так и в самом объекте (нажатие мыши, срабатывание таймера, превышение числовой границы и т.д.). Таким образом, выполнение той или иной части программы зависит от событий в программной системе. Объектно-ориентированное программирование (ООП) не исключает, а охватывает технологию процедурного программирования.
Основные системы программирования
Из универсальных языков программирования наиболее популярны следующие: Basic; Pascal; C++; Java. Для языка Basic существует много версий, реализованных и как интерпретаторы и как компиляторы. В России Basic традиционно используется в курсе информатики средней школы. Среда визуального программирования Microsoft Visual Basic используется как программная поддержка приложений MS Office.
Язык Pascal является компилируемым и широко используется как среда для обучения программированию в ВУЗах. RAD-средой, наследующей его основные свойства, является среда Borland Delphi. Для языка C++ RAD-средой является Borland C++ Builder. Этот компилируемый язык часто используется для разработки программных приложений, в которых необходимо обеспечить быстродействие и экономичность программы. 2
Язык Java — интерпретируемый язык — позволяет создавать платформно-независимые программные модули, способные работать в компьютерных сетях с различными операционными системами. RAD-средой для него является Symantec Cafe.
Основные этапы развития языков программирования
Языки программирования развивались одновременно с развитием ЭВМ. С начала 50-х годов это были низкоуровневые языки (машинные и ассемблеры). В 1956 году появился язык Фортран, а в 1960 — Алгол-60. Это языки компилирующего типа, существенно уменьшившие трудоемкость программирования. Языки ориентированы на выполнение математических вычислений.
В дальнейшем возникло большое количество различных языков, претендовавших на универсальность (PL/1) или для решения конкретных задач (COBOL — для деловых задач, ЛОГО — для обучения, Пролог — для разработки систем искусственного интеллекта). С середины 60-х до начала 80-х разработаны и получили распространение языки Pascal, Basic, Си, Ада и другие. Принципиально новым этапом в развитии языков программирования стало появление методологии непроцедурного (ООП) программирования ( см. выше ). Основные достоинства ООП — быстрота разработки интерфейса программного приложения, возможность наследования свойств программных объектов.
Основы алгоритмизации
Алгоритм — это предписание некоторому исполнителю выполнить конечную последовательность действий, приводящую к некоторому результату. В программировании алгоритм является фундаментом программы, а основным исполнителем — компьютер. На стадии тестирования алгоритма исполнителем может быть сам программист.
Алгоритм может быть записан с помощью блок-схемы , текстовым предписанием, с помощью рисунков, таблично или на специальном алгоритмическом языке. Наиболее популярны блок-схемы и предписания. Преимущество блок-схем — в наглядности алгоритма. Основными свойствами алгоритма являются: • дискретность — представление алгоритма в виде последовательности шагов; • массовость — применимость алгоритма к некоторому множеству исходных данных; • определенность — за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие; 3
• однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат. Из перечисленных свойств лишь дискретность является обязательным свойством алгоритма. Можно привести примеры, когда невыполнение свойств массовости, определенности и однозначности не позволяет говорить об отсутствии алгоритма.
Для изображения алгоритмов будем использовать блоксхемы, формируемые из типовых блоков, показанных на рис. 1. В теории алгоритмов доказано, что любой, сколь угодно сложный алгоритм может быть составлен из трех основных алгоритмических структур: линейной, ветвления и цикла, показанных, соответственно на рис.
2, 3, 4. Линейная структура предполагает последовательное выполнение действий, без их повторения или пропуска некоторых действий. Обычно программисты стремятся к тому, чтобы алгоритм имел линейную структуру. Структура «ветвление» предполагает выполнение одной из двух групп действий в зависимости от выполнения условия в блоке ветвления. На рис.
3 знаком «+» показано выполнение условия, а знаком «-» — его невыполнение. Часто используется неполная команда ветвления, когда один из блоков действия отсутствует. Структура «цикл» имеет несколько разновидностей. На рис. 4 показан цикл типа «пока» с предусловием.
Действия внутри этого цикла повторяются пока выполняется условие в блоке ветвления, причем сначала проверяется условие, а затем выполняется действие. Достаточно часто используются другие типы цикла, показанные на рис. 5 и 6. 4
Источник: studfile.net
Pascal. Разработка программ на ПК. Этапы подготовки программы на ПК. Компиляторы и интерпретаторы
Разработка программ на ПК. Этапы подготовки программы на ПК. Компиляторы и интерпретаторы
Поиск на других ресурсах:
1. Разработка программ на ПК. Особенности. Средства разработки на языке Pascal
Для создания программ на компьютере используются специальные программы, которые базируются на некотором общеизвестном языке программирования. Такие программы называются по разному: средства разработки программного обеспечения, инструментальные системы, системы визуальной разработки приложений и т.п. Современные средства разработки программ включают:
- поддержку нескольких языков высокого уровня;
- системы отладки;
- технологические комплексы программирования;
- технологии интеллектуального редактирования или рефакторинг;
- технологии компилирования и отладки на нескольких языках программирования;
- технологии работы с базами данных;
- технологии создания Web-приложений;
- технологии шаблонов (паттернов) проектирования;
- технологии моделирования с помощью языка UML;
- другие полезные нововведения.
Средства разработки программ (инструментальные средства программирования) бывают двух основных видов:
- компиляторы;
- интерпретаторы.
Соответственно этому делятся и языки программирования:
- интерпретируемые языки программирования (Python, Java Script, Basic и прочие);
- компилируемые языки программирования (C++, C#, Java, Pascal и прочие).
Примерами известных средств разработки программного обеспечения могут быть Microsoft Visual Studio, Java Eclipse, Lazarus, Delphi, Intellij IDEA и прочие. На языке программирования Pascal наиболее известными средствами разработки есть семейство систем Lazarus и Delphi.
2. Компиляторы и интерпретаторы. Особенности. Отличия
Как известно, среди средств разработки программного обеспечения различают компиляторы и интерпретаторы. Эти виды программных средств отличаются способом формирования машинного кода, каким есть набор инструкций для процессора. Отличия состоят в следующем.
Интерпретатор проверяет команду за командой. Если выявлена синтаксическая ошибка, то выполнение программы приостанавливается. Если ошибки нет, то команда выполняется и происходит переход к проверке следующей команды. Таким образом обрабатываются все команды.
Даже если программа уже проверена и не содержит изменений, то при каждом запуске программы интерпретатор будет проверять любую из команд по новому. Интерпретатор не формирует промежуточных объектных файлов.
Компилятор проверяет все команды на наличие синтаксических ошибок не останавливаясь. Если ошибки есть, то формируется перечень команд с ошибками. На этом этапе программа не готова к выполнению и не сформирован промежуточный объектный файл. Если ошибок нет, то компилятор формирует промежуточный объектный файл.
Этот файл будет использоваться в будущем, если программу нужно запускать несколько раз. На основе этого объектного файла создается исполнительный файл, который содержит инструкции в машинных кодах. Если в текст скомпилированной программы внести изменения, то процесс проверки команд на ошибки, создание объектного файла и создание исполнительного файла будет повторен.
3. Этапы подготовки программы на ПК
Во время создания кода программы в некоторой системе программирования, программист должен придерживаться строго определенных этапов.
При создании программы в компиляторе на языке программирования Паскаль (Delphi, Lazarus, Turbo Pascal) выделяются следующие этапы:
- Редактирование – набор текста программы на языке высокого уровня и сохранение его на внешнем запоминающем устройстве. Сформированный файл имеет название исходный модуль, который содержит так называемый исходный код программы. Например, если создается программа на языке программирования Паскаль (Pascal), то, как правило, исходный код сохраняется в файлах с расширением *.pas.
- Компиляция. На данном этапе специальная программа (компилятор) переводит программу из текстового вида в промежуточный объектный код. Во время компиляции происходит поиск ошибок в программе и их исправление. Созданный во время компиляции файл имеет название объектный модуль. Если попробовать прочитать код этого модуля как текстовый файл, то для пользователя он будет непонятен. Например, в системе программирования Delphi объектные модули имеют расширение *.dcu.
- Компоновка. На этом этапе происходит сбор всех необходимых программ в единый, пригодный для выполнения на ПК, загрузочный модуль. Это делает программа-компоновщик. Этот модуль называется исполняемым и представлен в виде отдельного файла. Как правило, исполняемый модуль имеет расширение *.exe. Этот модуль есть результатом работы, его можно запускать на выполнение, использовать его в своей работе.
- Выполнение. Это этап эксплуатации программы. Если в результате выполнения программы и анализа результатов ее работы найдены ошибки (логические), то программу нужно доработать. В этом случае весь процесс разработки повторяется с этапа редактирования.
4. Упрощенная модель компилятора
В упрощенном варианте компилятор содержит следующие составляющие:
- лексический анализатор – разбивает на лексемы код программы на языке высокого уровня. Разбивка осуществляется на основании символов-разделителей;
- синтаксический анализатор — конвертирует последовательность лексем, полученных от лексического анализатора, в последовательность внутренних кодов компилятора. Синтаксический анализатор использует синтаксические правила грамматики языка для проверки корректности записи предложений программы;
- генератор кода – осуществляет перевод внутреннего кода компилятора в конечный машинный код компьютера;
- таблицы, в которых сохраняются зарезервированные слова, имена идентификаторов, литералов.
На рисунке изображена упрощенная модель компилятора.
Рисунок 1. Упрощенная модель компилятора
Источник: www.bestprog.net