Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 4

ГЛАВА 1. ОБЩЕЕ ПОНЯТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 6

1.1 Сущность высокоуровневых языков написания программ 6

1.2 Классификация высокоуровневых языков 8

ГЛАВА 2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 15

2.1 Виды языков программирования высокого уровня 15

2.2 Паскаль – как язык программирования высокого уровня 18

ЗАКЛЮЧЕНИЕ 29

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 31

ВВЕДЕНИЕ

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

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

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

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

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

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

Объектом исследования послужили языки программирования

Задачи работы:

Дать понятие языка программирования:

Привести классификацию языков программирования;

Изучить популярные языки программирования.

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

ГЛАВА 1. ОБЩЕЕ ПОНЯТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1 Сущность высокоуровневых языков написания программ

Язык программирования высокого уровня — инструмент, относящийся к категории машинно-независимых. Что это означает? Дело в том, что языки программирования делятся на несколько категорий. Есть машинный код: набор алгоритмов, что предназначены для управления пользователем непосредственно аппаратными элементами компьютера. Их сущность будет полностью машинно-зависимой: для конкретных типов ПК подойдут только определенные алгоритмы.

Первым языком программирования высокого уровня созданным для

Есть языки ассемблера. По сути дела, они являются надстройкой над теми, что предназначены для низкоуровневого управления аппаратными компонентами ПК посредством машинного кода. Но по многим признакам языки ассемблера также принято относить к машинно-зависимым.

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

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

Язык программирования высокого уровня трансляторы

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

1.2 Классификация высокоуровневых языков

Высокоуровневые языки программирования могут быть классифицированы по разным основаниям. Распространена схема, по которой они делятся на следующие основные разновидности: - процедурно-ориентированные (задействуются в качестве инструмента при обработке информации на любом этапе вычислений); - проблемно-ориентированные (используются как средство решения отраслевых и прикладных задач, формируемых при расширении областей применения ПК); - объектно-ориентированные (могут быть частными случаями языков первых двух типов, однако, адаптируются к пользованию широким кругом разработчиков с разным уровнем подготовки, например, в виде решения с визуальным интерфейсом). [12]

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

Современные языки программирования высокого уровня

Процедурно-ориентированные языки К таковым можно отнести Фортран. Он считается первым языком программирования высокого уровня, созданным для широкого применения. Характеризуется простой структурой. К процедурно-ориентированным языкам также относится Бейсик. Считается одним из самых часто используемых при обучении программированию. Пример другого процедурно-ориентированного языка — СИ. Изначально он создавался для ОС UNIX. [10]

На его основе впоследствии был создан язык C++, дополненный инструментами объектно-ориентированного программирования. Еще один язык, относящийся к рассматриваемой категории — Паскаль. Часто также задействуется при обучении программированию. Возможности данного языка позволяют его использовать как очень мощный инструмент разработки профессиональных видов ПО. Проблемно-ориентированные языки К таковым можно отнести Лисп, Пролог. Первый язык был разработан в 1962 году — спустя несколько лет после создания Фортрана. Рассматривается, таким образом, как второй в истории. Активно задействовался в качестве инструмента работы программистов со строками символов. На практике Лисп использовался в системах, классифицируемых как экспертные, а также те, что предназначались для аналитических вычислений. Пролог нашел широкое применение в области логического программирования. На практике чаще всего задействуется в управлении алгоритмами искусственного интеллекта в соответствующих системах.

Объектно-ориентированные языки Изучим теперь примеры языков программирования высокого уровня, которые относятся к категории объектно-ориентированных. В числе таковых — Visual Basic, Delphi, Visual Fortran, отмеченный выше C++, а также Prolog ++. Фактически все они в своей основе содержат процедурно-ориентированные языки. Однако предполагается существенное их дополнение визуальными элементами управления с целью последующего освоения необходимых алгоритмов разработчиками, привыкшими к другим инструментам. Так, первый язык программирования высокого уровня — Фортран — может быть в оперативные сроки изучен IT-специалистами посредством возможностей Visual Fortran. Аналогичным методом можно быстро освоить Бейсик или Пролог

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

