В отличие от цикла while, условие вычисляется после
очередной итерации цикла, и если оно истинно, то происходит выход из цикла.
Таким образом, операторы, образующие тело цикла оператора
repeat, выполняются по крайней мере один раз.
Цикл повторяется до тех пор, пока условие записанное после ключевого слова until, будет ложным (не выполняется). Как только это условие выполнится, происходит выход из цикла.
1)Цикл выполнится 1 раз:
i:=i-1=-1
s=-1/1=-1
-1<1 условие выполняется, цикл прерывается.
2)цикл выполнится 3 раза:
1. i:=i+1=1; 1>2 условие не выполняется, цикл продолжается.
2. i:=i+1=2; 2>2 условие не выполняется, цикл продолжается.
3. i:=i+1=3 3>2 условие выполняется, цикл прерывается.
Есть много разных способов решения этой задачи. Например:
var n:integer; b:boolean; m:set of 0..9;
begin
write('n='); readln(n);
m:=[];
b:=false;
while (n>0) and not b do
if n mod 10 in m then b:=true else begin m:=m+[n mod 10]; n:=n div 10; end;
if b then writeln('В записи введенного числа есть одинаковые цифры')
else writeln('В записи введенного числа нет одинаковых цифр');
end.
Пример:
n=123432
В записи введенного числа есть одинаковые цифры
По формуле или
(N - кол-во цветов в палитре, i - глубина цвета)
Глубина цвета бит (округляем в большую сторону так как кусками тут быть не может)
Глубина цвета бит (округляем в большую сторону так как кусками тут быть не может)
Общий вес
I = K * i (K - кол-во пикселей, i - Глубина цвета)
Отношение объемов информации раз
В Pascal используй модуль GraphABC. Можешь почитать про его возможности в интернете.