Паскаль сегодня
Паскаль, разработанный в 1970-х гг. Никлаусом Виртом как язык обучения программированию, претерпел за прошедшее время довольно много изменений в лучшую сторону. Основная заслуга в этом принадлежит фирме Borland International, долгое время выпускавшей линейку Turbo Pascal. Одно из основных усовершенствований, внесенных ею, — дополнение языка разнообразными и мощными средствами ввода-вывода. Другое связано с языком Модула-2 (автором которого также стал Н. Вирт): фирма Borland отказалась от распространения компилятора этого языка, применив вместо этого модульный принцип построения в Turbo Pascal. Кроме того, в Паскаль были введены средства непосредственного доступа к портам и ячейкам памяти, а позднее — возможность включать в текст программы фрагменты, написанные на ассемблере. Все это превратило Паскаль из средства обучения в достаточно мощный универсальный язык.
Сейчас признанными лидерами в области профессионального программирования стали Си-подобные языки. В течение долгого периода Паскаль был, пожалуй, почти единственной альтернативой им в качестве универсального языка. Однако когда труд большинства профессиональных программистов стал практически сводиться лишь к манипуляциям с вызовами более или менее стандартного API-инструментария (Application Programming Interface — интерфейс прикладного программирования), остро встал вопрос выбора единственного языка программирования, на котором (и для которого) будет писаться этот API. Вследствие различных причин — как объективных, так и субъективных — выбор пал на Си/Си++. Во-первых, Си, как и Паскаль, оказался одним из первых языков высокого уровня (ЯВУ), разрешившим проблему : его компилятор был написан на нем же. Во-вторых, компиляторы для Си делать, пожалуй, легче, чем для любого другого языка (что, собственно, и было одной из целей его разработки), поэтому именно их выпуск экономически наиболее целесообразен. Впрочем, не обошлось и без субъективных факторов: значительную долю сегодняшнего API производит фирма Microsoft, уже давно разграничившая с фирмой Borland в этой области. Сейчас Borland не выпускает компиляторы для Бейсика и Фортрана, а Microsoft — для Паскаля, и, естественно, не ориентирует свои API на те языки, компиляторы которых сама не выпускает.
Поэтому лидерство Си в области профессионального программирования обусловлено в основном тем, что только на нем можно использовать новый API-интерфейс сразу же после его выхода, тогда как программистам, работающим на других языках, приходится либо ждать, когда появятся нужные интерфейсные модули, либо самостоятельно их писать.
Однако в области создания СУБД Паскаль до сих пор входит в число лидеров, поскольку продолжается разработка инструментального ПО для работы с объектными версиями этого языка (Delphi). Кроме того, Паскаль и его диалекты зачастую применяются в качестве языка СУБД.
Сильные стороны Паскаля
Посмотрим на Паскаль, а также на Си и Бейсик с точки зрения обучения программированию. О дидактической несостоятельности языка Си уже много написано. Бейсик также мало подходит для обучения из-за отсутствия общепринятого стандарта и стиля работы, который он прививает. Основным преимуществом Бейсика была чрезвычайная нетребовательность к ресурсам компьютера, что стало уже неактуальным. Раньше, когда были ПК с 16-64-Кбайт оперативной памятью и ЗУ в виде магнитофона, можно было говорить, что Бейсик — лучший ЯВУ, поскольку не было выбора. При наличии 640-Кбайт памяти и дисковода такой выбор появился.
Итак, сегодня практически весь рынок программных продуктов ориентирован на многозадачные операционные системы (Windows, UNIX и др.) и интенсивно использует API-инструментарий, а также визуальные средства программирования.
Это, конечно, удобно, но вряд ли рационально для обучения, ведь нужно научиться разрабатывать и/или воплощать алгоритм, а не просто . Кроме того, любой начинающий сталкивается с довольно значительным объемом информации, которую необходимо запомнить, прежде чем начинать программирование. Да и процесс постоянного обновления API затрудняет работу и преподавателя, и ученика. Текстовый интерфейс командной строки, принятый в DOS, дает возможность, не особенно заботясь о вводе-выводе, уделять основное внимание разработке и реализации алгоритма. А те, кто уже немного разобрался с компьютером, могут осваивать основы компьютерной графики, не изменяя платформы.
Медицинские рецепты принято выписывать на латыни. От всех живых языков она отличается тем, что уже не изменяется. К тому же медики, на каком бы языке они ни говорили, имеют в латыни общий язык. То же самое можно сказать и про DOS. Его API достаточно лаконичен и практически перестал изменяться. Кроме того, все операционные системы (на платформе Intel) позволяют работать с программами DOS, а вот программа, написанная, скажем, для Linux, в Windows уже не запустится.
Рассмотрим Паскаль для DOS. В сфере образования до сих пор широко используется последняя 7-я версия Паскаля фирмы Borland, созданная более восьми лет назад. Со своей основной задачей компилятор Паскаля справляется, однако зачастую даже школьники, постигшие азы программирования, натыкаются на его ограничения. Одним из основных недостатков компилятора является его 16-разрядность. Ограничение в 64 Кбайт на все статические данные выглядит слишком жестким при типичных сегодня 32-128 Мбайт оперативной памяти. То же касается и графических режимов: максимальное разрешение, с которым способен работать Turbo/Borland Pascal, требует лишь 150-Кбайт видеопамяти, в то время как появляются видеоадаптеры, несущие уже 64 Мбайт.
Сравнение компиляторов Паскаля
В нашей стране все большее внимание стало уделяться легальному использованию программных продуктов. Так что теперь за Turbo/Borland Pascal приходится платить и частным лицам, и общеобразовательным учреждениям. И мало кто знает о том, что есть 32-разрядные компиляторы Паскаля, бесплатные для некоммерческого применения и к тому же более полно использующие оперативную память компьютера и возможности видеоадаптера (табл. 1).
Среди компиляторов, достигших определенной степени , — TMT Pascal (www.tmt.com) и Free Pascal Compiler (FPC, www.ru.freepascal.org). В числе других проектов стоит упомянуть P32V Джона Принса (surf.to/p32) и Virtual Pascal (www.vpascal.com), недавно ставший бесплатным. Последний, пожалуй, наиболее тщательно проработан, но в исходном виде не позволяет делать DOS-приложения.
Примечательно, что в разработке TMT и Free Pascal участвовали наши соотечественники.
Версия 3.50 компилятора ТМТ производит впечатление вполне отлаженного продукта — большая часть выявленных ошибок устранена, сам он и его интегрированная среда работают стабильно и просты в установке. Сказывается, правда, немногочисленность коллектива разработчиков: интегрированная среда как две капли воды похожа на аналогичные GUI-ориентированные IDE и обладает довольно ограниченными возможностями — она не имеет даже встроенного отладчика. Во встроенном ассемблере до сих пор нет поддержки SSE, хотя есть 3DNow! и MMX. Полные зарегистрированные версии компилятора начиная с 1.0 содержали IDE-среду в текстовом режиме, с которой из-за множества ошибок все равно нельзя было работать, а свободно распространяемые — ограничения на объем используемой памяти, но их можно было элементарно обойти. Поэтому в версии 3.50 они были сняты, а в последнюю бесплатно предоставляемую добавлена IDE-среда.
Free Pascal был разработан довольно большим коллективом энтузиастов. Он поставлялся вместе с исходными текстами, поэтому любой желающий мог принять участие в процессе его создания. Кстати, написан Free Pascal на Паскале, так что для него проблема не возникает.
Версия компилятора обозначается не двузначным, как обычно, а трехзначным числом, поскольку значение 99 в младшей части версии появилось задолго до того, как основной было присвоено 1.0. Сейчас 1.0 наконец вышла, но она оказалась чуть ли не более сырой, чем предыдущая. Затем почти сразу же была выпущена версия 1.02, содержащая лишь исправления замеченных ошибок, а на момент написания статьи готовилась к выходу версия 1.04. В комплект поставки компилятора входит интегрированная среда, работающая в текстовом режиме. В его документации честно предупреждается о том, что это пока отладочная версия. Да и сама IDE требует настройки, которая к сожалению описана неверно. Эта IDE является по сути текстовым редактором со встроенным компилятором (почему-то не внешним), в ней отсутствует даже контекстная подсказка, не говоря об отладчике.
Оба компилятора в определенной степени напоминают диалект Turbo/Borland Pascal, хотя и есть некоторые различия. В основном они касаются усовершенствований языка: нет ограничений, связанных с 16-разрядной сегментированной моделью памяти, есть Си-подобные комментарии. Кстати, ТМТ дополнился Си-подобными операциями: , . В Free Pascal появились перегружаемые функции, а у ТМТ — перегружаемые операторы и множество усовершенствований, что отражено и в документации. У Free Pascal желаемое нередко выдается за действительное. Так, в одной из предыдущих версий он наотрез отказался компилировать MMX-инструкции, в том числе и пример из документации.
Естественно, оба компилятора не во всем схожи. У ТМТ отсутствует 64-разрядный целый тип comp. Притом, скорее всего, его введение и не предполагается, так как существует дополнительный модуль для обработки комплексных чисел, имеющий то же самое название. В Free Pascal же не предусмотрено предопределенных массивов Port и PortW, а в ТМТ есть даже PortD.
Поскольку оба компилятора используют 32-разрядную плоскую модель памяти, функция seg у обоих возвращает 0, однако в системе программирования Free Pascal неправильно работает функция ptr. Например, в выражении longint(ptr($40,$6c)^) мы можем получить все что угодно, но только не значение счетчика времени BIOS (видимо, программа прекратит работу по ошибке обращения к памяти). У TMT же такая конструкция выполняется правильно.
После компиляции минимальный размер исполняемого файла для ТМТ составляет около 15 Кбайт, а для Free Pascal — 55 Кбайт. Кроме того, второй требует еще внешнего DPMI-сервера на 20 Кбайт, тогда как у ТМТ он содержится внутри исполняемого файла.
Чтобы сравнить скорости работы исполняемых файлов, полученных с помощью этих компиляторов, можно использовать тест Ветстоуна по определению производительности системы с точки зрения выполнения операций над числами с плавающей запятой, переписанный с Фортрана на Паскаль (табл. 2). Значительно уступая TMT по оптимизации размера, Free Pascal работает в полтора раза быстрее. В то же время оба компилятора оставляют далеко позади Borland Pascal, особенно на современных процессорах.
Однако некоторые результаты при измерении производительности выглядят довольно странно. Написанная на ассемблере процедура поиска кратчайшего пути в графе при помощи алгоритма Дейкстры, будучи откомпилированной тем же Free Pascal, выполнялась на 20% быстрее, чем ТМТ. При заполнении таблицы весов дуг графа использовался датчик случайных чисел, измерения повторялись 1000 раз и полученные значения усреднялись, а процедуры чтения, записи и пересылки содержимого оперативной памяти выполнялись в обоих случаях с одинаковой скоростью.
Среднее время выполнения этого теста для компилятора ТМТ Pascal составило 2,20 с, а для Free Pascal — 1,81 с.
Кроме оптимизации, которую делает сам компилятор, интересно также посмотреть, насколько оптимально написаны библиотечные процедуры. Это было решено сделать на примере графической библиотеки. Следует сказать, что в обоих случаях состав процедур значительно отличался от прототипа, особенно у ТМТ. Впрочем, и Free Pascal оказался не на высоте. Хотя дисплей и видеоадаптер позволяли работать в режиме 1600×1200 точек (а среди констант, описывающих разрешение, было предусмотрено даже 2048×1536 точек), однако в действительности заявленное разрешение установить при помощи Free Pascal не удалось. Поэтому скорость вывода графических примитивов проверялась в режиме 1280×1024 точки при 256 цветах (табл. 3). По скорости вывода на экран заштрихованных фигур ТМТ почти на порядок превосходит своего конкурента, что, видимо, объясняется более совершенным алгоритмом. При рисовании линий ТМТ практически во всем отстает от FPC. Правда, в некоммерческой версии ТМТ, где производились измерения, в отличие от коммерческой не используется LFB, что при рисовании без экранного буфера должно приводить к ощутимой потере производительности. Возможно, что различие результатов объясняется этим.
При выводе текста ТМТ втрое отстает от FPC, однако не следует этого пугаться. Дело в том, что тогда как Free Pascal вслед за Borland применяет шрифт размером 8×8, в ТМТ резонно предположили, что при разрешениях 640×480 точек и больше гораздо лучше будет смотреться шрифт размером 8×16. Так что замедление вывода в значительной степени связано с увеличением размера шрифта вдвое.
В целом реализация графической библиотеки ТМТ производит впечатление более продуманной и отлаженной (хотя и менее полной по отношению к Borland Pascal).
Кстати, раздел документации Free Pascal, посвященный описанию различий реализации графических библиотек для разных платформ, остался пустым, а графическая программа, работавшая в DOS и перекомпилированная в графическое приложение Windows, сразу же завершилась по ошибке.
Бесплатная версия TMT Pascal позволяет делать исполняемые файлы только для DOS, зато при использовании коммерческой один и тот же текст, будучи откомпилированным и для DOS, и для Windows, работает визуально совершенно одинаково, хотя внутренний механизм для DOS реализован через VESA, а для Windows — через DirectDraw.
Рекомендации
Что же, хотя крупные фирмы и отказались от ведения разработок Паскаля для DOS, небольшие компании, коллективы энтузиастов и даже отдельные программисты весьма успешно продолжили это дело, создавая вполне достойную замену проверенному компилятору Turbo Pascal. Так что если вам нужен надежный компилятор и вы не хотите возиться с установкой и настройкой его самого и прилагаемой к нему среды, а также если при вашей работе предъявляются жесткие требования к объему кода, то лучше остановить свой выбор на ТМТ. Кстати, при применении внешнего DOS-расширителя памяти, например DOS4GW, минимальный объем исполняемого файла можно сократить до 3 Кбайт. Если же вам не терпится самому принять участие в разработке компилятора Паскаля, если вам нужен транслятор, настраиваемый на ваши конкретные задачи и вы согласны над ним поработать, то следует отдать предпочтение FPC. Впрочем, вместе с исходными текстами также поставляется Р32V, однако он в отличие от FPC компилируется в среде Borland Pascal. Правда, P32V — не полный компилятор, так как переводит текст на Паскале не в объектный код, а в текст на языке ассемблера, и поэтому потребуется внешний ассемблер. Если же вы работаете с OS/2, то целесообразнее предпочесть Virtual Pascal.
Где используется pascal
Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами.
Существует несколько тысяч языков программирования. Мы с вами познакомимся с языком программирования Паскаль, который был разработан в 70-х годах прошлого века Никлаусом Виртом (Швейцария). Своё название этот язык получил в честь французского учёного Блеза Паскаля, известного не только своими достижениями в математике, физике и философии, но и созданием первой в мире механической машины, выполнявшей сложение двух чисел.
Язык Паскаль считается универсальным языком программирования, так как он может применяться для записи алгоритмов решения самых разных задач (вычислительных, обработки текстов, построения графических изображений, поиска информации и т. д.).
Он поддерживает процедурный стиль программирования, в соответствии с которым программа представляет собой последовательность операторов, задающих те или иные действия.
Никлаус Вирт (род. в 1934 г.) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук.
Разработчик языка Паскаль и ряда других языков программирования .
Алфавит и словарь языка
Основой языка программирования Паскаль , как и любого другого языка, является алфавит — набор допустимых символов, которые можно использовать для записи программы.
• латинские прописные буквы (А, В, С, . X, Y, Z);
• латинские строчные буквы (а, Ь, с, . х, у, z);
• арабские цифры (0, 1, 2, . 7, 8, 9);
• специальные символы (знак подчёркивания; знаки препинания; круглые, квадратные и фигурные скобки; знаки арифметических операций и др.).
В качестве неделимых элементов (составных символов) рассматриваются следующие последовательности символов:
:= (знак операции присваивания);
(* и *) (начало и конец комментария).
В языке существует также некоторое количество различных цепочек символов, рассматриваемых как единые смысловые элементы с фиксированным значением. Такие цепочки символов называются служебными словами.
Ниже в таблице приведены основные служебные слова, которые мы будем использовать при записи программ на языке Паскаль.
Для обозначения констант, переменных, программ и других объектов используются имена — любые отличные от служебных слов последовательности букв, цифр и символа подчёркивания, начинающиеся с буквы или символа подчёркивания.
Прописные и строчные буквы в именах не различаются.
Длина имени может быть любой. Для удобства мы будем пользоваться именами, длина которых не превышает 8 символов.
Типы данных, используемые в языке Паскаль
В языке Паскаль используются различные типы данных. Мы будем пользоваться некоторыми из так называемых простых типов данных.
Некоторые типы данных в языке Паскаль

