Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика-лекц-2012.doc
Скачиваний:
16
Добавлен:
09.03.2015
Размер:
344.58 Кб
Скачать

Системы программирования

Системы программированияили инструментальная среда разработки(СП) – это система программных средств, используемая программистами для разработки программного обеспечения (ПО).

Для того чтобы понять, что входит в СП, следует рассмотреть технологию разработки программ (рис. 5).

  1. Анализ, проектирование и алгоритмизация задачи.Вначале программист разрабатывает алгоритм решения задачи(алгоритм– последовательность действий, приводящих к решению задачи).

  2. Кодирование алгоритма.После того как алгоритм разработан, он описывается (кодируется) на языке программирования с помощью текстового редактора.

  3. Трансляция программы.Процессор компьютера «не понимает» алгоритмических языков, так как он воспринимает только команды машинного языка, состоящие из последовательности нулей и единиц. На заре компьютерной эры программисты так и писали программы в машинных кодах. Однако поскольку это очень трудоемкая и низкопроизводительная работа, были изобретены языки программирования. Языки программирования высокого уровня многократно ускорили процесс написания программ, но потребовался перевод программы, написанной на таком языке, в машинные коды. К счастью, такой перевод может делать сам компьютер с помощью специальной программы. Итак,после написания программы, она переводится на машинный язык с помощью специальной программы – транслятора. Трансляторы бывают двух типов: интерпретаторы и компиляторы. В результате получается файл, который называется объектным модулем.

  4. Компоновка программы.Для того чтобы программа заработала, необходимо внести в нее части, настраивающие ее на работу с конкретной операционной системой, особенностями ее обмена данными с клавиатурой, монитором, диском, оперативной памятью и т. д. Это делает специальная программа –редактор связей (компоновщик). Редактор связей берет из специальной системной библиотеки все необходимые для работы блоки (программы) и в файле с расширением exe «склеивает» исполняемую программу из объектного модуля и этих блоков. В результате получается готовая исполняемая программа.

  5. Тестирование программы.Далее проверяется работа программы с помощью специально разработанных тестов, выявляются ошибки, они исправляются. Этот процесс называется отладкой программы.

Таким образом, система программированиявключает в себя следующие основные компоненты:

1. Текстовый редактор.

2. Транслятор.

3. Редактор связей (компоновщик).

6. Документирование программы.

СП позволяет писать, редактировать, отлаживать и запускать программы на их выполнение в едином технологическом процессе.

Анализ, проектирование и алгоритмизация задачи.

Кодирование алгоритма.

Трансляция программы

Компоновка программы.

Тестирование и документирование программы

Рис. Технология получения исполняемой программы

Языки программирования

Язык программирования(ЯП) – комплекс правил кодирования алгоритма задачи.

Классификация ЯП

Классифицировать ЯП можно по разным признакам: уровню языка, способу реализации и стилю программирования.

Уровень языкаопределяется его близостью к естественному человеческому языку, чем ближе к нему, тем уровень ЯП выше, чем ближе к языку машинных команд, тем уровень ЯП ниже.

Языки низкого уровня(ЯПНУ) – это машинно-зависимые языки, которые можно применять на ограниченном подмножестве машин с одинаковой архитектурой и платформой.

Операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. ЯПНУ применяют для написания системных приложений, драйверов устройств, модулей стыковки с оборудованием, когда важнейшими требованиями становятся возможность прямого доступа к аппаратным ресурсам, компактность и быстродействие.

ПримерЯПНУ: языки,автокод, ассемблерпозволяют программисту пользоваться мнемоническими кодами машинных команд конкретного компьютера.

Языки высокого уровня (ЯПВН)– машинно-независимые языки, применимые на любых компьютерах.

Языки программирования высокого уровня имеют синтаксис, близкий к естественному человеческому языку. Фразы состоят из слов (как правило, английского языка), чисел и знаков препинания. Отличием от естественного языка является жесткость правил написания фраз, нарушать которые нельзя, иначе программа не заработает.

Особенность: понятность и легкая обучаемость языку.

Примеры:Паскаль– очень популярный язык, разработан в 1970 г. швейцарцем Н. Виртом.

