- •Основы алгоритмизации и программирования
- •Введение
- •1.1. Структура программы
- •1.2. Типы данных
- •1.2.1. Целый тип данных
- •1.2.2. Логические типы данных – Boolean
- •1.2.3. Данные символьного типа
- •1.3. Операторы языка программирования Турбо Паскаль
- •1.3.1. Операции в Турбо Паскаль
- •1.3.2. Правила вычисления выражений
- •1.3.3. Встроенные функции в Турбо Паскаль
- •1.3.4. Описание констант и переменных
- •1.3.5. Операторы в Турбо Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №1 Организация программ линейных структур
- •Варианты заданий
- •2. Организация форматного вывода данных на языке Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №2 Организация ввода-вывода данных на языке Паскаль
- •Методические указания
- •Варианты задания
- •3. Организация программ разветвляющихся структур
- •3.1. Полная форма условного оператора
- •3.2. Краткая форма условного оператора
- •Вопросы для самопроверки
- •Лабораторная работа №3 Организация программ разветвляющихся структур
- •Варианты заданий
- •4. Организация циклических процессов
- •Лабораторная работа №4 Составление циклических программ
- •Варианты заданий
- •Методические указания
- •Варианты заданий
- •5. Программирование структур с вложенными циклами
- •Вопросы для самопроверки
- •Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
- •Методические указания
- •Варианты заданий
- •6. Перечислимые и ограниченные типы данных
- •6.1 Перечислимый тип данных
- •6.2. Ограниченный тип данных
- •6.3. Оператор выбора (варианта)
- •Вопросы для самопроверки
- •Лабораторная работа №6 Перечислимые и ограниченные типы данных
- •Варианты заданий.
- •7. Регулярные типы данных
- •7.1. Одномерные массивы
- •7.1.1. Краткая форма объявления одномерного массива
- •7.1.2. Полная форма объявления одномерного массива
- •7.1.3. Доступ к элементам массива
- •Вопросы для самопроверки
- •Лабораторная работа №7_1 регулярные типы данных. Массивы
- •Варианты заданий
- •7.2. Двумерные массивы
- •Полная форма описания матрицы:
- •Формирование элементов случайным образом:
- •Формирование элементов матрицы при вводе с клавиатуры:
- •Фрагменты программ по обработке 2-х мерных массивов
- •Вопросы для самопроверки
- •Лабораторная работа №7_2 регулярные типы данных. МАтрицы
- •Варианты заданий
- •7.3. Сортировка элементов массива
- •7.3.1. Сортировка методом «пузырька»
- •7.3.2. Сортировка вставками
- •7.3.3. Сортировка посредством выбора
- •7.3.4. Быстрая сортировка
- •8. Составление программ с использованием подпрограмм
- •8.1. Область видимости идентификатора переменной
- •8.2. Подпрограммы - процедуры (procedure)
- •8.2.1. Формальные и фактические параметры
- •Вопросы для самопроверки
- •Лабораторная работа №8_1 составление программ с использованием подпрограмм - процедур
- •Методические указания
- •Варианты заданий
- •8.3. Подпрограммы-функции (function)
- •Вопросы для самопроверки
- •Лабораторная работа №8_2 составление программ с использованием подпрограмм - функций
- •Варианты заданий
- •8.4. Рекурсия
- •8.4.1. Вычисление факториала
- •8.4.2. Формы рекурсивных процедур
- •8.4.3. Числа Фибоначчи
- •Вопросы для самопроверки
- •9. Модули
- •Структура модуля
- •Interface
- •Implementation
- •Вопросы для самопроверки
- •10.2. Стандартные процедуры и функции для строк
- •10.3. Хранение строк
- •Вопросы для самопроверки
- •Лабораторная работа №10 обработка символьной информации
- •Варианты заданий
- •11. Комбинированные типы. Записи (Record)
- •11.1 Записи с фиксированными частями
- •11.2. Оператор with…do
- •11.3. Вариантные записи
- •Вопросы для самопроверки
- •Лабораторная работа №11 Комбинированные типы. Записи
- •Варианты заданий
- •12. Файлы
- •12.1. Классификация файлов
- •12.1.1. Чтение файла
- •12.1.2. Запись файла
- •Вопросы для самопроверки
- •13.1. Объявление множества
- •13.2. Операции над множествами
- •13.3. Сравнение множеств
- •Include (s, I);
- •13.4. Старшинство множественных операций
- •Вопросы для самопроверки
- •Лабораторная работа №13 множества
- •Варианты заданий
- •Горячие клавиши
- •Библиографический список
- •Оглавление Введение 3
- •1. Программирование на языке Паскаль 5
- •1.1. Структура программы 5
- •2. Организация форматного вывода данных на языке Паскаль 17
- •Лабораторная работа №7_1.
- •Лабораторная работа №7_2.
- •Лабораторная работа №8_2.
7. Регулярные типы данных
Массивы – это нестандартный тип данных.
Регулярный тип или массив есть упорядоченный набор данных одинакового типа, у каждого из которых есть свой порядковый номер (индекс).
Элементы массива пронумерованы, и обратиться к каждому из них можно, указав один или несколько индексов.
Вектор или одномерный массив – это пример массива, в котором элементы нумеруются одним индексом. В случае хранения в массиве таблицы значений, то есть матрицы, его элементы нумеруются двумя индексами.
Характеристиками массива являются:
Тип – общий тип элементов массива;
Размерность (ранг) – количество индексов массива;
Диапазон – количество допустимых значений каждого индекса;
Форма – совокупность размерности и диапазонов.
При обращении к элементу массива индекс указывается в квадратных скобках после имени массива. В качестве индекса допускается использование выражения, результатом которого является целое число.
Например,
Значения элементов массива R |
Номер (индекс) элемента массива R | ||||
1 |
2 |
3 |
4 |
5 | |
202 |
210 |
196 |
173 |
200 |
То есть, R[1], R[2], R[3], R43], R[5].
Элементы массива в памяти хранятся по соседству.
7.1. Одномерные массивы
Массив называется одномерным (вектор), если для доступа к его элементу достаточно одной индексной переменной.
Описать массив означает указать диапазон изменения номеров элементов массива и указать тип этих элементов.
7.1.1. Краткая форма объявления одномерного массива
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;