- •Часть 1
- •Предмет и задачи информатики
- •История эвм
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Операционная система
- •Кодирование Двоичный код
- •Кодирование чисел
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Представление цвета в машинной графике
- •Кодирование звуковой информации
- •Прикладное программное обеспечение Системы обработки текстов
- •Интегрированный пакет Microsoft Office
- •Текстовый процессорWord
- •Создание в документе листа Microsoft Excel
- •О рисунках и других графических объектах
- •Закрепление областей листа
- •Скрытие и отображение столбцов и строк
- •Выделение фрагментов документа
- •Ввод данных с клавиатуры
- •Ввод текста
- •Ввод чисел
- •Ввод формул с клавиатуры
- •Установка границ ячеек
- •Работа с диаграммами
- •Работа с базами данных Основные понятия
- •Объекты базы данных
- •Запросы
- •Страницы
- •Макросы и модули
- •Безопасность баз данных
- •Технологии программирования
- •Алгоритм, программа
- •Интегрированная среда разработки приложений в Delphi
- •Стандарт и диалекты языка
- •Основы Паскаля
- •Основные понятия языка Алфавит
- •Имена и идентификаторы
- •Программные элементы
- •Описания
- •Раздел констант
- •Типизированные константы
- •Переменные
- •Функции и процедуры
- •Правила записи текста программы
- •Концепция данных
- •Основные типы данных Целые типы
- •Битовые операции
- •Вещественные типы
- •Тип дата-время
- •Символьные типы
- •Логические типы
- •Выражения
- •Оператор присваивания
- •Составной оператор
- •Раздел меток
- •Оператор перехода
- •Пустой оператор
- •Раздел типов
- •Условный оператор
- •Перечислимые типы (перечни)
- •Оператор варианта
- •Ограниченные типы
- •Операторы цикла
- •Операторы цикла с параметром
- •Оператор цикла с постусловием
- •Оператор цикла с предусловием
- •Регулярные типы (массивы)
- •Многомерные массивы
- •Комбинированные типы (записи)
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •ПроцедураExit
- •Процедурные типы
- •Множественные типы
- •Оглавление
- •Часть 1
Правила записи текста программы
<разделитель текста>::=<пробел>!<конец строки>!<комментарий>
<комментарий>::={<любая последовательность символов, кроме { и }>}
Между двумя последовательными конструкциями языка, любая из которых является идентификатором, числом или служебным словом, обязательно должен находиться хотя бы один разделитель текста.
Разделители текста не должны встречаться внутри идентификаторов, чисел и служебных слов.
Кроме случаев, указанных в предыдущем пункте, между двумя последовательными основными символами языка может встречаться любое число разделителей текста.
Концепция данных
Под термином данныепринято понимать представление фактов и (или) идей в формализованном виде, пригодном для передачи и обработки в некотором процессе. Смысл, который человек приписывает данным посредством принятых соглашений, называетсяинформацией.
Заметим, что одни и те же данные могут нести разную информацию, например, число 5 может означать оценку ответа, количество предметов и т.д. Цель обработки данных – получение новой информации.
В программах обрабатываемые данные фигурируют в качестве значений программных объектов. Данные, которые зафиксированы в тексте и не изменяются в процессе выполнения программы, являются значениями таких программных объектов, как константы; остальные данные являются значениями объектов, называемыхпеременными.
В компьютере любые данные представляются в двоичном коде. Алгоритмические языки позволяют абстрагироваться от конкретного способа представления данных за счет концепции типа значений.Каждыйпредусмотренный в языке тип данныхопределяет множество значений этого типа и набор операций над ними.Способ изображения этих значений в конкретной вычислительной системе не играет существенной роли при формулировании алгоритма и может не учитываться.
Для упрощения разработки и формулирования алгоритмов и повышения наглядности их записи, обрабатываемые данные могут объединяться в структуры, организованные тем или иным способом. Заметим, чтоотдельное данное, например, число можно рассматривать как частный случай структуры –тривиальная структура данных.
Структуру данных можно рассматривать как нечто целое, как значение некоторого программного объекта, что позволяет достаточно просто и удобно оперировать как со структурой в целом, так и с отдельными ее элементами. В Паскале предусмотрен достаточно богатый набор классов допустимых структур, причем в рамках этих классов программист может вводить любые удобные для него структуры данных.
Все имеющиеся в Паскале типы значений,или просто типы, можно разбить на две группы:основные(простые) ипроизводные. Основные типы являютсяэлементарнымии каждое значение этих типов состоит из единственного данного, т.е. является тривиальной структурой данных. Все основные типы данных, кроме ссылочного типа, принято называтьскалярными. Скалярные типы либо относятся кстандартным, которые зафиксированы в языке, либо определяются программистом с помощью соответствующих заданий типов. Поскольку для каждого определяемого типа в программе должно содержаться явное его задание (описание), то такие типы иначе называютописаннымискалярными типами. Стандартные типы в программе описываться не должны.
В языке OBJECT PASCAL имеется 7 групп основных типов:
целые;
логические (булевы);
символьные;
перечни;
интервальные (диапазоны);
вещественные;
дата-время.
Среди простых типов перечень и интервальный тип определяются программистом, а остальные – встроенные. Первые пять групп типов относятся к порядковым.
Порядковые типы обладают тем свойством, что среди элементов соответствующего множества допустимых значений установлен линейный порядок, т.е. относительно любых двух различных его элементов определено, какой из них предшествует другому. Для порядковых типов существует ряд встроенных стандартных функций:
Операции |
Выполняемые действия |
Low(T) |
Минимальное значение типа T |
High(T) |
Максимальное значение типа T |
Ord(X) |
Порядковый номер значения X |
Pred(X) |
Возвращает предыдущее значение для X |
Succ(X) |
Возвращает следующее значение для X |
Dec(X) |
Уменьшает X на единицу |
Inc(X) |
Увеличивает X на единицу |
Производные типыобразуются из других типов, которые могут быть основными или производными. В общем случае значение производного типа является нетривиальной структурой данных. В Паскале любой производный тип, используемый в программе, должен быть определен в ней, а так как определение типа производится с помощью описания типа, товсе производные типы принято относить к описанным.
Следует подчеркнуть, что любой описанный тип, т.е. тип, ввоиый в употребление программистом,определяет лишь множество знаеий этого типа– набор же допустимых операций над ними и правила упорядочения зафиксированы в языке и не могут быть изменены по желанию программиста.
К структурированным производным типам относятся:
множества;
массивы;
записи;
файлы;
объектный тип (тип класса);
тип ссылки на класс.
Каждый тип должен быть каким-либо образом специфицирован для выделения его среди всех возможных типов. В ряде языков для этой цели используются спецификаторыиз числа служебных слов. В Паскале же в качестве спецификаторов типов используются не служебные слова, а обычные имена (идентификаторы). Это связано с тем, что в Паскале набор допустимых типов жестко не фиксируется, так что заранее просто невозможно зафиксировать соответствующий набор служебных слов. Поэтому при введении в употребление нового типа значений с помощью соответствующего описания этому типу дается некоторое имя, которое и выполняет роль спецификатора типа.
Для достижения единообразия и большего удобства, за стандартными типами (не требующими явного описания в программе) закреплены стандартные имена. В стандарте Паскаля предусмотрено четыре стандартных типа значений: целый, вещественный, символьный и логический.