pascal - работа с циклом и массивом

 

Складываем несколько переменных.

program cycle_01;

var
  sum: integer;
  a1, a2, a3, a4, a5, a6, a7, a8, a9, a10: integer;

begin
  a1  := 8;
  a2  := 12;
  a3  := 23;
  a4  := 4;
  a5  := 17;
  a6  := 42;
  a7  := 83;
  a8  := 18;
  a9  := 24;
  a10 := 22;

  sum := 0;
  sum := sum + a1;
  sum := sum + a2;
  sum := sum + a3;
  sum := sum + a4;
  sum := sum + a5;
  sum := sum + a6;
  sum := sum + a7;
  sum := sum + a8;
  sum := sum + a9;
  sum := sum + a10;

  writeln( sum );
end.

Переписываем программу, только вместо отдельных 10 переменных заведем массив из 10 переменных.

program cycle_02;

var
  sum: integer;
  a: array[1..10] of integer;

begin
  a[1]  := 8;
  a[2]  := 12;
  a[3]  := 23;
  a[4]  := 4;
  a[5]  := 17;
  a[6]  := 42;
  a[7]  := 83;
  a[8]  := 18;
  a[9]  := 24;
  a[10] := 22;

  sum := 0;
  sum := sum + a[1];
  sum := sum + a[2];
  sum := sum + a[3];
  sum := sum + a[4];
  sum := sum + a[5];
  sum := sum + a[6];
  sum := sum + a[7];
  sum := sum + a[8];
  sum := sum + a[9];
  sum := sum + a[10];

  writeln( sum );
end.

Теперь введем переменную i и будем обращаться к элементам массива исключительно через переменную i.

program cycle_03;

var
  sum, i: integer;
  a: array[1..10] of integer;

begin
  a[1]  := 8;
  a[2]  := 12;
  a[3]  := 23;
  a[4]  := 4;
  a[5]  := 17;
  a[6]  := 42;
  a[7]  := 83;
  a[8]  := 18;
  a[9]  := 24;
  a[10] := 22;

  sum := 0;

  i := 1;
  sum := sum + a[i];
  i := 2;
  sum := sum + a[i];
  i := 3;
  sum := sum + a[i];
  i := 4;
  sum := sum + a[i];
  i := 5;
  sum := sum + a[i];
  i := 6;
  sum := sum + a[i];
  i := 7;
  sum := sum + a[i];
  i := 8;
  sum := sum + a[i];
  i := 9;
  sum := sum + a[i];
  i := 10;
  sum := sum + a[i];

  writeln( sum );
end.

Теперь переменную i на каждом шаге будем наращивать, увеличивая на 1. В коментариях к строкам, где переменная i увеличивается, указывается результат, который будет содержаться в переменной i после увеличения.

program cycle_04;

var
  sum, i: integer;
  a: array[1..10] of integer;

begin
  a[1]  := 8;
  a[2]  := 12;
  a[3]  := 23;
  a[4]  := 4;
  a[5]  := 17;
  a[6]  := 42;
  a[7]  := 83;
  a[8]  := 18;
  a[9]  := 24;
  a[10] := 22;

  sum := 0;

  i := 1;
  sum := sum + a[i];
  i := i + 1; // 2
  sum := sum + a[i];
  i := i + 1; // 3
  sum := sum + a[i];
  i := i + 1; // 4
  sum := sum + a[i];
  i := i + 1; // 5
  sum := sum + a[i];
  i := i + 1; // 6
  sum := sum + a[i];
  i := i + 1; // 7
  sum := sum + a[i];
  i := i + 1; // 8
  sum := sum + a[i];
  i := i + 1; // 9
  sum := sum + a[i];
  i := i + 1; // 10
  sum := sum + a[i];

  writeln( sum );
end.

Все эти громоздские действия с переменной i и несколькими переменными массива с легкостью записываются в виде короткой записи цикла.

program cycle_05;

var
  sum, i: integer;
  a: array[1..10] of integer;

begin
  a[1]  := 8;
  a[2]  := 12;
  a[3]  := 23;
  a[4]  := 4;
  a[5]  := 17;
  a[6]  := 42;
  a[7]  := 83;
  a[8]  := 18;
  a[9]  := 24;
  a[10] := 22;

  sum := 0;

  for i := 1 to 10 do
    sum := sum + a[i];

  writeln( sum );
end.

Рейтинг

Проблемы с госуслугами, медленный интернет или плохая связь? Напишите об этом — Минцифры поможет с решением