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.