Ответ:
8
Объяснение:
При скорости передачи 200 символов в минуту за 5 минут передано 200×5 = 1000 символов. Поскольку объем сообщения 3000 бит, на один символ приходится 3000 / 1000 = 3 бита. Следовательно, размер алфавита не превышает 2³ = 8 символов.
Var n, i, z, step, k, g, retry: integer; // n - количество карточек (вводит пользователь), остальное - обычные счетчики циклов
c: array[1..300000] of integer; // массив, в котором хранятся все наши карточки
begin
write('Введите количество карточек: '); // рекомендую для теста вводить около десяти , т.к. больше вероятность, что попадутся одинаковые числа и вы сможете увидеть результат
readln(n);
writeln();
writeln('Карточки: ');
for z := 1 to n do begin
c[ z ] := random(10); // создается <em>n</em> карточек
//c[ 1 ] := 3; эти строки я закомментировал
//c[ 2 ] := 0; их можно удалить
//c[ 3 ] := 7;
//c[ 4 ] := 6; просто проверял работу своими значениями
//c[ 5 ] := 6;
//c[ 6 ] := 3;
//c[ 7 ] := 4;
//c[ 8 ] := 0;
//c[ 9 ] := 2;
//c[ 10 ] := 2;
write( '|' , c[ z ], '| ' ); // вывод обрамленных карточек
end;
step := 0; // переменная, которая считает шаги
writeln();
for retry := 1 to 11 do begin // главный цикл, который прогоняет второстепенный цикл 11 кругов, для того, чтобы исключить вероятность, что "сзади" остались одинаковые числа
for z := 1 to n do begin // второстепенный цикл
if z >= n then break // в случае конца выходим из цикла и отдаем управление программой главному циклу (тот что выше)
else begin // начинаем проверять карточки слева направо, пока не достигнут конец. в случае оного - выполняется действие выше
if c[ z ] = c[ z + 1 ] then begin // сравниваем соседние карточки. если они равны, то начинаем делать шаг
inc(step);
writeln();
writeln( step, ' шаг ', retry, ' круг: ');
inc( c[ z ] );
for g := 1 to ( n - z ) do c[ z + g ] := c[ z + g + 1 ]; // удаляем две одинаковых карточки, оставляем одну, увеличенную на 1
n := n - 1; // сокращаем количество карточек на 1
writeln();
for k := 1 to n do write( '|' , c[ k ], '| ' ); // вывод каждого шага
writeln();
end;
end;
end;
end;
<span>writeln();
end.</span>
Program n_10;
var y, a, b, c, d: integer;
begin
writeln ('Нахождение наибольшей из четырёх величин');
write ('Введите a, b, с, d>>');
readln (a, b, c, d);
y:=a;
if (b>y) then y:=b;
if (c>y) then y:=c;
if (d>y) then y:=d;
writeln ('y=' , y)
end.
Var
i,n,s:integer;
begin
Write('n=');
Readln(n);
s:=0;
for i:=20 to n do
if Odd(i) then s:=s+i;
Writeln('Сумма с for = ',s);
s:=0; i:=21;
while i<=n do
begin
s:=s+i;
i:=i+2
end;
Writeln('Сумма с while = ',s)
end.