
- •Основы алгоритмизации и программирования
- •Часть 1
- •Содержание
- •Введение. Цель лабораторного практикума
- •1. Лабораторная работа №1. Простейшие программы
- •1.1. Основные конструкции языка программирования Pascal.
- •1.2. Пример составления программы
- •1.3. Варианты заданий на лабораторную работу №1
- •2. Лабораторная работа №2. Разветвляюшиеся вычислительные процессы
- •2.1. Вычислительные процессы с разветвляющейся структурой
- •2.2. Варианты заданий на лабораторную работу №2
- •3. Лабораторная работа №3. Табулирование функции
- •3.1. Вычислительные процессы с циклами
- •3.2. Варианты заданий на лабораторную работу №3
- •4. Лабораторная работа №4. Обработка одномерного массива
- •4.1. Обработка одномерных массивов
- •4.2. Варианты заданий на лабораторную работу №4
- •5. Лабораторная работа №5. Обработка двумерных массивов
- •5.1. Варианты заданий на лабораторную работу №5
- •6. Лабораторная работа №6. Подпрограммы
- •6.1. Разработка вычислительных процессов сложной структуры
- •6.2. Варианты заданий на лабораторную работу №6
- •7. Лабораторная работа №7. Решение нелинейных алгебраических уравнений
- •7.1. Методы решения нелинейных уравнений
- •7.2. Варианты заданий на лабораторную работу №7
- •8. Рекомендации по выполнению лабораторных работ
- •9. Рекомендации по выполнению контрольной работы
- •Рекомендуемая литература
5. Лабораторная работа №5. Обработка двумерных массивов
Цель работы: изучить приемы работы с двумерными массивами при программировании типовых задач.
5.1. Варианты заданий на лабораторную работу №5
Ввести двумерный массив чисел, содержащий N строк и М столбцов. Значения N и М задать самим и лучше взять небольшие, например, 4 строки и 6 столбцов. Выполнить обработку по варианту из таблицы 4. Исходный массив и результаты вывести на экран, при этом двумерный массив выводить в форме матрицы. Для отладки программы значения элементов массива придумать самим.
Пример 5. Преобразовать массив, разделив элементы каждой строки на среднее арифметическое элементов этой строки. Если среднее арифметическое элементов строки равно нулю, строку оставить без изменений.
Блок-схема алгоритма решения задачи представлена на рисунке 5.
program z5;
const kstolb=4;
kstrok=3;
var mas:array[1..kstrok,1..kstolb] of real;
var i,j:integer;
var sa:real;
begin
for j:=1 to kstrok do {*********** }
begin {* ввод }
Writeln ('Vvedite ',j,' stroky:'); {* исходного }
for i:=1 to kstolb do read (mas[j,i]); {* массива }
end; {*********** }
writeln ('Ichodnyi massiv:'); {*********** }
begin {* вывод }
Writeln; {* исходного }
for i:=1 to kstolb do write (mas[j,i]:5:2,' '); {* массива }
end; {*********** }
for j:=1 to kstrok do
begin
sa:=0;
for i:=1 to kstolb do sa:=sa+mas[j,i];
if sa<>0 then for i:=1 to kstolb do mas[j,i]:=mas[j,i]/(sa/kstolb);
end;
writeln;
writeln ('Rezultat');
for j:=1 to kstrok do
begin
Writeln;
for i:=1 to kstolb do write (mas[j,i]:5:2,' ');
end;
end.
Таблица 4. Варианты заданий
-
Вариант
Содержание задания
Сформировать одномерный массив, состоящий из максимальных чисел каждой строки
Преобразовать массив, элементы того столбца матрицы, в котором находится максимальный элемент матрицы, заменить на нули.
Сформировать массив, состоящий из сумм отрицательных чисел каждого столбца
Преобразовать массив, разделив элементы каждой строки на последний элемент этой строки. Если последний элемент строки равен нулю, строку оставить без изменений.
Найти среднее арифметическое отрицательных чисел каждого столбца.
Найти максимальный и минимальный элементы массива и их координаты.
Преобразовать массив, умножив элементы каждого столбца на первый элемент этого столбца.
Преобразовать массив, упорядочив каждую строку матрицы по возрастанию.
Преобразовать массив: все отрицательный числа массива заменить на минимальный элемент этого массива.
Преобразовать массив: найти минимальный элемент массива и поставить его в верхний левый угол массива, а элемент из верхнего левого угла на место минимального.
Сформировать одномерный массив, состоящий из максимальных чисел каждого столбца
Преобразовать массив, элементы той строки матрицы, в которой находится максимальный элемент матрицы, заменить на нули.
Сформировать массив, состоящий из сумм положительных чисел каждой строки
Преобразовать массив, разделив элементы каждого столбца на последний элемент этого столбца.
Найти среднее арифметическое отрицательных чисел каждой строки.
Преобразовать массив, умножив элементы каждой строки на последний элемент этой строки.
Преобразовать массив, упорядочив каждый столбец матрицы по возрастанию
Преобразовать массив: все отрицательный числа массива заменить на максимальный элемент этого массива.
Преобразовать массив: найти максимальный элемент массива и поставить его в верхний левый угол массива, а элемент из верхнего левого угла на место минимального.
Преобразовать массив: поменять местами минимальный и максимальный элементы массива.
Преобразовать массив: элементы строки и столбца матрицы, на пересечении которых находится минимальный элемент заменить на нули.
Преобразовать массив, упорядочив каждый столбец матрицы по убыванию.
Сформировать массив, состоящий из максимальных чисел каждого столбца.
Преобразовать массив, разделив элементы каждой строки на последний элемент этой строки.
Преобразовать массив, разделив элементы каждого столбца на последний элемент этого столбца. Если последний элемент столбца равен нулю, делить элементы этого столбца на 1.