Сайт о телевидении

Сайт о телевидении

» » Язык программирования Pascal для новичков: основные понятия. Пример программ на Паскале. Программирование на языке Паскаль

Язык программирования Pascal для новичков: основные понятия. Пример программ на Паскале. Программирование на языке Паскаль

На просторах всемирной сети Интернет можно найти массу программ на языке "Паскаль", но намного сложнее разобраться, по какому принципу они работают и как устроены. Давайте же изучим основы программирования вместе!

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

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

Символы алгоритмического языка - это неделимые атомы, используемые для написания кода.

Элементарные конструкции - это минимальные единицы, которые имеют собственный смысл.

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

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

Язык "Паскаль"

Существует большое количество "Паскаль" (для начинающих есть отдельные пособия) является одним из них. Его алфавит состоит из цифр, букв и специальных символов. Вот их перечень:

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

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

Элементарные конструкции языка

"Паскаль" для начинающих включает в себя строки, числа и имена.

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

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

Имя - это последовательность, которая начинается с буквы и может содержать в своем составе цифры. Идентификаторами принято называть метки, типы, константы, функции, процедуры, переменные, объекты и даже модули. Формируя идентификаторы можно использовать символ подчеркивания. Имя может иметь массу символов, но компилятор будет считывать лишь первые 63 знака. "Паскаль", описание которого может показаться таким сложным, не так уж страшен, поэтому не спешите пугаться и закрывать страницу браузера!

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

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

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

Каждая строка должна заканчиваться точкой с запятой в программе, написанной на рассматриваемом нами языке ("Паскаль"). Информатика учит этому школьников и студентов, а вы сможете осознать эти правила сами!

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

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

Для присвоения переменной определенного значения перед знаком равно необходимо поставить двоеточие. К примеру, вы ходите задать n=13, а в коде это будет выглядеть как n:=13.

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

Классические операторы языка "Паскаль"

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

К примеру, с помощью оператора выбора можно подобрать один из альтернативных путей хода программы. Параметром в таком случае выступает выражение порядкового типа. Но есть один нюанс: этот ключ выбора не может принадлежать к типу string или real.

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

Оператор присваивания

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

Составные операторы

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

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

Условный оператор языка программирования

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

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

IF <условие> THEN <оператор1> ELSE <оператор2>.

В этом выражении else, then и if являются зарезервированными словами, условие - логическим выражением с произвольным содержанием, а операторы - любыми командами используемого языка программирования.

Структура программного кода

Заголовок, разделы операторов и описаний - это ключевые составляющие приложения, написанного на таком языке, как "Паскаль". Информатика позволяет полностью изучить эти элементы и научиться правильно их использовать.

В заголовке, как правило, содержится имя кода. К примеру, Program MyFirst.

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

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

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

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

В разделе описания используемых переменных следует указать все типы, которые будут задействованы: "var c,a,r: integer; k,l, m: char; h1,h2: boolean;".

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

Текст кода должен заканчиваться точкой.

Примеры программ

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

Давайте сделаем так, чтобы приложение вывело на экран фразу «It is my first program!»

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

Begin
Writeln (It is my first program!");
End.

Вот так все просто!

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

Надеемся, были для вас полезными.

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

✎ 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; − программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать − она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» − так называется текстовая запись программы.

✎ 2) integer – по-английски означает «целое число» (или просто «целое») и в Паскале используется для обозначения 32-битных (8 байт) целых чисел со знаком с диапазона [-2147483648, 2147483647] . Что означают эти большие числа, мы потом разберем.

✎ 3) real – с английского «реальный», «настоящий», «вещественный», «действительный». В языке Паскаль этим термином обозначаются вещественные числа с диапазона [-1.8∙10 308 , 1.8∙10 308 ] . Это очень большие числа, но значащих цифр выводится 15 – 16. Кстати, типы данных integer и real в среде программирования PascalABC.Net всегда автоматически выделяются синим цветом.