В вещественном числе целая часть от дробной отделяется точкой, при этом перед точкой и после неё должно быть, по крайней мере, по одной цифре. Пробелы внутри числа недопустимы.
Структура программы на языке Паскаль
В программе, записанной на языке Паскаль, можно выделить:
1) заголовок программы;
2) блок описания используемых данных;
3) блок описания действий по преобразованию данных (программный блок).
Заголовок программы состоит из служебного слова program и имени программы. После имени программы ставится точка с запятой.
Блок описания данных состоит из раздела описания констант (const), раздела описания переменных (var) и некоторых других разделов. В разделе описания переменных указываются имена используемых в программе переменных и их типы.
Имена переменных одного типа перечисляются через запятую , затем после двоеточия указывается их тип; описание каждого типа заканчивается точкой с запятой. Ниже приведён пример раздела описания переменных:

Программа может не иметь заголовка; в ней может отсутствовать блок описания данных. Обязательной частью программы является программный блок. Он содержит команды, описывающие алгоритм решения задачи. Программный блок начинается со слова begin и заканчивается словом end с точкой.
Ниже приведён общий вид программы:

Операторы — языковые конструкции , с помощью которых в программах записываются действия, выполняемые над данными в процессе решения задачи.
Точка с запятой служит разделителем между операторами, а не является окончанием соответствующего оператора.
Перед оператором end точку с запятой ставить не нужно.
Оператор присваивания
Основное преобразование данных , выполняемое компьютером, — присваивание переменной нового значения, что означает изменение содержимого области памяти; оно осуществляется оператором присваивания, аналогичным команде присваивания алгоритмического языка. Общий вид оператора:
Операция присваивания допустима для всех приведённых в табл. 3.2 типов данных. Выражения в языке Паскаль конструируются по рассмотренным ранее правилам для алгоритмического языка.
Рассмотрим процесс выполнения операторов присваивания на следующем примере:
При выполнении оператора а:=10 в ячейку оперативной памяти компьютера с именем а заносится значение 10; при выполнении оператора b:=5 в ячейку оперативной памяти компьютера с именем b заносится значение 5. При выполнении оператора s:=a+b значения ячеек оперативной памяти с именами а и b переносятся в процессор, где над ними выполняется операция сложения. Полученный результат заносится в ячейку оперативной памяти с именем s.

