Через Case : Var k:integer; Begin WriteLn('Введи число k'); ReadLn(k); if k in[11..19] then WriteLn('В букете ',k,' цветков') else Case k mod 10 of 1:WriteLn('В букете ',k,' цветок'); 2..4:WriteLn('В букете ',k,' цветка'); 0,5..9:WriteLn('В букете ',k,' цветков'); end End.
Через if :
Var k:integer; Begin WriteLn('Введи число k'); ReadLn(k); if k in[11..19] then WriteLn('В букете ',k,' цветков') else Begin if k=1 then WriteLn('В букете ',k,' цветок'); if k mod 10 in[2..4] then WriteLn('В букете ',k,' цветка'); if (k mod 10 in[5..9])or(k=0) then WriteLn('В букете ',k,' цветков'); end End.
1) Дано: k = 4096 сим. I = 3.5 Кбайт Найти N = ? Решение: N = 2^i I = k*i i = I/k 3.5 Кбайт = 3584 байт = 28672 бит i = 28672 / 4096 = 7 бит N = 2^7 = 128 символов
Var
k:integer;
Begin
WriteLn('Введи число k');
ReadLn(k);
if k in[11..19] then WriteLn('В букете ',k,' цветков')
else
Case k mod 10 of
1:WriteLn('В букете ',k,' цветок');
2..4:WriteLn('В букете ',k,' цветка');
0,5..9:WriteLn('В букете ',k,' цветков');
end
End.
Через if :
Var
k:integer;
Begin
WriteLn('Введи число k');
ReadLn(k);
if k in[11..19] then WriteLn('В букете ',k,' цветков')
else
Begin
if k=1 then WriteLn('В букете ',k,' цветок');
if k mod 10 in[2..4] then WriteLn('В букете ',k,' цветка');
if (k mod 10 in[5..9])or(k=0) then WriteLn('В букете ',k,' цветков');
end
End.
k = 4096 сим.
I = 3.5 Кбайт
Найти N = ?
Решение:
N = 2^i
I = k*i
i = I/k
3.5 Кбайт = 3584 байт = 28672 бит
i = 28672 / 4096 = 7 бит
N = 2^7 = 128 символов
2)
Глубина цвета = 350 Кбайт / (1280 * 320 пикселей) = 350 * 8 * 1024 бит / 409600 пикселей = 2867200 бит / 409600 пикселей = 7.0 бит
Кол-во цветов = 2^7.0 бит = 128.0 цветов
3)
280 Гбайт = 280 * 1024 * 1024 * 1024 * 8 бит = 2405181685760 бит
700 Мбайт = 700 * 1024 * 1024 * 8 бит = 5872025600 бит
Кол-во = 2405181685760 / 5872025600 шт = 409.6 шт ~= 410 шт (округляем в большую сторону так как кусками тут быть не может)