Какой массив называется двумерным?




2. Верно ли, что двумерный массив соответствует понятию прямоугольной таблицы (матрице)?

3. Верно ли, что двумерные массивы располагаются в памяти таким образом, что второй индекс изменяется быстрее, чем первый?

4. Как осуществляется доступ каждому элементу двумерного массива?

 

Задачи:

1. Вычислить вектор, равный произведению матрицы A(15,15) и вектора . Полученный вектор нормировать, т.е. каждый элемент разделить на .

2. Для матрицы В(10,8) на место последнего элемента каждой строки записать сумму предыдущих ему элементов в этой строке.

3. В матрице С(9,5) найти среднее арифметическое всех элементов, удовлетворяющих условию .

4. В матрице А(7,9) определить max и min элементы и переставить их местами.

5. В матрице А(8,9) определить среднее арифметическое положительных и отрицательных элементов. Подсчитать количество нулевых элементов.

6. Вычислить , где - количество нулевых элементов в четных строках матрицы В(10,10).

7. В матрице А(6,6) все поддиагональные элементы заменить нулями.

8. В матрице D(10,15) найти сумму элементов каждой четной строки и произведение элементов каждой нечетной строки. Из полученных сумм и произведений образовать массив .

9. В матрице X(12,4) в каждой строке найти сумму элементов, лежащих в интервале . Образовать из этих сумм пятый столбец исходной матрицы.

10. Задана матрица X(7,11). Образовать матрицу Y(7,11) путем деления всех элементов исходной матрицы на ее элемент, наибольший по абсолютной величине.

11. В матрице А(10,10) найти сумму элементов, расположенных в строках с отрицательным элементом на главной диагонали.

12. Задана матрица X(6,6). Вычислить сумму элементов, расположенных на линиях, параллельных главной диагонали и находящихся выше нее.

13. В матрице X(8,8) найти среднее арифметическое элементов, расположенных под главной диагональю; на главной диагонали; над главной диагональю.

14. Задана матрица А(8,12). Построить вектор по следующему правилу: .

15. Даны матрицы А(7,7) и В(7,7). Построить матрицу С(7,7) по следующему правилу: .

16. Дана матрица А(5,10). Построить вектор , i-я компонента которого равна количеству положительных элементов i-строки матрицы А.

17. Дана целочисленная квадратная матрица А порядка n. Найти ее определитель, приведя матрицу к треугольному виду.

18. Целочисленная матрица А порядка содержит сведения о результатах сессии из 4 экзаменов для группы из 25 студентов. Найти количество и фамилии студентов, имеющих все оценки «5».

19. Целочисленная матрица А порядка содержит сведения о результатах сессии из 4 экзаменов для группы из 25 студентов. Найти количество и фамилии студентов, имеющих хотя бы одну оценку «удовлетворительно».

20. Целочисленная матрица А порядка содержит сведения о занятых местах n факультетов по m видам спорта в межвузовской спартакиаде студентов. Расставить факультеты в порядке занятых мест в общекомандном зачете.

 

Литературы:

Основная литература:

1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 с.

2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 с.

3. Вирт Н. Алгоритмы и структуры данных./Пер. с англ. М.: Мир, 1989. - 360 с.

4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 с.

5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Пер. с англ. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 с.

6. Епанешников, Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 с.

7. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 с.

Дополнительная литература:

1. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988. - 224

2. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 с.

3. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 с.

4. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Пер. с англ. - М.: Мир, 1993. - 536.

5. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 с.

6. Фаронов В.В. Паскаль и Windows. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1994. - 539 с.

 

Методические указания:

При необходимости можно нумеровать массивы не одним индексом а двумя и более. Двумерному массиву соответствует матрица в математике, то есть прямоугольная таблица.

Примеры описаний многомерных массивов:

var Matrix: array[1..4,1..3] of real;

Cube3D: array[1..5,1..5,1..5] of integer;

Если каждый элемент массива содержит несколько индексов, то он называется многомерными. Двумерный массив можно представить как таблицу или матрицу, в которой переменные расположены в n строках и m столбцах.

В математике часто используют многомерные массивы. Особенно широкое распространение получили двумерные массивы, иначе матрицы. Такие массивы условно можно изобразить в виде таблицы. Каждый элемент таблицы имеет два индекса, значения которых позволяют указать местоположение элемента. Первый индекс – это номер строки, второй индекс – номер столбца. Если число строк матрицы с числом её столбцов, то матрица называется квадратной.

Про матрицу, имеющую n строк и m столбцов, говорят, что она имеет размер n*m. При решении задач с использованием двумерных массивов во всех случаях организуются вложенные циклы. Вложенные циклы - это циклы, содержащие внутри себя один или несколько других циклов.

Описание двумерных массивов:

Type тип=array[1..n,1..m] of тип элементов;

Var имя массива: тип;

Если границы элементов массивов являются константами, которые могут изменяться для различных вариантов исходных данных, их можно задать в разделе Const. При изменении размеров массивов в этом случае надо будет изменить только значения этих констант в разделе Const.

Решение одного варианта: В массиве X[1..2,1..3] определить максимальный по значению элемент и напечатать значения этого элемента.

 

      program max; type mas=array[1..2,1..3]of real; var A: mas; i,j: integer; max: real; begin {блок заполнения} for i:=1 to 2 do for j:=1 to 3 do readln (A[i,j]); {поиск максимального элемента} max:=A[i,j]; for i:=1 to 2 do for j:=1 to 3 do if A[i,j]>max then max:=A[i,j]; write(‘макс.элемент=’,max); end.  

 

Решение задачи:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: