Green-sell.info

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

В состав интегрированной системы программирования входят

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В состав интегрированной системы программирования входят

Название работы: Системы программирования: состав систем программирования. Этапы разработки ПО

Предметная область: Информатика, кибернетика и программирование

Описание: Современные системы программирования как правило представляют собой интегрированную среду разработки integrated development environment IDE к компонентам которой относятся следующие программные средства: текстовый редактор editor предназначенный для создания текстов исходной программы на языке высокого уровня ЯВУ или ассемблере макроассемблере; компилятор compiler составитель предназначенный для трансляции перевода исходного текста входной программы в эквивалентную ей выходную программу объектный код на языке нижнего.

Дата добавления: 2013-08-09

Размер файла: 124.23 KB

Работу скачали: 46 чел.

Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки ПО.

§8 Состав систем программирования.

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

Современные системы программирования, как правило, представляют собой интегрированную среду разработки ( integrated development environment – IDE ), к компонентам которой относятся следующие программные средства:

— текстовый редактор ( editor ), предназначенный для создания текстов исходной программы на языке высокого уровня (ЯВУ) или ассемблере (макроассемблере);

— компилятор ( compiler – составитель), предназначенный для трансляции (перевода) исходного текста входной программы в эквивалентную ей выходную программу (объектный код) на языке нижнего уровня – машинных команд или ассемблера;

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

— компоновщик ( linker ), предназначенный для объединения нескольких объектных модулей, созданных компилятором или взятых из стандартных библиотек, в единое целое – исполняемый файл программы;

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

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

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

Современные системы программирования строятся на основе так называемых языков четвертого поколения – 4 GL ( four generation languages ), которые предназначены для поддержки систем быстрой разработки приложений – RAD ( rapid application development ).

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

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

Читать еще:  1с параметры профиля безопасности

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

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

Рис. 8. Этапы разработки ПО в системе программирования

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

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

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

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

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

Трансляторы, компиляторы и интерпретаторы

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

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

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

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

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

Большинство языков высокого уровня являются компилируемыми, т. е. для каждого из них разработан собственный компилятор ( FORTRAN , ALGOL -68, PL /1, ADA , PASCAL , MODULA , SIMULA , C и многие другие).

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

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

Язык HTML ( Hipertext Markup Language – язык описания гипертекста) на котором основан протокол HTTP ( hiper text transfer protocol – протокол передачи гипертекста) – тоже интерпретируемый язык.

Схема работы транслятора

Схема работы транслятора представлена на рис. 8.2. Процесс компиляции состоит из двух основных этапов: синтеза и анализа.

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

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

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

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

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

Транслятор является обязательным элементом любой системы программирования.

Для того чтобы исходный текст программы, написанный на языке высокого уровня, был переведен на «понятный» ЭВМ язык машинных команд, нужна программа-переводчик – транслятор (англ. – translater).

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

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

1. Синхронный перевод. Преподаватель читает лекцию, переводчик одновременно с ним слово за словом переводит ее.

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

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

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

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

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

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

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

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

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

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

Исполняемый модуль – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Итоговый файл имеет расширение .EXE или .COM.

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

На рис. 1.1 показан порядок создания исполняемого модуля в интегрированной системе программирования Turbo Pascal (ТР). Прежде всего с помощью экранного редактора вводится исходный текст программы (исходный модуль), который записывается в файл, например, Prog1.pas. Затем выполняется компиляция и строится объектный модуль – файл Prog1.obj, который далее преобразуется компоновщиком в исполняемый модуль – файл Prog1.exe. Модули Prog1.pas, Prog1.obj и Prog1.exe хранятся на диске. Загрузчик переносит файл Prog1.exe в оперативную память ЭВМ. После этого управление передается на программу, и она начинает выполняться. По окончании процесса происходит возврат в среду Turbo Pascal.

Читать еще:  Условный оператор применяется для программирования

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

Дата добавления: 2015-08-31 ; просмотров: 4245 ; Нарушение авторских прав

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

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

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

Таб.1 Основные системы программирования

Пакеты прикладных программ

Это комплекс взаимосвязанных программ для решения задач определенного класса. Выделяются следующие виды ППП:

ü проблемно-ориентированные. Используются для тех проблемных областей, в которых возможна типизация функций управления, структур данных и алгоритмов обработки. Например, это ППП автоматизации бухучета, финансовой деятельности, управления персоналом и т.д.;

Используются в тех предметных областях, для которых возможна типизация функций управления, структур данных и алгоритмов обработки. Типичным примером является серия программ 1С:, позволяющая автоматизировать решение задач управления предприятием, например, 1С:Бухгалтерия, 1С: Предприятие, 1С: Кадры и т.д. К пакетам этого класса относятся и программы, реализующие дистанционное обучение, например пакет SunRav_BookOffice для создания и работы с электронным учебником, с помощью которого был разработан данный электронный учебник.

ü автоматизации проектирования (или САПР). Используются в работе конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм;

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

· коллективная работа в сети;

· экспорт — импорт файлов различных форматов;

· группировка объектов, передвижение, растяжка, поворот, разрезание, изменение размеров, работа со слоями;

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

· работа с цветом;

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

Примерами пакетов этого класса являются: AutoCAD (AutoDesk), DesignCAD, Grafic CAD Professional, DrawBase, Microstation, TurboCAD.

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

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

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

Табличные процессоры (типичный пример — MS Excel) позволяют обрабатывать большие объемы числовой информации (не исключая при этом обычную символьную), формируя из данных таблицы. Можно сказать, что это очень мощные калькуляторы, хранящие в своей памяти огромные числовые массивы и позволяющие выполнять над ними различные арифметические и логические операции, формировать диаграммы и делать множество других операций, полезных для решения различных задач пользователя. Аналогично пакету MS Word, табличный процессор MS Excel изучается в лабораторном практикуме по информатике.

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

