Pascal. Урок 1. Структура программы: обзор
Язык Паскаль был разработан Никлаусом Виртом в 1970 г. как язык со строгой типизацией и интуитивно понятным синтаксисом. В 80-е годы наиболее известной реализацией стал компилятор Turbo Pascal фирмы Borland, в 90-е ему на смену пришла среда программирования Delphi, которая стала одной из лучших сред для быстрого создания приложений под Windows. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений, обновленный язык получил название Object Pascal. Из альтернативных реализаций Object Pascal следует отметить многоплатформенный open source компилятор Free Pascal.
Программа на языке Pascal имеет следующий вид:
program имя программы ;
раздел uses
раздел описаний
begin
операторы
end.
Первая строка называется заголовком программы и не является обязательной.
Раздел uses начинается с ключевого слова uses , за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.
Раздел описаний может включать разделы описания переменных, констант, меток, типов, процедур и функций, которые следуют друг за другом в произвольном порядке.
Далее следует блок begin / end , внутри которого находятся операторы, отделяемые один от другого символом «точка с запятой».
Раздел uses и раздел описаний могут отсутствовать.
program MyProgram;
var
a,b: integer;
r: real;
begin
readln(a,b);
x := a/b;
writeln(x);
end.
Комментарии
Комментарии — это участки кода, игнорируемые компилятором и используемые программистом для пояснения текста программы.
В Pascal имеется несколько способов указать комментарий.
Последовательность символов между фигурными скобками < >или символами (* и *) считается комментарием:
Комментарием также считается любая последовательность символов после символов // и до конца строки:
var Version: integer; // Версия продукта
Комментарии, выделенные разными символами, могут быть вложенными:
Основано на справочной системе pascalABC.net
Пример программ на Паскале. Программирование на языке Паскаль
Казалось бы, программа на языке Паскаль – дело легкое и типичное для любого программиста, однако нельзя сказать, что сам язык слишком слаб для современного мира. Ведь не зря он считается базовым и изучается в школе.

Зачастую, для написания программ на Паскале пользуются такой средой программирования, как Turbo Pascal (Турбо Паскаль).
Почему новичкам следует выбирать именно этот язык? Попробуем разобраться. Для того чтобы полностью овладеть любым языком программирования, необходимо иметь соответствующую литературу. Именно поэтому большинство языков отпадают сразу, в частности и Лого. Он мало распространен в русскоговорящих странах, поэтому обучающих книг по нему нет. На данный момент самыми известными являются Pascal, Java, Basic и C. Рассмотрим каждый отдельно. Java, в основном, используется для программирования в сети. C – один из наиболее распространенных языков, однако и самый сложный (особенно для новичков). Для того чтобы в итоге научиться писать программы на нем, лучше всего сперва освоить Pascal или Basic. Они оба изучаются в школах (на выбор преподавателя). Причина их распространенности кроется в том, что на этих языках можно написать такую же программу, как и на C или C++, но само его освоение намного легче за счет простоты построения.
Стоит помнить, что версий Pascal и Basic достаточное количество, но в школах больше распространены такие виды, как Turbo Pascal 7.0 и QBasic. Если брать в сравнение именно их, то последний больше создан для того, чтобы писать маленькие программки длиной до 50 строк. Turbo Pascal же мощнее и быстрее.
Первая программа на Паскале
Пример программ на Паскале с легкостью можно найти в интернете, сложнее понять, как они устроены.
Для того чтобы понять, как устроен этот язык, необходимо написать небольшую «задачу». Допустим, нужно составить программу, которая будет складывать два числа: Q+W=E. Что же следует выполнить для ее создания?
Буква E будет выступать переменной (в математике – икс). Обязательно ей нужно присвоить имя (не более 250 символов). Оно может состоять из:
- букв латинского алфавита (A..Z);
- цифр от 0 до 9. Но следует запомнить, что имя не должно начинаться с цифры;
- символа «_».
В названии не должны встречаться:
- русские буквы;
- знаки препинания;
- спец. символы, такие как решетка «#», процент «%», доллар «$», тильда «~» и др.

Примером правильного имени может быть «red_velvet4», «exo» или «shi_nee». Нужно также помнить, что Паскаль к регистру букв нечувствителен, поэтому переменные с названиями «btob» и «BtoB» рассматриваются как одна. Как именно в среде программирования «заводятся» и называются ячейки, будет понятно ниже. После этого процесса необходимо определить тип переменной. Это необходимо для того, чтобы программа корректно показывала результат на экране или печатала его на бумаге. Например, если складываются два числа, то указывается числовой тип, а если выводится приветствие, то – строковой. Для обычного сложения двух чисел подойдет тип Integer («число»).
С типом для переменных все понятно, но его нужно присвоить для всех числовых переменных, для того чтобы свободно ими манипулировать.
Опираясь на то, что написано выше, можно легко написать небольшую «задачку». Программа на Паскале будет выглядеть таким образом:
Var Q, W, E: integer;

