5) Фрагменты операций с двумерными массивами
1. Ввод элементов массива |
writeln('Введи массив A'); for i:=1 to m do for j:=1 to n do read(A[i,j]); |
2. Вывод элементов массива |
writeln('Массив A'); for i:=1 to m do begin for j:=1 to n do write(A[i,j]:10:3); writeln; end; |
3. Замена элементов массива на величину z |
for i:=1 to m do for j:=1 to n do A[i,j]:=z; |
4. Увеличение элементов массива на величину z (аналогично уменьшение, умножение, деление) |
for i:=1 to m do for j:=1 to n do A[i,j]:=A[i,j]+z; |
5. Вычисление элементов массива B прибавлением к элементам массива A величины z (аналогично отниманием, умножением, делением) |
for i:=1 to m do for j:=1 to n do B[i,j]:=A[i,j]+z; |
Фрагменты операций с одномерными массивами
1.Ввод элементов массива |
writeln('Введи массив A'); for i:=1 to n do read(A[i]); |
2.Вывод элементов массива |
writeln('Массив A'); for i:=1 to n do writeln(A[i]:10:3); |
3.Замена элементов массива на величину z |
for i:=1 to n do A[i]:=z; |
4.Увеличение элементов массива на величину z (аналогично уменьшение, умножение, деление) |
for i:=1 to n do A[i]:=A[i]+z; |
5.Вычисление нового массива B прибавлением к элементам массива A величины z (аналогично вычитанием, умножением, делением) |
for i:=1 to n do B[i]:=A[i]+z; |
6.Вычисление индекса максимального элемента imax (аналогично минимального) |
max:=A[1]; imax:=1; for i:=2 to n do if A[i]>max then begin max:=A[i]; imax:=i; end; |
|
c:=A[1]; A[1]:=A[2]; A[2]:=c; |
6. К примеру, при вычислении суммы для строки, сначала задается цикл для строк, в котором при переходе на следующую строку значение переменной обнуляется, и далее следует цикл для столбцов, в котором значение каждого столбца складывается с переменной. А при вычислении суммы для столбцов все то же самое,но сначала задается цикл для столбцов, а потом для строк.
Что означает каждая строка в приведённой программе
Program lab5; |
Программа по имени lab5 |
Var |
Раздел описания переменных |
A: array [1..10,1..15] of real; |
А-массив,который может содержать от 1 до 10 строк и от 1 до 15 столбцов из элементов вещественного типа |
i, j, m, n: integer; s, p, min, max: real; |
Элементы i, j, m, n-целые числа; s, p, min, max-переменные вещественного типа |
Begin |
Начало раздела операторов(или начало составного оператора) |
writeln('Введи m,n'); read(m,n); |
Ввод пояснительного текста 'Введи m,n'; Ввод переменных 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]; |
Переменной s присваивается значение s+A[i,j]; (вычисление суммы) Переменной р присваивается значение 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); |
Вывод пояснительного текста 's,p,min,max=' и числового значения переменной s, p,min,max, занимающего 10 позиций, в т.ч. 3 цифры после запятой |
End. |
Конец программы |
