Green-sell.info

Новые технологии
61 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основными компонентами системы программирования являются

Основными компонентами системы программирования являются

по дисциплине «Организация и функционирование компьютерных систем»

СИСТЕМЫ ПРОГРАММИРОВАНИЯ: ОСНОВНЫЕ ПОНЯТИЯ

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

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

    Например, одна из популярных систем программирования на языке С/С++ от фирмы Watcom для OS/2 позволяет получать программы и для самой OS/2, и для DOS, и для Windows.

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

  • редактор текста;
  • транслятор с соответствующего языка;
  • компоновщик (редактор связей);
  • отладчик;
  • библиотеки подпрограмм.

Редактор текста — это программа для ввода и модификации текста.

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

Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля

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

Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.

Отладчик позволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе. Базовый набор функций отладчика включает:

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

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

Список использованных источников

  1. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. — СПб.: Питер, 2001. — с. 17-21
  2. Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ: — К.: Издательская группа BHV, 2000. — с. 5-25

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

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

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

2. Перевод исходного текста в машинный код с помощью программы-компилятора. Исходный текст большой программы состоит, как правило, из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом. Процесс компиляции обычно демонстрируется на экране: показывается, сколько строк исходного текста откомпилировано, или выдаются сообщения о найденных ошибках.

3. Объединение отдельно откомпилированных модулей программы в одно целое. Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например вычисляющих математические функции sin или Ln). Такие функции содержатся в библиотеках, которые поставляются вместе с компилятором. Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату. Это выполняет специальная программа – редактор связей или сборщик. На выходе получается работоспособное приложение – исполнимый код для конкретной платформы. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.

Итак, для создания программы нужны:

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

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

Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате программирование во многом заменяется на проектирование – подобный подход называется еще визуальным программированием.

Читать еще:  Опишите среду программирования турбо паскаль

Компоненты достаточно легко создавать самостоятельно, поэтому в мире сегодня распространяются тысячи бесплатных и платных компонентов для наиболее известных RAD-сред, из них формируются библиотеки компонентов – объектные репозитории. Компоненты выступают в роли «строительных кирпичиков», позволяющих собирать готовое приложение с богатыми возможностями, написав всего десяток строк исходного кода, и такой компонентный подход к созданию программ считается очень перспективным, потому что без лишних усилий и на законных основаниях допускает повторное использование чужого труда.

Из универсальных языков программирования сегодня наиболее популярны следующие:

Для каждого из этих языков программирования имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows:

Основные функции и компоненты

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

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

• трансляторы с языков высокого уровня;

• средства редактирования, компоновки и загрузки программ;

• макроассемблеры (машинно-ориентированные языки);

• отладчики машинных программ.

Системы программирования, как правило, включают всебя

• текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;

•загрузчик программ (Load), позволяющий выбрать из директория нужный текстовый файл программы;

• запускатель программ (Run), осуществляющий процесс выполнения программы;

