Какой командой описываются все переменные в программе pascal

Pascal. Основы

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

Алфавит языка Паскаль включает:

  • Латинские буквы;
  • Цифры;
  • Специальные символы (+ — * / = ^ < > ( ) < >[ ] . , : ; ‘# $ и др.).

Для описания величин в языке Паскаль используются константы и переменные.

Константы – величины, не изменяющие своего значения в процессе выполнения программы.

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

Типы констант и переменных

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

  • Простые
  • целочисленный тип (integer);
  • логический (boolean);
  • символьный (char);
  • перечисляемый (задается перечислением всех возможных значений переменной);
  • интервальный (задается с указанием наибольшего и наименьшего значений);
  • вещественный (real);
  • строка (string);
  • массивы (array);
  • записи (record);
  • множества (set);
  • файл (file);

Каждому из перечисленных типов соответствует свой набор операций по обработке данных. Так, для целочисленного и вещественного типов используются операции арифметических действий (сложение, вычитание, умножение, деление). Для логического типа выполняются операции and – логическое и, or – логическое или, xor – логическое исключающее или, not – логическое не.

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

В данной таблице приведены стандартные арифметические функции.

Вычисление косинуса числа

Вычисление синуса числа

Вычисление абсолютного значения числа

Вычисление квадрата числа

Вычисление квадратного корня числа

Вычисление арктангенса числа

Вычисление экспоненты числа

Вычисление натурального логарифма числа

Вычисление четности числа

Вычисление целой части числа

Примечание: Во всех тригонометрических функциях число x указывают в радианах.

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

  • Not;
  • *, /, mod, div, and;
  • +, -, or;
  • <, <=, >, >=, <>, =.

Операции одного и того же старшинства выполняются слева направо в порядке их появления в выражении. Выражения в круглых скобках вычисляются в первую очередь.

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

  • Объявления и соглашения;
  • Тексты процедур и функций;
  • Основной блок программы.

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

Раздел объявлений и соглашений

Кроме того, в программе могут использоваться комментарии – любой текст, ограниченный (*…*) или <…>. Комментарий может быть помещен в любом месте программы.

Рассмотрим более подробно назначение каждой части программы.

Заголовок программы состоит из зарезервированного слова Program и идентификатора – имени программы.

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

  • System – системный модуль низкоуровневых программ поддержки языка Паскаль; подключается автоматически, даже при отсутствии ссылки на него в строке uses;
  • Dos и WinDos – модули поддержки часто используемых функций MS DOS и Windows;
  • Crt – модуль управления режимами вывода информации на экран;
  • Printer – модуль управления выводом информации на печать;
  • Overlay – модуль управления оверлеями языка Паскаль; позволяет выполнять программы, которым требуются большие объемы памяти;
  • Strings – используется при написании программ, совместимых с Windows;
  • Graph – модуль для работы с графикой.

В разделе описания меток содержатся сведения об используемых в программе метках. Переход по ним выполняется оператором goto. Метки отделяются от помечаемого оператора знаком “:”, должны быть описаны, могут быть целочисленными (от 0 до 9999) или идентификаторами. Каждая описанная метка обязательно должна появиться в программе.

Для описания констант используется ключевое слово const, имя константы, знак “=” и значение константы:

В разделе описания типов Type программист может задавать свои типы, сформированные на основе определенных правил с использованием стандартных типов.

В разделе Var описываются переменные, используемые в программе:

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

В разделе текстов процедур и функций в соответствии с определенными правилами производится описание процедур и функций.

Процедура

Процедура имеет следующую структуру:

Раздел объявлений процедуры может включать подразделы Label, const, type, var для обявления локальных меток, постоянных, типов и переменных собственно. Слово «локальный» означает, что все перечисленные объекты могут быть использованы только в рамках данной процедуры или других подчиненных ей процедур.

Функция

Описание функций отличается по структуре от описания процедур только заголовком:

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

Основной блок программы состоит из ряда операторов и является выполняемой частью программы. Он начинается со слова Begin и заканчивается словом end, после которого должна стоять точка. Операторы языка Паскль не привязаны к определенной позиции строки. В одной строке можно указывать несколько операторов. Исполняемые операторы отделяются друг от друга знаком « ; ».

Допускается перенос с одной строки на другую частей операторов (но без разделения ключевых слов).

Как было указано выше, основной блок программы представляет собой некоторый набор операторов.

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

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

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

Данный оператор предписывает запомнить некоторое значение в переменной. Значение и индентификатор переменной разделены парой знаков « := ». Типы объектов с обеих сторон данного знака должны строго совпадать, за исключением того случая, когда тип переменной – real, а тип выражения – integer.

Общий вид оператора:

Операторы ввода/вывода

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

Где <список переменных> — последовательность имен переменных, разделенных запятыми. Буквы ln добавляются в конце оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.

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

Вывод данных на экран дисплея выполняется операторами:

Выражения в списке разделяются запятыми. Значения выражений сначала вычисляются, а затем выводятся на экран. Буквы ln имеют то же значение, что и в операторе readln.

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

займет для вывода числа 10 три позиции, а для вывода числа 55 – шесть позиций на экране.

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

Если х =3,14159, то оператор

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

Для того, чтобы прокомментировать выводимые значения, в список ввода можно помещать строки любых символов, заключенные в одинарные кавычки – апострофы.

При выполнении фрагмента программы

На экран будет выведено:

Приведем пример Паскаль-программы.

Задача – составить программу для подсчета суммы двух заданных чисел. Для этого необходимо ввести текст в память компьютера и сохранить на диске под именем pr1. Далее запустить программу на выполнение. При наличии ошибок внести соответствующие исправления. Получить результаты работы программы.

Урок 1 &#8212; Переменные и константы. Первая программа

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

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

PROGRAM имя программы;
(английскими буквами, одно слово. Хотите глубже? То необходимо воспользоваться правилами написания идентификаторов )

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

LABEL список меток;
(из одного места программы «прыгать» в другое)

CONST раздел описания констант;
(постоянные величины, их нельзя изменять)

TYPE описание типов переменных;

VAR определение глобальных переменных;
(описание всех переменных величин, которые в программе могут изменяться)

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

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

Данная программа ни чего не делает, так как в ней нет ни одного оператора.

2 Пример программы на Pascal

Результатом данный программы будет вывод на экран строки &#171;Hello, World!&#187;.

Запустите Turbo Pascal и перепишите исходный код программы. Теперь запустите программу, это можно сделать зажав сочетание клавиш Ctrl+F9. Результат выполнения программы всегда можно посмотреть зажав сочетание клавиш Alt+F5.

  1. Program Hello_World; &#8212; это название вашей программы, зачастую его не используют.
  2. Все что пишется до первого Begin &#8212; это раздел описания. Здесь программа просто сообщает компилятору сведения об используемых объектах и еще некоторую информацию.
  3. Основной блок кода, так называемый раздел операторов, всегда начинается с Begin и заканчивается End . (обратите внимание: Begin всегда без точки, а последний закрывающий End . всегда с точкой).
  4. Write(&#039;Hello, World&#039;); &#8212; это первый исполняемый оператор в нашей программе, который сообщает компилятору о том, что необходимо напечатать строку "Hello, World!" .

Стоит отметить, что язык Паскаль не чувствителен к регистру символов, т.е. write() , Write() , WRITE() , и даже WrItE() &#8212; все это для Паскаля означает одно и тоже.

3 Константы и переменные. Примеры

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

3.1 Константы

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

  • Числовые константы (целочисленные и вещественные). Пример:
  • Символьные константы. Единичный символ, записанный в апострофы:

Рассмотрим программу &#171;Hello world!&#187; с использованием константы.

В данном случае мы объявили константу hello равную значению &#8216;Привет, &#8216;. Далее в программе достаточно в нужном месте подставить эту константу. Теперь если нам вдруг понадобиться вместо программы, которая здоровается, сделать программу, которая прощается, достаточно в начале программы поменять &#171;Привет, &#187; на &#171;До свидания, &#187; и программа будет прощаться с пользователем.

Если Вы обратили внимание, то в примере у константы не указан явно не указан тип, такие константы называются Обычными константами. Тип обычных констант определяется по их значению.

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

Дополнительно хочется обратить внимание на апострафы в константах. Если Вам в константе понадобится использовать апострофы, то просто продублируйте их:

3.2 Переменные в Pascal

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

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

Хочу обратить Ваше внимание на тот факт, что все идентификаторы(переменные, название программы) в коде Turbo Pascal могут состоять исключительно из символов латинского алфавита (A-Z, a-z), цифр (0-9) и символа нижнего подчеркивания (&#171;_&#187;). Также идентификаторы не должны начинаться с цифр.

Для целых чисел часто используются два основных типа: Integer и LongInt . Единственным отличием типов переменных, используемых для одного формата данных, &#8212; это Диапазон допустимых значений. К примеру для Integer диапазон допустимых значений [-32768, 32767] , то есть минимальным значением для переменной типа Integer является число -32768 , а максимальным — 32767 .

Теперь попробуем объявить несколько переменных разного типа. Допустим мы хотим знать имя пользователя, его возраст и его рост. Для этого возьмем код программы их первого примера и изменить в соответствии с новыми требованиями.

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

4 Справочная информация по типам данных

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

По способу представления и обработки типы данных бывают:

  • простые
  • структурированные
  • указатели
  • объекты
  • процедуры

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

4.1 Целочисленный тип

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

Тип Диапазон Размер в байтах
shortint -128…127 1
integer -32 768…32 767 2
longint -2 147 483 648…2 147 483 647 4
byte 0…255 1
word 0…65 535 2

Объявить целочисленную переменную можно в разделе Var, например:
Var book: word;

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

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

В Паскале бывают следующие вещественные типы данных:

Тип Диапазон Память, байт Количество цифр
Real 2.9e-39 … 1.7e38 6 11-12
Single 1.5e-45 … 3.4e38 4 7-8
Double 5.0e-324 &#8230;1.7e308 8 15-16
Extended 3.4e-4932 … 1.1e493 10 19-20
Comp -9.2e63 … (9.2e63)-1 8 19-20

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

  • sin(x) – синус;
  • cos(x) – косинус;
  • arctan(x) – арктангенс;
  • ln(x) – натуральный логарифм;
  • sqrt(x) – квадратный корень;
  • exp(x) – экспонента.

4.3 Логический тип

Переменная, имеющая логический тип данных может принимать всего два значения: true (истина) и false (ложь). Здесь истине соответствует значение 1, а ложь тождественная нулю. Объявить булеву переменную можно так:
Var A: Boolean;
Над данными этого типа могут выполняться операции сравнения и логические операции: not , and, or, xor.

4.4 Символьный тип

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

  1. как одиночный символ, заключенный в апострофы: ‘W’, ‘V’, ‘п’;
  2. указав код символа, значение которого должно находиться в диапазоне от 0 до 255.
  3. при помощи конструкции ^K, где K – код управляющего символа. Значение K должно быть на 64 больше кода соответствующего управляющего символа.

К величинам символьного типа данных применимы операции отношения и следующие функции:

  • Succ(x) &#8212; возвращает следующий символ;
  • Pred(x) &#8212; возвращает предыдущий символ;
  • Ord(x) &#8212; возвращает значение кода символа;
  • Chr(x) &#8212; возвращает значение символа по его коду;
  • UpCase(x) &#8212; переводит литеры из интервала

4.5 Строковый тип

Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String . Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:

Var <имя_переменной>: string[<длина строки>];

Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s; . В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.
Перечисляемый тип данных

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

Переменная A может принимать лишь значения определенные в разделе Type . Также можно объявить переменную перечисляемого типа в разделе Var:

Var A: (Monday, Tuesday);

К данному типу применимы операции отношения, при этом заранее определенно, что Monday<Tuesday<Wednesday т. д. Также можно применять функции succ, pred, ord, процедуры inc и dec , и использовать операцию присваивания: A:=Tuesday;

4.6 Интервальный тип данных

Когда необходимо задать какой то диапазон значений, то в таких ситуациях применяется интервальный тип данных. Для объявления используется конструкция m..n, где m – минимальное (начальное) значение, а n – максимально (конечное); здесь m и n являются константами, которые могут быть целого, символьного, перечисляемого или логического типа. Описываться величины интервального типа могут как в разделе типов, так и в разделе описания переменных.

TYPE <имя_типа> = <мин. значение>..<макс. значение>;

TYPE Cards = 1..36;

5 Pascal. Операторы ввода-вывода

5.1 Ввод данных

Процедура ввода данных с клавиатуры – Read (читать). Ее можно представить так:

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

Для перевода каретки после выполнения оператора Read на новую строку, следует прибавить окончание ln :

Также можно не указывать список ввода:

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

5.2 Вывод данных

Для вывода данных в Паскале имеется оператор Write . Для того, чтобы каретка переводилась на следующую строку, к нему прибавляется окончание ln и получается Writeln . В общем виде эти операторы имеют вид:

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

Здесь x и y – параметры, заключенные в круглые скобки. Возможно использование оператора вывода и без параметров:

Недостаточно просто вывести значение на экран, нужно также сделать это как можно корректнее. Допустим нам нужно в одном операторе Write вывести значения нескольких переменных ( a=1, b=2, c=3 ). Пишем:

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

1) Вписать пробел вручную, например:

2) Воспользоваться возможностью форматированного вывода:

Двоеточие относиться к переменной, после которой оно следует, и говорит программе, что при выводе (переменной) нужно выделить место, заданное целым числом (в нашем случае это 2), т. е. под значения, хранящиеся в переменных b и c отводиться две клетки, сами они выведутся «прижатыми» к правому краю.

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

Результат выполнения: 32.101

Формат 5 означает, что всего под число 32.1012 выделено 5 клеток, а 2 – из этих пяти под дробную часть отводиться 2 клетки.

6 Выражения с тандартные функции

6.1 Стандартные функции Pascal

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

Функция Назначение
ABS(x) Вычисление абсолютного значения x: |х|
SQR(x) Вычисление квадрата x: x*x
SIN(x) Вычисление синуса x: sin x
COS(x) Вычисление косинуса x: cos x
ARCTAN(x) Вычисление арктангенса x: arctg x
EXP(x) Вычисление экспоненты (числа Е) в степени x
EXP10(x) Вычисление 10 в степени x
LN(x) Вычисление натурального логарифма x
LOG(x) Вычисление десятичного логарифма x
SQRT(x) Вычисление квадратного корня из x
A DIV B Вычисление частного при делении А на В с отбрасыванием остатка
A MOD B Нахождение остатка от делении А на В
TRUNC(x) Нахождение целой части x
RANDOM(x) Псевдослучайное число в интервале [0, x]
ROUND(x) Округление значения x в сторону ближайшего целого
ODD(x) Проверяет аргумент на нечетность. Результат TRUE, если аргумент нечетный, FALSE – если четный.
ORD(x) Возвращает порядковый номер аргумента и, как следствие, преобразует величину порядкового типа в величину целого типа.
CHR(x) Определение символа языка Паскаль по его порядковому номеру
SUCC(x) Нахождение элемента, идущего после данного в перечне допустимых элементов
PRED(x) Нахождение элемента, идущего перед данным в перечне допустимых элементов
FRAC(X) Возвращает дробную часть x
INT(X) Возвращает целую часть x
Pi Значение математической постоянной π
EOF(x) Возвращает TRUE, если файл находится в стоянии “конец файла”, иначе FALSE, если нет конца файла

6.2 Выражения в Pascal

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

1) 12+3*3=21 (12+3)*3=45

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

