при n = 2:
по началу i равен одному, а S нулю. Далее i <= n, то есть 1 <= 2, ответ да. К S прибавляется i, и S будет равен одному. Еще к i прибавляется 2, и i становится тройкой. Возвращаемся к началу алгоритма, но с новыми значениями, i у нас равен трем, а S равен одному. Далее проверяется условие i <= n, то есть 3<=2. Ответ нет, и выводится ответ S. А S равен однерке.
Ответ: 1
Итак. В данном алгоритме цикл повторится ровно 4 раза.
z=1; x=51;
1 итерация (i=0): z=(z+x/2)/2=(1+51/2)/2=13.25
2 итерация (i=1): z=(z+x/2)/2=(13.25+51/2)/2=19.375
3 итерация (i=2): z=(z+x/2)/2=22.4375
4 итерация (i=3): z=(z+x/2)/2=23.96875
При округлении до десятых результат будет округлен в большую сторону, а 23.9+0.1=24.
Ответ: 24
С
помощью функции "ОТБР", которая усекает число до целого, отбрасывая дробную часть
числа, так что остается целое число, исходное число делим на разряды, которые
затем суммируем
Пример решения в файле
Var a,b,k:integer;
begin
k:=0;
writeln('Введите число');
readln(a);
repeat
if (a mod 10) in [4,8] then k:=k+1;
a:=a div 10;
until a=0;
writeln('Количество чисел=',k)
end.
Введите число
24583
Количество чисел=2
var
f: Text;
i: integer;
c: char;
begin
Assign(f, 'in.txt');
Reset(f);
while not (EOF(f)) do
begin
read(f, c);
writeln(c, ' ', ord(c));
end;
writeln('===================');
reset(f);
while not (EOF(f)) do <em>//Второй способ, перебором получить код</em>
begin
i := 0;
read(f, c);
repeat
i := i + 1;
until (chr(i) = c);
writeln(c, ' ', i);
end;
end.