Процесс выполнения оператора присваивания
О языке Паскаль
Одной из целей создания языка Паскаль Никлаус Вирт считал обучение студентов структурному программированию. До сих пор Паскаль заслуженно считается одним из лучших языков для начального обучения программированию. Его современные модификации, такие как Object Pascal, широко используются в промышленном программировании (среда Delphi).
Наиболее известной свободной реализаций языка Паскаль является Free Pascal. Помимо открытости исходного кода, его основным преимуществом является мультиплатформенность, а также поддержка различных диалектов Паскаля. На основе FreePascal создана свободная мультиплатформенная среда Lazarus, аналогичная среде Delphi. Однако, бедный и не меняющийся десятилетиями консольный интерфейс интегрированной среды Free Pascal, мало совместимый с современными интерфейсами рабочих столов операционных систем, всё более отталкивает обучаемых, неправильно формируя у них представление, что Паскаль — устаревший язык.
С другой стороны, среда Delphi по мере развития становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования, а для среды Lazarus, несмотря на ее бесплатность, такие случаи единичны.
Наконец, появление платформ Java и .NET, включающих мощный язык программирования и мощные стандартные библиотеки ослабило позиции языка Delphi. Для обучения программированию стали чаще использоваться такие языки как Java, C, C++, C#, Visual Basic, Python, Haskell.
Одним из ярких событий, связанных с развитием языка Паскаль, стало появление языка и компилятора Oxygene фирмы RemObjects, который создатели заслуженно назвали современным Паскалем 21 века. Oxygene может генерировать код под различные платформы, в том числе под платформы .NET и Java. Основным его недостатком является отсутствие бесплатного компилятора и среды для образовательных целей. Кроме того, Oxygene достаточно сильно отличается от канонического языка Паскаль (методы классов вместо процедур и функций), что отражает его сугубо профессиональную направленность.
Язык и система программирования PascalABC.NET призваны изменить сложившуюся ситуацию и вернуть языку Паскаль былую привлекательность как для обучения, так и для профессионального программирования, помножив ее на мощь платформы .NET.
§ 14. Язык программирования Паскаль
![]()
Желание упростить и ускорить всевозможные расчеты присуще человеку с древних времен. Создавая различные приспособления для счета, человек прошел долгий путь. Сегодняшний компьютер способен выполнять сотни миллионов операций в секунду. Для решения вычислительных задач требуется сначала составить алгоритм их решения, а затем записать его в виде программы, используя какой-либо язык программирования.
Язык программирования устанавливает набор правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под ее управлением.
Язык программирования Паскаль ( Pascal ) используется для обучения программированию и является базой для ряда профессиональных языков программирования.
Существует большое количество сред программирования, поддерживающих язык Паскаль: PascalABC , FreePascal, Delphi, GNU Pascal, Dev — Pascal , Rad Studio и др. В учебном курсе используется среда PascalABC (с ней вы работали, знакомясь с учебными компьютерными исполнителями).
14.1.Команда вывода
Демонстрировать работу любой программы имеет смысл только тогда, когда она выводит какую-либо информацию.
Программа на языке Pascal (тело программы) должна начинаться со слова begin , а заканчиваться словом end и точкой. Программа, состоящая из этих команд, разделенных пробелом или переводом строки, может быть запущена на выполнение, но она ничего не делает. Добавим в нее команду вывода приветствия:
Результат работы программы отражается в нижней части окна программы PascalABC в окне вывода (пример 14.1).
Команда write ( ) ; предназначена для вывода данных.
Текст, который нужно вывести на экран, заключают в апострофы (одинарные кавычки). Этот текст не анализируется и выводится на экран в том виде, в котором он записан. Текст можно записать как на русском, так и на любом другом языке. Текстом может быть произвольный набор символов.
В программе может быть несколько команд вывода. Если необходимо вывести текст, записанный в несколько строк, то используют команду writeln ( ). Буквосочетание « ln » (сокращение от англ. line — линия, строка), записанное в конце команды, означает, что после вывода нужно перевести курсор в новую строку.
Пример 14.2. Выведем на экран компьютера следующий текст: « Привет! Я компьютер. Я умею выполнять программы! Сегодня ты написал свою первую программу, а я ее выполнил. Сейчас на экране – результат этой программы ».
Используя сочетание команд write и writeln , текст можно расположить по-разному.
Как вы уже знаете, текст в команде write ( ), записанный в кавычках, не анализируется. Если кавычки опустить, то производится анализ тех данных, которые записаны в скобках. Например, если в скобках написать арифметическое выражение, то сначала вычисляется его значение, а затем выводится результат.
Пример 14.3. Посчитаем значение выражения 2 + 2 ∙ 2.
Если записать выражение в кавычках, то будет выведено само выражение. При отсутствии кавычек на экран будет выведено значение данного выражения.
14.2. Понятие типа данных
На практике редко приходится писать программы, которые решают только одну задачу. Обычно программы пишутся для решения целого класса задач, которые можно сформулировать в общем виде.
С такими задачами вы уже сталкивались в курсе математики. Например, решение задачи «Найдите площадь прямоугольника» можно записать так: S = a ∙ b , где переменные a и b обозначают соответственно длину и ширину прямоугольника, а S — площадь. Зная эту формулу, можно найти площадь любого прямоугольника.
В программировании для решения задач в общем виде также используют переменные. Поскольку с такими переменными будет работать компьютер, то они должны храниться в его памяти.
Информацию, представленную в пригодном для обработки на компьютере виде, называют данными.
Переменная в программировании — это именованная ячейка памяти, хранящая значение переменной.
Компьютер может обрабатывать данные разных типов: целые и действительные числа, символы, тексты и др.
Тип данных определяет способ хранения данных в памяти компьютера, диапазон возможных значений данных и операции, которые с этим типом данных можно выполнять.
Для того чтобы использовать какую-либо переменную, ее необходимо описать. Описание переменных выполняется до начала программы (команды begin ) (пример 14.4). При описании переменной выделяется память для хранения значения этой переменной. В процессе выполнения программы значение переменной может изменяться.
Для описания переменных используется команда var (сокращение от англ. variable — переменная).
Формат записи команды следующий:
Для обозначения имени переменной используются буквы латинского алфавита, цифры и знак «_». Первым символом должна быть буква или знак подчеркивания.
Тип данных real в языке программирования Pascal позволяет работать с числами и выполнять над ними арифметические действия: сложение, вычитание, умножение и деление.
14.3. Оператор присваивания
Одной из основных команд для обработки данных в программе является оператор присваивания.
Оператор присваивания предназначен для того, чтобы:
- задавать значения переменным;
- вычислять значения арифметического выражения (результат вычисления будет записан как значение переменной).
Формат записи оператора присваивания:
В записи арифметического выражения используются знаки математических действий — сложения, вычитания, умножения, деления:
Запись в Pascal
Приоритет выполнения операций соответствует принятому в математике: сначала выполняются умножение и деление, а затем сложение и вычитание. Для изменения порядка действий в выражениях можно использовать скобки.
Для записи обыкновенной дроби используется знак деления. Знак умножения опускать нельзя. Целая часть дробного числа отделяется от дробной части точкой.
14.4. Ввод данных
Начальные значения переменным можно задавать не только с помощью оператора присваивания, но и путем ввода с клавиатуры. В этом случае, если необходимы вычисления с новым набором значений исходных данных, текст программы не нужно изменять.
Команда read ( ) предназначена для ввода данных. В скобках через запятую перечисляются имена переменных, значения которых необходимо ввести.
Ввод данных происходит в нижней части окна программы PascalABC . Для этого используется окно «Ввод данных». После нажатия кнопки «Ввести» или клавиши « Enter » введенные значения переносятся в окно вывода. После завершения работы программы в этом же окне будет выведен результат (пример 14.8).
14.5. Структура программы
Все программы на языке программирования Pascal имеют общую структуру.
В программе можно выделить следующие разделы:
- заголовок программы (является необязательным);
- подключаемые библиотеки (модули) (если подключать дополнительные библиотеки не нужно, раздел отсутствует; известные библиотеки: Drawman, Robot, RobTasks );
- описание переменных с указанием их типа;
- описание вспомогательных алгоритмов (если использовать вспомогательные алгоритмы не нужно, раздел отсутствует);
- begin … end. — служебные слова, обрамляющие тело основной программы, в которой находятся исполняемые команды. Слово begin начинает исполняемую часть программы, а end . (точка в конце обязательна) ее завершает.
Таким образом, в минимально возможном наборе программа состоит только из пустого тела программы: begin end . Программа, содержащая все разделы, представлена в примере 14.9.
Для каждого раздела определено ключевое служебное слово, которым начинается данный раздел программы. При написании программы ключевые слова выделяются полужирным шрифтом.
Электронно-вычислительная машина (ЭВМ) — комплекс технических средств, где основные функциональные элементы (логические, запоминающие, индикационные и др.) выполнены на электронных приборах, предназначенных для автоматической обработки информации в процессе решения вычислительных задач.

Никлаус Вирт (род. в 1934 г.) — швейцарский ученый, специалист по информатике, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук. Создатель и ведущий проектировщик языков программирования Паскаль, Модула-2, Оберон.
По традиции, начавшейся в 1978 г. с примера из книги Брайана Кернигана и Денниса Ритчи «Язык программирования Си», первая программа на любом языке программирования должна выводить на экран приветствие миру:
Окно среды PascalABC с результатом работы программы:

Пример 14.2. Текст программы:
