Задание 1
Вычисление объёма памяти, необходимого для хранения текстовых данных (рекомендуемое время выполнения - 3 минуты)
Краткая теория.
Для выполнения задания 1 необходимо знать единицы измерения информации, переводить из одной единицы в другую, а так же знать формулы для вычисления объема текстовой информации.
Итак, приступим.
Самая маленькая единица измерения информации – бит. Чуть больше – байт, далее килобайт, мегабайт, гигабайт, терабайт.
Для перевода хорошо вспомнить, так вы переводите на уроках математики метры в километры и наоборот. Из меньшей единицы (из метров) в большую (в километры) принято переводить делением на 1000 (главное здесь слово деление), наоборот из большей в меньшую – умножением. Это же правило соблюдается и в информатике.
Но есть и отличия. В 1 байте 8 бит. В 1 килобайте – 1024 байт. В 1 мегабайте – 1024 килобайт.
Легко
запомнить перевод при помощи схемы:
![]() |
|||
![]() |
|||
БИТ |
БАЙТ |
КИЛОБАЙТ |
МЕГАБАЙТ |
|
На самом деле любой человек, изучающий информатику, не делит и не умножает на 1024, а мыслит степенями двойки. Вот их-то нужно знать наизусть или, как минимум, начинать экзамен с того, чтобы на черновике выписать степени двойки.
21=2 22=4 23=8 24=16 25=32 26=64
27=128 28=256 29=512 210=1024
Тогда схема перевода получится такой:
![]() |
|
|
|
МЕГАБАЙТ |
|
Следует также помнить из курса математики, что при умножении степени складывают, а при делении вычитают. Например: 215/23=215-3=212, 217*23=215-3=212,
Потренируемся в переводе.
Задание 1. Сколько байт в 3 Мбайтах?
Решение: 3 Мбайта = 3 ∙ 210 Кбайт = 3 ∙ 210 ∙ 210 байт = 3 ∙ 210+10 байт = 3 ∙ 220 байт
Задание 2. Сколько Кбайт в 3072 битах?
Решение:
3072 бита = 3 ∙ 1024 бит = 3 ∙ 210 бит = 3 ∙ 210 /23 байт = 3 ∙ 210-3 байт = 3 ∙ 27 байт =
= 3 ∙ 27 /210 Кбайт = 3 ∙ 27-10 Кбайт = 3 ∙ 2-3 Кбайт = 3/8 Кбайт = 0,375 Кбайт
А теперь займемся кодированием текстовой информации. Каждый символ кодируется одним и тем же количеством бит (байт) в не зависимости от того, как часто он используется или что это за символ. Пробел, с точки зрения текстового редактора, отличается от любой буквы или цифры только своим кодом, т.е. последовательность нулей и единиц. Но длина кода для всех символов одинакова. При этом могут применяться разные системы кодирования информации. В некоторых из них на один символ отводится по 8 бит (1 байту), в некоторых - по 2 байта (16 бит), бывает и по 32 бита (4 байта). Если мы знаем, сколько информации (бит/байт) заложено в одном символе, легко подсчитать информационный объем слова и даже всего текста. Нужно просто умножить количество информации в одном символе на число символов в тексте. Получается формула:
I = k ∙ i
Здесь i – количество информации в одном символе, k – количество символов, I – количество информации в тексте.
k иногда (смотря какая задача попалась) нужно также вычислять по формуле: количество страниц *количество строк на странице * количество символов в строке.
Задачи
Задача 1. Дан текст «1-го урока не будет!» Какое количество информации содержит этот текст, если при кодировании использовалась 32-хбитная кодировка. Ответ записать в байтах.
Решение.
1. Подсчитать количество символов в тексте. Получилось 20 символов.
2. Перевести 32 бита в байты, т.к. ответ нужно дать в байтах. 32 бита = 32 / 8 байт = 4 байта.
3. Подставить найденные значения в формулу: I = 20 ∙ 4 = 80 байт
Задача 2. В одной из кодировок Unicode каждый символ кодируется 16 битами. Был написан текст (в нём нет лишних пробелов):
«Лев, слон, олень, тюлень, носорог, крокодил, аллигатор – животные, проживающие не в нашем регионе».
В этом тексте допущена ошибка. Если вычеркнуть название одного из животных, она будет исправлена. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Были вычеркнуты и ставшие лишними запятые и пробелы – два пробела не должны идти подряд. Напишите в ответе вычеркнутое название животного.
Решение:
1. Так как один символ кодируется битами, а вычеркнутая информация измерена байтами, нужно перейти к одной единице информации, удобнее к байтам. 16 бит = 16/8 байт = 2 байта.
2. Вычеркнули 14 байт, т.е 14/2=7 символов.
3. Среди них 1 ставший лишним пробел и 1 запятая. Следовательно, вычеркнули слово (название животного) из 5 символов.
Ответ: олень.
Задача 3. В одной из кодировок каждый символ кодируется 32 битами. Был написал текст (в нём нет лишних пробелов):
«Собака, кошка, курица, корова, лошадь, коза, бык, овца – домашние животные».
Затем в список добавили название ещё одного животного. Заодно добавили необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 24 байта больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия животного в символах.
Решение:
1. Один символ кодируется 32 битами = 32/8 байт =4 байта.
2. Так как строка увеличилась на 24 байта, это значит, что добавили 24/4 = 6 символов.
3. Так как добавили еще и запятую, и пробел, то на само слово остается 6-2=4 символа.
Ответ: 4
Задача 4. Текст содержит 127 страниц. На одной странице 32 строки по 64 символа в каждой. Используется 16-битная кодировка. Найти объем текста. Ответ записать в Кбайтах.
Решение:
1. Подсчитаем количество символов в тексте: k = 127 ∙32∙64 = 27 ∙ 25∙26 = 218 символов
2. Так как используется 16-тибитная кодировка, значит, на 1 символ нужно I = 16 бит= 16/8 байт = 2 байта.
3. Для хранения всего текста нужно памяти I=k*i. I = 218*2 (байт) = 219/210 (Кбайт) = 29(Кбайт) = 512 Кбайт
Ответ: 512
Задания для самостоятельного решения.
Задача 1. В одной из кодировок Unicode каждый символ кодируется 16 битами. Петя написал текст (в нем нет лишних пробелов, символы переноса слов не учитываются):
«Минск, Москва, Киев, Вильнюс, Рига, София, Будапешт, Бухарест, Варшава, Осло, Стокгольм, Париж, Берлин, Амстердам, Рим, Мадрид, Афины, Прага, Лондон – столицы стран Европы».
Ученик вычеркнул из списка название одной столицы. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 18 байт меньше, чем размер исходного предложения. Среди столиц, имеющих одинаковое количество букв, Петя вычеркивает первую по порядку. Напишите в ответе вычеркнутое название столицы.
Источник: 10 тренировочных вариантов повышенной сложности. ОГЭ 2020: информатика / А. Г. Минак — «ЛитРес: Самиздат», 2019
Ответ: Вильнюс
Пояснения: Один символ кодируется 16 битами, что равно 16/8=2 байта. Размер файла уменьшился на 18 байт, а это 18/2=9 символов. Это 1 пробел, 1 запятая и 7 букв слова. Осталось только найти слово из 7 символов.
Задача 2. Текст содержит 16 страниц, на каждой странице 32 строки по 20 символов в каждой. Подсчитайте объём текста в Кбайтах, если символы записаны с кодировке Unicode (16 бит на 1 символ).
Пояснения: В тексте 16*32*20 символов, что равно 29 * 4 * 5 = 211 *5 символов. Один символ кодируется 16 битами, что равно 16/8=2 байта. Значит на весь текст нужно 211 *5 символов *2 байта = 212 *5 байт. Переведем в Кбайты: 212 *5 байт / 210 = 20 (Кбайт)
Ответ: 20
Задача 3. В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):
«Фиалка, лютик, роза, гвоздика, мак, хризантема, гладиолус – это цветы».
Затем он добавил в список название ещё одного растения. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 8 байт больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия растения в символах.
Источник: http://kpolyakov.spb.ru/school/oge/
Пояснения: Один символ кодируется 8 битами, что равно 8/8=1 байт. Размер файла увеличился на 8 байт, а это 8 символов. Это 1 пробел, 1 запятая и 6 букв слова.
Ответ: 6
Задача 4. В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):
«Белка, сурок, слон, медведь, газель, ягуар, крокодил, аллигатор – дикие животные».
Затем он вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 10 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.
Источник: http://kpolyakov.spb.ru/school/oge/
Пояснения: Один символ кодируется 8 битами, что равно 8/8=1 байт. Размер файла уменьшился на 10 байт, а это 10 символов. Это 1 пробел, 1 запятая и 8 букв слова. Осталось только найти слово из 8 символов.
Ответ: крокодил
Задача 5. В кодировке UTF-32 каждый символ кодируется 32 битами. Коля написал текст (в нём нет лишних пробелов): «Эри, Айыр, Гурон, Восток, Онтарио, Виннипег — озёра». Ученик вычеркнул из списка название одного из озёр. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 20 байтов меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название озера.
Источник: https://vk.com/umsch_i_oge
Пояснения: Один символ кодируется 32 битами, что равно 32/8=4 байта. Размер файла уменьшился на 20 байт, а это 20/4=5 символов. Это 1 пробел, 1 запятая и 3 буквы слова. Осталось только найти слово из 3 символов.
Ответ: Эри
Задача 6. В одной из кодировок UTF-16 каждый символ кодируется 16 битами. Гриша написал текст (в нём нет лишних пробелов): «Лось, хомяк, косуля, кенгуру, капибара, бинтуронг, гиппопотам — животные». Ученик вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного
Источник: https://vk.com/umsch_i_oge
Пояснения: Один символ кодируется 16 битами, что равно 16/8=2 байта. Размер файла уменьшился на 22 байта, а это 22/2=11 символов. Это 1 пробел, 1 запятая и 9 букв слова. Осталось только найти слово из 9 символов.
Ответ: бинтуронг
Задача 7. Учебник по информатике, набранный на компьютере, содержит 256 страниц, на каждой странице 40 строк, в каждой строке 60 символов. Для кодирования символов используется кодировка КОИ-8, при которой каждый символ кодируется 8 битами. Определите информационный объём учебника. Ответ запишите в Кбайтах.
Ответ: 600
Пояснения: В тексте 256*40*60 символов, что равно 28 * 8 * 5 *4 *15 = 213 *75 символов. Один символ кодируется 8 битами, что равно 8/8=1 байт. Значит на весь текст нужно 213 *75 символов *1 байт. Переведем в Кбайты: 213 *75 / 210 = 8*75=600 (Кбайт)
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.