Первая строка, т. е. program shi_nee – название или заголовок самой программы. Это необязательный компонент, не влияющий на работу написанного вычисления. Он, если используется, в обязательном порядке должен находиться первым, иначе среда программирования выдаст ошибку.
Описание переменных происходит во второй строке благодаря оператору «var». Необходимо перечислить все переменные, которые фигурируют в программе и через двоеточие добавить тип (integer).
Пара операторов «BEGIN» — «END» начинает и, соответственно, завершает выполнение программы. Они наиболее важны; между ними находятся все действия, описанные программистом.
Синтаксис языка
Важно помнить, что каждая строка программы завершается точкой с запятой. Исключением из правила будут служебные команды типа var, begin, const и др. После конечного оператора end должна ставиться точка. В некоторых случаях, когда в программе несколько вложений и используются операторные скобки «BEGIN» — «END», после данной команды может ставиться точка с запятой.
Для того чтобы присвоить ячейке ее значение, например, E=15, необходимо перед знаком равно ставить двоеточие:
Двоеточие в данном языке называется присвоением. Программа на Паскале пишется очень легко, если освоить выше описанные правила синтаксиса.
Тестирование
Запустив Turbo Pascal, необходимо напечатать программу, правильно расположив требуемые знаки и установив нужный порядок строк. Запуск программы можно осуществить через контекстное меню или же при помощи клавиш Ctrl+F9. Если все набрано правильно, то экран немного мигнет. В том случае если присутствует ошибка, то работа программы приостановится, а курсор установится в той строке, где она имеется. При этом, в строке «Вывод» появится описание самой ошибки, например, error 85: «;» expexted. Эта строка указывает, что где-то отсутствует точка с запятой. Однако пока обращать внимание на подобные неполадки не стоит, нужно разобраться со структурой, используя примеры программ на языке Паскаль.

Что следует изучить в первую очередь?
Для начала полностью разобраться с каждой строкой программы. Затем обратить внимание на синтаксис, отложить в своей памяти специальные операторы, после которых знак препинания не ставится, усвоить логическую цепочку из begin и end. Запомнить, как именно заводятся переменные, какой тип им необходим и для чего он вообще нужен. Разобраться в функционировании самой среды программирования будет также не лишним. Для этого можно воспользоваться руководством или же «тыкать» в Turbo Pascal самостоятельно. Постоянно нужно практиковаться, разбирать уже готовые «задачи» из интернета и потихоньку набирать пример программ на Паскале самостоятельно.
Одномерные массивы
Массив используется для удобной работы с однотипными данными, которые в этом случае размещаются в последовательных ячейках памяти, а не отдельно. Вряд ли программистам удобно работать с 50 или 100 переменными. Удобнее записать их в массив.
Элементы, которые находятся в группе, имеют свой номер. В различных языках программирования счет начинается с определенной цифры, не обязательно с 1. А вот пример программ на Паскале говорит о том, что в нем нумерация начинается с нее. Данный порядковый номер назван индексом каждого элемента. Как правило, он является целым числом, реже символом. В принципе, для ячейки данных все равно, какая индексация будет задана: числовая или буквенная.
Массив в Паскале (примеры ниже) может иметь только один тип, к которому будут принадлежать и все его элементы. Не бывает такого, что одна ячейка типа real, а другая integer.
В среде программирования данные одномерного (т.е. простого) массива вводятся линейно:
Var a: array [5..40] of char;
For i:=5 to 40 read (ch[i]);
For i:=5 to 40 write (ch[i]:3);
Разбирая пример программ на Паскале, можно увидеть, что выделяется память под простейший массив, состоящий из 35 знаков. Индексация ([5..40]) – от 5 до 40. В первой строке после команды BEGIN пользователь должен ввести 35 абсолютно любых символов (цифры, буквы), которые программой записываются в ячейки. Вторая строчка отвечает за вывод их на экран.
Двумерные массивы

Если одномерный массив – это тот, в котором все операции выстроены «в линию», т. е. все элементы и действия производятся друг за другом, то двумерный позволяет реализовать более сложные структуры с ветвлением.
Такие данные на языке Паскаль (примеры можно увидеть чуть ниже) описываются двумя способами: «array [10..b, 10..f] of тип» или же «array [10..b] of array [10..f] of тип».
Переменные b и f – константы. Вместо них можно вставлять и цифры (как в одномерных массивах), но в подобных задачах лучше такое не практиковать. Это объясняется тем, что язык программирования определяет первую константу в качестве количества строк, а вторую – столбцов данного массива.
Пример задачи через специальный раздел type:
Type cherry=array [10..b, 10..f] of real;
Через раздел переменных описать массив несколько легче (для новичков):
Var n: array [10..b, 10..f] of real;
Оба варианта будут верны, работа программы от выбранного способа записи никак не меняется.
Открытые массивы

