Верно ты думаешь можно переписать
//Pascal ABC.NET v3.1 сборка 1172
var
n, m: integer;
begin
read(n, m);
repeat
writeln('Текущее значение N:', n, ' ,до m:', m - n);
inc(n);
until n = m;
writeln('Завершено, n=m');
end.
Пример ввода:
12
20
Пример вывода:
Текущее значение N:12 ,до m:8
Текущее значение N:13 ,до m:7
Текущее значение N:14 ,до m:6
Текущее значение N:15 ,до m:5
Текущее значение N:16 ,до m:4
Текущее значение N:17 ,до m:3
Текущее значение N:18 ,до m:2
Текущее значение N:19 ,до m:1
Завершено, n=m
Программа рисует узор (см. вложение), состоящий из 20 эллипсов, каждый из которых повёрнут на 9 градусов относительно предыдущего. Угол поворота задаётся переменной а, которая изменяется от 0 до 180 (так как 20*9=180). Cos(a) и Sin(a) задают положение эллипса.
Каждый эллипс рисуется с помощью 6280 точек (цикл по k) командой PutPixel? начиная с крайней левой точки эллипса. Cos(t) и Sin(t) задают отклонение каждой точки от "центра" эллипса.
PS Кстати, в программе есть ошибка - цвет надо задавать как "clWhite", a не "White" - хотя задавать белый вобще нет смысла - его не будет видно :)
Turbo Pascal
USES CRT;
VAR A:array[1..10] of integer;
B:array[1..5] of integer;
C:array[1..5] of integer;
i,bx,cx:integer;
BEGIN
CLRSCR;
Randomize;
For i:=1 to 10 do
begin
A[i]:=1+random(50);
Write(A[i],' ');
end;
Writeln;
bx:=1; cx:=1;
for i:=1 to 10 do
if (i mod 2 = 0) then
begin
B[bx]:=A[i];
bx:=bx+1;
end
else
begin
C[cx]:=A[i];
cx:=cx+1;
end;
For i:=1 to 5 do
Write(B[i],' ');
Writeln;
For i:=1 to 5 do
Write(C[i],' ');
READLN;
END.<span>
</span>
1) 2 * 256 = 512 символов всего на 2 страницах
2) 1/16 Кб * 1024 = 64 байта * 8 = 512 бит - объем сообщения
3) 512 бит / 512 симв = 1 бит - глубина кодирования 1 символа
4) N = 2^i
N = 2^1 = 2 символа - мощность используемого алфавита