- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка pascal
- •Оглавление
- •Введение
- •Глава 1 основные понятия .
- •Алфавит языка.
- •Основные определения языка.
- •Составные части программы.
- •Вопросы для самоконтроля
- •Глава 2 стандартные типы данных
- •Данные целого типа.
- •Вычисление об"ема шара
- •Данные действительного типа.
- •Данные логического типа.
- •Данные символьного типа.
- •`Теплоход``маяк``` или `д``артаньян`
- •Описание констант и переменных.
- •Var_имя переменной: тип;
- •Вопросы для самоконтроля
- •Глава 3 выражения.
- •3.1. Стандартные функции.
- •3.2. Арифметические выражения.
- •3.3. Логические выражения.
- •Вопросы для camokohtpoля
- •Глава 4 основы программирования простых задач.
- •4.1. Оператор присваивания.
- •4.2. Понятие о составном и пустом операторах. Назначение символа точки с запятой.
- •Простейший ввод данных.
- •5 Позиций
- •8 Позиций
- •Примеры программирования простых задач.
- •Вопросы для самоконтроля
- •5.1. Условный оператор.
- •Оператор выбора.
- •Оператор перехода.
- •Go to метка
- •Lавеl метка;
- •Label метка 1, метка 2,…, метка n;
- •5.4.Примеры программирования вычислительных процессов с разветвлениями.
- •Глава 6 организация циклических прцессов.
- •Оператор цикла с предварительным условием.
- •Оператор цикла с последующим условием.
- •Операторы циклической части программы
- •Оператор цикла с параметром.
- •Вложенные циклы.
- •Глава 7 основы ввода и вывода.
- •7.1. Оператор ввода.
- •7.2. Оператор вывода
- •Программирование циклических вычислительных процессов.
- •Вопросы для самоконтроля
- •Глава 8 Переменные типы.
- •Перечислимый тип данных.
- •Var а: (зима, весна, лето, осень);
- •Ограниченный тип данных.
- •Вопросы для самоконтроля
- •Глава 9 Сложный тип данных – массивы.
- •Понятие массива.
- •Var_имя массива: array [t1] of_t2;
- •Тип массива.
- •Упакованные массивы.
- •Понятие многомерных массивов.
- •Глава 10 Сложный тип данных – множества.
- •10.1. Множества в языке Паскаль.
- •Var _имя множества: set_of_ базовый тип;
- •Примеры программирования задач с использованием множества
- •Вопросы для самоконтроля
- •Глава 11 Сложный тип данных – записи.
- •Понятие записи.
- •Оператор присоединения.
- •Вопросы для самоконтроля
- •Глава 12 Подпрограммы.
- •Общие сведения.
- •Процедуры и функции.
- •Вопросы для самоконтроля
- •Глава 13 Файлы
- •13.1. Понятие файла.
- •13.2. Чтение файла.
- •13.3. Запись файла.
- •13.4 Чтение и запись файла
- •Вопросы для самоконтроля
Вопросы для самоконтроля
Что понимается под множеством?
Какие вы знаете операции над множествами в математике?
Как записываются операции над множествами в языке ПАСКАЛЬ?
Как задаются множества?
Что такое пустое множество и как оно задается?
Как организовать вывод элементов множества?
Глава 11 Сложный тип данных – записи.
Понятие записи.
Во многих экономических и информационных задачах обрабатываются ведомости, документы, каталоги, списки. При этом появляется необходимость объединять данные различного типа в одну группу. Для работы с группой данных в языке ПАСКАЛЬ введено понятие записи. Запись представляет собой совокупность ограниченного числа данных различного типа. Понятие записи рассмотрим на примере ведомости списка учащихся с их оценками (табл. 11.1).
Таблица 11.1
-
№ п/п
Фамилия И. О.
Оценки
1
Андреев С. Н.
5 3 4
2
Павликова Л. П.
5 5 5
3
Ростоцкий Ю. Т.
4 4 5
Каждая строка в этой ведомости состоит из отдельных элементов — данных различного типа:
а) порядковый номер — целое десятичное число;
б) Фамилия И.О. — массив символов;
в) оценки — массив целых чисел.
Эти данные можно объединить в одну группу и считать записью.
Запись в целом и отдельные ее элементы обозначаются именами. Введем, например, следующие обозначения: В - имя всей записи: N - порядковый номер; ФИО - фамилия, имя, отчество; ОЦЕНКА - оценки.
Обращение к элементу записи в программе выполняется с помощью уточненного (составного) имени. Уточненное имя содержит имя записи и имя элемента и записывается в следующем виде:
(*ИМЯ ЗАПИСИ. ИМЯ ЭЛЕМЕНТА*)
Например,
B.N
В.ФИО
В.Oценка
Записи, как и другие данные, объявляются в разделе описаний и используются в разделе операторов.
Объявленные записи можно делать в разделе переменных VAR или с использованием раздела типов TYPE.
Объявление записи в разделе переменных VAR имеет следующий вид:
VAR _ имя записи: RECORD
имя элемента 1 : тип;
имя элемента 2 : тип;
. . .
имя элемента n : тип;
END;
Здесь служебное слово RECORD (запись) выполняет роль открывающей операторной скобки, END — закрывающей операторной скобки. Внутри операторных скобок описываются элементы записи. Допускается вместо имени записи указывать список имен, т. е. имена записей, разделенные запятыми. Элементы записи вместе с их описанием называются полями записи.
Для представленной ведомости объявление записи выглядит следующим образом:
VAR B:RECORD
N : INTEGER
ФИО: PACKED ARRAY [1..20] OF CHAR;
ОЦЕНКА : ARRAY [1..3] OF INTEGER
END;
Здесь на фамилию выделен упакованный массив из 20 элементов (лишние позиции в фамилии можно заполнять пробелами), на оценки - массив из 3 элементов.
Рассмотрим более универсальную форму объявления записи — с использованием раздела типов TYPE. Объявление имеет вид:
TYPE_имя типа: RECORD
имя элемента 1 : тип;
имя элемента 2: тип;
. . .
имя элемента n: тип;
END;
VAR имя записи : имя типа;
Объявление ведомости можно сделать следующим образом:
TYPE ВЕДОМОСТЬ=RECORD;
N : ITNEGER ;
ФИО : PACKED ARRAY [1..20] OF CHAR
ОЦЕНКА : ARRAY [1..3] OF INTEGER
END;
VAR В:ВЕДОМОСТЬ;
Здесь сначала введен тип записи с именем ВЕДОМОСТЬ, а затем указана переменная В, имеющая тип записи.
Элемент записи используется в программе в том же самом смысле, как и обычная переменная. Таким образом, элемент записи можно указывать как в левой части оператора присваивания, так и в выражениях. Над элементом записи можно выполнять действия, допустимые для данных его типа. Если тип элемента записи — целый, то выполняются все операции, допустимые для целых данных. Так, для рассмотренной ведомости над элементами записи можно произвести, например, следующие операции: порядковому номеру N записи В присвоить значение 2:
B.N : = 2
найти сумму трех оценок:
S : = В.ОЦЕНКА [1] + В. ОЦЕНКА [2] + В. ОЦЕНКА [3]
ввести значения порядкового номера:
READ(B,N)
Обращение к записи в целом, а не только к ее элементам, допускается лишь в операторе присваивания. Слева и справа от знака присваивания при этом должны использоваться имена записей одинакового типа.
