Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторная работа № 7. Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач.
Тема: МАССИВЫ (ДВУМЕРНЫЕ) Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач. Возможны два варианта объявления двумерного массива в программе: Const n=10; // количество элементов в строке матрицы m=8; // количество строк матрицы Type tTable= array [1..n, 1..m] of integer; // устаревшая форма объявления, массив n*m tVector= array [1..m] of integer; // описана строка таблицы, содержащая m элементов tMatrix= array [1..n] of tVector; // описана таблица состоящая их n строк Var a: tTable; b: tMartrix;
Примечание: Первый вариант не соответствует концепции типов языка Паскаль, т.к. не позволяет получить доступ к отдельной строке таблицы. Возможно обращение либо только к таблице в целом (a, тип – tTable), либо только к отдельному элементу i-ой строки и j-го столбца (a[i, j], тип – integer). Второй вариант позволяет работать как с таблицей в целом (b, тип – tMatrix), так и с компонентами таблицы. i-ая строкой таблицы (b[i], тип – tVector), ячейка таблицы, находящаяся в i-ой строке и j-ом столбце таблицы (b[i][j] тип – integer). Обратите внимание на различие в синтаксисе при обращении к ячейкам таблицы: первый вариант объявления таблицы – a[i, j], второй вариант объявления – b[i][j]. В дальнейшем будет использоваться второй вариант объявления. Типовые алгоритмы обработки двумерных массивов Рассмотрим некоторые типовые алгоритмы обработки двумерных массивов. Положим, что в декларативной части программы описаны следующие переменные: двумерные массивы А и В, переменные целого типа i, j, k, sumMatr, sumVect, nMin. Const n=5; // количество элементов в строке матрицы m=5; // количество строк матрицы Type tVector= array [1..n] of integer; // описана строка таблицы tMatrix= array [1..m] of tVector; // описана таблица состоящая их m строк Var A, B: tMartrix; i, j, // счетчики циклов (номер строки и номер столбца соответственно) k, // счетчик цикла nMin: integer; // номер минимального значения sumVect, sumMatr: integer; // сумма элементов строки и матрицы соответственно
Заполнение двумерного массива случайными числами for i: =1 to n do begin // для каждой строки for j: =1 to m do // для каждого столбца A[i][j]: =random(20)-10; // заполняем элемент (i, j) случайным значением из диапазона
Вывода на экран элементов двумерного массива for i: =1 to n do begin // для каждой строки for j: =1 to m do // для каждого столбца Write(A[i][j], ’, ’); // выводим элемент (i, j) и строку текста «,» после него WriteLn // вывод следующей строки начнется с новой строки экрана end;
|