выражение c:=a=b; означает положить в переменную с результат сравнения переменных a и b и делать это пока a < b, вероятней всего программа зациклится
<span>Если бы было написано</span>
<span><span>while a<b do c:=a:=b;</span></span>
тогда цикл отработает 1 раз и все 3 переменные будут равны b
//Pascal ABC.NET v3.1 сборка 1172
begin
writeln(range(60,80).where(x -> x mod 5=0).Sum);
end.
Вывод:
350
Const n=20;
var a: array[1..n] of integer;
i, max, imax, min, imin : integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(101)-50;
write(a[i],' ');
end;
writeln;
max:=a[1]; imax:=1; min:=a[1]; imin:=1;
for i:=2 to n do
begin
if a[i] > max then begin max:=a[i]; imax:=i; end;
if a[i] < min then begin min:=a[i]; imin:=i; end;
end;
writeln('max=',max,' min=',min);
a[imax]:=min; a[imin]:=max;
writeln('Измененный массив:');
for i:=1 to n do write(a[i],' '); writeln;
end.
Пример:
Исходный массив:
-20 6 40 -34 -31 48 1 -24 -35 24 23 8 -13 28 22 -38 26 35 -3 0
max=48 min=-38
Измененный массив:
-20 6 40 -34 -31 -38 1 -24 -35 24 23 8 -13 28 22 48 26 35 -3 0
1.
1) 4*24*1000*16 ≈ 3*2^19 (бит/с)
2) 900 Мбайт=9*25*4*2^23 бит =9*25*2^25 бит
3) (9*25*2^25) / (3*2^19) = 3*25*2^6 (c) = 75*64 (c) =75*64/60 (мин)= 80(мин)
ответ 80 мин
2.
1) 640*480=(5*2^7)*(15*2^5)=5*15*2^12 пикселей
2) 240 Кбайт=15*2^4 *2^13 бит=15*2^17 бит
3) (15*2^17) / (5*15*2^13) = 2^4 / 5 бит =3,2 бит = 3 бит - 1 пиксель
4) 2^3=8 цветов ответ 8 цветов
3.
1) 80 *0,7=56 Мбайт - cжатый файл
80 Мбайт =5*2^4 *2^23 бит=5*2^27 бит
56 Мбайт=7*2^26 бит
2) 5*2^27 / 2^22 = 5*2^5 (с) = 160 секунд - время несжатого файла
3) 7*2^26 / 2^22 =7*2^4 (c) = 112 (c)
4) 23(c)+12(c)+112(c)= 147 (c) - время сжатого файла
5) 160-147=13 (с) ответ передача сжатого файла быстрее на 13 с