Бэйсик- язык для начинающих, 1964, Дартмутский колледж,

Си– разработан в начале 70-х годов для реализации разработки операционных систем, трансляторов, баз данных и других системных и прикладных программ. В нем заложены возможности непосредственного обращения к некоторым машинным командам и участкам памяти компьютера.

Фортран(1953 г.),Delphiи т.д.

Способ реализации ЯП.

Языки программированиямогут быть реализованы как компилируемые или интерпретируемые.

Программа на компилируемом языке при помощи специальной программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполнимый модуль, который может быть запущен на выполнение как отдельная программа. Файл исполняемого модуля обычно имеет расширение(ехе).

Другими словами, компилятор переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора.

Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) исходный текст без предварительного перевода всей программы. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора. (С++).

Кратко говоря, компилятор переводит исходный текст программы на машинный язык сразу и целиком, создавая при этом отдельную машинно-исполняемую программу, а интерпретатор выполняет исходный текст прямо во время исполнения программы («интерпретируя» его своими средствами).

Разделение на компилируемые и интерпретируемые языки является условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление.

Для любого интерпретируемого языка можно создать компилятор — например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений. Создаваемый во время исполнения программы код может так же динамически компилироваться во время исполнения.

Преимущество. Как правило, скомпилированные программы выполняются быстрее и не требуют для выполнения дополнительных программ, так как уже переведены на машинный язык.

Недостатки. Вместе с тем, при каждом изменении текста программы требуется её перекомпиляция, что создаёт трудности при разработке. Кроме того, скомпилированная программа может выполняться только на том же типе компьютеров и, как правило, под той же операционной системой, на которую был рассчитан компилятор. Чтобы создать исполняемый файл для машины другого типа, требуется новая компиляция.

Программу на интерпретируемом языке можно запускать сразу же после изменения, что облегчает разработку и отладку программ. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без дополнительной программы-интерпретатора.

Классификация языков по стилю программирования

  1. Процедурные языки

Процедурное или структурное программирование(программирование без GOTO) является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 1940-х годах.

Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти.

Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.

Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.

Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи.

Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом.

Пример: Pascal,Basic,Си,Фортран,КОБОЛ.

  1. Функциональные языки

Функциональные языки– языки, в которых единственным действием является вызов функции.

Достоинства: краткость и простота.

Пример:язык Лисп. Он широко используется в системе автоматизированного проектированияAutoCADи называетсяAutoLISP.

  1. Логические языки

Логические языки – языки программирования в терминах математической логики.

Логические языки используют для разработки систем искусственного интеллекта и экспертных систем.

Prolog - самый известный язык логического программирования.

  1. Объектно-ориентированные языки

Объектно-ориентированные языки – языки, которые содержат объекты и позволяют разрабатывать хорошо структурированные, надежные и легко модифицируемые программы.

В основе концепции объектно-ориентированного программирования лежит понятие объекта— некоей субстанции, которая объединяет в себеданные (поля) и методы(выполняемые объектом действия).

Например, объект человекможет иметь поляимя,фамилияи методыестьиспать. Соответственно, в программе можем использовать операторыЧеловек.Имя:="Иван"иЧеловек.Есть(пища).

Свойство объектно-ориентированного программирования, которое может быть смоделировано с помощью таксометрической классификационной схемы (иерархии) называется Наследование.

Примеры: C# , C++ , Delphi, Java.

Федеральный тест

Компилятор– программа, которая выполняет синтаксический и определенный смысловой анализ всего исходного кода программы и затем при отсутствии ошибок переводит его на машинный язык – создает объектный код.

Модулемназывается специальная программная единица, предназначенная для создания библиотек и разделения больших программ на логически связанные блоки.

Paint– однооконный редактор растровой графики.

PhotoShop– многооконный редактор растровой графики.

CorelDraw- многооконный редактор векторной графики.

ChkDsk – стандартное приложение В ОС MS Windows, которое проверяет диски на ошибки файловой системы. Может исправлять ошибки.

Операторыприсваивания в языках программирования задают значения переменных.

1глоссарий.ру).

2Симонович

3Федеральный закон от 10 января 2002 г. №1-ФЗ «Об электронной цифровой подписи».

44