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

Лабораторная работа № 5 Обработка массивов как фундаментальных структур данных в Turbo Pascal

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

Задачи:

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

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

  3. Вывести на экран двухмерный массив в виде матрицы.

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

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

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

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

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

Доступ к каждому элементу массива осуществляется с помощью индекса, который не должен выходить за пределы, описанные типом-диапозоном. Turbo Pascal контролирует использование индексов на этапах компиляции и счета программы. Двумерный массив часто называется матрицей. Матрица представляет собой таблицу, состоящую из нескольких столбцов и строк. Над матрицами можно выполнять различные операции: сложение, умножение, вычитание, транспонирование и другие. Положение элемента в двумерном массиве описывается двумя индексами, например I–номер строки и J–номер столбца. Ввод, вывод и обработка многомерного массива осуществляется вложенными циклами.

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

  1. Привести примеры двух и более мерных массивов в реальной жизни.

  2. Рассмотреть особенности многомерных массивов во вложенных циклах.

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

1. Как изменились алгоритмы обработки массивов для многомерных?

2. Можно ли строки и столбцы простой таблицы рассматривать как двумерный массив при составлении программы на языке программирования Turbo Pascal?

3. Что объединяет типы массив, множество, запись, файловый и объектный тип на языке программирования Turbo Pascal?

Задания:

Вариант

Действия

Условия

Вычислить сумму и количество положительных элементов каждого столбца двухмерного массива A. Результаты отпечатать в строку.

A(3,5).

Aij  0

Вычислить сумму и количество отрицательных элементов каждой строки двухмерного массива B. Результаты отпечатать в столбец.

B(5,3)

Bij < 0

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

C(3,3)

I+J=CONST

Транспонировать квадратную матрицу D. Вывести на печать элементы главной диагонали матрицы D в строку.

D(3,3)

I+J=CONST

Транспонировать квадратную матрицу E. Вывести на печать элементы побочной диагонали матрицы E в столбец.

E(3,3)

I+J=CONST

Найти в каждой строке квадратной матрицы F наибольший элемент и поменять его местами с элементом главной диагонали.

F(3,3)

Fij = MAX

Найти сумму элементов массива G, имеющих заданную разность индексов X (целое, модуль).

G (5,3)

i - j = x

Подсчитать количество и сумму положительных и отрицательных элементов массива G.

G(5,3)

Gij  0, Gij < 0

Найти в каждой строке массива V максимальный и минимальный элемент. Поместить их соответственно на место первого и последнего элемента этой строки массива.

V(2,6)

Vij = MAX

Vij = MIN

Просуммировать элементы массива K, сумма индексов которых равна заданной константе X. (целое).

K(3,5)

i+j=x

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

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

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

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

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

  5. Вывод массива производить в виде матрицы, т. е. по строкам и столбцам.

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

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

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