Помогите пожалуйста! Для записи текста использовался 256 символьный алфавит. Каждая...

0 голосов
33 просмотров

Помогите пожалуйста! Для записи текста использовался 256 символьный алфавит. Каждая страница содержит 30 строк по 70 символов в строке. Какой объем информации содержит пять страниц текста?


Информатика (130 баллов) | 33 просмотров
0

Что интересно: большинство местных школьников знают формулу, по которой можно посчитать число значений по числу битов, а когда нужно обратное действие сделать, впадают в ступор: "Ну есть таблица", "Ну я же степени двойки знаю" и т. д. Ну куда им учить информатику, если они арифметику за 6-й класс не освоили?

0

так тут чего спрашивают, какой объем информации... бла-бла-бла... не пишут же дайте формулу, как школьник посчитает это уже вопрос второй, можно и так написать: begin System.Convert.ToString(256 - 1, 2).Length.Println; end.

0

Да, но обычно тут требуют и решение. Даже если школьник его не просит, модераторы обычно дают ответы без решений на исправление. А преобразовывать число в строку, чтобы посчитать длину числа... Извините, но это дикость, по-моему. Тем более в решение это тоже не записать. А посчитать школьник и на калькуляторе может, тупо тыкая в кнопки 2 * = = = ..., пока не совпадёт.

0

хорошая короткая запись преобразования из 10-тичного в 2-ичное в паскале абц нет, потом уже считает длину двоичного в виде строки символов, безусловно нужно понимать, что хочешь получить, вот в вашем решении если взять в логарифме не степень двойки, например log2(3)

0

Так мы и не про программный код говорим, а про математическую запись. Двоичный логарифм - единственный способ это компактно записать.

0

Количество разрядов в числе определяется однозначно: [log(x)] + 1, где [x] - взятие целой части.

0

если x степень двойки тогда 1 лишняя

0

Неа. lg(999) = 2,9..; lg(1000) = 3; lg(9999) = 3,9... Я же про длину числа говорю.

0

А вот в случае, когда у нас есть количество значений, как в этой задаче, то да, нужна не целая часть + 1, а округление вверх.

0

Ну или более простой вариант - отнимать от количества значений единицу, дальше - по той же формуле.

Дан 1 ответ
0 голосов

30 * 70 * 5 * log2(256) / 8 = 10500 байтов.

(654k баллов)