Var a,sum,pro:integer; Begin write('Введите трёхзначное положительное число: '); readln(a); if (a<100) or (a>999) then write('Это не трёхзначное число. Перезапустите программу!') else Begin sum:= a mod 10 + a div 10 mod 10 + a div 100; pro:= a mod 10 * a div 10 mod 10 * a div 100; if (sum>9) and (sum<100) then Writeln('Сумма цифр числа ',a,' - двухзначное число (',sum,')') else Writeln('Сумма цифр числа ',a,' - не двухзначное число (',sum,')'); if (pro>99) and (pro<1000) then Writeln('Произведение цифр числа ',a,' - трёхзначное число (',pro,')') else Writeln('Произведение цифр числа ',a,' - не трёхзначное число (',pro,')'); if (sum mod 3) = 0 then write('Эта же сумма (',sum,') кратна трём') else write('Эта сумма (',sum,') не кратна трём'); end; End.
1) 30 букв плюс 10 цифр в сумме дают 40 символов. Значит, для их кодировки нам потребуются цифры от 0 до 39. Переведем 39 в двоичную систему счисления, чтобы посмотреть, сколько битов (разрядов) оно займет. 39(10)=100111(2) ⇒ требуется 6 битов. 2) В номере сертификата 5 символов, значит они займут 5*6=30 битов. По условию номер сертификата кодируется целым количеством байтов, а в байте 8 бит. Делим 30 на 8 и получаем 3.75. Округляем в большую сторону. Номер сертификата занимает 4 байта. 3) 80 номеров займут 4*80=320 байт. ответ 2).
a,sum,pro:integer;
Begin
write('Введите трёхзначное положительное число: ');
readln(a);
if (a<100) or (a>999) then write('Это не трёхзначное число. Перезапустите программу!') else Begin
sum:= a mod 10 + a div 10 mod 10 + a div 100;
pro:= a mod 10 * a div 10 mod 10 * a div 100;
if (sum>9) and (sum<100) then Writeln('Сумма цифр числа ',a,' - двухзначное число (',sum,')') else Writeln('Сумма цифр числа ',a,' - не двухзначное число (',sum,')');
if (pro>99) and (pro<1000) then Writeln('Произведение цифр числа ',a,' - трёхзначное число (',pro,')') else Writeln('Произведение цифр числа ',a,' - не трёхзначное число (',pro,')');
if (sum mod 3) = 0 then write('Эта же сумма (',sum,') кратна трём') else write('Эта сумма (',sum,') не кратна трём');
end;
End.
39(10)=100111(2) ⇒ требуется 6 битов.
2) В номере сертификата 5 символов, значит они займут 5*6=30 битов. По условию номер сертификата кодируется целым количеством байтов, а в байте 8 бит. Делим 30 на 8 и получаем 3.75. Округляем в большую сторону. Номер сертификата занимает 4 байта.
3) 80 номеров займут 4*80=320 байт. ответ 2).