
- •Введение
- •Базовые элементы и структура языка pascal.
- •1.1. Алфавит и словарь языка.
- •Структура программы.
- •1.3 Простые типы данных.
- •1.4. Константы.
- •1.5. Стандартные функции.
- •1.6. Процедуры ввода-вывода.
- •1.7. Знаки операций.
- •1.8. Совместимость и преобразование типов данных.
- •1.9. Примеры программ.
- •1.10. Упражнения.
- •2. Операторы ветвления.
- •2.1 Условный оператор if.
- •2.2 Оператор выбора.
- •2.3. Примеры программ.
- •2.4 Упражнения.
- •3. Операторы цикла.
- •3.1. Цикл While.
- •3.2. Цикл Repeat.
- •3.3. Цикл for.
- •3.4. Примеры программ.
- •3.5. Упражнения.
- •4. Одномерные массивы.
- •4.1. Описание, принцип работы с одномерными массивами.
- •4.2. Заполнение одномерных массивов.
- •4.3. Примеры.
- •4.4. Упражнения.
- •5. Двумерные массивы.
- •5.1 Описание двумерных массивов.
- •5.2 Заполнение двумерного массива.
- •5.3 Примеры.
- •5.4. Упражнения.
- •6. Строки.
- •6.1.Описание переменных строкового типа.
- •6.2 Примеры.
- •6.3 Упражнения.
- •Приложение. Меню интегрированной среды разработки.
- •Литература.
5. Двумерные массивы.
5.1 Описание двумерных массивов.
Двумерный массив представляет собой матрицу. Индекс двумерного массива состоит из номера строки и номера столбца, на пересечении которых находится элемент. К элементу двумерного массива обращаются, указывая через запятую номер строки и номер столбца, например, a[3,3], a[1,2].
Объявление двумерного массива аналогично объявлению одномерных массивов:
Const n=4; m=3;
Type mas= array[1..m,1..n] of integer;
Var a,b:mas;
5.2 Заполнение двумерного массива.
Присвоить элементам двумерного массива значения можно, также как для одномерного:
1) вводя значения с клавиатуры;
2) случайными числами;
3) вычисляя значение по формуле.
Примеры заполнения двумерного массив, содержащего 8 строк и 12 столбцов случайными числами:
1) построчно (индекс строк меняется медленнее, чем индекс столбца)
for i:=1 to 8 do
for j:=1 to 12 do
a[i, j]:=random(100);
2) по столбцам (индекс столбца меняется медленнее, чем индекс строки)
for j:=1 to 12 do
for i:=1 to 8 do
a[i, j]:=random(100);
5.3 Примеры.
1. Найти минимальный по модулю элемент каждой строки матрицы.
Program example1;
Const m=5; n=8;
Var a:array[1..m, 1..n] of real;
i,j:integer;
jmin:integer;{номер строки с минимальным элементом}
begin
for i:=1 to m do
for j:=1 to n do
Read(a[i,j])
for i:=1 to m do begin
jmin:=1;
for j:=2 to n do
if abs([a[i,j]) < abs(a[i, jmin]) then jmin:=j;
writeln(’минимальный по модулю элемент в строке ‘,i, ‘ в столбце ‘, j, ‘равен ’ a[i, jmin]:5:1)
end
end.
2. В двумерном массиве а(5,5) найти среднее арифметическое значение чётных элементов массива.
Program example2;
Const m=5; n=5;
Var a:array[1..m, 1..n] of integer;
S, k, i, j: integer;
Sr:real;{среднее значение чётных элементов }
begin
for i:=1 to m do
for j:=1 to n do
Read(a[i,j])
S:=0;
K:=0;
for i:=1 to m do begin
for j:=2 to n do
if a[i, j] mod 2=0 then
begin
s:=s+a[i, j];{сумма чётных элементов}
k:=k+1; {количество чётных элементов}
end;
if k=0 then writeln(‘чётных элементов в массиве нет’)
else begin
sr:=s/k;
writeln(‘sr=’,sr:5:2)
end;
end.
5.4. Упражнения.
В матрице А(8,8) найти сумму элементов главной диагонали.
В матрице A(10,12) поменять местами строки с минимальным и максимальным элементами.
В матрице Х(8,5) найти среднее арифметическое значение максимальных элементов в каждой строке.
В матрице В(10,8) найти минимальный и максимальный элементы в каждой строке и их порядковые номера.
В матрице В(9,7) найти минимальный и максимальный элементы в каждом столбце и их порядковые номера.
В матрице С(10,12) найти отрицательные элементы и их порядковые номера. Сформировать из этих элементов массив.
Найти минимальное и максимальное значение элементов главной диагонали матрицы В(8,8), их порядковые номера. Значения элементов определить по формуле:
где:
- порядковый номер элемента в столбце
и в строке. При делении на 0 элемент
массива принять равным 10.
В матрице С(8,11) найти отрицательные элементы в каждой строке и их сумму.
В матрице В(6,6) найти чётные значения элементов, их порядковые номера, количество и сумму.
Транспонировать матрицу Х(6,6).
Найти сумму элементов до максимального и минимального значения в матрице А(6,9).
В массиве В(3,3) поменять местами столбец, содержащий максимальный элемент, со столбцом, содержащим минимальный элемент.
Найти сумму элементов той строки массива А(3,3), в которой расположен максимальный элемент строки.
Найти наибольшую сумму из сумм каждой строки массива М(4,4).
Сформировать массив из минимальных элементов столбцов матрицы А(4,4).
Дан массив А(10) и массив В(3,3). В массиве В заменить нулями те элементы, которые имеют нечетную сумму индексов и превосходят среднее арифметическое значение элементов массива А.
Написать программу, которая удаляет из массива В(10,12) элементы, меньше заданной величины и освободившиеся места заполняет нулями.