Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Языки программирования, их классификация и развитие

и адреса в
машинных командах, представляющие собой последовательность двоичных (во
внутреннем коде) или восьмеричных (частоиспользуемых при написании программ)
цифр, в ЯСК заменены на символы (идентификаторы), форма написания которых
помогает программисту легчезапоминать смысловое содержание операции. Это
обеспечивает существенное уменьшение числа ошибок при составлении программ.
Использование символических адресов – первый шаг к созданию ЯСК. Команды ЭВМ
вместоистинных (физических) адресов содержат символические адреса. По
результатам составленной программы определяется требуемое количество ячеек для
храненияисходных промежуточных и результирующих значений. Назначение адресов,
выполняемое отдельно от составления программы в символических адресах,
можетпроводиться менее квалифицированным программистом или специальной
программой, что в значительной степени облегчает труд программиста.
2.1.3. Автокоды
Есть также языки, включающие в себя все возможности ЯСК, посредством
расширенноговведения макрокоманд - они называются Автокоды.
В различных программах встречаются некоторые достаточно часто использующиеся
командныепоследовательности, которые соответствуют определенным процедурам
преобразования информации. Эффективная реализация таких процедур
обеспечиваетсяоформлением их в виде специальных макрокоманд и включением
последних в язык программирования , доступный программисту.Макрокоманды
переводятся в машинные команды двумя путями – расстановкой и генерированием. В
постановочной системе содержатся «остовы» - серии команд, реализующихтребуемую
функцию, обозначенную макрокомандой. Макрокоманды обеспечивают передачу
фактических параметров, которые в процессе трансляции вставляются в«остов»
программы, превращая её в реальную машинную программу.
В системе с генерацией имеются специальные программы, анализирующие
макрокоманду, которые определяют,какую функцию необходимо выполнить и формируют
необходимую последовательность команд, реализующих данную функцию.
Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые
также являютсяоператорами автокода.
Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как
правило, составленына языках типа Ассемблер. Более полная информация об языке
Ассемблера см. ниже.
2.1.4. Макрос
Язык, являющийся средством для замены последовательности символов описывающих
выполнение требуемых действий ЭВМ наболее сжатую форму - называется Макрос
(средство замены).
В основном, Макрос предназначен для того, чтобы сократить запись исходной
программы. Компонент программного обеспечения, обеспечивающийфункционирование
макросов, называется макропроцессором. На макропроцессор поступает
макроопределяющий и исходный текст. Реакциямакропроцессора на вызов-выдача
выходного текста.
Макрос одинаково может работать, как с программами, так и с данными.
2.2. Машинно – независимые языки
Машинно – независимые языки – это средство описания алгоритмов решения задач и
информации, подлежащей обработке. Ониудобны в использовании для широкого круга
пользователей и не требуют от них знания особенностей организации
функционирования ЭВМ и ВС.
Подобные языки получили название высокоуровневых языков программирования.
Программы, составляемыена таких языках, представляют собой последовательности
операторов, структурированные согласно правилам рассматривания языка(задачи,
сегменты,блоки и т.д.). Операторы языка описывают действия, которые должна
выполнять система после трансляции программы на МЯ.
Т.о., командные последовательности (процедуры, подпрограммы), часто используемые
в машинныхпрограммах, представлены в высокоуровневых языках отдельными
операторами. Программист получил возможность не расписывать в деталях
вычислительный процессна уровне машинных команд, а сосредоточиться на основных
особенностях алгоритма.
2.2.1. Проблемно – ориентированные языки
С расширением областей применения вычислительной техники возникла необходимость
формализовать представление постановки и решение новых классовзадач. Необходимо
было создать такие языки программирования, которые, используя в данной области
обозначения и терминологию, позволили бы описывать требуемыеалгоритмы решения
для поставленных задач, ими стали проблемно – ориентированные языки. Эти языки,
языки ориентированные на решениеопределенных проблем, должны обеспечить
программиста средствами, позволяющими коротко и четко формулировать задачу и
получать результаты в требуемой форме.
Проблемных языков очень много, например:
Фортран, Алгол – языки, созданные для решения математических задач;
Simula, Слэнг - для моделирования;
Лисп, Снобол – для работы со списочными структурами.
Об этих языках я расскажу дальше.
2.2.2. Универсальные языки
Универсальные языки были созданы для широкого круга задач: коммерческих,
научных, моделирования и т.д. Первый универсальный языкбыл разработан фирмой
IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный
языкназывается Алгол-68. Он позволяет работать с символами, разрядами, числами с
фиксированной и плавающей запятой. Пл/1 имеет развитую системуоператоров для
управления форматами, для работы с полями переменной длины, с данными
организованными в сложные структуры, и для эффективного использованияканалов
связи. Язык учитывает включенные во многие машины возможности прерывания и имеет
соответствующие операторы. Предусмотрена возможностьпараллельного выполнение
участков программ.
Программы в Пл/1 компилируются с помощью автоматических процедур. Язык
использует многиесвойства Фортрана, Алгола, Кобола. Однако он допускает не
только динамическое, но и управляемое и статистическое распределения памяти.
2.2.3. Диалоговые языки
Появление новых технических возможностей поставило задачу перед системными
программистами –создать программные средства, обеспечивающие оперативное
взаимодействие человека с ЭВМ их назвали диалоговыми языками.
Эти работы велись в двух направлениях. Создавались специальные управляющие языки
дляобеспечения оперативного воздействия на прохождение задач, которые
составлялись на любых раннее неразработанных (не диалоговых) языках.
Разрабатывались такжеязыки, которые кроме целей управления обеспечивали бы
описание алгоритмов решения задач.
Необходимость обеспечения оперативного взаимодействия с пользователем
потребовала сохраненияв памяти ЭВМ копии исходной программы даже после получения
объектной программы в машинных кодах. При внесении изменений в программу с
использованиемдиалогового языка система программирования с помощью специальных
таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это
позволяетосуществить требуемые редакционные изменения в объектной программе.
Одним из примеров диалоговых языков является Бэйсик.
Бэйсик использует обозначения подобные обычным математическим выражениям. Многие
операторы являются упрощенными вариантамиоператоров языка Фортран. Поэтому этот
язык позволяет решать достаточно широкий круг задач.
2.2.4. Непроцедурные языки
Непроцедурные языки составляют группу языков, описывающих организацию данных,
обрабатываемых по фиксированным алгоритмам(табличные языки и генераторы
отчетов), и языков связи с операционными системами.
Позволяя четко описывать как задачу, так и необходимые для её решения действия,
таблицырешений дают возможность в наглядной форме определить, какие условия
должны быть выполнены прежде чем переходить к какому-либо действию. Одна
таблицарешений, описывающая некоторую ситуацию, содержит все возможные
блок-схемы реализаций алгоритмов решения.
Табличные методы легко осваиваются специалистами любых профессий.
Программы, составленные на табличном языке, удобно описывают сложные ситуации,
возникающиепри системном анализе.
3. РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
3.1 Ассемблер
Язык Ассемблера – это символическое представление машинного языка. Он облегчает
процесс программирования по сравнению с программированием вмашинных кодах.
Программисту не обязательно употреблять настоящие адреса ячеек памяти с
размещенными в них данными, участвующими в операции, и вычисляемые результаты,а
также адреса тех команд, к которым программа не обращается.
Некоторые задачи, например, обмен с нестандартными устройствами обработки данных
сложных структур невозможно решитьс помощью языков программирования высокого
уровня. Это под силу ассемблеру.
В принципе, язык Ассемблер является машинным языком. И программист реализующий
какую-либо задачу на языках высокого уровня, с помощью Ассемблераможет
определить осмыслено ли решение данной задачи, с точки зрения использования ЭВМ.
Умея разобраться в распечатке языка ассемблера, дает возможность облегчить поиск
ошибок в программах, т.к. некоторые языки являютсякомпиляторами (см. п. 1.2.).
3.2. Лисп
Один из самых старых языковпрограммирования Фортран был создан в 50-х гг. нашего
века. Фортран иподобные ему языки программирования (Алгол, ПЛ/1) предназнача
12345След.
скачать работу

Языки программирования, их классификация и развитие

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