• Прочитайте программу. (по строкам, что чего делает и зачем.) 70 баллов

    question img

Ответы 1

  • Во-первых - я перепишу программу:
    1. const
    2.    N = 10;
    3. var
    4.    A: array[1..N, 1..N] of integer;
    5.    B: array[1..N] of integer;
    6.    S, i, j: integer;
    7. begin
    8.    for i := 1 to N do
    9.        for j := 1 to N do
    10.            A[i, j] := random(100);
    11.    
    12.    for i := 1 to N do
    13.        begin
    14.            for j := 1 to N do
    15.                Write(A[i, j], ' ');
    16.            Writeln();
    17.        end;
    18.    
    19.    for i := 1 to N do
    20.        begin
    21.            S := 0;
    22.            for j := 1 to N do
    23.                S := S + A[i, j];
    24.                B[i] := S;
    25.        end;
    26.    
    27.    for i := 1 to N do
    28.        Write(B[i], ' ');
    29. end.

    Я ничего в ней не изменял кроме того, что оформил, как подобает. Начнём разбор:

    На строках 1-2 мы объявляем неизменную переменную, которая хранит в себе число. За что отвечает число - разберём ниже.

    На строках 3-6 мы объявляем массив A с размерностью [1..N, 1..N] (вот, что значит та неизменная переменная. Неизменная, потому что массивы в обычном Pascal имеют неизменное количество элементов) и массив B с размерностью [1..N]. Также объявляем переменную S, i и j. Могу сказать сразу, переменные с именами i и j и типом integer создаются исключительно для работы с итерациями и циклами.

    На строках 8-10 мы используем двойной цикл, чтобы заполнить наш двумерный массив псевдослучайными числами от 0 до 100 не включая, то есть от 0 до 99 (так работает функция random).

    На строках 12-17 мы выводим данный массив.

    На строках 19-25 заключён смысл всей программы. Для начала стоит вспомнить, что такое двумерный массив (матрица). Переменная i в нашем случае обозначает строку, а j, соответственно, столбец. Первый цикл с переменной i останавливается на определённой строке, а второй цикл с переменной j проходит все элементы данной строки. Можем заметить, что во втором цикле фигурирует запись сложения переменной S со значением массива. Эта запись говорит о том, что с помощью цикла в переменную S заносится сумма всех элементов i-той строки. Поясню:

    Пусть N (размерность массива) = 3, i - номер итерации, S - сумма элементов i-й строки, а B - массив, хранящий сумму i-й строки.

    Первый столбец - номер строки, второй - элементы массива, третий - сумма.

    i = 1  | 1 2 3  | S = 1 + 2 + 3 = 6    | B[1] = 6i = 2 | 4 5 6 | S = 4 + 5 + 6 = 15  | B[2] = 15i = 3 | 7 8 9  | S = 7 + 8 + 9 = 24 | B[3] = 24

    Значение переменной S помещается в массив B, который как раз-таки хранит сумму элементов каждой из строк.

    На строках 27-28 мы выводим массив B.

    Если что-то непонятно, то спрашивайте в комментариях.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years