Открытый массив – тот, у которого нет границ. Он имеет лишь тип (real, integer и др.). Иными словами, созданный массив – безразмерный. Его «тягучесть» определяется самой программой при выполнении. Записывается он таким образом:
Seulgi1: array of char;
Yeri: array of real;
Отличительной особенностью этих массивов является то, что индексация начинается с нуля, а не единицы.
Графика в Паскале

Те, кто имеет хотя бы малейшее представление о «внутренностях» операционной системы, знает, что все изображения строятся благодаря прямоугольным растрам. Растровые картинки состоят из пикселей, которые настолько маленькие, что глаз человека воспринимает нарисованное или сфотографированное за единое целое. При этом чем больше разрешение фотографии, тем меньше пиксели будут.
Второй способ представления графики – векторный. Как правило, это отрезки, круги, эллипсы и другие геометрические фигуры, которые и составляют весь рисунок.
В среде программирования на любом языке возможно и появления такого вида задач, как графические, результатом которых будет являться графика. Паскаль, примеры таких программ показывают в некоторой степени тяжесть их разработки, позволяет создавать картинки и рисунки. Для того чтобы «активировать» нужную библиотеку, нужно вставить строку «uses graph;».
Как правило, при описании графических данных, используется данная процедура:
InitGraph (var driver, choke: real; Path: string);
Здесь driver является переменной, тип которой integer; choke – переменная, действительного типа; а path позволяет активировать драйверы.
Как оформляется программа на языке программирования pascal

Никлаус Вирт — создатель языка программирования Паскаль (Pascal)
Паскаль это язык программирования, который все еще очень популярен в школах и некоторых университетах, как язык для обучения программированию. И у многих изучивших основы языка Паскаль возникает резонный вопрос, а что это за вообще язык программирования и какого его место в современном мире? Будут ли востребованы знания этого языка на рынке?
1. История языка программирования Паскаль
70-е
Язык программирования Паскаль был создан в 1970 году профессором Никлаусом Виртом в качестве академического языка программирования для обучения студентов. На язык Pascal оказал влияние язык программирования Algol 68, в разработке которого тоже участвовал Вирт. Синтаксис языка Паскаль похож на синтаксис Algol, по этому его еще называют Алголо-подобным языком.
Но Паскаль это не второй Алгол, Вирт выкинул из Алгола все лишнее и избыточное и создал очень маленький и аккуратный язык. Например этот язык программирования был полностью избавлен от оператора GoTo, что сделало его первым языком программирования поддерживающим концепцию структурного программирования. Это означает, что вся логика могла быть описана через операторы:
- Последовательность
- Ветвление
- Циклы
Это сейчас такой подход воспринимается как единственно верный, но в те времена понадобилось 10 лет что бы понять это.
В 70-е все самым популярным языком программирования для написания прикладных программ все еще оставался Basic с его оператором GoTo, но в 80-е на его место уже приходит Pascal.
80-е
В 1983 году появляется Turbo Pascal. Это интегрированная среда разработки для Windows 3.x. Она стала очень популярной в 80-х годах т.к. содержала встроенные библиотеки и удобную среду разработки с отладчиком.
Turbo Pascal, а так же его расширенная версия Borland Pascal стали основным средством разработки прикладного программного обеспечения в 80-е.
В 1986 году появляется объектно ориентированная версия языка Pascal с удобной средой разработки. Ее назвали Delphi. Это как C++ для C. Но в отличие от C++, Delphi не стал в разы сложнее Pascal, т.к. язык изначально был спроектирован не как системный, а как язык прикладного программирования и в нем не было сложных конструкций для управления памятью как C.
90-е
В 90 мы видим рост аппаратных мощностей. В главу угла уже не нужно ставить скорость работы программ и Delphi становится самой популярной средой для быстрой разработки приложений. Она поддерживала все объекты Windows: формы, кнопки, бегунки и т.д. Их не нужно было программировать — они просто перетаскивались мышкой на форму.
2000-е
Со второй половине 90-х появляются убийцы Delphi. В 1995 появился язык Java, а в 1998-2000 язык C Sharp. В 2000-x эти языки программирования выйдут на первое место по популярности и займут место Delphy на поприще создания прикладного программного обеспечения.
Отличительной особенностью этих языков стала работа через виртуальную машину. А виртуальная машина стала использоваться повсеместно. Ее ставили на все устройства: мобильные телефоны, кофе-машины, персональные компьютеры. И программистам не нужно было беспокоиться об архитектуре устройства — они писали код под виртуальную машину и программа одинаково работала на любом устройстве на котором такая машина стояла.
2. Где сегодня используется язык программирования Паскаль
2.1 Бизнес
Благодаря огромной популярности языка программирования Паскаль и Delphi в 80-е, 90-е и 2000-е было создано большое количество прикладных программ, в том числе и для автоматизации производства и бизнеса.
Многие компании которые были автоматизированы на Delphi постепенно сейчас переходят на программы написанные на других языках. У нас в России компании для автоматизации сейчас выбирают 1С.
Но есть и такие компании которые продолжают работать на программах написанных на Delphi. И благодаря этому на рынке профессия программист Delphi еще востребована. Но конечно же не настолько как например профессия программист Java или C Sharp.
2.2 Разработка прикладного программного обеспечения
Сейчас для разработки программного обеспечения чаще конечно выбирают не Паскаль. Но его поклонники все же существуют. И если вы хорошо разбираетесь в этом языке, то вы сможете с легкостью создать прикладную программу.
Сейчас очень популярна бесплатная среда разработки Lazarus. Она очень похожа на Delphi и позволяет открывать проекты сделанные на Delphi. Она бесплатна и ее можно свободно скачать.
Развивается среда быстрой разработки Delphi теперь уже под названием RAD Studio.
2.3 Обучение
Хоть и во многих школах еще популярен Паскаль, но все чаще на его место приходит Python. Питон тоже очень простой язык программирования и очень перспективный сегодня. Его используют для задач машинного обучения, анализа данных и в веб программировании. И главное он лишен основного недостатка языка Паскаль сегодня: если вы будете изучать программирование на языке Python, то потом вы легко найдете работу программистом Python, чего сегодня нельзя сказать о языке Pascal.
3. Достоинства языка Pascal
Лично мне жалко, что язык программирования Паскаль не стал мейнстимом и сейчас забыт. Я считаю, что у него была масса достоинств. И для разработки прикладного программного обеспечения он был очень хорош.
3.1 У Паскаль понятный синтаксис
У языка Паскаль Алголо-подобный синтаксис. Я считаю такой синтаксис более естественным и понятным как для обучения, так и для дальнейшего сопровождения программы.
Современные популярные языки прикладного программирования такие как Java и C Sharp имеют C подобный синтаксис.
Я сам по образованию учитель информатики и некоторое время проработал в школе. Так вот детям объяснить оператор присвоения на языке Паскаль гораздо проще, чем в других языках.
В Паскаль присвоение выглядит так:
В остальных языках он выглядит как знак предикат равенства
Детям легче понять синтаксис языка Паскаль.
3.2 Паскаль компилируемый язык программирования
Программы на языке Паскаль компилируются в машинный код. Вы можете написать программу, скомпилировать ее в exe файл и отправить другу. Друг ее просто откроет на своем компьютере и запустит.
А в современных языках, таких как Java и C Sharp, которые работают через виртуальную машину, нужно еще дополнительно попросить друга установить виртуальную машину машину этого языка на свой компьютер. В случае с языком Питон, потребуется попросить установить интерпретатор языка Питон для запуска скриптов написанных на нем.
4. Наследие языка программирования Паскаль
4.1 Delphi