Редакторы растровой графики используются для работы с фотографиями. Они кодируют фотоизображения в цифровую форму и позволяют выполнять над ними различные редактирующие операции (выделение фрагментов, перемещение, вырезание, копирование и т.д.). Примерами редакторов этого класса являются: Adobe Photoshop, Aldus Photo Styler, Picture Publisher, Photo Works Plus.

Редакторы векторной графики используются для профессиональной работы, связанной с технической и художественной иллюстрацией с последующей цветной печатью. Они занимают промежуточное место между САПР и настольными издательскими системами. Включают инструментарий для создания графического объекта; средства манипулирования объектами; средства обработки текста в части оформления и модификации параграфов, работы со шрифтами; средства вывода на печать и настройки цвета. Примерами графических редакторов этого класса являются Corel Draw, Adobe Illustrator, Aldus Free Hand, Professional Draw.

Системы управления базами данных (СУБД) используются для автоматизации процедур создания, хранения и извлечения электронных данных. Различаются способом организации данных, форматом, языком формирования запросов на операции с данными. типичными примерами являются MS Access, Oracle, Paradox.

Пакеты программ мультимедиа используются для отображения (воспроизведения) и обработки аудио- и видеоинформации. Включают, в частности, пакеты Director for Windows, Multimedia Viewer Kit, NEC MultiSpin.

Пакеты демонстрационной графики это конструкторы графических образов деловой информации, призванные в наглядной и динамической форме представлять результаты некоторых аналитических исследований. последовательность работы с такими пакетами включает шаги: разработка общего плана представления, выбор шаблона для оформления элементов, формирование и импорт элементов (текст, графика, таблицы, диаграммы, звуковые эффекты, видеоклипы). Примеры таких пакетов: Power Point, Harvard Graphics, WordPerfect Presentations

ü офисные. Обеспечивают организационное управление деятельностью офиса. Включают органайзеры (записные и телефонные книжки, календари, презентации и т.д.), средства распознавания текста;

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

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

1) органайзеры для управления проектами. используются для сетевого планирования и управления проектами. Позволяют спланировать проект любой величины и сложности, эффективно распределить людские, финансовые и материальные ресурсы, составить оптимальный график работ и проконтролировать его исполнение. К ним относятся Time Line, MS Project, CА — Super Project;

2) органайзеры для организации деятельности отдельного человека. Это электронные секретари для эффективного управления деловыми контактами. Включают, в частности, Lotus Organizer, ACTI.

Программы для распознавания символов используются для перевода графических изображений букв и цифр в ASCII-коды этих символов. Применяются в сканерах. Примерами таких пакетов являются Fine Reader, Cunie Form, Tiger, Omni Page

ü настольные издательские системы – более функционально мощные текстовые процессоры;

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

· компоновать (верстать) текст;

· использовать всевозможные шрифты и выполнять полиграфические изображения;

· осуществлять редактирование текста на уровне лучших текстовых процессоров;

· обрабатывать графические изображения;

· выводить документы полиграфического качества;

· работать в сетях на разных платформах.

Примерами таких пакетов являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher, Page Plus, Compu Work Publisher.

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

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

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

Читать еще:  Проекты по программированию c

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

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

В состав интегрированной системы программирования входят

Название работы: Системы программирования: состав систем программирования. Этапы разработки ПО

Предметная область: Информатика, кибернетика и программирование

Описание: Современные системы программирования как правило представляют собой интегрированную среду разработки integrated development environment IDE к компонентам которой относятся следующие программные средства: текстовый редактор editor предназначенный для создания текстов исходной программы на языке высокого уровня ЯВУ или ассемблере макроассемблере; компилятор compiler составитель предназначенный для трансляции перевода исходного текста входной программы в эквивалентную ей выходную программу объектный код на языке нижнего.

Дата добавления: 2013-08-09

Размер файла: 124.23 KB

Работу скачали: 46 чел.

Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки ПО.

§8 Состав систем программирования.

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

Современные системы программирования, как правило, представляют собой интегрированную среду разработки ( integrated development environment – IDE ), к компонентам которой относятся следующие программные средства:

— текстовый редактор ( editor ), предназначенный для создания текстов исходной программы на языке высокого уровня (ЯВУ) или ассемблере (макроассемблере);

— компилятор ( compiler – составитель), предназначенный для трансляции (перевода) исходного текста входной программы в эквивалентную ей выходную программу (объектный код) на языке нижнего уровня – машинных команд или ассемблера;

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

— компоновщик ( linker ), предназначенный для объединения нескольких объектных модулей, созданных компилятором или взятых из стандартных библиотек, в единое целое – исполняемый файл программы;

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

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

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

Современные системы программирования строятся на основе так называемых языков четвертого поколения – 4 GL ( four generation languages ), которые предназначены для поддержки систем быстрой разработки приложений – RAD ( rapid application development ).

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

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

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

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

Рис. 8. Этапы разработки ПО в системе программирования

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

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

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

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

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

Трансляторы, компиляторы и интерпретаторы

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

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

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

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

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

Большинство языков высокого уровня являются компилируемыми, т. е. для каждого из них разработан собственный компилятор ( FORTRAN , ALGOL -68, PL /1, ADA , PASCAL , MODULA , SIMULA , C и многие другие).

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

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

Язык HTML ( Hipertext Markup Language – язык описания гипертекста) на котором основан протокол HTTP ( hiper text transfer protocol – протокол передачи гипертекста) – тоже интерпретируемый язык.

Схема работы транслятора

Схема работы транслятора представлена на рис. 8.2. Процесс компиляции состоит из двух основных этапов: синтеза и анализа.

Ссылка на основную публикацию
Adblock
detector