Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 51 стр.

UptoLike

51
b
11
b
12
b
13
b
21
b
22
b
23
Ее описание может быть следующим:
VAR B : ARRAY [1..3,1..2] OF INTEGER;
Так как тип элементов INTEGER и длина элемента этого типа равна четырем байтам, а
количество элементов в массиве 3 * 2 = 6, то обьем оперативной памяти, занимаемый
массивов, составляет 24 байта. Элементы двумерного массива В расположены в памяти
следующим образом: b
11
, b
12
, b
13
, b
21
, b
22
, b
23
- упорядочение выполнено по строкам, а
затем по столбцам.
Обращаясь к элементу второй строки третьего столбца, достаточно записать B[2,3].
7.2. Организация структурных циклических процессов
При организации таких процессов в качестве параметра цикла практически всегда удобно
использовать индекс массива. При работе с векторами организуются простые циклы. Если
размерность массива превышает единицу, то в этом случае организуются вложенные
циклы. При программировании структурных циклов удобно использовать оператор цикла с
параметром - FOR.
Пример.
Составить программу для вычисления суммы положительных элементов каждой строки
матрицы А(10х8).
Для решения этой задачи небезразлично, какой цикл будет внешним. Внешний цикл
определяет изменение индексов строк, а внутренний - номера элементов по строке, то есть
индекс столбцов. Перед внутренним циклом необходимо задать начальное значение
суммы SUM = 0. Так как значения индексов строк и столбцов определены, можно
воспользоваться оператором цикла FOR.
Программа имеет вид:
Program Sunstr;
Const
nm = 10;
mm = 8;
Var
sum : real;
n, m, i, j : integer;
a : array [1..nm, 1..mm] of real;
astr : array [1..nm] of real;
Begin
{ Ввод данных }
WriteLn('Введите количество строк и столбцов матрицы:');
Readln(n, m);
WriteLn('Введите построчно значения элементов матрицы.');
For i:= 1 to n do
begin
WriteLn('Строка ', i:2:0, ' :');
For j:= 1 to m do
Read(a[i,j]);
WriteLn;
end;
{ Выполнение суммирования }
For i:= 1 to n do { внешний цикл по индексу строк }
Begin { начало тела внешнего цикла }
sum:=0;
For j:= 1 to m do { внутренний цикл по индексу столбцов}
                              b11   b12   b13
                              b21   b22   b23

Ее описание может быть следующим:
VAR B : ARRAY [1..3,1..2] OF INTEGER;
Так как тип элементов INTEGER и длина элемента этого типа равна четырем байтам, а
количество элементов в массиве 3 * 2 = 6, то обьем оперативной памяти, занимаемый
массивов, составляет 24 байта. Элементы двумерного массива В расположены в памяти
следующим образом: b11, b12, b13, b21 , b22 , b23 - упорядочение выполнено по строкам, а
затем по столбцам.
Обращаясь к элементу второй строки третьего столбца, достаточно записать B[2,3].
7.2. Организация структурных циклических процессов
При организации таких процессов в качестве параметра цикла практически всегда удобно
использовать индекс массива. При работе с векторами организуются простые циклы. Если
размерность массива превышает единицу, то в этом случае организуются вложенные
циклы. При программировании структурных циклов удобно использовать оператор цикла с
параметром - FOR.
Пример.
Составить программу для вычисления суммы положительных элементов каждой строки
матрицы А(10х8).
Для решения этой задачи небезразлично, какой цикл будет внешним. Внешний цикл
определяет изменение индексов строк, а внутренний - номера элементов по строке, то есть
индекс столбцов. Перед внутренним циклом необходимо задать начальное значение
суммы SUM = 0. Так как значения индексов строк и столбцов определены, можно
воспользоваться оператором цикла FOR.
Программа имеет вид:
Program Sunstr;
Const
   nm = 10;
    mm = 8;
Var
    sum        : real;
    n, m, i, j : integer;
    a          : array [1..nm, 1..mm] of real;
    astr       : array [1..nm]     of real;
Begin
    { Ввод данных }
    WriteLn('Введите количество строк и столбцов матрицы:');
    Readln(n, m);
    WriteLn('Введите построчно значения элементов матрицы.');
    For i:= 1 to n do
    begin
      WriteLn('Строка ', i:2:0, ' :');
      For j:= 1 to m do
       Read(a[i,j]);
      WriteLn;
    end;
    { Выполнение суммирования }
    For i:= 1 to n do { внешний цикл по индексу строк }
    Begin { начало тела внешнего цикла }
       sum:=0;
       For j:= 1 to m do { внутренний цикл по индексу столбцов}

                                                                                     51