§2. Языки программирования высокого уровня. Язык для написания программ высокого уровня 5


Языки программирования Фортран Бейсик Си Паскаль

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

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

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

Первоначально появились программы, переводящие символические имена в машинные коды. Затем были созданы программы, транслирующие арифметические выражения и, наконец, в 1958 году появился транслятор Фортрана — первого широко используемого языка программирования. С тех пор было создано множество языков программирования.

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

Языки программирования, оперирующие понятиями, близкими к исполнителю, называются языками низкого уровня. Наиболее распространенным языком низкого уровня является Ассемблер. Такие языки рассчитаны на определенную архитектуру ЭВМ и на определенный тип процессора. Они позволяют писать быстродействующие программы, которые используют минимальные ресурсы, однако, написание программ на них очень трудоемко.

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

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

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

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

Программа на машинном языке, полученная с помощью компилятора, исполняется значительно быстрее, но ее отладка значительно труднее. В современном программировании все чаще применяется прием псевдо компиляции, когда программа компилируется в некий промежуточный псевдокод, который потом исполняется в специальном интерпретаторе, называемом средой исполнения. К таким языкам относятся Java, Visual Bask, языки семейства .NET.

Фортран

Язык Фортран был разработан фирмой IBM. Профессор Дж. Букс и группа американских специалистов в области программирования в 1954 году опубликовали первое сообщение о языке. Дословно название языка FORmula TRANslator — преобразование формул.

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

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

Бейсик

Бейсик является сокращением от «Beginner's All-purpose Symbolic Instruction Code» (BASIC) — Многоцелевой Символический Обучающий Код для Начинающих.

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

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

Исторически Бейсик обычно реализовался как интерпретатор. Однако сейчас существует множество реализаций Бейсика, использующих методы компиляции и псевдо компиляции.

Версия Бейсика от компании Microsoft — Visual Basic — является самым распространенным средством программирования в мире. Его пользуются более 20 миллионов программистов.

Си

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

Язык Си, первоначально предназначавшийся для написания операционной системы UNIX на ЭВМ DEC PDP-11, был разработан и реализован на этой системе Деннисом Ричи. Операционная система, компилятор с языка Си и все прикладные программы системы UNIX написаны на Си. Большинство системного программного обеспечения современных компьютеров разрабатывается на Си и его разновидности Си++.

Паскаль

Язык Паскаль был создан Никлаусом Виртом в конце 60-х годов и назван в честь французского математика Блеза Паскаля. Паскаль по сравнению с другими языками программирования имеет упрощенный синтаксис. Однако Паскаль наиболее близок к идеальному алгоритмическому процедурному языку. Этот язык полностью реализует принципы структурного программирования.

Реализация Паскаля под названием Object Pascal и среда программирования Delphi являются одной из самых популярных систем программирования в мире.

shkolo.ru

§2. Языки программирования высокого уровня

2.1. Понятие о языках программирования высокого уровня

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

Алфавит- фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.

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

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

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

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

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

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

• алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

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

• конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;

• используется аппарат переменных и действия с ними;

• поддерживается широкий набор типов данных.

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

studfiles.net

Алгоритмический язык - высокий уровень

Алгоритмический язык - высокий уровень

Cтраница 1

Алгоритмические языки высокого уровня в силу своей лаконичности и строгости правил построения предложений дисциплинируют мышление. Логическое несовершенство метода, скрытые изъяны сравнительно легко обнаруживаются при попытке его описания на алгоритмическом языке.  [1]

Алгоритмические языки высокого уровня используются для написания текстов прикладных и системных программ. Входные языки проектирования обеспечивают описание задания на проектирование.  [2]

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

Трансляторы па алгоритмический язык высокого уровня весьма просты и эффективны. В них удобно обрабатывать произвольные функциональные зависимости, описание которых задается пользователем на входе языковой подсистемы на алгоритмическом языке, совпадающем с объектным. К таким описаниям достаточно добавить операторы объявления переменных, пролога и эпилога, реализующие стандартный интерфейс, и полученный текст можно передавать на выход. Использование широко распространенного алгоритмического языка в качестве объектного обеспечивает машинную независимость пакета проектирования. Необходимость дополнительной обработки объектных программ компиляторами из состава используемой ОС и низкая вычислительная эффективность полученной рабочей программы по сравнению с рабочей программой на машинном языке являются недостатками данного подхода. Поэтому при разработке языковой подсистемы пакета-транслятора целесообразно предусмотреть возможность смены набора модулей, ответственных за генерацию текста объектных программ на том или иным языке. При использовании принципа информационной локализованно-сти сделать это несложно.  [4]

С помощью алгоритмических языков высокого уровня существует возможность выполнять обмены информацией с ВЗУ, не прерывая выполнения вычислительных операций в ОП. Для этого обмен с некоторым блоком в буфере ОП начинается заблаговременно, чтобы завершиться к моменту, когда записанная в него новая информация окажется необходимой для продолжения вычислительного процесса. Такой подход, хотя и сложен, иногда помогает решать вопрос о минимизации фактического времени для задач, в которых последовательность обменов с ВЗУ может быть определена заранее. Существует ряд операционных систем, которые на ЭВМ серии ЕС реализуют виртуальную память. Так называют системное объединение ОП и ВЗУ типа МД, в котором распределение памяти, необходимой для размещения информации. Корректное определение фактического времени в этом случае значительно сложнее, так же, как и его минимизация из-за наличия неконтролируемых алгоритмом обменов с Мд, входящими в состав виртуальной памяти.  [5]

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

Языки программирования - известные алгоритмические языки высокого уровня ФОРТРАН, АЛГОЛ-60, ПЛ / 1 и машинно-ориентированные языки - автокоды ( языки ассемблера), на которых записывается специальное программное обеспечение САПР. Достоинствами алгоритмических языков высокого уровня являются машинная независимость и удобство программирования. Программы, записанные на этих языках, легко адаптируются на ЭВМ различного типа. Недостатки этих языков состоят в пониженных эффективности и универсальности, что вызывает увеличение машинного времени по сравнению с программами, составленными на языке ассемблера, и не всякая сложная программа САПР на этих языках может быть написана. Для составления программ, в которых преобладают логические операции над адресами и другими двоичными кодами, следует применять языки ПЛ / 1, ПАСКАЛЬ, АДА. Для составления большинства программ используется язык ФОРТРАН, который обеспечивает получение достаточно эффективных программ.  [8]

В качестве примера алгоритмического языка высокого уровня рассмотрим алгол-60, уже упоминавшийся в предыдущей главе. Программы на алголе записываются с помощью нескольких служебных слов на английском языке и символов ( букв, цифр, математических знаков), которые используются для обозначения переменных и записи формул. Служебными словами в алголе являются слова: begin - начало, end - конец, real - вещественный, go to - перейти к, if - если, then - тогда и некоторые другие. В текстах программ они выделяются: в печатном издании набираются полужирным шрифтом, в рукописном тексте подчеркиваются.  [9]

Проблемно-ориентированные языки обычно называют алгоритмическими языками высокого уровня. Уровень языка характеризует степень его близости к естественному, человеческому языку. Машинный язык не похож на человеческий. Он крайне беден в своих изобразительных средствах. Поэтому при записи на нем программ приходится пользоваться длинными и внешне однообразными фразами, а алгоритм разбивать на множество мелких, элементарных операций. Средства записи программ на алгоритмических языках высокого уровня более выразительны и привычны для человека.  [10]

МИР ( АЛМИР-65) - проблемно-ориентированный алгоритмический язык высокого уровня, предназначен для описания алгоритмов решения инженерных и научно-исследовательских задач численными методами.  [11]

Так как программа составлена на алгоритмическом языке высокого уровня - ПЛ / 1, то в подробном описании алгоритма нет нужды.  [12]

При выполнении прикладной программы на алгоритмическом языке высокого уровня, подобного Фортрану или Бейсику, считывание кодов оператора присваивания с формулой вида / А приводит к автоматическому вызову из основной ( оперативной) памяти в быструю ( сверхоперативную) память ( где хранятся операнды) значений переменных, имена которых содержатся в выражении А. Результат выполнения операции автоматически засылается в ячейку памяти, которой соответствует выбранное имя / результата операции.  [13]

Составление сколько-нибудь длинной программы ка алгоритмическом языке высокого уровня практически невозможно без использования аппарата процедур. Описание частей алгоритма в виде процедур позволяет, во-первых, сократить длину программы, во-вторых, делает ее структуру более наглядной и, в-третьих, позволяет проводить ее отладку по частям.  [14]

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

Страницы:      1    2    3    4

www.ngpedia.ru

Классификация языков программирования высокого уровня — Мегаобучалка

Тема 2. Языки программирования

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

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

Эти компьютеры программировались путем установки ряда переключателей (включено или выключено).

Каждый переключатель представлял одну двоичную единицу (или бит), принимая значение 0 или 1.

Это сильно ограничивало возможности и занимало много времени. Программа, составленная в машинных кодах.

Команды программы и данные распределяются по ячейкам памяти.

Пример:

Сложить два числа, находящихся в ячейках памяти с номерами 0034 и

0155, результат сохранить в ячейке 0034 и напечатать.

0300 24 0034 0155

0301 62 0034

С клавиатуры дается команда «выполнить, начиная с ячейки 0300».

Ассемблер - первый язык программирования (низкого уровня).

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

Пример: В память компьютера занести число 0.

МОV АL,ООh

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

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

Реальный скачок в программировании был сделан при появлении языков высокого уровня.

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

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

Недостаток этих программ в том, что в результате компиляции (трансляции) иногда получается машинная программа более длинная, чем если бы она создавалась на языке Ассемблер.

Компиляторы и интерпретаторы

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

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

 

CD - 1100 1101 20 - 0010 0000 FF - 1111 1111 9F - 1001 1111  

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

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

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

Классификация языков программирования высокого уровня.

1. Процедурные языки программирования

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

Фортран, Алгол предназначены для использования в научных целях.

КОБОЛ - для использования в мире бизнеса.

ВАSIС в равной степени годится для любых задач и в то же время достаточно прост для изучения.

Пример программы на языкеTurbo Basic

Составить программу, по которой вычисляется скорость прохождения дистанции. V=(d/1000)/((m*60+c)/3600)

где V –скорость (км/ч), d –дистанция (м), m –время прохождения дистанции (мин), c–время прохождения дистанции (сек).

cls

Input "Dist=";d

Input "Min=";m

Input "Sec=";c

V=(d/1000)/((m*60+c)/3600)

?:?:Color 4,3

print using “V= #####.##";V

end

После запуска программы:

Dist= 10000

Min= 25

Sec=30

V=23,53

Паскаль, АДА -структурное программирование.

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

С (Си) используется для создания системных программ.

2. Объектно-ориентированное программирование (визуальное)

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

Delphi, Visual Ваsiс, Visual C++, Java

3. Декларативное программирование

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

Алгоритм получения результата программист не строит.

В декларативных языках отсутствует понятие «оператор» («команда»).

Лисп –для обработки больших объемов текстовой информации.

Пролог (логическое программирование) –язык искусственного интеллекта.

4. Языки программирования для компьютерных сетей

Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные особенности, присущие сетевым языкам: они являются интерпретируемыми. Такие языки получили название скрипт -языков. НТМL(НуреrТехt Тгаnsfer Ргоtoсоl)- - универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet.

Реrl -предназначался для эффективной обработки больших текстовых файлов.

VRML для организации виртуальных трехмерных интерфейсов в Internet.

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

5. Языки программирования баз данных

SQL (Structured Query Language) - структурированный язык запросов.

Для обработки больших массивов информации и выборки записей по определенным признакам.

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

megaobuchalka.ru