Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_IP.doc
Скачиваний:
21
Добавлен:
27.11.2019
Размер:
841.22 Кб
Скачать

Лабораторная работа № 4 Обработка структурированных типов данных в Turbo Pascal

Цель: Изучить способы описания и основные принципы обработки одномерных массивов на языке программирования Turbo Pascal.

Задачи:

  1. Разработать алгоритм решения в соответствии с заданием.

  2. Составить блок-схему и программу решения.

  3. Подготовить тест для проверки правильности функционирования программы.

Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.

Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.

Краткое изложение основных теоретических и методических аспектов:

1. Структурированные типы данных характеризуется:

  1. множественно­стью образующих элементов, когда переменная или константа имеет несколько компонентов;

  2. все компоненты должны быть одного типа;

  3. компоненты упо­рядочены, доступ к обеспечивается указанием его номера.

    1. Массив – это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.

Описание массива задается следующим образом:

var Имя_массива: ARRAY [размерность] OF тип_элементов;

где имя_массива - идентификатор; ARRAY - массив; OF - из;

В качестве размерности массива можно использовать любые порядковые типы, обычно тип-диапазон, в котором задаются изменения индексов. Тип элементов - любой, он может быть и другим массивом. Глубина вложенности структурированных типов - произвольная. Число элементов массива должно задаваться заранее. Если необходимо использование массивов переменной размерности, то описываются массивы с максимально возможным числом элементов, а реально используется только часть. Заполнение и вывод массива можно осуществить с клавиатуры, с помощью генератора случайных чисел RANDOM или из файла.

Оператором присваивания передать все элементы одного массива другому массиву того же типа. Hад массивами не определены операции отношения.

С пособ выделения памяти для хранения элементов массива регулируется с помощью зарезервированного слова PACKED (упакованный), что должно уменьшить объем памяти, выделяемый под переменные этого типа.

TYPE Имя_массива = PACKED ARRAY [размерность] OF тип;

Для описания массива в программе используются циклы со счетчиком. Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа или выражения порядкового типа. Индекс не должен выходить за пределы, описанные типом-диапозоном.

Самостоятельно изучить вопросы:

  1. Рассмотреть возможности пользовательских типов данных.

  2. Изучить классические алгоритмы обработки массивов: ввод и вывод, вычисление суммы, произведения и среднего арифметического, нахождение количества элементов, удовлетворяющих условию.

  3. Ознакомиться с особенностями алгоритма поиска максимального или минимального значения и их порядкового номера.

  4. Рассмотреть алгоритм вставки и удаления элементов из массива.

Контрольные вопросы:

1. Описать классификацию типов данных, принятую для Turbo Pascal?

2. Что включает в себя понятие «пользовательские типы»? Почему, по вашему мнению, они так называются?

3. Привестие примеры перечисляемого и структурированного типов данных.

Задания:

Вариант

Действия

Условия

Вычислить сумму и количество элементов массива A, находящихся в диапазоне. Определить максимальный элемент массива A и его порядковый номер.

A(10)

0  Ai  1

Подсчитать количество нулевых элементов массива B. Определить минимальный элемент массива B и его порядковый номер.

B(10)

Bi = 0

Вычислить среднее арифметическое положительных элементов массива C. Определить максимальный элемент массива C и его порядковый номер.

C(10)

Ci  0

Вычислить сумму и количество элементов массива D, находящихся в диапазоне. Определить максимальный элемент массива D и его порядковый номер.

D(10)

-1  Di  1

Заменить элементы массива F, имеющих четные порядковые номера на А. После определить минимальный элемент массива F и его порядковый номер.

F(10)

i MOD2 = 0

А=100

Определить порядковый номер элементов массива G равных заданному числу X. Определить минимальный элемент массива G и его порядковый номер.

G(10)

G i =X

Заменить элементы массива K не больше 15 их кубами. После этого определить минимальный элемент массива K и его порядковый номер.

K(10)

Ki  15

Заменить отрицательные элементы массива L на их квадраты. После этого определить максимальный элемент массива L и его порядковый номер.

L(10)

Li  0

Увеличить на 2 все элементы массива M, которые больше 10. После этого определить минимальный элемент массива M и его порядковый номер.

M(10)

Mi  10

Найти минимальный и максимальны элемент массива Y(10) и поменять их местами.

Yi = МАX

Yi = MIN

Порядок выполнения:

  1. Открыть Turbo Pascal.

  2. Составить алгоритм и, по нему, блок-схему.

  3. Запрос количества элементов в массиве осуществлять с клавиатуры.

  4. Заполнение массива производить так, чтобы можно было знать, какой элемент вводится.

  5. Вывод массива производить в виде ряда значений в строку или столбец.

  6. Набрать программу, ввести данные и зафиксировать результат.

  7. Сделать вывод по полученным результатам работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]