Такое логическое выражение возвращает истину, лишь в том случае, когда истинны оба выражения, т. е. если a входит в диапазон от 1 до 20 включительно. Стоит обратить внимание на скобки, здесь они необходимы для изменения приоритета, так как у операторов сравнения он низший.

3) (a+3>0) and (a+3<15) or (b>1) and (b<10)

Условие вернет истину, тогда когда истинными будут два условия слева или справа от OR, а также если они оба будут истинными.

Логическая операция OR (или) суть дизъюнкция в логики и поэтому имеет следующую таблицу истинности:

X Y X or Y
0 0 0
0 1 1
1 0 1
1 1 1

Ложь имеет место только когда X и Y ложны (нули). В том случае, чтобы истина возвращалась только тогда, когда одно из условий верно следует применить оператор XOR (исключающее или):

(a+3>0) and (a+3<15) xor (b>1) and (b<10)

В Pascal нет функции возведения числа в степень (кроме степени 2), поэтому существует два пути:

1 — умножать число само на себя, какое то количество раз;

2 — воспользоваться функциями экспоненты и натурального логарифма.

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

Pascal — базовые конструкции и переменные

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

Конструкция begin .. end

Раздел реализации всегда располагается между ключевыми словами begin и end. Этот блок также называется телом (в данном случае — телом программы). begin указывает на то, что дальше идёт какой-то программный код, а end говорит о том, что блок кода закончился.