• компилятор(Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;

• отладчик(Debug),выполняющий сервисные функции по отладке и тестированию программы;

• диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами:сохранение, поиск, уничтожение и т.п.

Ядро системы программирования составляет язык. Существующие языки программирования можно разделить на две группы: процедурные и непроцедурные, рис. 2.9.

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

Процедурные языки разделяют на языки низкого и высокого уровня.

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

Рис. 2.9. Общая классификация языков программирования

Программы на языках высокого уровня близки к естественному (английскому)

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

Перечислим наиболее известные системы программирования.

1. Фортран (FORmula TRANslating system — система трансляции формул); старейший и по сей день активно используемый в решении задач математической ориентацииязык.

2. Бейсик (Beginner’s All-purpose Symbolic Instruction Code — универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилиеплохо совместимых версий — самый популярный по числу пользователей.

3. Алгол (ALGOrithmic Language — алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.

4. ПЛ/1 (PL/I Programming Language — язык программирования первый). Многоцелевой язык; сейчас почти не используется.

5. Си (С — «си»); широко используется при создании системного программного обеспечения.

6. Паскаль (Pascal — назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. На его базе созданы несколько более мощных языков (Модула, Ада, Дельфи).

7. Кобол (COmmon Business Oriented Language — язык, ориентированный на общийбизнес); в значительной мере вышел из употребления.

8. Дельфи (Delphi) — язык объектно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен.

9. Джава (Java) — платформенно-независимый язык объектно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц.

Среди непроцедурных языков наиболее известны

2. Пролог (PROgramming in LOGic);

3. Оккам (назван в честь философа У. Оккама).

Широкое распространение среди разработчиков программ, а также при обучении программированию, получили системы программирования «Турбо» (Turbo) фирмы Borland, ядром которых являются трансляторы с языков программирования Бейсик, Паскаль, Си, Пролог и др. Интерфейс Турбо-оболочки для любых систем программирования внешне совершенно одинаков и предоставляет пользователю стандартный набор функций и команд, описанных выше и отображаемых в главном меню системы.

Рассмотрим технологию разработки программ с использованием популярной системы программирования Турбо-Паскаль 7 (оставив знакомство с самим языком до следующей главы).

В подобных интегрированных системах программирования сделана попытка предоставить разработчику программ максимум сервисных возможностей. Помимо основных функций система Турбо-Паскаль 7 позволяет настроить компилятор на работу в трех режимах: обычном режиме MS DOS (Real), защищенном режиме (Protected) и в режиме операционной среды Windows (Windows).

После загрузки системы (файл TURBO. EXE), на экране монитора появляется интерфейсное окно, рис. 2.10.

Читать еще:  Лексема это в программировании

Рис. 2.10. Вид экрана интегрированной среды Турбо-Паскаля версии 7 (монтаж)

Главное меню системы (верхняя строка экрана) содержит команды, которые позволяют осуществлять следующие виды работ:

File — работа с файлами (сохранение, загрузка, связь с операционной
системой);

Edit — работа с текстовым редактором (после загрузки системы по умолчанию
текстовый редактор находится в активном состоянии);

Search — поиск и замена фрагментов текста;

Run -запуск программы на выполнение;

Compile — компиляция программы и установка параметров компиляции;

Debug — установка параметров отладки программы;

Tools — инструментальные программные средства (ненавязчивый сервис);

Options -установка опций интегрированной среды;

Window — работа с окнами;

Help -система помощи и подсказок.

Для начала работы с системой программирования необходимо иметь проект текста программы, который можно набирать на рабочем поле окна системы. Встроенный текстовый редактор прост и максимально приспособлен для набора текстов программ на языке Паскаль. В нем предусмотрена специальная подсветка управляющих структур, команд. Удобна система контекстной помощи (Shift+Fl), которая вызовет подсказку по набираемому текущему тексту программы в любой момент и в любом месте. Впрочем, текст программы можно приготовить в любом текстовом редакторе, хранящем тексты в ASCII-кодах (например, в Лексиконе); необходимо лишь снабдить имя файла расширением .pas.

Если текст (тексты) программы был ранее сохранен на жестком диске или дискете, то он может быть загружен в поле редактирования с помощью пункта меню File.

После окончания формирования текста необходимо откомпилировать программу (пункт меню Compile). Если в программе есть ошибки, то компилятор их укажет. После исправления ошибок можно снова повторить компиляцию.

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

Но на этом этапе чаще всего работа не заканчивается. Сложные алгоритмы требуют тестирования и отладки. Многие программы составляются из отдельных модулей, требуют связи с другими программами и системами и т.д. Для решения всех этих проблем предназначены другие команды системы (Debug, Options и пр.).

Разумеется, программисту, работающему на Паскале, нет нужды самому программировать такие непростые, но часто встречающиеся операции, как вычисление значений математических функций, построение изображений простых геометрических объектов (отрезков прямых, окружностей и т.д.), очистка экрана и множество других. Высокоэффективные, тщательно отлаженные программы таких действий сведены в стандартные модули и надо лишь уметь к ним обратиться. В состав пакета библиотек стандартных модулей входят:Crt — работы с экраном, Graph -работы с графикой и другие, такие как Overlay, String, System, Turbo3,WinAPI, WinCrt, WinDos, WinPrn, WinTypes, WinProcs.

Статьи к прочтению:

Что такое языки программирования

Похожие статьи:

КОНТРОЛЬНАЯ РАБОТА Реферат по курсу: «Информатика» Вариант № 5 Выполнил: Мосягина Анастасия Владимировна ФИО полностью, заполняется студентом Группа:…

Настройки основного меню, экрана и принтера. Работа с текстом документа, цветовое выделение. Работа со списками документов — объединение, пересечение,…

Основными компонентами системы программирования являются

Современные системы программирования, составляя основу ПО, имеют пакетное оформление и предназначены для обеспечения всех основных элементов той или иной технологии программирования как системного, так и прикладного ПО. Среди данных средств можно отметить: Turbo-Basic,Turbo-Pascal,Turbo-C,Turbo-Prolog и др. Средства данной группы, в первую очередь, ориентированы на системных и проблемных программистов, но не массового пользователя ПК.

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

Основными компонентами системы программирования являются:

описание языка программирования и правил составления программ на его основе;

библиотека стандартных подпрограмм;

Интегрированная среда программирования (IDE — Integrated Developer System) помимо системы программирования включает:

специализированный редактор текстов;

средства проектирования пользовательского интерфейса;

средства проектирования отчетов;

дополнительные вспомогательные программы.

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

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

Общее описание задачи.

Проектирование структур данных.

Проектирование форм ввода исходных данных и способов обмена данными с другими программами.

Проектирование форм выходной информации.

Разработка алгоритмов обработки информации.

Написание исходного текста программы.

Построение исполняемого кода программы.

Отладка исполняемого кода.

Практически все этапы технологического процесса исполнения программ могут выполняться многократно.

Процесс преобразования исходного текста программы в исполняемый код называется трансляцией программы.

Трансляция — процесс преобразования исходного текста программы в код, приспособленный для исполнения на ЭВМ.

В зависимости от используемой системы программирования, трансляция может осуществляться по-разному. Различают системы программирования компилирующего и интерпретирующего типа.

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

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

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

Например, компиляторы систем программирования Visual C++ и Delphi формируют машинный код в виде *.exe файла, который может непосредственно исполняться в среде Windows.

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

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

«Чистые» интерпретаторы выполняют пошаговую трансляцию и выполнение программы (JavaScript, qBasic, VBA).

Интерпретаторы псевдокода выполняют интерпретацию заранее составленного псевдокода (Java).

Читать еще:  Виды математического программирования

Некоторые системы программирования, например, Visual Basic позволяют выполнять программу как в режиме интерпретации, так и создавать исполняемые файлы.

Компьютер с нуля

Системы программирования и инструментальные среды

Очень специфический вид программного обеспечения для компьютера это системы программирования.

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

В данный класс программного обеспечения входят средства (инструментарии) для создания других программ и программных комплексов.

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

Язык, который понятен процессору, состоит из 0 и 1. Поэтому программа, записанная таким образом, носит название машинного кода .

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

Общая классификация языков программирования

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

Уровень языка программирования определяет степень его удаленности от языка процессора и приближенности к естественному или формальному языку, используемого человеком. (Чем выше уровень, тем дальше он от компьютера и ближе к человеку).

На схеме изображен состав системы программирования.

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

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

Синтаксис языка программирования это перечень правил записи программ из элементов этого языка.

В настоящее время существует несколько сотен языков высокого уровня, получивших название алгоритмических языков. Каждый из этих языков имеет свой синтаксис и ориентирован на решение задач определенного класса. К наиболее популярным относятся Basic, Pascal, C++, Prolog.

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

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

Транслятор (translator) — это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.

Этап трансляции кода программы является обязательным.

Этап превращения программы, написанной на языке высокого уровня, в машинный код реализуется в двух вариантах.

1. В первом случае транслятор берет из файла программу на языке высокого уровня и переводит в программу на машинном языке всю целиком, записывая ее в файл с расширением obj. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой перевод, называют компилятором . К компилируемым языкам относятся языки: Паскаль, Си, Фортран и др.

2. Во втором случае транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и сразу исполняет эту команду. Такой транслятор называют интерпретатором . К интерпретируемым языкам относятся: Бейсик, Пролог, Лисп и др.

Современные инструментальные среды (системы программирования), как правило, используют компилятор. В связи с этим не лишним будет представление о том, как же объектный модуль превращается в исполняемую программу, которая и хранится в файле с расширением ЕХЕ или СОМ.

Алгоритм получения исполняемой программы

Данное превращение осуществляет компьютерная программа, называемая редактор связей.

Редактор связей это программа, осуществляющая преобразование объектного модуля в исполняемую программу.

Объектный модуль представляет собой схему будущей программы. В нем отсутствует масса важных вещей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п. Редактор связей берет из специальной библиотеки (ее принято называть системной библиотекой подпрограмм) все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ «склеивает» исполняемую программу из объектного модуля и этих блоков.

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

  • текстовые редакторы (редакторы программ);
  • трансляторы (компиляторы, интерпретаторы);
  • редакторы связей.

Инструментальные среды

Раньше пользователи вводили текст программы с помощью специального или подходящего текстового редактора. Затем использовали другую программу — транслятор(компилятор) для перевода написанной программы в объектный модуль. Далее использовалась третья программа —компоновщик(называемая также сборщиком, или редактором связей), которая позволяла собрать единый исполняемый файл из отдельных модулей, а также снабжала его специальными стандартными блоками, обеспечивающими связь программы с внешними устройствами. И наконец, четвертая программа — загрузчик— загружала окончательно подготовленный исполняемый файл в оперативную память ЭВМ, который далее выполнялся по специальной команде.

Если на каком-либо этапе подготовки программы была допущена ошибка, все приходилось начинать заново. Таким образом, отладка программы была достаточно длительным, трудоемким и утомительным процессом.

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

Инструментальная среда – это интегрированная система, которая позволяет писать, редактировать, отлаживать и запускать программы на выполнение, не выходя из самой среды.

В качестве примеров программных продуктов этого типа можно привести широко известные пакеты TurboBASIC, BorlandPascalwithObjects 7.0, Borland C++ (продукты фирмы BorlandInternationalInc.), а также QuickBASIC, QuickPascal, Quick С (продукты фирмы Microsoft) и многие другие.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector