Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.
Программа:
program z; var k,s,x:integer; begin k:=0; {начальное значение количества двузначных чисел} s:=0; {начальное значение суммы двузначных чисел} while True do {открываем бесконечный цикл} begin readln(x); {вводим число х} if x=0 then break; {если введенное число равно 0, то остановить цикл} if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99} begin k:=k+1; {количество увеличиваем на 1} s:=s+x; {увеличиваем предыдущее значение суммы на число х} end; end; if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO} else writeln(s/k); {иначе вывод ср.арифметического} end.
(№ 1328) 1
(№ 1327) -45
Объяснение:
(№ 1328) 1010101_2 - 201_8 + 2D_16
1010101_2 = 1 * 2^6 + 0 * 2^5 + 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 0 * 2^2 + 1 * 2^0 = 64 + 0 + 16 + 0 + 4 + 0 + 1 = 85_10
201_8 = 2 * 8^2 + 0 * 8^1 + 1 * 8^0 = 128 + 0 + 1 = 129_10
2D_16 = 2 * 16^1 + 13 * 16^0 =32 + 13 = 45_10
85 - 129 + 45 = 1
(№ 1327) 1001101_2 - 261_8 + 37_16
1001101_2 = 1 * 2^6 + 0 * 2^5 + 0 * 2^4 + 1 * 2^3 + 1 * 2^2 + 0 * 2^2 + 1 * 2^0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77_10
261_8 = 2 * 8^2 + 6 * 8^1 + 1 * 8^0 = 128 + 48 + 1 = 177_10
37_16 = 3 * 16^1 + 7 * 16^0 = 48 + 7 = 55_10
77 - 177 + 55 = -45
Программа:
program z;
var k,s,x:integer;
begin
k:=0; {начальное значение количества двузначных чисел}
s:=0; {начальное значение суммы двузначных чисел}
while True do {открываем бесконечный цикл}
begin
readln(x); {вводим число х}
if x=0 then break; {если введенное число равно 0, то остановить цикл}
if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99}
begin
k:=k+1; {количество увеличиваем на 1}
s:=s+x; {увеличиваем предыдущее значение суммы на число х}
end;
end;
if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO}
else writeln(s/k); {иначе вывод ср.арифметического}
end.