For - это цикл со счетчиком "i := 0 to 10" - это начальное и конечное значения (ноль и десять) т.е. начинаем с нуля, что-то делаем, и берем следующее число - "1" потом снова что-то делаем, берем следующее - "2" в "i" - записывается то число, с которым работаем в данный момент и так, пока не дойдем до "10"
а вот что именно делать - написано между словами "begin" и "end"или сразу после "do" (если строка одна)
1) Можно представить несколько клеток с номерами (A0...A10) и числами в них а в квадратных скобках "[i]" - номер клетки Берем ноль, A[0] - "ячейку с номером 0" и записываем туда число 10 A[i] := 10 - i; A[0] = 10 - 0 (в А0 записать 10) далее в A[1] записываем "9" (10 - 1) в A[2] записываем "8" (10 - 2) и так до десяти включительно
2)далее цикл от 0 до 5 A[10-0] = A[5-0] (из десятой клетки записываем число в пятую) A[5+0] = A[0]
A[10-1] = A[5-1] (из 9ой в 4) A[5+1] = A[1] (из 6ой в 1)
A[10-2] = A[5-2] (8 -> 3) A[5+2] = A[2] (7 -> 2) и т.д. и т.п.
3)как-то так должно работать (следующий столбец - следующее число)
1. const n=10; var a:array[1..n] of integer; s,i:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(51)-25; write(a[i]:4); end; writeln; s:=0; for i:=1 to n do if a[i]<0 then a[i]:=-a[i]; writeln('Полученный массив:'); s:=0; for i:=1 to n do begin write(a[i]:4); s:=s+a[i]; end; writeln; writeln('s = ',s); end.
"i := 0 to 10" - это начальное и конечное значения (ноль и десять)
т.е. начинаем с нуля, что-то делаем, и берем следующее число - "1"
потом снова что-то делаем, берем следующее - "2"
в "i" - записывается то число, с которым работаем в данный момент
и так, пока не дойдем до "10"
а вот что именно делать - написано между словами "begin" и "end"или сразу после "do" (если строка одна)
1) Можно представить несколько клеток с номерами (A0...A10) и числами в них
а в квадратных скобках "[i]" - номер клетки
Берем ноль, A[0] - "ячейку с номером 0" и записываем туда число 10
A[i] := 10 - i;
A[0] = 10 - 0 (в А0 записать 10)
далее в A[1] записываем "9" (10 - 1)
в A[2] записываем "8" (10 - 2)
и так до десяти включительно
2)далее цикл от 0 до 5
A[10-0] = A[5-0] (из десятой клетки записываем число в пятую)
A[5+0] = A[0]
A[10-1] = A[5-1] (из 9ой в 4)
A[5+1] = A[1] (из 6ой в 1)
A[10-2] = A[5-2] (8 -> 3)
A[5+2] = A[2] (7 -> 2)
и т.д. и т.п.
3)как-то так должно работать (следующий столбец - следующее число)
const n=10;
var a:array[1..n] of integer;
s,i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=random(51)-25;
write(a[i]:4);
end;
writeln;
s:=0;
for i:=1 to n do
if a[i]<0 then a[i]:=-a[i];
writeln('Полученный массив:');
s:=0;
for i:=1 to n do begin
write(a[i]:4);
s:=s+a[i];
end;
writeln;
writeln('s = ',s);
end.
Пример:
Исходный массив:
3 2 16 18 -16 -20 -15 -8 -23 17
Полученный массив:
3 2 16 18 16 20 15 8 23 17
s = 138
2.
begin
var a:=ArrRandom(ReadInteger('n='),-25,25);
a.Println;
a:=a.Select(x->x<0?-x:x).ToArray;
a.Println;
Writeln('Сумма равна ',a.Sum);
end.