- •Введение
- •Лабораторная работа № 1 Знакомство с системой программирования Turbo Pascal
- •Лабораторная работа № 2 Программирование алгоритмов условных (разветвляющихся) процессов в Turbo Pascal
- •Лабораторная работа № 3 Программирование алгоритмов циклических процессов в Turbo Pascal
- •Лабораторная работа № 4 Обработка структурированных типов данных в Turbo Pascal
- •Лабораторная работа № 5 Обработка массивов как фундаментальных структур данных в Turbo Pascal
- •Лабораторная работа № 6 Обработка символьных данных в Turbo Pascal
- •Лабораторная работа № 7 Программирование с использованием процедур и функций с элементами структуризации программ в Turbo Pascal
- •Лабораторная работа № 8 Обработка файловых структур данных в Turbo Pascal
- •Лабораторная работа № 9 Разработка диалоговых программ в Turbo Pascal
- •Лабораторная работа № 10 Программирование кнопок в Borland Delphi
- •Лабораторная работа № 11 Программирование ветвлений в Borland Delphi
- •Лабораторная работа № 12 Табулирование функций в Borland Delphi.
- •Лабораторная работа № 13 Представление данных в табличном и графическом виде средствами Borland Delphi
- •Лабораторная работа № 14 Основы профессиональных информационных технологий
- •Часть 2. На первом листе рабочей книги табличного процессора Microsoft Excel составить список из 10 наименований, содержащий сведения о…
- •Лабораторная работа № 15 Основы функционирования информационной системы Microsoft Access.
- •Литература
- •4.1. Основная литература
- •4.2. Дополнительная литература
Лабораторная работа № 5 Обработка массивов как фундаментальных структур данных в Turbo Pascal
Цель: Изучить способы описания и основные принципы обработки многомерных массивов на языке программирования Turbo Pascal.
Задачи:
Разработать алгоритм решения в соответствии с заданием.
Составить блок-схему и программу решения.
Вывести на экран двухмерный массив в виде матрицы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы 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. Можно ли строки и столбцы простой таблицы рассматривать как двумерный массив при составлении программы на языке программирования 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 |
Порядок выполнения:
Открыть Turbo Pascal.
Составить алгоритм и, по нему, блок-схему.
Запрос размерности массива осуществлять с клавиатуры.
Заполнение массива производить так, чтобы можно было знать, какой элемент вводится.
Вывод массива производить в виде матрицы, т. е. по строкам и столбцам.
Набрать программу, ввести данные и зафиксировать результат.
Сделать выводы по полученным результатам работы.