Программа — это детальное и законченное описание алгоритма средствами языка программирования.
Процесс выполнения программы называется вычислительным процессом.
Исполнителем программы является компьютер. Для выполнения компьютером программа должна быть представлена в машинном коде — последовательности чисел, понимаемых процессором. Специальная служебная программа, преобразующая текст программы, записанный с помощью языка программирования, в машинный код, называется транслятором.
I. Синтаксический анализ – проверка на соответствие формальным правилам, содержащимся в языке программирования
II. Семантический анализ – (семантика – смысловая сторона языка) – поиск ошибок определенного рода, например, не описаны переменные и т.д.
Трансляторы делятся на два типа: интерпретаторы и компиляторы.
Интерпретатор переводит в машинный код и выполняет очередной оператор (команду) программы. Если команда повторяется, то интерпретатор рассматривает ее как встреченную впервые. Примерами служебных программ-интерпретаторов являются GW Basic, Лого, школьный алгоритмический язык, многие языки программирования баз данных. Достоинство интерпретаторов — их компактность, возможность остановить в любой момент выполнение программы, выполнить различные преобразования данных и продолжить работу программы.
XOD — графический язык программирования Arduino. Обзор языка и среды разработки
Компилятор переводит в машинный код исходный текст программы целиком. Поэтому достоинство компиляторов — быстродействие и автономность получаемых программ. Компиляторами являются Turbo Pascal, С++, Delphi.
Таким образом, интерпретация в разработке программ – процесс непосредственного покомандного выполнения программы без предварительной компиляции, «на лету». Интерпретация связана с получением переменными значений в процессе работы программы. Режим интерпретации можно использовать для отладки программ на языке высокого уровня.
Компиляция в программировании – преобразование программы, представленной на одном из языков программирования, в коды на машинно-ориентированном языке, которые принимаются и исполняются непосредственно процессором. Результатом компиляции является объектный файл с необходимыми внешними ссылками на компоновщика. Программа уже переведена в машинные инструкции, однако ещё не полностью готова к выполнению. В объектном файле имеются ссылки на различные системные функции.
Компоновщик — модуль системы программирования или самостоятельная программа, которая собирает результирующую программу из объектных модулей и стандартных библиотечных модулей. Этот процесс называется компоновкой, а его результат – исполняемый файл.
Исполняемый файл – файл, который может быть обработан или выполнен компьютером без предварительной трансляции.
Средства создания программ
В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.
1. Текстовый редактор — для набора исходного текста программы
2. Компилятор (COMPILER) — для перевода текста программы в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет. Компилятор обычно выдает промежуточный объектный код. Объектный код обрабатывается специальной программой — редактором связей или сборщиком.
С чего началось программирование? Первые программы до появления кода
3. Редактор связей (LINKER) -для сборки нескольких откомпилированных модулей в одну программу (исполнимый код).
Исполнимый код — это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.
4. Библиотеки функций — для подключения стандартных функций к программе. Такие функции содержатся в библиотеках — файлах со стандартным расширением .LIB или .TPL, которые поставляются вместе с компилятором
5. Отладчик (DEBUGGER) – инструментальное средство для поиска и исправления ошибок.
Позволяет анализировать работу программы во время ее выполнения, дает возможность выполнить отдельные операторы по шагам.
Для автоматизации процесса создания программ используются системы программирования. Системой программирования называется совокупность языковых и программных средств, предназначенных для написания, тестирования и отладки программ для ЭВМ.
Современные системы программирования включают в себя все указанные компоненты и называются интегрированными системами.
Исходный текст программы можно получить без записи его вручную в текстовом редакторе. Существуют системы визуального программирования — RAD -среды (Rapid Application Development), которые, не исключая возможности записи программы вручную, позволяют создавать текст программы автоматически, путем манипуляций со стандартными элементами управления, включенными в RAD-среду. Поэтому для RAD-среды понятие «программирование» часто заменяют понятием «проектирование».
Источник: infopedia.su
Средства создания программ
В общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.
1. Текстовый редактор.
Так как текст программы записывается с помощью ключевых слов, обычно происходящих от слов английского языка, и набора стандартных символов, то формировать этот текст можно в любом редакторе, получая в итоге текстовый файл с исходным текстом программы.
Лучше использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять операторы и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех популярных языков и дополнительно могут проверять правильность синтаксиса программы непосредственно во время ее ввода.
Исходный текст переводится в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет.
На этом этапе уже возможно получение готовой программы, но чаще всего в ней не хватает некоторых компонентов, поэтому компилятор обычно выдает промежуточный объектный код (двоичный файл, стандартное расширение.obj).
3. Редактор связей.
Исходный текст большой программы состоит, как правило, из нескольких модулей (файлов с исходными текстами), потому что хранить все тексты в одном файле неудобно – в них сложно ориентироваться. Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.
Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (вычисление sin или cos). Такие функции содержатся в библиотеках (файлах со стандартным расширением.lib), которые поставляются вместе с компилятором.
Объектный код обрабатывается специальной программой – редактором связей или сборщиком, который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение – исполнимый код для конкретной платформы.
Если по каким-то причинам один из объектных модулей или нужная биб-лиотека не находятся (неправильно указан каталог с библиотекой), то сборщик сообщает об ошибке и готовой программы не получается.
Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась (расширение.exe,.com).
В настоящее время основным средством разработки программ являются системы программирования.
Система программирования (СП) – совокупность программных средств автоматизации разработки программ, их отладки и подготовки к выполнению: трансляторы с их языками программирования, редактор связей, загрузчик, средства отладки, библиотеки трансляторов и вспомогательные программы (утилиты).
Система программирования выполняется под управлением операционной системы (ОС) и может иметь с ней общие компоненты, например, загрузчик, библиотеки, утилиты. По отношению к другим программным комплексам СП можно разделить на самостоятельные и встроенные.
Самостоятельные СП являются системами общего назначения. Они могут быть организованы как программные комплексы с автономными компонентами или как интегрированные СП. Вызов каждого автономного компонента осуществляется посредством указаний на языке ОС или специальном командном языке. По этой причине автономные компоненты СП часто называют инструментами командной строки.
Все компоненты интегрированной СП окружены единой программной оболочкой, обеспечивающей графический интерфейс с пользователем. Все компоненты интегрированной СП конструктивно могут быть собраны в единой выполняемой программе. По этой причине иногда такую СП отождествляют с компилятором (не вполне корректно). Обычно интегрированная СП поставляется вместе с инструментами командной строки.
Встроенная СП является составной частью другого программного комплек-са. Такие СП применяются в СУБД – системах управления базами данных и наиболее развитых пакетах прикладных программ. По своей организации и возмож-ностям они подобны интегрированным СП. В процессе развития СУБД их систе-мы программирования постепенно приобрели черты классической СП, способной создавать, отлаживать и объединять отдельные модули, а также формировать программу, выполняемую независимо от СУБД.
Современная СП основана на модульном принципе программирования. Это позволяет разделять программы на функционально независимые части – модули.
Исходный модуль (ИМ) – модуль, написанный на входном языке транслятора. Программа может состоять из одного или нескольких ИМ. Исходные модули транслируются независимо друг от друга, хотя некоторые трансляторы могут выполнять так называемую пакетную обработку. Каждый ИМ транслятор перерабатывает в перемещаемый объектный модуль.
Объектный модуль (ОМ) – программа на языке машины + вспомогательная информация, обеспечивающая, в частности, объединение ОМ с другими модулями. Объектный модуль нельзя выполнить на компьютере без дополнительной об-работки.
Обработку (редактирование) ОМ осуществляет редактор связей. Он вырабатывает загрузочный модуль (ЗМ). Компьютерная программа (из объектного модуля) в загрузочном модуле снабжается служебной информацией, обеспечивающей настройку программы при ее загрузке для выполнения.
Редактирование состоит в объединении объектных модулей, принадлежащих одной программе, в единый перемещаемый загрузочный модуль. Даже если программа состоит из единственного объектного модуля, все равно потребуются услуги редактора связей для упорядочения ее частей (сегментов) в загрузочном модуле. В принципе имеется возможность объединять разноязыкие модули.
Загрузка, настройка и инициализация проводятся при помощи загрузчика. Он может также включать в программу во время ее выполнения модули, вызы-ваемые динамически.
Тексты на исходном языке могут храниться в специальных файлах включения и при необходимости включаться в исходные модули. Отдельные объектные модули могут накапливаться в библиотеках объектных модулей (БОМ). Для обслуживания БОМ имеется специальная программа – библиотекарь, которая по-зволяет создавать библиотеки, пополнять их, осуществлять замену и удаление модулей, печатать оглавление. При наличии доступных библиотек компоновщик автоматически ищет в них объектные модули, необходимые для создания единой программы. Такие библиотеки иногда называют библиотеками автовызова.
Особым образом написанные программы могут быть преобразованы в абсолютный модуль. Он не содержит служебной информации и не нуждается в корректировке при размещении в памяти для выполнения. Формирование абсолютного модуля выполняет программа-преобразователь. В современных СП эта функция обычно возлагается на редактор связей.
3.3 Технология программирования
В процессе решения задачи с применением компьютера пользователь самостоятельно или с помощью специалистов проходит ряд этапов, которые показаны на рис.1.
Рассмотрим последовательность прохождения этапов на примере простой задачи.
На первом этапе формулируются условия задачи (концептуальная модель), например, в словесной форме: функция f(x) должна получить значение, равное единице, если переменная х больше нуля, и нуль, если переменная х принимает другие значения.
На втором этапе производится математическая постановка задачи (математическая модель):
· определяются исходные (вводимые) данные и их типы. В нашем случае к исходным данным относится переменная х, которая может принимать целые и вещественные (содержащие дробную часть) значения. В качестве типа для переменной х выбираем вещественный, поскольку данный тип включает в себя и целые значения тоже;
· решение задачи описывается в виде аналитических зависимостей. Для нашей задачи
· определяются конечные (выводимые) данные и их типы. В нашем случае конечными данными (результатом решения) является значение функции f(x) целого типа.
На третьем этапе осуществляется разработка алгоритма. Алгоритмизация выступает как связующее звено между «домашними» этапами решения задачи и непосредственно общением человека с компьютером. Алгоритм решения нашей задачи показан на рис.2.
На четвертом этапе решения задачи алгоритм переводится в программу, записанную на языке высокого уровня. Ниже приводятся программы на языках Pascal и QBasic, которые реализуют данный алгоритм.
Pascal:
Var x: real; f: integer;
Read (x); WriteLn (‘x=’, x);
QBasic:
DEFSNG X: DEFINT F
INPUT X: PRINT «X=», Х
IF X>0 THEN F=1 ELSE F=0
На пятом этапе программа водится в память компьютера, осуществляются ее отладка и решение.
Больше всего времени, как правило, требуется на выполнение последнего этапа. Это связано с тем, что здесь устраняются ошибки, допущенные пользователем на предыдущих этапах решения задачи. Не очень страшно, если это ошибки синтаксиса или семантики, они достаточно легко устраняются. Гораздо хуже наличие алгоритмических ошибок, выявить которые значительно труднее, а для их устранения иногда проще разработать новый алгоритм и написать новую программу, чем исправить существующую.
Воспользуйтесь поиском по сайту:
studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с) .
Источник: studopedia.org
Тема 2. 1. Интегрированная среда программирования
В общем случае для создания программ на выбранном языке программирования нужно иметь следующие компоненты.
1. Текстовый редактор. Сформатированный в любом текстовом редакторе текст называется исходным текстом программы. Лучше использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе вода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех популярных языков программирования и дополнительно могут проверять правильность синтаксиса программы непосредственно во время ее ввода.
2. Транслятор. Это программа, которая переводит исходный текcт программы в машинный код, осуществляя синтаксический разбор текста. На этом этапе уже возможно получение готовой программы, но чаще всего в ней не хватает некоторых компонентов, поэтому транслятор обычно выдает промежуточный объектный код (двоичный файл со стандартным расширением.OBJ). Если же в исходном тексте программы обнаружены ошибки, то результирующий файл не создается, а выдается сообщение об ошибках.
3. Редактор связей (компоновщик, сборщик, линковщик). Если текст программы состоит из нескольких модулей, то каждый их них транслируется в отдельный файл с объектным кодом, которые затем необходимо объединить в единое целое.
Кроме того, к ним нужно добавить код подпрограмм, реализующих различные стандартные функции, которые содержатся в библиотеках, поставляемых вместе со стандартным транслятором. Сгенерированный код модулей и подключенные к нему стандартные функции нужно не просто объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату.
Это задача редактора связей. На выходе редактор связей формирует исполняемый код для конкретной программы. Если один из объектный модулей или библиотека не обнаружены, то редактор связей выдает сообщение об ошибке. Как правило, итоговый файл имеет расширение.EXE или.COM.
Интегрированная система программирования – это программная система, содержащая транслятор, редактор связей, и библиотеки функций. В нее также обычно входит специализированный текстовый редактор и отладчик, который позволяет анализировать работу программы во время ее выполнения. При помощи отладчика можно выполнять отдельные блоки операторов пошагово, наблюдая, как меняются при этом переменные.
В интегрированной среде программирования этапы создания программы автоматизированы — после того, как исходный текст введен, его трансляция и сборка выполняются одним нажатием клавиши. Процесс трансляции обычно демонстрируется на экране: показывается, сколько исходных строк текста оттранслировано или выдается сообщение об ошибках.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru