Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Алгоритмические языки. Трансляторы.

Читайте также:
  1. Алгоритмические языки
  2. Афразийские языки.
  3. Индоевропейские языки.
  4. Какие понятия используют алгоритмические языки?
  5. Классификации языков мира. Международные языки.
  6. Международные и мировые языки. Искусственные языки-посредники и интерлингвистика.
  7. Что такое базовые алгоритмические структуры?

Алгоритмический язык это язык записи алгоритма.

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

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

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

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

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

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

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

К настоящему времени разработано большое количество машин­но-независимых языков программи­рования: Бейсик, Паскаль, Фортран и др. Машино-независимые языки обычно называют языками высо­кого уровня.

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

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

Чтобы программы на языках высокого уровня работали, необ­ходимы специальные программы-переводчики. Программа-пере­водчик называется транслятором. Транслятор переводит исход­ную программу (на языке высокого уровня) в объектную програм­му, т.е. программу на машинном языке. Трансляторы делятся на компиляторы и интерпретаторы.

Компилятор переводит исходную программу в объектную цели­ком. Интерпретатор транслирует и выполняет команды исходной про­граммы по одной.

4. Класс проблемно-ориентированных языков представлен языками Лого, РПГ, системой программирования GPSS и др. Язык Лого был создан с целью обучения школьников осно­вам алгоритмического мышления и программирования. Лого – диа­логовый процедурный язык, реализованный на основе интерпрета­тора с возможностью работы со списками и на их основе с текста­ми, оснащенный развитыми графическими средствами.

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

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

5. Класс функциональных языков программирования представлен языками Лисп, Пролог и др. Лисп является инструментальным средством для построения программ с использованием методов ис­кусственного интеллекта. Особенность этого языка заключается в удобстве динамического создания новых объектов. В качестве объек­тов могут выступать и сами исходные объекты. В настоящее время для Лиспа определились две сферы активного применения: проектирование систем искусственного интеллекта и анализ текстов на естественном языке.

 

В последние годы развивается объектно-ориентированный подход к программированию. Наиболее полно он реализован в языках Форт, СМОЛТОК, Delphi и т.п. Например, Форт сочетает в себе свойства операционной системы, интерпретатора и компилятора одновременно. Основной чертой языка является его открытость. Программист может легко добавлять новые операции, типы данных и определения основного языка. Форт позволяет поддерживать многозадачный режим рабо­ты, использует принцип одновременного доступа программ.




Дата добавления: 2014-12-18; просмотров: 40 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.015 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав