Есть такие массивы (НО ОНИ ЕСТЬ ТОЛЬКО В PASCAL ABC NET), которые называются <em><u>д</u></em><em><u>и</u></em><em><u>н</u></em><em><u>а</u></em><em><u>м</u></em><em><u>и</u></em><em><u>ч</u></em><em><u>е</u></em><em><u>с</u></em><em><u>к</u></em><em><u>и</u></em><em><u>е</u></em>. Это такие массивы, длину которых ты назначаешь сам в теле программы. Здесь тебе нужно использовать именно их, так как ты заранее не знаешь, сколько будет положительных компонентов.
<h3>Пример объявления динамического массива:</h3>
<em>v</em><em>a</em><em>r</em><em> </em><em>a</em><em>:</em><em> </em><em>a</em><em>r</em><em>r</em><em>a</em><em>y</em><em> </em><em>o</em><em>f</em><em> </em><em>i</em><em>n</em><em>t</em><em>e</em><em>g</em><em>e</em><em>r</em><em>;</em><em> </em><em>/</em><em>/</em><em>в</em><em>о</em><em>т</em><em> </em><em>э</em><em>т</em><em>о</em><em> </em><em>д</em><em>о</em><em> </em><em>b</em><em>e</em><em>g</em><em>i</em><em>n</em>
<em>S</em><em>e</em><em>t</em><em>L</em><em>e</em><em>n</em><em>g</em><em>t</em><em>h</em><em>(</em><em>a</em><em>,</em><em> </em><em>b</em><em>)</em><em>;</em><em> </em><em>/</em><em>/</em><em>п</em><em>о</em><em>с</em><em>л</em><em>е</em><em> </em><em>b</em><em>e</em><em>g</em><em>i</em><em>n</em><em>,</em><em> </em><em>г</em><em>д</em><em>е</em><em> </em><em>b</em><em> </em><em>-</em><em> </em><em>количество элементов массива</em>
Далее работаешь как с обычным массивом.
var x,z:real;
begin
writeln('Вычислить значение выражения по формуле y= (1+sin(SQRT(x+1)))/(cos(12*z-4))');
write('Введите число X: '); readln(x);
write('Введите число Z: '); readln(z);
writeln('y= ',(1+sin(sqrt(x+1)))/(cos(12*z-4)):0:2);
end.
var
<span> a,b,c:integer;
</span><span><span> begin
</span>
read(a,b,c);
</span><span> writeln(a,'+',b,'+',c,'=',a+b+c);
</span><span> writeln(a,'*',b,'*',c,'=',a*b*c);
</span><span> writeln('(',a,'+',b,'+',c,')/3=',(a+b+c)/3:4:3);
</span><span>
end.</span>
Var money,n,count:integer;
begin
money:=1;
n:=0;
while money < 100 do
begin
money:= money*2+n;
n:=n+1;
count:=count+1;
end;
writeln(count);
end.<span>
</span>
Программа получает на вход N, почле чего в цикле постепенно обрабатывает все натуральные числа от 1 до N включительно и в ячейку памяти s откладывает их квадраты.
program summa;
uses crt;
var N,a,s,i: integer;
begin
read(N); a:=0; s:=0;
for i:=1 to N do
begin
a:=a+1;
s:=s+(a*a);
end;
writeln(s);
end.