Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика 5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
157.7 Кб
Скачать

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

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

Таблица 2. Поколения ЯП

Поколения

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

Характеристика

Первое

Машинные

Ориентированы на использование в конкретной ЭВМ, сложны в освоении, требуют хорошего знания архитектуры ЭВМ

Второе

Ассемблеры, макроассемблеры

Более удобны для использования, но по-прежнему машинно-зависимы

Третье

Языки высокого уровня

Мобильные, человеко-ориентированные, проще в освоении

Четвёртое

Непроцедурные, объектно-ориентированные, языки запросов, параллельные

Ориентированы на непрофессионального пользователя и на ЭВМ с параллельной архитектурой

Пятое

Языки искусственного интеллекта, экспертных систем и баз знаний, естественные языки

Ориентированы на повышение интеллектуального уровня ЭВМ и интерфейса с языками

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

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

    К интенсивно развивающемуся в настоящее время пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertLisp, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные ЯП с ограниченными возможностями - Clout, Q&A, HAL и др.).      Элементы языков программирования могут рассматриваться на следующих уровнях:      алфавит - совокупность символов, отображаемых на устройствах печати и экранах или вводимых с клавиатуры.

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

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

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

Если пошел дождь, то надо открыть зонт.

Если прозвенел будильник, то надо вставать.

Если встречу Сашу, то скажу ему …

Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.

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

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

В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условието действие 1иначе действие 2» (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.). Так же можно использовать неполную форму: «если условиетодействие» (Если встречу Сашу, то скажу ему …). В этом случае не предусматривается действий на случай невыполнения условия.

Условие – это высказывание которое может быть либо истинно, либо ложно.

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