Var/ru
Var является ключевым словом, которое используется для двух разных целей:
- обозначает начало секции объявления переменных
- указывает, что параметры в функцию или процедуру передаются по ссылке вместо передачи по значению
Объявление переменных
Var используется для обозначения секции, где объявляются переменные и их типы. Переменные обычно объявляются в начале программы, процедуры, функции или модуля.
Если вы собираетесь использовать несколько переменных одного и того же типа, они могут быть сгруппированы, поэтому они определяются одинаково. В этом случае переменные должны отделяться друг от друга запятой.
Передача по ссылке
Когда var используется перед параметром процедуры или функции, то это означает, что параметр является параметром-переменной. Параметр-переменная используется для получения данных из процедуры или функции, а также для передачи данных в процедуру или функцию:
Использование Var, Integer, Readln.
Процедура Readln используется не только для задержки экрана. Ее основная задача — ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом для описания переменных Var, а также с одним из типов данных, используемых в Pascal.
В строке №3 мы записываем служебное слово Var. Оно используется для объявления переменных. Переменные – это различные значения, числа или слова, которые могут меняться в процессе выполнения программы. Когда мы вводим с клавиатуры числа или буквы, они записываются в переменые. После слова Var через пробел указываем идентификатор переменной (т.е ее название, которое мы придумываем сами). Переменные – это не служебные слова, программист задает их сам. В данном случае мы задали одну переменную «n» и в дальнейшем мы будем использовать только эту переменную. После записи переменной через двоеточие указывается тип данных. Существует несколько типов данных Один из них — Integer (целый). Он дает понять программе, что наша переменная «n» может быть только целым числом, лежащим в диапазоне от -32768 до 32767. Использование различных типов данных зависит от конкретных потребностей программиста при написании программы. Самое главное на данном этапе понять, что если в своей программе вы собираетесь использовать какое-то число, то для него нужно указать переменную (в нашем случае «n») и тип данных (в нашем случае Integer).
В строке №7 мы записываем оператор для ввода данных с клавиатуры Readln. Этот оператор вызывает встроенную процедуру ввода данных и на этом этапе программа останавливается и начинает ждать ввода данных. Мы уже использовали этот оператор для задержки экрана. В данной программе после оператора Readln в круглых скобках указывается наша переменная «n». То число, которое мы будем вводить с клавиатуры, запишется в эту переменную. Соответственно, это число должно соответствовать параметрам переменной, т.е. должно быть целым, лежащим в диапазоне -32768 до 32767. После того как программа дойдет до 7-ой строки, она выведет на экран сообщение «Введите число с клавиатуры: » и будет ждать. На этом этапе мы должны ввести какое-то число и нажать Enter.
Строка №8. Здесь мы записываем оператор вывода на экран Writeln. Он будет выводить сообщение «Вы ввели число», а также будет выводить значение нашей переменной «n» (т.е. то значение, которое мы введем с клавиатуры). Заметьте, что в строке №8 перед переменной «n» мы ставим запятую, а сама переменная не заключается в апострофы.
Синтаксис программ [ править ]
В данной секции располагаются определенные пользователем константы. Синтаксис объявления констант выглядит так:
Секция «var» [ править ]
Данная секция предназначена для переменных и массивов. Переменные объявляются так:
Простейшие типы [ править ]
Тип строка [ править ]
Тип строка — это тип переменных, который позволяет хранить в переменной любой текст. Объявление строковой переменной:
Строки могут быть не более 255 символов. Изначальное значение строковых переменных — это «пустая строка» — ».
| Операция | Описание |
|---|---|
| s1 + s2 | Объединение строк |
| s1*n | Дублирование строки n раз |
Тип целое число integer [ править ]
Кроме типа string в PascalABC.Net есть еще тип целое число — «integer». Само число a может принимать (в PascalABC.Net) значения от -32768 до 32767. Пример объявления переменной типа integer:
| Операция | Описание |
|---|---|
| a + b | Сложение чисел |
| a — b | Разность чисел |
| a * b | Произведение чисел |
| a div b | Целочисленное деление |
| a mod b | Остаток от деления |
Тип вещественное число real [ править ]
Декларация переменной типа real:
Пример присваивания переменной данного типа:
| Операция | Описание |
|---|---|
| a + b | Сложение чисел |
| a — b | Разность чисел |
| a * b | Произведение чисел |
| a / b | Частное чисел |
Тип символ [ править ]
Тип символ или «char» используется в основном для хранения одного любого символа вне зависимости от того, является ли данный символ буквой или цифрой. Объявление переменной символьного типа:
Секция «begin — end» [ править ]
Данный раздел программы содержит все команды, выполняемые при ее запуске. Данная секция программы выглядит так:
Комментарии [ править ]
Комментарий — это часть кода, которую игнорирует компилятор. Он создается следующим образом:
Массивы [ править ]
Массивы — это именованный список элементов одного типа.
P. S. Для работы с массивами существует учебный модуль Arrays.
Статические [ править ]
Статические массивы имеют фиксированный размер. Общий синтаксис объявления данных массивов выглядит так:
, где N — длина массива.
Матрицы [ править ]
Двумерные [ править ]
Матрица — это n-мерный список значений, имеющий свой тип и ограниченный некоторыми значениями. Пока будем рассматривать только статические двухмерные и трехмерные матрицы. Перед тем, как перейти к их изучению вспомни таблицы в Excel. Каждая таблица имеет свой размер — ширину и длину. Возьмем за правило ассоциировать двухмерные матрицы с таблицами. Объявление матрицы:
, где N, M количество строчек и столбцов соответственно.
Трехмерные [ править ]
Трехмерный матрицы обладают третьим измерением:
N-мерные матрицы [ править ]
Декларация N-мерной матрицы:
, где A..Z означают количество элементов в соответствующем измерении.
Статические и динамические массивы [ править ]
Динамические массивы позволяют управлять количеством элементом в каждом из их измерений во время выполнения программы.
Понятие индекса массива [ править ]
Индекс массива — это номер элемента массива. Индекс может принимать значения [0, N — 1], где N — количество элементов некоторой размерности. Обращение к элементу одномерного массива с некоторым индексом:
Составим таблицу, которую следует запомнить:
Где i, j, k — индексы.
Индекс в виде значения элемента массива [ править ]
Индексом может быть значение элемента массива:
Операторы, стандартные процедуры и функции [ править ]
Вывода на экран [ править ]
Вывод текста [ править ]
Вывести текст — это значит отобразить текст на экране. Общий синтаксис для вывода текста выглядит так:
Вывод значений переменных [ править ]
Вывод значений произвольного количества переменных:
Для перехода на новую строку после вывода последнего значения используйте Writeln вместо Write.
Ввод данных с клавиатуры [ править ]
Чтение с клавиатуры — это процесс ввода данных с клавиатуры и запись в соответствующий элемент программы этих данных. Элементами программы являются как переменные, так и элементы массивов. Тип данных, вводимых с клавиатуры, должен соответствовать типу элемента, в который записываются данные с клавиатуры. Использование Readln для чтения с клавиатуры и перехода на новую строку:
Условный оператор [ править ]
Общий синтаксис условного оператора if:
Команды <команда_1>. <команда_N> будут выполнены только при истинности условия.
Сравнение [ править ]
Условные обозначения в программировании операций сравнения приведены в таблице:
| Операция | Эквивалент в Паскале |
|---|---|
| ≤ (меньше или равно) | <= |
| ≥ (больше или равно) | >= |
| < (меньше) | < |
| > (больше) | > |
| = (равно) | = |
| ≠ (не равно) | <> |
Общий синтаксис сравнения двух величин:
Оператор case [ править ]
Оператор case используется для сопоставления значения некоторого выражения с константными значениями:
Если некоторое i-тое константное выражение совпадает с значением выражения, то i-ая группа операторов будет выполнена. Группа операторов после else будет выполнена, если значение выражения не совпало ни с одной из констант. begin — end не нужны, если после двоеточия только один оператор.
Оператор цикла while [ править ]
Оператор цикла позволяет выполнять группу операторов (или один) циклически пока условие является истинным.
Счетчик [ править ]
«Счетчик» — это оператор цикла for, выполняющий группу операторов определенное количество раз. Общий синтаксис оператора цикла for:
Если второе значение меньше первого — используйте downto вместо to.
Оператор break [ править ]
Для выхода из цикла можно использовать break:
Новая итерация цикла [ править ]
Для завершения текущей итерации цикла и начала другой используйте оператор continue.
Функции [ править ]
Общий синтаксис описания функции:
Можно устанавливать значение переменной Result для указания возвращаемого значения.
Структура программы на языке программирования
Структура программы, написанной на Турбо Паскале, состоит из заголовка программы и двух основных частей: раздела описаний и раздела операторов.
Слово PROGRAM зарезервировано в Pascal и используется для объявления имени программы. Заголовок программы необязателен и игнорируется компьютером.
Каждая операция описания, как и любое действие оператора, заканчивается символом « ; ».
Этот разделитель в языке Pascal отмечает конец оператора или описания. Использование особого разделителя позволяет располагать несколько операторов в одной строке.
Зарезервированное слово BEGIN сигнализирует компилятору о начале другой части программы – раздела операторов. Завершает всю программу зарезервированное слово END. Точка оповещает компилятор о конце текста программы.
Обязательной частью являются лишь тело программы (раздел операторов). Заголовок программы является хотя и необязательным, но желательным элементом.
Раздел описаний
Раздел описаний состоит из следующих подразделов:
· Подключение внешних модулей, необходимых для использования хранящихся в них наборов констант, типов данных, переменных, процедур и функций, которые можно использовать в своей программе;
· Описание меток, используемых в программе;
· Описание констант, объявляются идентификаторы, которые не могут изменять своего значения в «теле» программы. Исключение составляют лишь типизированные константы;
· Задание типов, определение идентификаторов типов для дальнейшего их использования;
· Объявление переменных, описываются идентификаторы, которые могут изменять свои значения в "теле" программы;
· Описание функций и процедур, содержит процедуры и функции, написанные программистом.
Порядок размещения подразделов произвольный, можно создавать несколько одинаковых подразделов.
Раздел операторов
Раздел операторов содержит все операторы (команды), которые будут выполнены во время запуска программы, выделяется словами
После END ставится точка, что означает конец программы. Всё, что в дальнейшем буден написано после «END.» не воспринимается компилятором, и соответственно, будет проигнорировано в процессе исполнения программы.
Алфавит языка. Лексика языка
Язык программирования Turbo Pascal (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавитом языка называют совокупность всех допустимых символов, которые можно использовать в этом языке.
Синтаксис – система правил для записи допустимых конструкций языка программирования.
Семантика определяет смысловое значение предложений языка.
Основными понятиями в языках программирования обычно являются алфавит языка, константы, переменные, встроенные функции, логические и арифметические выражения.
Алфавит языка Паскаль включает:
- Прописные и строчные буквы латинского алфавита от A до z. Нет различий между заглавными и строчными буквами при их использовании для определения имен идентификаторов, кроме случая, когда слово связано с текстовыми константами;
- Символ подчеркивания ( _ ), который тоже считается буквой;
- Арабские цифры 0 1 2 3 4 5 6 7 8 9;
- Знаки арифметических операций: + — * / ^
- Специальные символы: . , : ; < >[ ] ( )% # ! $ &@
- Буквы русского алфавита используются только для записи текстовых констант и комментариев к программе.
Следующие комбинации специальных символов являются едиными символами, которые нельзя разделять пробелами:
больше или равно;
меньше или равно;
ограничители комментариев (наряду с < >);
Пробелы — это символ пробела (ASCII-32) и все управляющие символы кода ASCII (от 0 до 31).
К специальным символам относятся также служебные (зарезервированные) слова, смысл которых определен однозначно и которые не могут быть использованы для других целей. Для языка — это единые символы.
Служебные слова языка Турбо Паскаль: absolute, and, array, begin, case, const, div, do, downto, else, end, external, file, for, forward, function, goto, if, implementation, in, inline, interface, interrupt, label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.
Последние версии языка Турбо Паскаль содержат также ряд служебных слов, относящихся к работе с объектами и встроенным ассемблером.
Идентификаторы
Идентификатором называется символическое имя определенного программного объекта. Идентификатор — произвольная последовательность латинских букв, арабских цифр и символов подчеркивания. Идентификатор необходим для обозначения основных объектов языка: константы, переменные, типы данных, процедуры, функции, программы.
В языке программирования Паскаль нельзя использовать в качестве идентификаторов:
· зарезервированные слова (выделяются белым цветом);
· имена встроенных процедур и функций;
· имена, начинающиеся не с латинской буквы или не с символа подчеркивания;
· имена, содержащие символы кроме латиницы, арабских цифр и символа подчеркивания;
· слова, разделенные пробелом.
Строчные и прописные буквы в идентификаторах и служебных словах не различаются.
Длина идентификатора ограничена длинной программной строки (126 символов), но компилятор различает только первые 63 символа.
Комментарии
Конструкции следующего вида представляют собой комментарии и, поэтому, игнорируются компилятором:
(любой текст, не содержащий символ «>»>
(* любой текст, не содержащий символы «*)» *)
Комментарий, содержащий знак $ после открывающей скобки является директивой компилятора.
<$I+>-проверка ошибок ввода/вывода;
<$R+>-проверка границ переменных;
Комментарий может располагаться в любом месте программы.
Типы данных языка программирования Турбо Паскаль
Любые данные Турбо Паскаля характеризуются своими типами. Тип определяет:
- Формат представления данных в памяти компьютера;
- Множество допустимых значений, принимаемое переменной или константой, принадлежащей к выбранному типу;
- Множество допустимых операций применимых к этому типу;
Тип переменной определяется при ее декларации. Одна из базовых концепций Паскаля заключается в жесткой проверке соответствия типов в операциях присваивания.
Типы данных в языке ТП делятся на 5 основных классов:
- Простые типы;
- Структурированные типы;
- Ссылочные типы;
- Процедурные типы;
- Объектные типы;
Простые типы данных
К простым типам данных относятся числовые (целые и вещественные) типы, логический, символьный, перечисляемый и диапазонный (интервальный) тип.