Delphi 7
Надо признать, что язык программирования Паскаль не умер полностью. Среда разработки Delphi продолжает развиваться и по сей день и это современная среда разработки на которой можно писать любые программы. В том числе и разрабатывать приложения для смартфонов. Просто эта среда разработки и язык Паскаль не так популярны у разработчиков.
4.2 Oberon
Никлаус Вирт после создания языка Паскаль, продолжил свою работу и создал еще более простой и лаконичный язык программирования Oberon. Никлаус Вирт в своей книге «Разработка операционной системы и компилятора. Проект Оберон» показал и доказал, что для создания операционных систем и прикладных программ язык программирования не должен быть сложным. Весь синтаксис языка умещается на 1 страницы. А полное описание языка занимает 20 страниц. Можно такое сказать о современных языках программирования?
Во главу угла Никлаус Вирт всегда ставил надежность. Поэтому для разработки программ, он считал, нужно использовать максимально просты инструменты.

4.3 Другие языки программирования
Язык Oberon оказал влияние на многие современные языки программирования.
Java. Oberon оказал влияние на язык Java. Многие концепции в Java были взяты из языка Oberon. В частности сборка мусора.
C Sharp. Delphi оказал огромное влияние на язык программирования C Sharp. Многие концепции были перенесены из Delphi во многом благодаря тому, что разработчик Андерса Хейлсберга из Delphi перешел в компанию Microsoft в команду разработчиков C Sharp.
Go. Новый язык программироания Go от компании Google ощутил сильное вляние языков семейства Вирта: Pascal, Modula-2, Oberon. Например оператор присваения в нем выглядит как в Паскаль:
5. Где сегодня программировать на Pascal
Сегодня, что бы программировать на языке Pascal существует масса возможностей. Давайте перечислю основные среды разработки.
5.1 Lazarus
Это бесплатная интегрированная среда разработки. Ее свободно можно скачать в интернете. Внешне она похожа на Delphi 7.

5.2 PascalABC.NET
Это реализация Pascal под платформу NET. Широко применяется в школах.

5.3 RAD Studio
Это дальнейшее развитие Delphi после того как ее выкупила компания embarcadero. Это как VisualStudio только для языка Pascal.

6. Какой язык программирования изучать после Паскаль (Pascal)
В школах обучают программировать на языке программирования Паскаль. Но этот язык сейчас не востребован на рынке труда так как раньше и нужно изучать другой язык. Так какой же современный и востребованный язык программирования можно изучить после изучения языка Паскаль.
6.1 Go
Go или Golang это современный язык программирования созданный в 2009 году компанией Google. Это как и Pascal компилируемый язык программирования который подходит для разработки прикладных программ и для разработки системного программного обеспечения.
6.2 Python
Язык Python не испытал прямого влияния Pascal, но по синтаксису он все же больше похож на Pascal чем например C++. Он так же как и Pascal испытал влияние Algol 68. Сейчас в школах переходят с обучения Паскалю на язык Python т.к. его тоже просто изучить.
7. Итоги
Язык Паскаль был спроектирован выдающимся ученым в области программирования Никлаусом Виртом, как простой и надежный язык удовлетворяющий концепции структурного программирования.
Этот язык идеально подходит для обучения программированию, а так же долго время был одним из основных языков для создания прикладных программ в Мире.
Сейчас язык программирования Pascal не так популярен, но все же на нем многие программируют и среда разработки Delphi (RAD Studio) продолжает развиваться.
Как оформляется программа на языке программирования pascal
В заголовке указывается имя программы и список параметров. Общий вид:
здесь n – имя программы; input – файл ввода; output – файл вывода; x, y – внешние файлы, используемые в программе.
Заголовка может и не быть или он может быть без параметров.
Блок программы состоит из шести разделов, следующих в строго определенном порядке:
- раздел меток (label)
- раздел констант (const)
- раздел типов (type)
- раздел переменных (var)
- раздел процедур и функций
- раздел действий (операторов).
Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать.
Каждый из первых четырех разделов начинается с соответствующего ключевого слова (label, const, type, var), которое записывается один раз в начале раздела и отделяется от последующей информации только пробелом, либо концом строки, либо комментарием.
Раздел меток (label)
Любой выполняемый оператор может быть снабжен меткой – целой положительной константой, содержащей не более 4-х цифр. Все метки, встречающиеся в программе, должны быть описаны в разделе label.
здесь l1, l2, l3 – метки.
Пример. label 5, 10, 100;
Метка отделяется от оператора двоеточием.
Пример. Пусть выражение a := b имеет метку 20. Тогда этот оператор выглядит так:
Раздел констант (const)
Если в программе используются константы, имеющие достаточно громоздкую запись (например, число пи с 8-ю знаками), либо сменные константы (для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант. Это делает программу более наглядной и удобной при отладке и внесении изменений.
здесь a1 – имя константы, c1 – значение константы.
Пример. const pi = 3.14; c = 2.7531;
Раздел типов (type)
Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type:
где t1 и t2 – идентификаторы вводимых типов.
Затем тип используется при объявлении переменных.
Пример использования нестандартных типов:
Раздел описания типов имеет большое значение в программе на языке Pascal. Если в программе не использовать типы, то можно столкнуться с несовместимостью типов переменных, даже если они описаны одинаково.
Раздел переменных (var)
Пусть в программе встречаются переменные v11, v12,…; все они должны быть описаны следующим образом:
здесь v11, v12,… — имена переменных; type1 – тип переменных v11, v12,…; type2 – тип переменных v21, v22,….
Пример. var k, i, j: integer; a, b: real;
Каждая переменная должна быть описана до ее использования в программе и отнесена к одному и только одному типу. Названия разделов (const, type, var…) указываются только один раз.
Таким образом, в разделе var вводится имя каждой переменной и указывается, к какому типу эта переменная принадлежит. Тип переменной можно задать двумя способами: указать имя типа (например, real, color и т.д.), либо описать сам тип, например: array[1..16] of char
Раздел процедур и функций
Здесь присутствуют заголовки и тела пользовательских процедур и функций.
Раздел действий (операторов)
Эта часть программы начинается с ключевого слова begin и заканчивается словом end, после которого должна стоять точка. Раздел действий есть выполняемая часть программы, состоящая из операторов.
Оформление программ на языке Паскаль
Одним из важнейших факторов, влияющих на способность программы к развитию, является ее понимаемость. Одним из существенных факторов понимаемости программы, в свою очередь, является информативность исходного текста. Если исходный текст не является хорошо читаемым, то есть написан без соблюдения определенного стиля и системы и представляет собой «мешанину» операторов и знаков препинания, то вносить изменения в него очень сложно даже автору. Такая программа, безусловно, не является информативной. Сложности модификации значительно возрастают по прошествии времени и при необходимости работать с чужой программой. Рассмотрим ряд требований и рекомендаций, позволяющих выработать хороший стиль оформления программ, повышающий ее информативность.
Соглашения по идентификаторам
Подбор идентификаторов
Все идентификаторы должны выбираться из соображений читаемости и максимальной семантической нагрузки. Например:
Неудачными можно считать идентификаторы:
Идентификаторы рекомендуется подбирать из слов английского языка. Например:
Не очень удачными можно считать идентификаторы:
Написание идентификаторов
Зарезервированные слова языка Pascal писать только маленькими буквами. Например: type, var, const, procedure, function, begin, end, if, then, else, repeat, until, case, while, and, not, or, unit, uses, interface, implementation.
В любых идентификаторах каждое слово, входящее в идентификатор, писать, начиная с большой буквы, остальные буквы — маленькие. В этом смысле символ подчеркивания «_» между словами идентификатора можно считать излишним. Например:
Рекомендуется идентификаторы, состоящие из одной буквы, писать большой буквой, если они не являются счетчиками циклов. Например:
Соглашения по самодокументируемости программ
Комментарии
Комментарии в теле программы следует писать на русском языке и по существу так, чтобы программист, не участвовавший в разработке программы (но имеющий опыт работы на языке Pascal), мог без особого труда разобраться в логике программы, и, при необходимости, сопровождать данный программный продукт.
Рекомендуется комментарии программы писать внутри символов , а (* и *) использовать при отладке программы как «заглушки» участков программного кода.
Спецификация подпрограммы
Для каждой пользовательской подпрограммы (процедуры или функции) должна быть описана в виде комментария спецификация, содержащая следующую информацию:
- назначение подпрограммы;
- описание семантики параметров-значений (параметров, передаваемых по значению), если она неочевидна;
- описание семантики параметров-переменных (параметров, передаваемых по ссылке), если она неочевидна.
- для функции: описание семантики возвращаемого значения, если она неочевидна.
Например: семантика параметров и возвращаемого значения очевидна
семантика параметров очевидна, семантика возвращаемого значения неочевидна
семантика параметров и возвращаемого значения неочевидна
Замечание: Если процедура (функция) реализует какой-либо вычислительный метод (например: нахождение площади фигуры методом трапеций, поиск минимума функции методом Ньютона и т.п.), рекомендуется в теле процедуры (функции) поместить комментарий с кратким описанием метода, либо ссылку на источник, где описан метод.
Спецификация программного файла или модуля
Программный файл или модуль (unit) должен начинаться со спецификации в виде комментария, содержащего следующую информацию:
- идентификация (имя) файла;
- фамилия и копирайт автора;
- дата написания файла;
- версия языка программирования и замечания по компиляции программы (модуля) в других версиях языка (если требуется);
- назначение программы (модуля);
Замечание: В программном файле после заголовка Program ; (в файле с пользовательским модулем — после заголовка unit 😉 рекомендуется поместить комментарий с указаниями по запуску программы и работе с ней (указаниями по использованию модуля другими программистами) или ссылку на источник, который использован при составлении программы (модуля).
Соглашения по читаемости программ
Лесенка
«Лесенка» должна отражать структурную вложенность языковых конструкций. Рекомендуется отступ не менее 2-х и не более 8-и пробелов. Принятого отступа нужно придерживаться во всем тексте программы. Правила написания конструкции begin . end и других:
Длина строк программного текста
Длина строк программы не должна превышать ширины экрана (80 символов).
Прочие рекомендации
Рекомендуется операнды бинарных операций (+, := и т.п.) отделять от знака операции одним пробелом » «. Например:
Рекомендуется при перечислении идентификаторов после запятой «,» ставить один пробел » «. Например:
Рекомендуется всегда писать символ-разделитель операторов «;» (непосредственно после оператора). Например:
Рекомендуется после символа-спецификатора типа «:» ставить один пробел » «. Например:
Рекомендуется директивы компилятора писать большими буквами, а условные определения — так же, как идентификаторы (см. 1. Соглашения по идентификаторам). Например:
Как оформляется программа на языке программирования pascal
Компьютер, изготовленный на заводе, подобен новорожденному человеку, он может осуществлять какие-то действия, но не знает как. Но если человек в дальнейшем способен к обучению, то компьютер необходимо научить, то есть, заложить в него программное обеспечение. Компьютер без программы – бесполезная конструкция из железа, пластмассы и проводов.
2. Язык программирования Pascal
Паскаль — язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623-1662) и разработан в 1968-1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании.
Паскаль популярен среди программистов по следующим причинам:
- Прост для обучения.
- Отражает фундаментальные идеи алгоритмов в легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
- Позволяет четко реализовать идеи структурного программирования и структурной организации данных.
- Использование простых и гибких структур управления: ветвлений, циклов.
- Надежность разрабатываемых программ.
Команду алгоритма, записанную на языке программирования, принято называть оператором.
Программа на Паскале близка по своему виду к описанию алгоритма на Алгоритмическом языке. Сравните алгоритм решения уже знакомой вам задачи — деления простых дробей с соответствующей программой на Паскале:
| алг Деление дробей цел a, b, с, d, m, n нач ввод а, b, c, d m:= a x d n:= b x c вывод m, n кон |
Program Division; var a, b, с, d, m, n: integer; begin readln (a,b, c,d) ; m:= a*d; n:= b*c; write (m, n) end. |
3. Структура программы на Паскале
Даже не заглядывая в учебник по Паскалю, в этой программе можно все понять (особенно помогает знание английского языка). Структура программы имеет следующий вид:
begin
операторы (тело программы);
end.
Первой строкой программы является её заголовок. Он подобно заголовку книги рассказывает читателю, что это программа, для решения какой задачи она предназначена. Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:
Раздел описания переменных начинается со слова Var (variables — переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа величин: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:
var a, b : integer; с, d : real;
Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.
Раздел операторов — основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:
При написании текста программы следует соблюдать несколько правил:
— разрешается использовать только символы латинского алфавита для команд
— большие и маленькие буквы Паскаль не различает. То есть слово begin может быть написано как с маленькой, так и с большой буквы “Вegin; BEGIN; BeGin”
— все операторы заканчиваются точкой с запятой “;”
Самый простой и одновременно один из самых важных операторов – оператор вывода, ведь программа должна вывести результат на экран монитора. Выглядит оператор следующим образом:
Write (‘Здравствуй Мир!’);
Видео YouTube
«5»: Написать программу, которая выводит на экран рисунок из букв:
4. Переменная. Тип данных. Операторы ввода, вывода, присваивания
Опытный программист знает, а новичку полезно узнать, что главными элементами любой программы являются переменные, константы и операторы.
Переменными – называют величины, значения которых изменятся в процессе выполнения программы.
Константами называются величины, которые не изменяют своего значения.
Операторы описывают те действия, которые должна выполнять программа.
Тип переменной является важнейшей характеристикой переменной. Определяет вид данных, содержащихся в переменной, набор операций, которые можно выполнять над этими данными. В Паскале существуют много типов переменных, для начала познакомимся с двумя:
Integer – целый тип. Описывает числа (например число 6 или 18 или -50).
Real – вещественный тип. Служит для хранения дробных чисел (например число 6,2 или 18,9 или -50,7).
Описать переменную это значит указать после зарезервированного слова Var имя и тип переменной. Например:
Var a: integer;
Var a,b: real;
Ввод исходных данных с клавиатуры происходит по оператору read (read — читать) или readln (read line — читать строку):
При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша (). Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.
Вывод результатов происходит по оператору write (write — писать) или writeln (write line — писать в строку):
Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.
Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.
Арифметический оператор присваивания на Паскале имеет следующий формат:
Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметических выражениях могут присутствовать функции.
Урок 3. Первая программа в Pascal

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.
Виды величин
Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.

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

Привожу сразу обозначение этого типа в Паскаль

Символьные тоже делятся на два типа.

Вторая классификация величин.Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: < переменная >:=
Первая программа на Pascal
Структура программы в Паскаль
Заголовок
Объявление переменных и констант
Раздел операторов
Ввод и вывод в Паскаль
У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:
Для ввода:
- read(Переменную)
- readln(Переменную)
И для вывода:
- write(Текст в »)
- writeln(Текст в »)
«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.
Hello, World на Pascal
Теперь вы готовы написать первую программу.
Ну, тут все понятно. Чтобы разнообразить решение предлагаю решить несколько задачек этого типа.
Задача 1. Требуется запросить имя пользователя, а затем вывести «Привет, !» Для решения этой задачи нам потребуется строковой тип данных — string.
Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.
Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию PascalABC.Net для Windows.
Вот, как выглядит интерфейс программы при запуске.

P.S. Давайте выделим две особенности Pascal:
- Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
- Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!
P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.
После компилирования программа закрывается как только выполнит задачу. Нужно чтобы она дождалась нажатия кнопки. Пробовал пару вариантов, но не работает. Подскажите, пожалуйста.
Если вы используете Turbo Pascal, то поставьте после program uses crt; и перед end. readkey;
program aaa;
uses crt;
var a: integer;
read(a);
writeln(a);
readkey;
end.
После begin двоеточие не ставиться.
В объявлении константы есть ошибка: значение не надо присваивать, у константы оно просто равно
P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.
Так что же делать обладателям отличных от Windows ОС?
Вообще у вас есть три более-менее простых варианта:
1) Использовать веб среду http://pascalabc.net/WDE/ (не используйте Сафари, попробуйте Хром)
2) Установить FreePascal для Mac OS. У меня, если честно, так и не получилось.
3) Установить виртуальную машину( Windows 7, Windows XP) и на нее установить PascalABC.NET или Turbo Pascal.
Есть ещё Lazarus
есть wine, virtualbox, online pascalabc. чего надо еще?
Как открывать нужные скобки? Если я пишу Hello, world в скобках » » , то у меня вылезает ошибка.
WriteLn(‘Текст’) или Write(‘Текст’)
Внутри обычных скобок когда обозначаем текст (НЕ переменную) то ставим ‘ перед и после текста
Спасибо, я создал программу которая общается с пользователем, объединив эти две задачи.
Получилось вот так:
begin
var name: string;
write(‘Напиши своё имя: ‘);
read(name);
write(‘Молодец, ‘, name, ‘!’);
var years: integer;
writeln(‘Сколько тебе лет?’);
read(years);
write(», years, ‘, значит. А мне ещё и года нету(((‘);
writeln(‘Мне пора на компьютер твоего друга… Пока’);
end.
Что делать если установил ABC Pascal, а после запуска не хочет открываться и нормально работать?
А мне не понравилось, что программа не чувствительна к числам, которые заканчиваются на 1,2,3,4. Получилось немного громоздко, но как сократить пока не придумала)
program Your_age;
var a: integer;
begin
writeln(‘А сколько Вам лет?’);
readln(a);
if (a > 4) and (a 21) and (a mod 10 > 4) then
write(‘Значит, Вам ‘,a,’ лет!’);
if (a 1) and (a mod 10 20) and (a mod 10 > 1) and (a mod 10 < 5) then
write(‘Значит, Вам ‘,a,’ года!’);
if (a mod 10 = 1) and (a 11) then
write(‘Значит, Вам ‘,a,’ год!’)
end.
Подскажите, пожалуйста, возможно ли с помощью линейного алгоритма сделать так, что работала команда ввода read(surname)?
Использую PascalABCNET.
После написания такого кода программа не делает того, с чем прошу мне подсказать:
var
name,surname:string;
begin
writeln(‘Введите, пожалуйста, ваше имя: ‘);
readln(name);
writeln(‘Введите, пожалуйста, вашу фамилию: ‘);
readln(surname);
end.
А вы уверены в том, что она не делает?) У вас ведь нигде и вывода нет.
Вы правы, работает. Вчера ночью почему-то не работало. После перезагрузки компьютера заработало. Наверно, что-то не так пошло, потому что тот же самый код запускал. Хорошо, что работает. Думал, что я не понимаю чего-то.
Вспомнил. Дело не только в этом было. Суть в том, что не работал общий код, который был изначально. Именно это там не работало. Эти 2 ввода игнорировались. После вопроса, где нужно ввести 1 или 2 программа переходила на вопрос о возрасте.
var
name, surname: string;
a, age: integer;
writeln (‘Connection…’);
writeln(‘Доброго времени суток, пользователь программы!’);
writeln(‘Вы находитесь в программной среде высшего интеллектуального творчества человечества.’);
writeln(‘Просьба вести себя осторожно, дышать ровно, следовать инструкциям и быть готовым нести ответственность за принятие своих решений.’);
writeln(‘Вы готовы? 1 — Yes/2 — No’);
writeln(‘Введите число:’);
read(a);
case a of
1:writeln(‘Решение о вашем действии записано в информационное пространство Вселенной. Отмена действий невозможна.’);
0:write(‘Большие решения требуют серьёзной ответственности. Когда будете к этому готовы, можете в любой момент обратиться к программной среде.’);
else writeln(‘У вас только одно право на ошибку. Попробуйте ещё раз ввести 1 или 0.’);
end;
writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
read(name);
writeln(‘Введите, пожалуйста, вашу фамилию, чтобы программа вам рассказала о её значении: ‘);
readln(surname);
writeln(‘Сколько вам лет, ‘,name,’?’);
readln(age);
case age of
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94,102..104,122..124:writeln(‘Вам ‘,age,’ года.’);
1,21,31,41,51,61,71,81,91,101,121:writeln(‘Вам ‘,age,’ год.’);
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..100,105..120,125,126:writeln(‘Вам ‘,age,’ лет.’);
else write(‘В настоящее время человечеством не доказано, что человек может столько лет жить на планете Земля.’);
end;
END.
Очень здорово, что программа запустилась. Но на будущее: когда вы просите помощи, лучше прикреплять полный код программы/подпрограммы. Иначе такая помощь выполняется почти вслепую.
Тот, что выше написал, полный код программы. В нём не работает то, что я описал в предыдущем сообщении.
readln(name) и readln(surname) не предлагают ввести данные. Сразу переходит программа на writeln(‘Сколько вам лет, ‘,name,’?’).
Тот, что выше написал, полный код программы. В нём не работает то, что я описал в предыдущем сообщении.
readln(name) и readln(surname) не предлагают ввести данные. Сразу переходит программа на writeln(‘Сколько вам лет, ‘,name,’?’).
writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
readln(name);
нужно писать не read, а readln
Похожие публикации:
- Как сделать изображение черно белым css
- Как сделать картинку прозрачной css
- Как сделать кнопку в css с ссылкой
- Как сделать красивый текст в css