✎ 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:


Эту запись надо воспринимать так, как она пишется: число N равно 12, S равно 5, «пи» равно 3,14 (как и в математике, только вместо запятой в Паскале используется точка). В последней строке мы использовали двойной слэш (две косые черты), после которых идет текст, – так в Паскале пишутся комментарии, и их программа не воспринимает. Всё, что начинается двойным слэшом и до конца строки – это комментарий, который пишется для пояснения к программе и всегда выделяется другим цветом (в PascalABC.Net - это зеленый, в Turbo Pascal не используется такой вид комментария). Существует и другой тип комментария – это {текст, заключенный в фигурные скобки, так же, как и здесь, тоже выделяющийся зеленым цветом} . Этот вид комментария может действовать несколько строк подряд – от начала скобки и до её закрытия, и всё, что находится в середине такой конструкции, компилятор не воспринимает как код и просто пропускает.

В действительности формат записи const немножко сложнее. По правилам мы должны были записать:

1 2 3 4 const N: type integer;

Описание:

")" onmouseout="toolTip()">integer
= 12 ; //число N – целого типа S: type integer;

Описание:
Представляет 32-битовое целое число со знаком.

Диапазон значений: -2 147 483 648 .. 2 147 483 647 ")" onmouseout="toolTip()">integer
= 5 ; //число S – целого типа pi : type real;

Описание:
Представляет число двойной точности с плавающей запятой.

Размер: 8 байт
Количество значащих цифр: 15 - 16
Диапазон значений: -1.8∙10 308 .. 1.8∙10 308
")" onmouseout="toolTip()">real
= 3.14 ; //число «пи» - вещественного

После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.

✎ 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:


Как видно из записи, знака «=» здесь нет – пересчитываются переменные одного типа (через запятую) и после двоеточия указывается только тип. Переменные N, m (целые) и Q, r, t (вещественные) в программе могут изменять значения в пределах integer и real соответственно. Ещё одно замечание: описание переменных всегда стоит после описания констант (постоянных) – сначала идет конструкция const , а потом var .

✎ 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.

✎ 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:

1 2 3 4 5 6 begin < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; end .

Здесь операторы в теле программы – это разные команды компилятору.

✎ 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:

Write("этот текст выведен на экране" );

Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

Write(, S);

В результате получим на экране результат:

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

Write("Величина площади равна: S = " , S, " кв.м" );

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

✎ 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

✎ 10) read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной. Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:


В первой строчке этого кода программа выводит вопрос «Каков Ваш возраст? » и переводит курсор в следующую строку (окончание ln); во второй строке мы выводим « Year = » (в начале пробел); далее мы видим оператор readln(Year) означающий необходимость введения возраста Year (число 32); наконец, выводим сообщения «Мой возраст », «32 » и « года. » поочередно. Необходимо внимательно следить за пробелами. В результате выполнения данного кода мы получим сообщение:

Каков Ваш возраст?
Year = 32
Мой возраст 32 года

✎ 11) readln – то же, что и read, только с переводом на новую строку. Действительно, в приведенном выше примере после введения числа Year мы только в следующей строке пишем: «Мой возраст 32 года ».

Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши

Знакомство с языком Паскаль

Возникновение и назначение Паскаля

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

Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Блеза Паскаля - французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль - швейцарский профессор Никлаус Вирт.

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

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

Программа на Паскале близка по своему виду к описанию алгоритма на Алгоритмическом языке. Сравните алгоритм решения уже знакомой вам задачи - деления простых дробей с соответствующей программой на Паскале:

Структура программы на Паскале

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

Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:

Program ;

