Ну, во-первых, за тем, чтобы придерживаться сути инкапсуляции: Людям свойственны ошибки. Например, будь у нас прямой доступ к полю, мы бы могли ошибочно изменить значение. При использовании методов, мы, разумеется, 5 раз подумаем, прежде чем взаимодействовать с ним.
Во-вторых, для простоты. Нам не нужно подробно изучать все внутреннее устройство, достаточно начать взаимодействовать с методом, который сделает всю внутреннюю работу за вас.
const n=5;
var a: array[1..n] of integer;
i,x,k: integer;
begin
randomize;
write('x=');
readln(x);
k:=0;
write('massiv: ');
for i:=1 to n do begin
a[i]:=random(201)-100;
write(a[i],' ');
if a[i]>x then k:=k+1;
end;
writeln;
write('k=',k);
end.
Var n,i,s:integer;
begin
write('n = ');
readln(n);
s:=0;
for i:=1 to n do s:=s+2*i;
writeln('s = ',s);
end.
Пример:
n = 5
s = 30
Program pas;
var
a:array[1..30] of integer;
i, k: integer;
s: real;
begin
s:=0;
k:=0;
for i:=1 to 30 do
readln(a[i]);
for i:=1 to 30 do
begin
if (not(a[i]mod 2=0)) then
s:=s+a[i];
inc(k);
end;
s:=s/k;
write(s:4:0);
end.
===== PascalABC.NET =====
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -35, 35);
a.Println;
var s := 0;
for var i := 0 to a.High do
begin
if i.IsOdd then
s += a[i];
if a[i] mod 5 = 0 then
Print(a[i])
end;
Writeln;
Println('Сумма', s)
end.