Перечислимые и ограниченные типы данных
Цель работы. Ознакомление с перечислимыми типами и оператором варианта.
Задание. Знакомство с перечислимыми типами данных и оператором варианта.
Постановка задачи (в соответствии с заданием варианта).
Варианты заданий.
1. По заданному номеру квартала определить месяцы данного квартала.
2. По заданному номеру месяца определить количество дней в данном месяце.
3. По заданному номеру месяца определить название следующего месяца.
4. По заданному дню недели определить следующий и предыдущий день недели.
5. По заданному числу из диапазона 1..9 определить, кратно ли оно 2, или 3, или 6.
6. По заданному номеру месяца определить название предыдущего месяца.
7. По заданному числу из диапазона 1..9 определить, кратно ли оно 5, или 3, или 2.
8. По заданному значению цвета радуги определить его порядковый номер.
9. По заданному значению цвета радуги определить следующий номер цвета.
10. По заданному значению цвета радуги определить предыдущий цвет.
11. По заданному значению цвета определить названия стран, чей флаг включает данный цвет.
12. По заданному названию страны вывести имя президента.
13. По заданному названию реки вывести название материка, где данная река берёт своё начало.
14. По заданному номеру билета вывести размер выигрыша.
15. По заданному названию принтера вывести его производителя.
16. По заданному названию музыкальной группы вывести его солиста.
17. По заданному названию книги вывести его авторов.
18. По заданному имени преподавателя вывести названия предметов, которые он преподаёт.
19. По заданному значению вывести, принадлежит ли буква и латинскому и русскому алфавиту.
20. По заданному значению объёма определить внешнее запоминающее устройство, которое ему соответствует (например, 1,44Мб – флоппи-диски, 700Мб - CD-RW, или CD-R80 и так далее).
21. По заданному значению формата листа вывести ширину и высоту листа.
22. По заданному типу транспорта определить категорию водителя.
23. По заданной марке машины определить область применения.
24. По заданному месяцу определить время года.
25. По заданному значению температуры определить состояние воды (лёд, нормальное, пар).
26. По заданному среднему значению баллов за сессию определить успеваемость студента.
27. По заданному количеству букв вывести список имён.
28. По заданному знаку зодиака вывести период времени, которым определяется данный знак.
29. По заданному значению года определить, чей это год (год лошади, змеи и так далее).
30. По заданному названию страны вывести её столицу.
Регулярные типы данных
Массивы – это нестандартный тип данных.
Регулярный типилимассив есть упорядоченный набор данных одинакового типа, у каждого из которых есть свой порядковый номер (индекс).
Элементы массива пронумерованы, и обратиться к каждому из них можно, указав один или несколько индексов.
Вектор или одномерный массив – это пример массива, в котором элементы нумеруются одним индексом. В случае хранения в массиветаблицы значений, то есть матрицы, его элементы нумеруются двумя индексами.
Характеристиками массива являются:
- Тип – общий тип элементов массива;
- Размерность (ранг) – количество индексов массива;
- Диапазон – количество допустимых значений каждого индекса;
- Форма – совокупность размерности и диапазонов.
При обращении к элементу массива индекс указывается в квадратных скобках после имени массива. В качестве индекса допускается использование выражения, результатом которого является целое число.
Например,
Значения элементов массива R | Номер (индекс) элемента массива R | |||
То есть, R[1], R[2], R[3], R43], R[5].
Элементы массива в памяти хранятся по соседству.
Одномерные массивы
Массив называется одномерным (вектор), если для доступа к его элементу достаточно одной индексной переменной.
Описать массив означает указать диапазон изменения номеров элементов массива и указать тип этих элементов.
Краткая форма объявления одномерного массива
Var
<Имя_массива> : ARRAY [нач_индекс..кон_индекс] OF <Тип_данных>;
При объявлении массива необходимо определить, каким образом (в каких пределах) производится нумерация элементов, указав начальное и конечное значение [начальный_индекс .. конечный_индекс] для индексной переменной.
Например, [1 .. 5] или [2 .. 7].
Здесь, тип индекса – ограниченный: от 1 до 5 или от 2 до 7.
Тип индекса используется только в разделе описания массива, а индекс указывается в разделе операторов для обозначения конкретных элементов массива.
Тем самым указывается и число элементов в массиве – его размер.
Например, [1 .. 5] и [2 .. 7] – это 5 и, соответственно, 6 элементов в каждом массиве.
Размер массива ограничивается только объёмом рабочей памяти компьютера.
Кроме того, необходимо указать идентификатор, то есть имя массива. Например, Massive, Index, Name.
Определим массивы различного типа:
Var
Massive : arrary [1 .. 5] of real;
Index : arrary [2 .. 7] of integer;
Name : arrary [1 .. 5] of string [25];
В первом примере объявлена переменная – массив, состоящая из пяти элементов типа REAL, доступ к которым осуществляется с помощью индекса, значение которого лежит в интервале от 1 до 5. Элемент массива Index имеет тип INTEGER. Индекс для этого массива может изменяться в интервале от 2 до 7. Размерность массива – шесть элементов. Массив Name отличается от массива Matrix тем, что его элементами являются строки, которые могут иметь длину до 25 символов включительно.
Примечание. Переменные любого типа данных, кроме файловых типов, могут использоваться для создания массивов.
Если несколько массивов имеют одинаковый тип индексов и одинаковый тип элементов, то допускается в описании объединять массивы в список.
Например,
Var A, B, C : ARRAY [1..50] OF REAL;