Раздел описания переменных начинается со слова Var (variables - переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа величин: вещественный и целый . Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:

var a, b: integer; с, d: real;

Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.

Раздел операторов - основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:

Операторы ввода, вывода, присваивания

Ввод исходных данных с клавиатуры происходит по оператору read (read - читать) или readln (read line - читать строку):

read();
или readln();

При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша (). Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.

Вывод результатов происходит по оператору write (write - писать) или writeln (write line - писать в строку):

write();
или writeln();

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

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

Арифметический оператор присваивания на Паскале имеет следующий формат:

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

Знаки основных арифметических операций записываются так:

Сложение,
- вычитание,
* умножение,
/ деление.

Правила записи арифметических выражений

Запись арифметических выражений на Паскале похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2А), в Паскале этот знак пишется обязательно: 2*А. Например, математическое выражение

А 2 + В 2 - 12С

на Паскале записывается так:

А*А + В*В - 12*С

Это же выражение можно записать иначе:

SQR(A) + SQR(B) - 12*С

Здесь использована функция возведения в квадрат - SQR. Аргументы функций всегда пишутся в круглых скобках.

Последовательность выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*) и деление (/). Операции сложения и вычитания - младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):

Пунктуация Паскаля

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

Точка с запятой (;) ставится в конце заголовка программы, в конце раздела описания переменных, является разделителем операторов. Перед словом end точку с запятой можно не ставить.

Запятая (,) является разделителем элементов во всевозможных списках: списке переменных в разделе описания, списке вводимых и выводимых величин.

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

В программу на Паскале можно вставлять комментарии. Комментарий - это пояснение к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.

Заметим, что в Паскале нет различия между строчными и прописными буквами. Например, для Паскаля тождественны следующие варианты записи: begin, Begin, BEGIN, BeGiN. Использование строчных или прописных букв - дело вкуса программиста.

Вопросы и задания

1. Когда появился язык Паскаль и кто его автор?

2. Как записывается заголовок программы на Паскале?

3. Как записывается раздел описания переменных?

4. С какими типами числовых величин работает Паскаль?

5. Как записываются операторы ввода и вывода в Паскале?

6. Что такое оператор присваивания?

7. Как записываются арифметические выражения?

8. По каким правилам определяется порядок выполнения операций в арифметическом выражении?

9. Какая задача решается по следующей программе?

Program Test;
var А, В, С: integer;
begin
readln(A,B);
С:=(А+В)*(В-А);
writeln(С)
end.

Какой результат будет получен, если в качестве исходных значений А и В ввести соответственно 7 и 8?

Итак, на предыдущей странице мы определились со следующими понятиями: program, integer, real, const, var, begin, end, write, writeln, read, readln. Давайте напишем простые программы на Паскале с их использованием. Но сначала выясним, из каких частей состоит программа на Паскале.

Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.

✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы. Но заголовок писать не обязательно.

✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать простейшие задачи, то у нас во втором разделе будет находиться или описание констант, или переменных (см. пп. 4 и 5 статьи Введение в Pascal).

✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце(пп. 6, 7 той же статьи).

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


При решении простейших задач ограничимся сначала целыми числами. Перед тем как начать программировать, укажем простейшие 4 действия над числами в Паскале: «+» − сложение, «-» − вычитание, «*» − умножение, «/» − деление. Как видим, в программировании и математике элементарные действия над числами обозначаются одинаково. Решим следующую задачу:

Задача. Пусть даны целые числа A и B. Найти их сумму.


Назовем программу нахождения суммы как Summa. Тогда часть кода, отвечающая за название программы, будет иметь вид:

1 Program Summa; { программа называется Summa }

Обозначим сумму чисел A и B через S. Поскольку числа целые, то и сумма будет целым числом. Таким образом, в описании чисел A, B, S будем использовать переменную целого типа integer . Но как описать эти числа в разделе описаний – как константы (const ) или как переменные (var )? Все зависит от условия задачи. Мы можем числа A и B записать и как константы, и как переменные. Но в любом случае сумма S будет переменного типа, поскольку нам неизвестно её значение.

