<u>PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
<em>Цикл for</em>
begin
var p:=1.0;
for var i:=1 to 100 do p*=(1+Sin(i/10));
Writeln(p)
end.
<em>Результат</em>
<u>1.72984094681</u>772<u>E-14</u>
<em>Цикл repeat</em>
begin
var (p,i):=(1.0,0.1);
repeat
p*=(1+Sin(i));
i+=0.1
until i>10;
Writeln(p)
end.
<em>Результат</em>
<u>1.72984094681</u>773<u>E-14</u>
Контрольное решение с точностью 20 цифр приведено во вложении. В соответствии с ним верные цифры в результатах <u>подчеркнуты</u>.
<u /><em></em><em>VAR</em>
<em> n, m, sum, i, j: Integer;</em>
<em> a: Array [1..10000] of Array [1..10000] of Integer;</em>
<em>BEGIN</em>
<em> Read(n, m);</em>
<em></em>
<em> For i := 1 to n do</em>
<em> For j := 1 to m do Read(a[i][j]);</em>
<em></em>
<em> For i := 1 to n do</em>
<em> For j := 1 to m do</em>
<em> If (a[i][j] > 0) then sum := sum + a[i][j];</em>
<em></em>
<em> Write(sum);</em>
<em>END. </em>
<em></em>
<u>Но для экономии времени и сил можно не создавать массив:</u>
<em>VAR</em>
<span><em> n, m, sum, el, i, j: Integer;</em></span>
<em>BEGIN</em>
<span><em> Read(n, m);</em></span>
<em></em>
<span><em> For i := 1 to n do</em></span>
<span><em> For j := 1 to m do begin </em></span>
<span><em> Read(el);</em></span>
<span><em> If (el > 0) then sum := sum + el;</em></span>
<span><em> End;</em></span>
<em></em>
<span><em> Write(sum);</em></span>
<em>END.</em>
011.000.111(2)=307(8) (см.фото)
1100.0111(2)=С7(16) (см.фото)
7 6 5 4 3 2 1 0
1 1 0 0 0 1 1 1 = 1•2^0+1•2^1+1•2^2+1•2^6+1•2^7=1+2+4+64+128=199(10)
135 137 175 173 157 153 315 317 375 357 351 371 571 537 517 573 513 531 753 751 735 731 715 713
и так таких чисел 24!
Var B: array [1..12] of integer; i, s, s_min: integer;
begin
writeln;
randomize;
s := 0;
s_min := 0;
for i := 1 to 12 do
B[i] := random(65) - 5;
for i := 1 to 12 do
begin
write(B[i], ' ');
s := s + B[i];
if B[i] < 7
then
s_min := s_min + 1;
end;
writeln();
writeln('Sum: ', s, ', amount of elemnts which lower than 7: ', s_min);
<span>end.</span>