Какое количество информации содержится в сообщении о том, что встреча назначена на 3 октября на 15.00? решить двумя при алфавитного и содержательного подходов.
При алфавитном подходе выбираем мощность алфавита - пусть она будет стандартной для компьютера - 256 символов, тогда для кодировки символа используется 1 байт. Пусть встреча должна состояться в некоторый час (число минут нулевое). Самая короткая запись сообщения о дате и времени встречи - 3.10 15 и в нем 7 символов, включая пробел. Тогда мы можем говорить, что сообщение несет 7 байт информации. Или 7х8=56 бит.
При содержательном подходе мы выбираем один из 365 дней и один из 24 часов. Итого - 1 из 365х24=8760 вариантов. Тогда количество информации находится по формуле бит.
Сравнение показывает, что содержательный подход дает оценки всегда ниже (может даже в десятки раз ниже), чем алфавитный.
Поскольку математических расчетов не производится, будем работать со строковым (символьным) представлением данных. Это как если бы мы взяли шесть квадратиков бумаги, написали бы на каждом цифру 1, 2, ...6, и составили бы из этих кусочков цепочку 1-2-3-4-5-6 . А потом сделали бы нужные перестановки.
var s:string; begin Write('Введите натуральное шестизначное число: '); Readln(s); Writeln('Перестановка: ',s[3]+s[4]+s[1]+s[2]+s[5]+s[6]) end.
Думаю, что такая операция возможна. Например: //PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) begin //цикл с параметром for var i := 1 to 3 do begin var a := ReadInteger('Введите число а'); println(a); end; // цикл с предусловием var i := 1; while i < 3 do begin var a := ReadInteger('Введите число а'); println(a); i := i + 1; end; // Цикл с потусловием i := 1; repeat var a := ReadInteger('Введите число а'); println(a); i := i + 1; until i > 3; end.
При содержательном подходе мы выбираем один из 365 дней и один из 24 часов. Итого - 1 из 365х24=8760 вариантов.
Тогда количество информации находится по формуле
Сравнение показывает, что содержательный подход дает оценки всегда ниже (может даже в десятки раз ниже), чем алфавитный.