
- •Введение Обозначения
- •Аппаратные средства компьютера
- •Назначение основных клавиш на клавиатуре
- •Программные средства компьютера
- •Системы счисления
- •Лабораторная работа № 1. Операционная система на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 2. Текстовые документы на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 3. Электронные таблицы на компьютере Терминология
- •Порядок выполнения
- •Пример таблицы с формулами
- •Пример таблицы с результатами вычислений
- •Контрольные вопросы
- •Лабораторная работа № 4. Базы данных на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 5. Растровая и презентационная графика на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 6. Программирование последовательных вычислений Элементы языка Pascal
- •Операции и функции в языке Pascal
- •Порядок выполнения
- •Примеры программ на языке Pascal
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 7. Программирование разветвлений Алгоритм линейной структуры
- •Алгоритм разветвляющейся структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 8. Программирование циклов Алгоритм циклической структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 9. Программирование задач с одномерными массивами Одномерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик одномерного массива
- •Фрагменты операций с одномерными массивами
- •Контрольные вопросы
- •Лабораторная работа № 10. Программирование задач с двумерными массивами Двумерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик строк и столбцов двумерного массива
- •Фрагменты операций с двумерными массивами
- •Квадратные матрицы
- •Контрольные вопросы
- •Лабораторная работа № 11. Программирование процедур и функций Подпрограммы
- •Порядок выполнения
- •Дополнительное задание
- •Примеры задач
- •Контрольные вопросы
- •Лабораторная работа № 12. Программирование структурных типов данных Файлы
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
Лабораторная работа № 10. Программирование задач с двумерными массивами Двумерные массивы
Двумерный массив (матрица) – одномерный массив, элементы которого также являются одномерными массивами. Матрица имеет вид:
.
Пример 1.
.
Элемент
массива – величина, входящая в состав
массива. Индекс – порядковый номер
строки или столбца в двумерном массиве.
Двумерные массивы обычно обозначаются
так:
;
, где
A – массив; m
– количество строк; n
– количество столбцов; i
– индекс строки; j –
индекс столбца; aij
– элемент массива A
в i-й строке и j-м
столбце.
Описание двумерного массива в разделе описания переменных (var) на языке Pascal имеет вид:
Mas : array [ IMin .. IMax , JMin .. JMax ] of T
Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax , индексы столбцов от JMin до JMax , а также состоит из элементов типа T .
Пример 2. Var A:array[1..10,1..15] of real;
Это означает, что A – массив, который может содержать от 1 до 10 строк и от 1 до 15 столбцов из элементов вещественного типа.
Доступ к элементу двумерного массива на языке Pascal имеет вид:
Mas [ Ind1 , Ind2 ]
Это означает доступ к элементу массива Mas с индексом строки Ind1 и индексом столбца Ind2.
Пример 3. a[1,1]; b[i,j].
Это означает элемент массива A в 1-й строке и 1-м столбце, элемент массива B в i-й строке и j-м столбце.
Порядок выполнения
Зайти в Borland Pascal.
Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера.
Исправить программу так, чтобы она находила сумму и произведение элементов выше главной диагонали.
Исправить программу так, чтобы она находила минимальное и максимальное значение отрицательных элементов.
Исправить программу так, чтобы она находила количество нулевых и среднее значение положительных элементов.
Пример задачи
Задача 1. Дан двумерный массив A (m, n). Найти сумму и произведение всех элементов, а также вычислить минимальный и максимальный элементы. |
Program lab10; Var A: array [1..10,1..15] of real; i, j, m, n: integer; s, p, min, max: real; Begin writeln('Введи m,n'); read(m,n); writeln('Введи массив A'); for i:=1 to m do for j:=1 to n do read(A[i,j]); s:=0; p:=1; min:=A[1,1]; max:=A[1,1]; for i:=1 to m do for j:=1 to n do begin s:=s+A[i,j]; p:=p*A[i,j]; if A[i,j]<min then min:=A[i,j]; if A[i,j]>max then max:=A[i,j]; end; writeln('s=',s:10:3,' p=',p:10:3, ' min=',min:10:3,' max=',max:10:3); End. |
|
Контрольный пример. |
||
Исходные данные: |
. |
|
Результаты: |
|
Дополнительное задание
Дан массив B (m, n). Найти сумму положительных элементов и количество элементов в диапазоне от 10 до 20.
Дан массив C (m, n). Найти произведение элементов, больших среднего значения.
Дан массив D (m, n). Найти среднее значение среди элементов, не совпадающих с минимальным.
Дан массив L (n, n). Найти максимальный среди отрицательных элементов и сумму элементов на главной диагонали.
Дан массив P (n, n). Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить.
Сформировать двумерный массив A (m, n), элементы которого вычисляются по формуле:
, где R (m, n) – двумерный массив случайных величин.
Дан массив R (m, n). Найти произведения элементов в каждой строке и максимальные элементы в каждом столбце.
Дан массив W (m, n). Найти суммы элементов в каждом столбце и минимальные элементы в каждой строке.
Дан массив S (m, n). Найти массив минимальных элементов в каждой строке, а затем в новом массиве отсортировать элементы по возрастанию.
Дан массив T (m, n). Отсортировать столбцы по убыванию их средних значений.