Каждому begin должен быть поставлен в соответствие определённый end!

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

Любые команды, т.е. строки кода должны как-то отделяться друг от друга, чтобы компьютер понял, что именно мы хотим запрограммировать. Практически во всех языках знаком разделения команд является точка с запятой (" ; "). Однако последняя команда в программе всегда должна заканчиваться точкой (" . "). Последней командой может быть только end, поэтому любая программа заканчивается на " end. ", причём ставить эту точку обязательно.
Некоторые команды не требуют, что после них ставился разделитель ";". Пример такой команды — begin. Ставить точку с запятой после begin’а не нужно, хотя если поставить, то никакой ошибки это не вызовет.
Как правило, каждая команда пишется на отдельной строке. Однако никто не запрещает писать на одной строке несколько команд. Просто такой код гораздо проще прочитать.

Итак, общая конструкция программы получается такой:

begin

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

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

begin

begin
<блок 1>
end ;

begin
<блок 2>
end ;

begin
<блок 3>
end

end .

Обратите внимание, что если несколько end’ов следуют подряд, то ставить между ними разделитель не нужно.

Итак, наконец-то мы знаем всё об общей структуре программного кода. Теперь перейдём к работе с переменными.

Итак, как уже было сказано выше, любая переменная для использования в программе должна быть описана и делается это в разделе описаний. Для описания (объявления) переменных существует ключевое слово VAR . Произошло оно от слова variable (переменная). Каждая переменная описывается следующим образом: сначала пишется её имя (идентификатор), затем ставится двоеточие и дальше указывается тип данных этой переменной.

var A: Integer;

В данном примере мы объявили переменную с именем A и задали для неё тип данных Integer. Типов данных существует очень много, а программистом могут быть созданы и свои собственные типы. Для начала нам потребуются простые типы:

Integer — целое число;
Real — вещественное (дробное число);
Boolean — логическое значение.

Теперь мы знаем, что объявленная нами переменная A может содержать какое-либо целое число.

Для вещественных чисел в языке разделителем целой и дробной части всегда служит точка (" . "). Однако речь идёт только о языке, т.е. в коде это должна быть точка. Когда числа будет вводить пользователь, то может возникнуть ситуация, когда разделителем будет не точка, а запятая. Что делать в данной ситуации, мы узнаем позже.

Наконец, логическое значение — это значение либо "истина" (True), либо "ложь" (False). С этими значениями мы уже сталкивались, когда изучали свойства объектов (например, свойство Visible отвечает за видимость объекта и принимает логическое значение — либо True, либо False).

Теперь разберёмся, как объявлять не одну переменную, а несколько. Итак:

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

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

var A: Real;
var B: Real;
var C: Real;

Естественно, это будет работать, но такая запись громоздка и крайне неудобна.

Применив первое правило, запись несколько сократится:

var A: Real;
B: Real;
C: Real;

Но всё равно немного странно, ведь переменные одного типа! Окончательная запись:

var A, B, C: Real;

Отлично! Коротко и ясно. Именно так и следует объявлять переменные одного типа. Напомню, что всё это пишется в разделе описаний, т.е. выше слова begin.

Теперь рассмотрим операции, которые применимы к переменным, выражениям и т.п.
Самая главная операция — операция присваивания. Эта операция позволяет указать для переменной её значение. В разных языках присваивание делается немного по-разному. В Pascal присваивание осуществляется знаком "двоеточие, равно" ( := ). Слева указывается то, чему присваивается значение, а справа — само значение. Примеры:

В первом случае переменная A принимает значение 10, во втором — переменная K значение 0.5, а третьем — переменная F значение "истина".

Вообще, в языках программирования прижились два способа присваивания — через знак равенства (A = 10) и через :=, как в Pascal. В QBasic, например, дополнительно нужно указывать слово LET (LET A = 10).

Теперь коротко о математических операциях. Они стандартны: сложение — " + ", вычитание — " — ", умножение — " * ", деление — " / ". Обратите внимание, что деление во всех языках программирования записывается именно через косую черту. Никакого двоеточия!

Константы объявляются аналогично переменным, но с небольшими отличиями:

Вместо ключевого слова VAR следует слово CONST (аналогично variablevar, сокращение от constant);
Тип данных указывать необязательно — компилятор автоматически распознаёт его (например, это может быть число, текст и т.д.);
Значение константы указывается после знака равенства.