Итак, пусть дано значение чисел A и B, равное, например, 23 и 76 соответственно. Поскольку мы знаем значения наперед, то A и B будут типа const , а S опишем как var . Учитывая, что описание констант идет перед описанием переменных, раздел описаний в этом случае будет следующим:


Таким образом, тело программы будет состоять из вычисления суммы S и вывода её на экран. В паскале, чтобы вычислить сумму А и В, нельзя просто записать S = A + B; такая запись возможна, если надо проверить, не равно ли число S сумме A + B. А чтобы в переменную S записать значение суммы А + В, надо значение этой суммы «присвоить» переменной S , т.е. сумму А + В записать в то место памяти компьютера, которое выделено для переменной S. Это как бы «впихивание» значения одного числа в значение другого. Записывается присваивание так:

Для вывода результата используется оператор вывода write с комментарием на экране:

write("Сумма чисел 23 и 76 равна: S = ", S);

Объединяя наши 1)заголовок программы, 2)раздел описаний и 3)тело программы, получим небольшой код, который можно скопировать в PascalABC.Net или в другую версию Pascal:


После выполнения этой программы на экране мы увидим:

Сумма чисел 23 и 76 равна: S = 99

Все хорошо и программа работает. Но здесь мы написали кое-что лишнее. Посмотрите внимательно на оператор вывода write в конце – там выводится сумма S. Изменится ли что-нибудь, если вместо S написать само значение суммы, то есть А + В? Правильно, ничего. Только тогда надо убрать переменную S из нашего кода, а вместо неё при выводе на экран использовать сумму А + В. Вот упрощенный код:


В этом случае результат на экране будет такой:

Сумма чисел 23 и 76 равна 99

Это и есть наша простейшая первая программа. Другие задачи такого типа можете посмотреть на странице Прямоугольник, круг и параллелепипед. Вычисление площадей, периметров и объемов . Там, правда, используются переменные действительного типа real, но суть та же: решать задачу без оператора присваивания. Вообще этот оператор используется там, где надо вычислить промежуточную переменную, которая задействуется при вычислении основного результата. Поэтому там, где при вычислении результата (ответа к задаче) можно обойтись без присваивания, записывать выражение надо прямо в оператор вывода write. Только, если выражение слишком большое и не помещается в оператор вывода, надо вычислять его отдельно, вводя дополнительные переменные (var). Но в простейших случаях, как правило, можно обойтись и без оператора присваивания.


На следующей странице поговорим о процентах. А пока, если вы любитель World of Warcraft, тогда в этом вам поможет

Приведём простейший пример программы, единственная цель которой –вывести на экран какое-нибудь приветствие:

writeln("Hello, world!");

Первая строка ничего не делает, она просто содержит название программы. Затем, после слова beginначинаются собственно действия. В нашей программе их два: первое–это вывод строчки «Hello, world» на экран, а второе–ожидание нажатия клавиши «Enter», оно нужно для того, чтобы можно было увидеть результат программы, а затем уже нажать «Enter» и вернуться в Турбо-Паскаль. И, наконец, словоend с точкой в последней строке говорит о том, что программа закончилась. Действия, из которых состоит программа, называютсяоператорами , они отделяются друг от друга точкой с запятой.

А теперь приведём пример, в котором программа уже не «глухая», то есть может запрашивать какие-либо данные у пользователя. Пусть требуется спросить у пользователя два числа, после этого вывести на экран их произведение:

var a,b: integer;

writeln("Введите aи b");

writeln("Произведение равно ",a*b);

В этой программе перед словом begin появляется новая строчка, начинающаяся словомvar. В ней мы указываем, что программе понадобится две переменные (a иb), в которых можно хранить целые числа (словоinteger).

О том, что делает первый оператор, нам известно: он выводит на экран строчку "Введите a и b". При выполнении второго оператора программа будет ждать, пока пользователь не введет число с клавиатуры и не нажмёт «Enter»; это число программа запишет в переменнуюa, затем то же самое делается для переменнойb. Третьим оператором выводим на экран сначала надпись «Произведение равно », а потом значение выраженияa×b («*»–знак умножения). Четвёртый оператор пояснений не требует.

А теперь рассмотрим структуру программы в общем виде. Любая программа на Турбо-Паскале состоит из трех блоков: блока объявлений, блока описания процедур и функций и блока основной программы. Ниже эти блоки расписаны более подробно.

Блок объявлений:

program ... (название программы)

uses ... (используемые программой внешние модули)

const ... (объявления констант)

type ... (объявления типов)

var ... (объявления переменных)

Блок описания процедур и функций:

procedure (function )

Блок основной программы:

... (операторы основнойпрограммы) ...

Рассмотрим наиболее важные части вышеописанных блоков. Под заголовком программы понимается имя, помогающее определить её назначение. Имя, или идентификатор , строится по следующим правилам: оно может начинаться с большой или малой буквы латинского алфавита или знака «_», далее могут следовать буквы, цифры или знак «_»; внутри идентификатора не может стоять пробел. После имени программы следует поставить «;», этот знак служит в Паскале для разделения последовательных инструкций. Заметим, что имя программы может не совпадать с именем соответствующего файла на диске.

После слова const помещаются описания постоянных, которые будут использованы в программе, например:

const Zero = 0;

my_const = -1.5;

Hello = "Привет!";

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

Объявления переменных записываются в следующей форме: var <переменная>:<тип>;

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

Примеры объявления:

var Number: integer;

Name: string ;

Line: string ;

Key1,Key2: char;

Блок основной программы . Здесь, между словамиbegin иend. располагаются команды (точнее, операторы), которые будут выполняться один за другим при запуске программы. Рассмотрим простейшие типы операторов на следующем примере:

program First;

const a2 = 3;

var x,f: real;

write(‘Введите значение х ’);

f:= a2*x*x+a1*x+a0;

writeln(‘Значение квадратного трехчлена: ’,f);

Первая строка исполняемой (основной) части программы выводит на экран надпись «Введите значение х », для этого используется процедура write написанная разработчиками Турбо Паскаля, то есть набор команд, невидимый для нас, но существующий реально в недрах системы Турбо Паскаль. В качестве параметра этой процедуры используется наша строчка. Параметры всегда записываются в круглых скобках, апострофы означают, что параметр имеет строковый тип. Итак, в первой строке мы видим так называемый оператор вызова процедуры. Каждый оператор отделяется от следующего знаком «;». Во второй строке вызывается процедура вводаreadln(x), которая ждет, пока пользователь наберет значениеx с клавиатуры и нажмет клавишу «Enter», а затем переводит курсор на следующую строку (ln ó Line – строка). В третьей строке вычисляется значение трехчлена и записывается в переменнуюf; этот оператор называется оператором присваивания, и обозначается символом ":=". В последней строке на экран выводится строка«Значение квадратного трехчлена: » и значение переменнойf.Несложно заметить, что здесь процедуреwriteln передается уже не один, а два параметра, причем они могут иметь разные типы. Вообще, процедуры ввода и вывода (т.е.write, writeln, read, readln) могут иметь любое число параметров различных типов, параметрами могут являться переменные, литералы (т.е. непосредственно записанные числа, строки; в нашем примере дважды были использованы строковые литералы), а также выражения. Используя выражение при выводе, можно заменить две последние строчки нашей программы одной:

writeln("Значение квадратного трехчлена: ", a2*x*x+a1*x+a0);

В арифметических выражениях на Паскале используются следующие знаки для обозначения операций: +, -, *, /. Для определения порядка действий используются круглые скобки согласно общепризнанным математическим правилам.

Замечание об именах . Для обозначения переменных запрещается использование ряда слов, называемых зарезервированными, они играют в языке особую роль. Нам уже встречался ряд зарезервированных слов:program, begin, end, string, const, var, и т.п.