Осуществляется, в свою очередь, при использовании Delphi программирование на языке высокого уровня Object Pascal. Существует большое количество иных сред разработки ПО, классифицируемых как объектно-ориентированный язык. Данная сфера технологий разработки ПО активно развивается. Фортран и Лисп — первый и второй высокоуровневые языки Изучим подробнее то, как появился первый язык программирования высокого уровня — Фортран, а также Лисп, считающийся вторым. В 1954 году разработчики из компании IBM, возглавляемые Джоном Бэкусом, создали язык, посредством которого программисты получили возможность значительно облегчить взаимодействие с ПК, которое до того момента осуществлялось посредством машинных команд либо ассемблера. Он получил название Fortran и вскоре стал известен и в СССР под русифицированным наименованием. [1] Фортран стал популярным инструментом для научных вычислений. Основным революционным элементом, предложенным специалистами IBM сообществу, стал, собственно, тот самый компилятор, призванный быть альтернативой ассемблеру.

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

Однако по мере стремительного увеличения производительности компьютеров программисты начинали осознавать, что без использования компилятора эффективное ПО, которое будет полностью задействовать вычислительные мощности ПК, создавать крайне проблематично. Так, начинания разработчиков из IBM получили дальнейшее развитие. [12]

Основные синтаксические конструкции языка программирования высокого уровня Фортран во многих случаях стали задейстоваться в качестве базовых при создании новых решений. Примером достижения практических результатов в области развития концепций, заложенных в Фортран, можно считать создание Лисп. Данный язык был разработан в 1958 году, однако, широкую известность он приобрел несколько позже — в 1960-м. Лисп был разработан Джоном Маккарти и опубликован в одном из популярных журналов для IT-специалистов. Основное предназначение рассматриваемого языка — обработка списков.

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

Delphi программирование на языке высокого уровня

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

Так, исторически более поздние языки, как правило, базировались на концепциях предшественников. Уникальные языки Некоторые IT-эксперты выделяют в самостоятельную категорию «уникальные языки». В числе таковых: APL, Cobol, Forth, SETL, а также CLU. Какова их специфика? Важнейший аспект APL — задействование массивов (векторов и матриц) в качестве ключевого структурного типа. Специфика языка Cobol — в ориентированности на коммерческую сферу. Так, его целесообразно задействовать при решении задач, связанных со стандартизированным форматом представления результатов.

ГЛАВА 2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1 Виды языков программирования высокого уровня

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

ЯПВУ отражают естественные для человека понятия, а не архитектуру вычислительной системы. Поэтому программа, составленная на ЯПВУ , сначала транслируется самой ЭВМ на машинный язык (низкого уровня), а затем выполняется. [1-]

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

if (если);

then (тогда);

else (иначе) и т. п.

Из исходных символов по правилам синтаксиса строятся предложения, обычно называемые операторами, например: if x 1 следует воспользоваться формулой у = х – 1.

Достоинства ЯПВУ

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

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

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

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

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

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

Примеры языков высокого уровня

Fortran. Первый компилируемый язык созданный Джимом Бэкусом в 50-е годы. Для этого языка было создано огромное количество библиотек, начиная от статических комплексов и кончая пакетами управления спутниками, поэтому Fortran продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k, который появился в 2000 году. Имеется стандартная версия Фортрана HPF (High Perfomance Fortran) для параллельных супер компьютеров со множеством процессоров. [11]

Cobol. Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х г. Он отличается большой "многословностью" – его операторы выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано много различных приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.

Algol. Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол68,по своим возможностям опережающая и сегодня многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.

Pascal. Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Николаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов.

Basic. Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в конце 60-х годов в качестве учебного пособия и очень прост в изучении.

C. Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного вида процессора.

C++. Это объектно-ориентированное расширения языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко увеличить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки. [9]

Java. Этот язык был создан компанией Sun в начале 60-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформо-независимый байт-код. Этот байт-код может выполнятся с помощью интерпритатора-виртуальной машины Javа-машины JVM (Java Virtyal Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне обычного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика.

2.2 Паскаль – как язык программирования высокого уровня

Язык программирования Turbo Pascal является развитием языка Pascal, разработанного Никлаусом Виртом в 1969-71 годах, для обучения структурному программированию. Фирма Borland International, существенно расширила алгоритмические средства языка, создала удобную среду программирования и высокоскоростной компилятор.
Turbo Pascal разрабатывался под операционную систему ДОС (Дисковая Операционная Система), поэтому он работает только в текстовом режиме. Среда разработки Turbo Pascal (версия 7) представляет из себя текстовый редактор и средства отладки и компиляции программы. Для переключения редактора из оконного в полноэкранный режим и обратно следует нажать одновременно клавиши Alt + Enter.

http://hi-intel.ru/800/img/101.jpg


Программа на Pascal пишется в текстовом редакторе по определённым правилам. Текст программы проверяется редактором кода. Зарезервированные слова языка и определённые синтаксические конструкции выделяются цветом, что создаёт определённые удобства.

Простые программы пишутся последовательно, шаг за шагом до тех пор, пока не будет получено решение задачи. Такая линейная последовательность в программировании называется линейным алгоритмом. Рассмотрим программу простого калькулятора. Пусть нам нужно сложить, вычесть, умножить и разделить два числа X и Y. В большинстве языков программирования принято объявлять участвующие в программе переменные. Это нужно для того, что бы зарезервировать фрагмент оперативной памяти компьютера для хранения объявленных данных. На рисунке показана программа калькулятора:

http://hi-intel.ru/800/img/102.jpg


Рассмотрим построчно, что означают введённые в редакторе команды:

uses crt; - Выражение: Использовать модуль CRT. В начале программы, обычно, пишется директива uses и затем, через запятую, перечисляются модули содержащие набор необходимых функций для работы программы. CRT - модуль поддержки монитора и клавиатуры. (Важное замечание. Регистр букв текста программы не имеет значения. Так, например, можно написать uses crt; или Uses CRT; - программа будет работать и не воспримет это как ошибку). Любое выражение на Pascal должно заканчиваться знаком "точка с запятой".

var - (сокращённое от variable - переменная) объявления блока переменных. После команды var точка с запятой не ставится.

x, y, z1, z2, z3, z4 : real; - перечисляем через запятую переменные необходимые для решения задачи; x и y - вводимые данные для вычислений; z1 ... z4 - переменные для хранения результатов вычислений. Двоеточие и real означает, что все перечисленные переменные объявлены как тип данных - число с плавающей запятой. 
При программировании используются различные типы данных. Ниже представлены числовые типы данных:

Вещественные типы

Наименование

Диапазон значений

real

10-39 ... 1038

double

10-324 ... 10308

Целые типы

byte

0 ... 255

Word

0.. 65535

Integer

-32768.. +32767

Longint

-2147483648.. 2147483647

Begin - собственно начало программы. Оператор begin называется операторной открывающейся скобкой. После оператора begin точка с запятой не ставится.

Clrscr; - процедура очистки экрана. Эта процедура встроена в модуль CRT. В фигурных скобках {clear screen} написан комментарий к программе.

Write('Wwedite X: '); - функция write выводит на экран сообщение. Выводимое сообщение является аргументом функции write. Если сообщение текстовое, то оно заключается в одинарные кавычки (апострофы). К сожалению Turbo Pascal не поддерживает символы кириллицы, поэтому сообщение <Введите Х:> пришлось написать латинским шрифтом.

Readln(x); - функция readln получает данные с клавиатуры вводимые пользователем. При появлении этой функции в исполняемой программе, действие программы приостанавливается и она ожидает ввода данных до нажатия клавиши Enter.

Сама функция readln состоит из двух частей: read - собственно чтение с клавиатуры (может использоваться самостоятельно); окончание ln - означает (line new) новая строка, после выполнения чтения с клавиатуры переводит курсор на новую строку.

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

z1 := x + y; - вычисляем сумму аргументов х и у. Знак := означает переменной z1 присвоить значение суммы х и у.

z2 := x - y; - вычисляем разность аргументов х и у.

z3 := x + y; - вычисляем произведение аргументов х и у.

z4 := x + y; - вычисляем частное от деления аргументов х и у.

Writeln(z1) - так же, как и оператор write выводит сообщение на экран, ln - означает, что следующее сообщение будет выводиться с новой строки. Так как переменная z числового типа, то апострофы ставить не нужно. Итак, функции Writeln(z1); Writeln(z2); Writeln(z3); и Writeln(z4); выводят на экран все значения z в столбик.

End. - оператор конца программы. После end (операторная закрывающаяся скобка, парная оператору begin) ставится точка. Точка является признаком конца файла.

    Что бы убедиться в правильности написания программы следует нажать клавишу F9. Произойдёт компиляция программы и проверка синтаксиса. Если код написан верно, то увидим следующее сообщение:

http://hi-intel.ru/800/img/103.jpg


Если компилятор обнаружит ошибку, то появится соответствующее сообщение, а курсор будет установлен в строку с ошибкой.

http://hi-intel.ru/800/img/104.jpg

В нашем случае строка z4 = x / y; - должно быть z4 := x / y; 
Для запуска программы на исполнение, следует нажать комбинацию клавиш Ctrl и F9. В программе следует ввести значение х и нажать Enter, затем ввести значение у и опять нажать Enter. Компьютер произведёт необходимые вычисления и выведет значения на экран, но мы, скорее всего, ничего не увидим, потому что выполнение программы закончится и произойдёт возврат в редактор. Для просмотра полученных результатов следует нажать одновременно Alt и F5.

http://hi-intel.ru/800/img/105.jpg


То, что мы видим на экране не совсем удобно для понимания. Лучше будет, если результаты отображать не экспоненциальном виде, а в нормальном, десятичном.

Так же, пользователь программы вынужден догадываться в какой строке результатов сложение, в какой умножение и так далее. Для исправления ситуации изменим строки вывода результатов на экран:
writeln('X + Y = ', z1:0:4);

writeln('X - Y = ', z2:0:4);

writeln('X * Y = ', z3:0:4);

writeln('X / Y = ', z4:0:4); [15]

Рассмотрим любую из изменённых строк, например writeln('X / Y = ', z4:0:4); Функция вывода writeln в качестве аргумента (в нашем случае) принимает два значения. Аргументы друг от друга отделяются запятой. 

Первое значение: 'X / Y = ' - надпись которая будет выводиться на экран, она должна быть заключена в апострофы. Второе значение - число z4. Для придания числу десятичной формы отображения, оно отформатировано по следующей схеме: двоеточие - число знаков до запятой, двоеточие - число знаков после запятой. Если число знаков до запятой неизвестно, то лучше поставить ноль.

Усовершенствованная программа принимает удобочитаемый вид:

http://hi-intel.ru/800/img/106.jpg


До оператора end можно ввести строку readln;, тогда программа не будет завершаться сразу после выполнения, а будет ожидать нажатия клавиши Enter. Для сохранения готовой программы следует нажать F2 и сохранить файл с именем, например, calc.pas. 

При выполнении написанной программы могут возникнуть непредвиденные обстоятельства, а именно, если пользователь программы вторым числом введёт значение 0 (нуль). Как известно, деление на 0 запрещено и при выполнении программы компьютер выдаст такое сообщение:

http://hi-intel.ru/800/img/107.jpg


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

Самое простое решение, в нашем случае, при значении Y равном нулю, перейти к началу программы, что бы пользователь ввёл другие значения. Перечислим те действия, которые должна выполнить программа:
- если Y равно 0 то перейти к метке в начале программы, иначе (Y не равен 0) выполнить математические действия. [6]

На языке Pascal это будет выглядеть так: if y = 0 then goto label1 else ... 
Эта запись означает: (if) если y = 0 (y = 0 - логическое выражение) then (то) goto (перейти к) label1 (имя метки) else (иначе) ... Оператор else можно не использовать если дальнейшее выполнение программы подразумевается при невыполнении условия логического выражения. Метка label1 придуманное имя метки, поэтому мы должны его объявить до начала программы, сразу за разделом объявления переменных. Сама метка устанавливается в том месте программы, куда должен осуществиться переход. После имени метки ставится знак двоеточие. Изменённая таким образом программа показана на рисунке:

http://hi-intel.ru/800/img/108.jpg

Такая программа имеет более "товарный" вид и свойства.
Рассмотрим подробно какие конструкции можно создавать на языке Pascal с использованием логических операторов. В общем виде логическая запись выглядит так:

if (условие) then (действие1) else (действие2); 

или
if (условие) then (действие);

Сначала рассмотрим запись условий:

Условие.

Описание

A = B

А равно В

A <> B

А не равно В

A <= B

А меньше либо равно В

A >= B

А больше либо равно В

Логические связки условий

OR

Логическое ИЛИ

AND

Логическое И

NOT

Логическое НЕТ (Отрицание)


Логические связки записываются между логическими условиями, сами условия берутся в скобки, например: if (a = b) and (z <= 0) then ...
Следует иметь в виду что при выполнении условия, после оператора then может быть только одно действие. Если действий по условию программы должно быть больше, то все действия должны быть взяты в операторные скобки begin ... end.

Например:

if a = b then

  begin 

  writeln('Error!'); 

  y:= 22; 

  goto label1; 

end else ...

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

Написанная нами программа "калькулятор" имеет один существенный недостаток, если нужно произвести несколько вычислений, приходится перезапускать программу на выполнение. Изменим нашу программу так, что бы она завершалась с согласия пользователя. Пользователю следует предложить нажать клавишу Y для продолжения работы с программой, или любую другую клавишу для завершения работы.
Заменим последний в программе оператор readln; на такие строки:
  write('Repeat - Y / End - other key');

{Выводим сообщение для пользователя}   readln(sym);

{Считываем символ с клавиатуры}

  if (sym = 'Y') or (sym = 'y') then goto label1; {Если введён символ Y или y , то переходим к началу программы}

В нашей программе появилась новая переменная - sym (вымышленное имя, которое придумываем мы сами. Имя должно начинаться с буквы, а затем могут следовать цифры или буквы). Эта переменная имеет тип одиночного символа и мы должны её объявить в разделе переменных. Символьные переменные имеют тип char. Символьные переменные при использовании в программе следует заключать в апострофы.
Добавим эту переменную в разделе var:

var 

sym : char;

............. 

Запустим программу на исполнение, и убедимся, что программа написана правильно:

http://hi-intel.ru/800/img/109.jpg

В паскале есть ещё один тип символьных переменных, это тип string - строка состоящая максимум из 255 символов, но об этом в следующих разделах.

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

ЗАКЛЮЧЕНИЕ

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

Начало было положено – компьютеры становились все мощнее и портативнее, а математики с разработчиками писали все новые и новые языки программирования. Своего апофеоза «зоопарк» языков программирования достиг в России в 90-х годах, и тому были причины. Во-первых, появились первые персоналки – новые и красивые игрушки; во-вторых, софт традиционно был бесплатным, что давало возможность «попробовать все»; и, наконец, самое главное – было много свободного времени на работе, чтобы развлекаться и получать зарплату. До кризисов оставалось еще долго.

В то время программисты от мала до велика изучали компиляторы языков, делали для себя вывод и выбор. А выбирать было из чего – в 2000 году в мире насчитывалось около 7000 языков программирования. И большинство из них – студенческие самоделки или языки, далеко ушедшие от нужд народа в науку. Хотя в то время еще были живы и здравы корифеи-разработчики и теоретики языков, программисты мало обращали внимания на строгую классификацию языков. В их понятии, категории были такими: системные языки, языки общего назначения и те, которые интересны лишь военным и ученым. В последнюю категорию сваливали все, что не давалось изучить за пару часов – Ada, APL, Prolog, Forth, Smalltalk и т.п.

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

А остальным осталась категория языков общего назначения, с помощью которых писали программы насущные, полезные и не очень сложные: расчет зарплаты, управление заводскими установками, создание утилит, расчетные и инженерные программы. Иногда даже игры, если после работы оставалось свободное время. Напомним, что персоналки в основном стояли на работе, а дома оккупировали бытовые компьютеры. Именно в то время и начались первые «холивары» – священные войны на тему «какой язык лучше». Ответов тогда никто ни от кого не ждал, поэтому предлагается объективно взглянуть на эти языки того времени.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.
  2. Ашарина, И.В. Основы программирования на языках C и C++ / И.В. Ашарина. - М.: ГЛТ, 2016. - 208 c.
  3. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2016. - 368 c.
  4. Белоусова, С.Н. Основные принципы и концепции программирования на языке VBA в Excel: Учебное пособие / С.Н. Белоусова, И.А. Бессонова. - М.: БИНОМ. ЛЗ, 2010. - 200 c.
  5. Бьянкуцци, Ф. Пионеры программирования: Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден; Пер. с англ. С. Маккавеев. - СПб.: Символ-Плюс, 2015. - 608 c.
  6. Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден. - М.: Символ, 2011. - 608 c.
  7. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2016. - 304 c.
  8. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.
  9. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.
  10. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.
  11. Орлов, С. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения / С. Орлов. - СПб.: Питер, 2013. - 688 c.
  12. Пирс, Б. Типы в языках программирования / Б. Пирс. - М.: КДУ, 2016. - 680 c.
  13. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2016. - 236 c.
  14. Фридман, А.Л. Основы объектно-ориентированного программирования на языке Си++ / А.Л. Фридман. - М.: Гор. линия-Телеком, 2016. - 234 c.
  15. Хейлсберг, А. Язык программирования C#. Классика Computers Science / А. Хейлсберг, М. Торгерсен, С. Вилтамут. - СПб.: Питер, 2016. - 784 c.
  16. Цуканова, Н.И. Теория и практика логического программирования на языке Visual Prolog 7: Учебное пособие для вузов / Н.И. Цуканова, Т.А. Дмитриева. - М.: Гор. линия-Телеком, 2013. - 232 c.