Пример описания двумерного массива Паскаля Лабораторная работа № 5. Тема: Разработка, отладка и испытание программ обработки двумерных массивов. Цель работы: 1. Научиться организовывать ввод и вывод двумерного массива. 2. Осуществлять типовые действия над двумерными массивами (подсчет суммы, произведения элементов массива). 3. Осуществлять поиск в двумерном массиве (максимального элемента, минимального элемента, элемента с заданными свойствами, максимального и минимального элемента в строке (столбце)). Программное обеспечение: Pascal (TP или BP), или ABCPascal, или FreePascal. Аппаратное обеспечение: ЭВМ типа IBM. Порядок выполнения работы 1. Записать тему и цель лабораторной работы. 2. Ознакомиться с краткими теоретическими сведениями по теме лабораторной работы. 3. Ответить на контрольные вопросы (ответы на контрольные вопросы оформить в отчет). Выполнить практическую часть работы. Задание №1_Обработка и поиск в двумерном массиве Задание №2. Обработка двумерных массивов. Оформить отчет о проделанной работе. К одной любой задаче разработать блок-схему. 6. Защитить работу и сдать ее преподавателю. Контрольные вопросы 1. Поясните понятия двумерного массива, матрицы. 2. Приведите пример описания двумерных массивов на языке PASCAL. 3. Что такое размерность двумерного массива? Как осуществляется доступ к отдельному элементу двумерного массива? Что обозначают индексы матрицы? Приведите примеры. 4. Какого типа могут быть элементы и индексы двумерного массива? 5. Какими способами может быть заполнен двумерный массив? Приведите примеры. 6. Приведите пример фрагмента программы, который выводит на экран двумерный массив в виде матрицы. 7. Как определить минимальный и максимальный объём памяти, отводимой под двумерный массив? Приведите пример. Краткие теоретические сведения Двумерные массивы Паскаля – матрицы Двумерный массив в Паскале трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов). Положение элементов в двумерных массивах Паскаля описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы. Рассмотрим двумерный массив Паскаля размерностью 3*3, то есть в ней будет три строки, а в каждой строке по три элемента:  Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a (2,1) – это элемент, стоящий во второй строке и в первом столбце. Описание двумерного массива Паскаля. Существует несколько способов объявления двумерного массива Паскаля. Мы уже умеем описывать одномерные массивы, элементы которых могут иметь любой тип, а, следовательно, и сами элементы могут быть массивами. Рассмотрим следующее описание типов и переменных: Пример описания двумерного массива Паскаля Type Vector = array [1..5] of <тип_элементов>; Matrix= array [1..10] of vector; Var m: matrix; Мы объявили двумерный массив Паскаля m, состоящий из 10 строк, в каждой из которых 5 столбцов. При этом к каждой i -й строке можно обращаться m [ i ], а каждому j -му элементу внутри i -й строки – m [ i , j ]. Определение типов для двумерных массивов Паскаля можно задавать и в одной строке: Type Matrix= array [1..5] of array [1..10] of < тип элементов >; или еще проще: type matrix = array [1..5, 1..10] of <тип элементов>; Обращение к элементам двумерного массива имеет вид: M [ i , j ]. Это означает, что мы хотим получить элемент, расположенный в i -й строке и j -м столбце. Тут главное не перепутать строки со столбцами, а то мы можем снова получить обращение к несуществующему элементу. Например, обращение к элементу M [10, 5] имеет правильную форму записи, но может вызвать ошибку в работе программы. |