- •Глава 1
- •Свойства алгоритма
- •Словесный способ записи алгоритма.
- •Структурно-стилизованный способ записи алгоритма.
- •Программный способ записи алгоритма.
- •Графический способ записи алгоритма.
- •Циклическая структура с постусловием
- •Циклическая структура с предусловием
- •Циклическая структура с параметром
- •Глава 2
- •Символы разделители:
- •Зарезервированные слова
- •Стандартные идентификаторы
- •Стандартные константы
- •Операции div и mod
- •Стандартные функции
- •Правила написания арифметических выражений
- •Возведение в степень
- •Раздел описания меток
- •Раздел описания констант
- •Раздел описания переменных
- •Раздел определения типов данных
- •Перечисляемый тип
- •Интервальный тип
- •Раздел описания процедур и функций
- •Раздел var ?
- •Глава 3
- •Оператор присваивания
- •Оператор безусловного перехода goto
- •Оператор вызова процедуры
- •Пустой оператор
- •Составной оператор
- •Условные операторы
- •Операторы повтора
- •Глава 4
- •Линейная сортировка
- •Метод сортировки Шелла
- •Метод прямого обмена (пузырьковый метод)
- •Глава 5
- •Глава 6
- •Цветовая шкала
- •Стандартные стили заполнения
- •Стиль линии
- •Толщина линии
- •Построение прямоугольников
- •Построение дуг и окружностей
- •Глава 1 3
- •Глава 2 36
- •Глава 3 78
- •Глава 4 130
- •Глава 5 157
- •Глава 6 167
Стандартные константы
Таблица 2.3
идентификатор |
тип |
значение |
описание |
pi |
real |
3.1415926536 |
число Пи |
true |
boolean |
True |
истина |
false |
boolean |
False |
ложь |
maxint |
integer |
32 767 |
максимальное целое число |
maxlongint |
longint |
2 147 483 647 |
максимальное длинное целое число |
П еременными называют величины, которые могут менять свои значения в процессе выполнения программы.
В программировании переменную можно трактовать как одну или несколько ячеек памяти, которым присвоено определенное имя (идентификатор). Содержимое ячеек может меняться, но имя остается неизменным. Каждое новое значение, записанное в ячейку памяти «затирает» предыдущее значение, поэтому в любой момент времени переменная имеет только одно текущее значение. Обычно переменные используются для хранения исходных данных, результатов программы, промежуточных результатов.
Переменная имеет имя, значение и тип. Тип переменной определяет ее допустимые значения, а также операции которые можно над нею выполнять. Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие – либо действия.
Все переменные описываются в специальном разделе, который начинается зарезервированным словом var.
Примеры:
var a, b: integer;
P:real;
2.3 ТИПЫ ДАННЫХ ЯЗЫКА ПАСКАЛЬ
Каждый тип данных характеризуется так называемым кардинальным числом — количеством различных значений, принадлежащих типу. Для каждого типа данных должен быть строго определен набор операций, которые можно применять при обработке данных этого типа.
Важнейший принцип Паскаля: все используемые в программе имена должны быть описаны до их употребления. Описать идентификатор, значит указать тип связанного с ним объекта программы.
Т ип данных — множество значений, которые могут принимать объекты программы, и совокупность операций, допустимых над этими значениями.
К простым (скалярным) типам данных относят типы данных таких величин, значения которых не содержат составных частей. Простые типы делятся на стандартные и пользовательские (перечисляемый и интервальный). Стандартные типы предлагаются пользователю разработчиками языка Паскаль.
Структурированные типы базируются на простых типах и могут содержать их различные комбинации.
Структуру типов данных представим в следующем виде:
|
|
|
|
|
|
|
|
|
|
|
|
Структурированные:
множественный
регулярный (массивы)
комбинированный (записи)
файловый
Строковый
Ссылочный (указатели)
Процедурные
Объектные
Целочисленные типы, символьный, логический и пользовательские типы данных образуют группу так называемых порядковых типов, имеющих большое значение.
Тип данных очень важен при выделении памяти под переменные, поскольку каждому типу соответствует строго определенный размер ячейки памяти. В любом случае этот размер ограничен, следовательно, все типы данных имеют ограниченный диапазон значений (см. таблицу 6 и таблицу 8). Этот факт не согласуется с нашими математическими представлениями о числовых множествах. Тем не менее, с ним приходится считаться.
2.3.1 Целочисленные типы данных
Целый тип представляет собой подмножество целых констант, которые могут занимать в памяти от 1 до 4 байт.
Таблица 2.4
Название типа |
Диапазон значений |
Требуемая память (байт) |
byte |
0 .. 255 |
1 |
shortint |
-128 .. 127 |
1 |
word |
0 .. 65 535 |
2 |
integer |
-32 768 .. 32 767 |
2 |
longint |
-2 147 483 648 .. 2 147 483 647 |
4 |
Обычно переменные этого типа используются в арифметических выражениях, для организации счетчиков, индексации элементов массива. Значения целых типов могут отображаться в программе в десятичном виде и в шестнадцатеричном виде (в начале числа ставится знак $, а цифры старше 9 обозначаются латинскими буквами от A до F). Наиболее часто в простейших программах используется тип integer.
Пример:
var x, y : word;
Запись x:=68000 будет неверна, т.к. для переменной x типа word с диапазоном от 0 до 65535 произойдет переполнение – выход из допустимого для определенного типа данных диапазона значений.
Над данными этого типа определены операции:
арифметические (стандартные): сложение (+), вычитание (-), умножение (*) и деление нацело (/);
div и mod;
отношения (=, <>, <, >, <=, >=), вырабатывающие результат логического типа.
Результат выполнения арифметических операций (кроме деления), а также div и mod над целыми операндами получается также целого типа.
Следует знать:
Операции над целыми числами определены лишь тогда, когда исходные данные (операнды) и результат лежат в этом интервале. Иначе может возникнуть переполнение. Пользователь должен сам следить, чтобы промежуточные результаты арифметических выражений не выходили из диапазона.
Дело в том, что при действиях с целыми числами тип результата соответствует типу операндов. Например, для переменных типа integer, принимающих значения a=2000, b=4000, в арифметическом выражении a*b/a возникает переполнение. При вводе исходных данных результат составит не 4000, как это можно было бы ожидать, а 2304. Предупреждения об ошибке не возникнет.
Причина состоит в том, что мы, указав в разделе описания переменных для величин а и b тип integer, зарезервировали в памяти место для хранения только целых чисел, принимающих значения в интервале от -32768 до 32767. Промежуточный результат операции умножения a*b получится число 8000000, который превышает верхнюю границу этого диапазона. Избежать всего этого можно с помощью скобок: a*(b/a).