====== Количественные параметры информационных объектов ======
В данном разделе одновременно представлены две задачи **1** и **15**, опубликованные в контрольных измерительных материалах 2012 года по информатике
* [[http://www.fipi.ru/view/sections/223/docs/579.html|ФИПИ КИМ-2012]];
* [[http://www.fipi.ru/binaries/1161/infGIA-2012.zip|ИНФОРМАТИКА и ИКТ (ZIP archive, 633.5Kb)]]
Данные задачи рассматриваются вместе не случайно, т.к. понимание принципов решения первой задачи является залогом успешного решения второй.
Для выполнения задания, необходимо понимать следующее:
* **Бит** (англ. binary digit; также игра слов: англ. bit — немного) (один двоичный разряд в двоичной системе счисления) См. [[http://ru.wikipedia.org/wiki/Бит]]
* **Байт** (англ. byte) — единица хранения и обработки цифровой информации. **В современных вычислительных системах байт считается равным восьми битам**, в этом случае он может принимать одно из 256 (28) различных значений. См. [[http://ru.wikipedia.org/wiki/Байт]]
Информация, приведенная в Википедии (свободной энциклопедии) на стадии начального изучения информатики может оказаться (и это вполне нормальный факт) сложной, поэтому предлагаю адаптированную для начального изучения статью : [[https://docs.google.com/document/d/1l05Xd8pxYuncY1WoJjztJ-T3S2bDKusut792bw09DO0/edit|Биты и байты]]
==== Кодирование текста ====
Для кодирования букв и других символов, используемых в печатных документах, необходимо закрепить за каждым символом числовой номер – код.\\
В **7-разрядной** кодовой таблице (ASCII - American Standard Code for Information Interchange, опубликованной как стандарт в 1963 г. американской организацией по стандартизации) для кодировки одного символа используют **7 бит**.\\
В **8-битной** кодовой таблице для кодировки одного символа используют 8 бит или один байт.\\
Стандарт кодирования символов **Unicode** становится доминирующим в интернациональных программных многоязычных средах. Для кодирования символов в данной кодировке используется **16-битная** кодовая таблица.
=== Практикум ===
Чтобы проще было понять рассматриваемую тему, советую выполнить очень простое практическое (мини) занятие:
Исследуйте как происходит кодирование текстовой информации в 7-разрядной (битной) кодовой таблице . Для этого зайдите на сайт [[http://asciito.com/#]] и введите в текстовое поле с надписью ASCII фразу: Hello, world! (Внимание! кириллица данной таблицей не поддерживается). Особенное внимание обратите на то, что [[http://ru.wikipedia.org/wiki/Пробел|пробелу]] соответствует свой числовой код (иногда ученики упускают это из виду)!
===== Методы решения задач =====
==== Задача №1 ====
{{:gia:1.png|Задача №1}}
На первый взгляд самое простое решение, которое приходит в голову,- перемножить все данные числа, а затем разделить на 8, если требуется перевести результат в **байты** и на 1024, если в **килобайты**.
**40*64*16 = 40960**
**40960/1024 = 40 КБ (кибибайт)**
Однако если учесть, что на экзамене не разрешается пользоваться калькуляторами, то данное решение оказывается не столь производительным.
**Рассмотрим альтернативное решение.**
Известно, что
**1 Кб (килобайт) = 210 байт = 1024 байта**
Известно, что
**26 * 24 = 26 + 4 = 210**
Воспользуемся таблицей, которую желательно до 210 знать наизусть:
{{:gia:2_12.png|}}
Возвращаемся к условию задачи
**64 * 16 * 8 * 40 = 24 * 26 * 8 * 40 = 210 * 8 * 40 = 1024 * 8 * 40** бит
Разделив получившийся результат на **8** мы получим результат в байтах, а разделив на **1024** - в килобайтах.
**40 КБ (килобайт)**
==== Задача №1 (другой вариант исполнения) ====
Считая, что каждый символ кодируется 16-ю битами, оцените информационный объем следующей пушкинской фразы в кодировке Unicode:
**Привычка свыше нам дана: Замена счастию она.**
- 44 бита
- 44 байта
- 704 бита
- 704 байта
**Решение:**
Один символ (в кодировке Unicode) 16 бит или 2 байта (8 бит - 1 байт)
Для оценки информационного объема фразы следует подсчитать количество символов в составе фразы (учитывая пробелы и знаки препинания, так как на них также расходуется память).
Фраза содержит 44 символа, следовательно информационный объем может быть:
44 * 2 = 88 байт
44 * 16 = 704 бит (значится в списке ответов)
Ответ: **3**
==== Задача №15 ====
{{:gia:15.png|}}
Давайте рассуждать:
Если известна скорость передачи, например 2 бита в секунду, то очевидно, что за 2 секунды можно передать 4 бита, а за N секунд, - 2*N бит.
Следовательно, если известно сколько бит передано и какова скорость передачи, то легко определить время передачи:
t = S/v, где S - количество переданной информации, v - скорость передачи.
Если нам известно время, требуемое для передачи и скорость передачи, то мы легко можем найти количество информации, которое будет передано за данное время.
Вся сложность данной задачи сводится к умению привести единицы измерения информации к единой размерности (битам или байтам).
**Первое действие:** Найдем время в секундах, за которое можно передать файл размером 8 Кбайт со скоростью передачи 4096 бит в секунду:
Чтобы привести размерность к байтам, следует 8 Кбайт умножить на 1024 (запишем действие, но перемножать не будем)
**8*1024 байт**
Чтобы привести размерность к битам, получившееся значение необходимо умножить на 8 (1 байт = 8 бит) (запишем действие, но перемножать не будем)
**8*8*1024 бита** передается со скоростью 4096 бит в секунду (мы привели значения к одной размерности не тратя умственную энергию на умножение или деление)
Посмотрите на таблицу вверху (подобная таблица 2n на черновике строится за секунды)
**8*8*1024 = 23 * 23 * 210 = 216**
**4096 = 212**
**216 / 212 = 24 = 16 секунд** требуется для передачи данного объема информации
**Второе действие:**
Известно, что скорость передачи во втором случае 256 бит в секунду, время передачи - 16 секунд. Определите размер файла (**в байтах**), который можно передать за данное время (16 секунд).
Так как ответ необходимо представить в байтах, то и теперь сложность данной задачи сводится к умению привести единицы измерения информации к единой размерности (байтам).
**256/8 = 28/23 = 25 байт в секунду** - скорость в байтах
Таким образом за 16 секунд, (заметим, что рационально было бы не вычислять **24 = 16**) мы передадим файл размером
**25 * 24 = 29 = 512 (байт)** - число, которое и следует записать в ответ!
Как видим, используя таблицу, практически все вычисления, требующие умножения и деления мы заменяем сложением и вычитанием степеней числа 2!