<em>// PascalABC.NET 3.2, сборка 1353 от 27.11.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(100,0,50); a.Println;
Writeln('S=',a.Sum)
end.
<u>Пример</u>
10 44 42 31 39 9 1 24 19 43 7 43 22 28 24 43 39 48 42 31 29 6 18 12 27 50 22 46 18 4 28 27 14 22 33 49 0 13 11 31 10 4 21 24 30 33 25 26 2 3 15 40 8 23 50 3 26 29 4 40 37 6 6 15 15 30 28 50 46 25 43 26 36 10 20 25 36 44 33 45 24 47 43 15 40 38 19 41 23 29 23 21 8 22 44 4 48 6 9 50
S=2595
Память, занимаемая сообщением первоначально: 50*8 бит = 50 байт
Память, занимаемая сообщением после перекодировки:
50*16 бит = 50*2 байт = 100 байт
Количество информации увеличилось на 100-50 байт = 50 байт
Объяснение:
потому что тебе надо ввести число н равное нулю, чтобы завершить цикл, у тебя в заголовке цикла сказано: пока больше/меньше нуля делай...
<span>Program a1; </span>
<span>var y: array[1..14] of integer; k,s1,s2: byte; minY,maxY,m: integer; </span>
<span>begin </span>
<span>writeln('Vvedite massiv Y: '); {просим ввести массив} </span>
<span>for k:=1 to 14 do read(y[k]); {записываем массив} </span>
<span>s1:=0; s2:=0; {счётчики на 0} </span>
<span>minY:=y[1]; {присваиваем первому значению минимум...} </span>
<span>for k:=2 to 14 do begin if y[k] < minY then degin minY:=y[k]; s1:=s1+1; end; {если есть меньше, то присваиваем} </span>
<span>maxY:=y[1]; {присваиваем второму значению максимум...> <} </span>
<span>for k:=2 to 14 do begin if y[k] > maxY then degin maxY:=y[k]; s2:=s2+1; end; {если есть больше, то присваиваем} </span>
<span>m:=y[s1]; {используя переменную m меняем местами элементы} </span>
<span>y[s1]:=y[s2]; </span>
<span>y[s2]:=m; </span>
<span>writeln('Novyi massiv: '); </span>
<span>for k:=1 to 14 do write(y[k],' '); {выводим новый массив} </span>
<span>readln </span>
<span>end.</span>