русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 4388; Нарушение авторских прав


СПОСОБЫ ЗАДАНИЯ АЛГОРИТМОВ

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

Наиболее распространенные способы задания алгоритмов следующие:

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

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

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

 

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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




<== предыдущая лекция | следующая лекция ==>
ПОНЯТИЕ АЛГОРИТМА ДЛЯ ПРИКЛАДНЫХ ЗАДАЧ | Критерии качества алгоритмов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.