Зробіть програму, яка змушує користувача, вводити значення більше нуля. Якщо користувач ввів невірне значення, виводитиме повідомлення: "НЕВІРНО ВВЕДЕНЕ ЧИСЛО" і змушує ввести число ще раз.
Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием 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.
1024 байт > 1000 байт
800 байт < 1024 байт
400 бит = 400 бит
8192 байта < 1024 байта
2) 64 бита=64*8 байт=512 байт
3) 64=2^6? i=6 бит
4) 40 байт
5)11 Кб=11*1024*8 бит
11*1024*8=11264*i i=(11*1024*8)/11264=8 бит
N=2^8=256
6) 32=2^5?
i=5
7) N=16 i=4 N=256 i=8
8/4=2 (в 2 раза)
8) N=16 i=4 k=50
I=50*4=200 бит
9) N=256 i=8 k=30*70*5
I=30*70*5*8=84000 бит
10) 1 Мб=1024*1024*8 бит
1/512 Мб=(1024*1024*8)/512=1024*16 бит
1024*16=2048*i i=(1024*16)/2048=8 бит
N=2^i
2^8=256
11) N=256 i=8 k=160*192
I=160*192*8 бит
I=(160*192*8)/(1024*8)=30 Кб
Программа:
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.