const g = 9.8;

Ну что ж, пришло время написать первую программу! В качестве примера, пусть это будет программа для нахождения среднего арифметического двух чисел. Поскольку с вводом данных мы ещё не знакомы, занесём данные в программу заранее. Нам важен программный код и результат. Итак, нам будет достаточно одной кнопки на форме (TButton). Дважды щёлкните по кнопке — появится редактор кода. А вот и наша заготовка для данного события (OnClick). Кстати, заготовки событий нужно создавать следующим образом: выделяем нужный объект, переходим в Инспектор Объектов и переключаемся на вкладку Events (события) и напротив названия нужного события делаем двойной щелчок. Открывается редактор кода с заготовкой обработчика события. При двойном щелчке по объекту создаётся обработчик для того события, которое назначено по умолчанию (как правило, это OnClick). Обратите внимание на полученную заготовку:

procedure TForm1.Button1Click(Sender: TObject);
begin

end ;

Этот блок уже является частью программы. Именно здесь мы должны написать наш код, который будет выполняться при нажатии на кнопку. Для начала разберёмся, куда что писать. Раздел реализации виден невооружённым глазом — он между begin и end, которые у нас уже есть (удалять их ни в коем случае не нужно!). Ну а раздел описаний, как и положено, располагается до begin, но тем не менее после первой строки заготовки (procedure . ). Мы не должны уходить за пределы данного блока, ведь именно он связан с событием OnClick.

Ну а теперь за дело! Нам понадобятся 3 переменные: 2 исходных числа и переменная для среднего арифметического. Среднее арифметическое точно может быть дробным числом, а вот будут ли исходные числа целыми или вещественными — решать Вам. Предположим, что они будут целыми. Пишем в разделе описаний:

var A, B: Integer;
S: Real;

Теперь раздел реализации. Так как мы условились, что исходные данные пока что "жёстко" зададим в коде, то сначала присваиваем нашим переменным значения:

Ну а дальше само вычисление:

Как видите, ничего сложного. Всё очень похоже на то, как это можно сделать на бумаге.

Чтобы проверить результат, нам нужно полученное значение как-то отобразить на экране. С приёмами вывода данных мы пока что тоже не знакомы, поэтому придётся немного залезть вперёд. Итак, после строки вычисления значения S добавим следующую строку:

ShowMessage( FloatToStr(S) );

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

Ну а пока что сверим весь получившийся код. Должно получиться так:

procedure TForm1.Button1Click(Sender: TObject);
var A, B: Integer;
S: Real;
begin
A := 10;
B := 20;
S := (A+B) / 2;
ShowMessage(FloatToStr(S));
end ;

Всё, запускаем программу (F9 для тех, кто подзабыл) и нажимаем на кнопку. Если всё верно, то мы увидим число 15, которое является средним арифметическим для чисел 10 и 20:

Результат работы программы

Итак, сегодня мы написали свою первую программу, предварительно познакомившись с некоторыми конструкциями языка Pascal, способами объявления переменных и констант и операциями над ними.

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

Автор: Ерёмин А.А.

Статья добавлена: 26 мая 2007

Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.

Статьи, похожие по тематике

Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:

Ссылка для форумов (BBCode):

Быстрая вставка ссылки на статью в сообщениях на сайте:
<> (буква a — латинская) — только адрес статьи (URL);
<<статья:109>> — полноценная HTML-ссылка на статью (текст ссылки — название статьи).

Поделитесь ссылкой в социальных сетях:

Комментарии читателей к данной статье

Цитата (Адмирал):

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *