Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сборник задач по дисциплине «Информатика» для ВУЗов. Методические указания к проведению практических занятий по дисциплине «Информатика», для студенто

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
31
Диапазон представления чисел с плавающей точкой значительно больше диапазона представления чисел с фиксированной точкой. Однако быстродействие ЭВМ при обработке чисел с плавающей точкой гораздо ниже, чем при обработке чисел с фиксированной точкой. Этим объясняется одновременное существование двух форм чисел.
Последовательность нескольких битов или байтов называют полем данных [13]. В ЭВМ используют по
ля постоянной и переменн
ой длины.
Перечислим поля постоянной длины: полуслово — 1 байт; слово — 2 байта; двойное слово — 4 байта; расширенное слово — 8 байт.
Поля переменной длины могут иметь любой размер от 1 до 256 байт. При этом поле должно состоять из целого числа байтов.
Пример 1. Записать число -193
= -110000012 в формате слова со
10
знаком и фиксированной точкой.
Решение.
N разряда 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Число 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1
Примечание.
В старшем разряде (пятнадцатом) указан знак числа.
Для чисел с плавающей точкой под знак и порядок отводится восемь старших бит числа.
Для представления как положительных, так и отрицательных поряд­ков применяют смещённый порядок. При этом машинный порядок Мр формируют со смещением на 64 разряда по отношению к фактическому порядку p: Мр = p + 64. Это сделано для того чт
обы не отводить
отдельный
разряд под знак порядка. При фактическом порядке p, равном нулю, ма­шинный порядок Мр равен 64, а при фактическом порядке равном +63D машинный порядок равен своему максимальному значению 127D. Для от­рицательного порядка -64D машинный порядок равен нулю. Таким обра­зом, и положительные и отрицательные порядки пре
дставляют только по-
ложительными числами.
32
Пример 2. Записать число -193
в формате двойное слово и пла-
10
вающей точкой.
Решение.
Переведём десятичное число в двоичную СС.
= -110000012 = -0.11000001·28.
-193
10
Заметим, что целая часть мантиссы должна быть равна нулю, а пер­вый знак после точки должен быть равен единице.
Здесь мантисса m = -0.11000001, фактический порядок p = 8
.
1000
2
Машинный порядок: Мр = p + 64 = 1000
+ 10000002= 10010002.
2
=
10
Двоично-десятичная система счисления получила большое распро­странение в современных ЭВМ ввиду лёгкости перевода в десятичную сис­тему счисления и обратно. Она используется при решении задач учётно­статистического характера. В этой системе счисления все десятичные циф­ры отдельно кодируются четырьмя двоичными цифрами (тетрадами) и в таком виде записываются последовательно друг за др
Двоично-десятичные числа мо
гут быть представлены в ЭВМ полями
угом.
переменной длины в так называемых упакованном и распакованном фор­матах.
Пример 3. Записать десятичное число 9703 в двоично-десятичной системе счисления.
Решение.
1001 0111 0000 0011
Таким образом, перевод десятичного числа 9703D в двоично­десятичную СС дал такой результат: 1001011100000011. Этот перевод на­поминает перевод шестнадцатеричных чисел в двоичную СС,
В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда, при этом знак числа кодируется в крайнем правом по­лубайте числа. Принят следующий порядок кодировки: код 1100 означает знак "+", а 110
Стру
1 — знак "-".
ктура поля двоично-десятичного упакованного формата:
33
Цф Цф ... Цф Знак
Здесь и далее: Цф — цифра, Знак — знак числа.
Упакованный формат используется обычно в ЭВМ при выполнении операций сложения и вычитания двоично-десятичных чисел.
Пример 4. Представить число -193D в упакованном формате.
Решение.
0001 1001 0011 1101
В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зоны) каждого байта (кро­ме самог
о младшего) заполняются кодом
0011, а в младших полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зо­на) самого младшего (правого) байта используется для указания кода знака числа.
Структура поля распакованного формата:
Зона Цф Зона Цф … Зона Цф Знак Цф
Распакованный формат используется при вводе-выводе информации в ЭВМ, а также при выполнении операций умножения и деления двоично­десятичных чисел.
Пример 5. Представить число -193D в распакованном формате.
Решение.
0011 0001 0011 1001 1101 0011
34
4. Задания для выполнения практической работы
«Представление данных в ЭВМ»
4.1. Записать десятичное число А в формате слова со знаком и
фиксированной точкой в машинное слово заданной разрядности.
Таблица 4.1.
Задача Число А Разрядность
машинного
слова
1 100 8 2 -110 8 3 120 8 4 -80 8 5 60 8 6 -111 8 7 101 8 8 -91 8
9 87 16 10 -8000 16 11 9000 16 12 -10000 16 13 16000 16 14 -777 16 15 2015 16 16 -999 16
35
4.2. Записать десятичное число А в формате с плавающей точкой со
смещённым порядком. Для записи порядка использовать 7 разрядов, а для записи мантиссы – 8 разрядов. Один разряд использовать для записи знака числа
Таблица 4.2.
Задача Число А Разрядность
машинного
слова
1 7 16
2 -12 16
3 15 16
4 -24 16
5 31 16
6 -45 16
7 63 16
8 -67 16
9 127 16 10 -130 16 11 135 16 12 -150 16 13 200 16 14 -220 16 15 250 16 16 -255 16
Домашнее задание
1. Записать отрицательное целое число, состоящее из четырёх по-
следних цифр зачётки, в формате с фиксированной точкой в машинное слово, состоящее из 16 разрядов.
2. Записать положительное число в форме с плавающей точкой. Ман-
тисса числа образована из трёх последних цифр зачётки. Порядок числа состоит из первой и второй цифр
р машинного слова выбрать минимальным, но достаточным
Разме
ы зачётки.
для размещения числа.
36
Практическая работа 5
«Сжатие информации методом RLE»
1. Цель работы
Получить представление о методе сжатия информации путём учёта
повторений.
2. Связь с другими темами практических работ
Данная практическая работа опирается на первую практическую ра­боту и необходима для понимания принципа работы прикладного про­граммного обеспечения. Работа совместно с последующими работами по­зволяет понять основные принципы кодирования информации.
3. Теоретические сведения и расчётные формулы
Идея архивации методом RLE состоит в учёте того факта, что в фай­лах часто встречаются несколько подряд идущих одинаковых байтов, а не­которые последовательности байтов повторяются многократно. При архи­вации такие места файла можно заменить командами вида «повторить дан­ный байт n раз» или «взять часть данных длиной k байтов, которая вс лась m байтов назад». Такой алгоритм Length Encoding — кодирование путём учёта повторений).
Понять идею этого метода упаковки позволяет следующий анекдот.
Один в прошлом известный полководец решил написать достаточно объёмные мемуары. Составленные воспоминания звучали примерно так.
«Утром я вскочил на своего коня и помчался в штаб ар коня издавал цок-цок-цок-цок …». Через двое суток я соскочил с коня и вошёл в штаб».
Для увеличения объёма «литературного произведения» словосочета­ние «цок» было написано «писателем» на двухстах страницах. Очевидно, что информативность «мемуаров» не изменилась бы, если вмес стра
ниц перечисления цокающих звуков было бы указано: «Затем следуют
64 000 раз звуки «цок-цок».
Рассмотрим детально основную идею метода архивации RLE.
Упакованная методом RLE последовательность состоит из управ­ляющих байтов, за которыми следуют один или несколько байтов данных. При этом если старший бит управляющего байта равен 1, то следующий за ним байт дан указано в оставшихся 7 битах управляющего байта.
и звуки «цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-
ных нужно по
вторить при распаковке столько раз, сколько
архивации носит имя RLE (Run
мии. Подковы
треча-
то 200
37
Например, управляющий байт 10001001 говорит, что следующий за ним байт нужно повторить 9 раз, так как 1001
= 910.
2
Если старший бит управляющего байта равен 0, то при распаковке архива нужно взять несколько следующих байтов без изменений. Число байтов, которые берутся без изменений, указывается в оставшихся 7 битах. Например, управляющий байт 00000011 говорит, что следующие за ним 3 байта нужно взять без изменений.
Рассмотрим пример архивации методом RLE.
Пример 1.
Выполнить сжатие сообщения «ИНН 22223133333» методом RLE.
Решение
Текст Десятичный ко
Двоичный код Ар
хив
д
(таблица CP-1251) И 200 11001000 00000001 Н 205 11001101 11001000 Н 205 11001101 10000010
Пробел 32 00100000 11001101
2 50 00110010 00000001 2 50 00110010 00100000 2 50 00110010 10000100 2 50 00110010 00110010 3 51 00110011 00000010 1 49 00110001 00110011 3 51 00110011 00110001 3 51 00110011 10000101 3 51 00110011 00110011 3 51 00110011 3 51 00110011
Таким образом, пятнадцать байт исходного текста сжаты до трина-
дцати байт. Коэффициент сжатия в данном случае составил:
15
K
c
13
.154,1
Для облегчения проверки правильности формирования архива жела­тельно вычислить контрольную сумму. Для её формирования нужно вы­полнить операцию Исключающее ИЛИ над одноимёнными разрядами ар­хива. В данном примере контрольная сумма в двоичной системе счисления составила 10100111. Перевод в шестнадцатеричную СС даёт число А7Н.
38
4. Задания для выполнения практической работы «Сжатие информации методом RLE»
4.1. Выполнить сжатие заданного текста методом RLE. Вы-
числить коэффициент сжатия и контрольную сумму.
Табл. 5.1.
Домашнее задание
Выполнить сжатие номера зачётки методом RLE.
Задача Текст
1 Кредитка 2235555666122 2 Паспорт 25700000333215 3 ИНН 78888255555488856 4 Пароль 177775556666612 5 Пароль abcWWWWZZZq 6 Автомобиль 78999994441 7 Алло это 4565555544488 8 Удостоверение 265444111
9 Счёт 95122244445333333 10 Касса 1478885555233333 11 Прошло 11100002 секунд 12 Пролетели 82223333352 м 13 Вес 1597555553333331 кг 14 Цена 2598888666611 коп 15 Мощность 3574444555 Вт 16 Выиграл 10000555 рублей
H
H
39
Практическая работа 6
«Сжатие информации методом Шеннона-Фано»
1. Цель работы
Получить представление о методе сжатия информации путём ис-
пользования префиксных кодов.
2. Связь с другими темами практических работ
Данная практическая работа опирается на первую и пятую практи­ческие работы Сборника и необходима для понимания принципа работы прикладного программного обеспечения. Работа совместно с последую­щими работами позволяет понять принципы кодирования информации.
3. Теоретические сведения и расчётные формулы
Задачу экономного кодирования сообщений источника, имеющего отличное от равномерного распределения вероятностей появления симво­лов его алфавита, позволяют решить неравномерные префиксные коды.
Рассмотрим принцип построения кода методом Шеннона-Фано. По­строение кода основываются на статистических свойствах источника со­общений. При этом часто встречающимся символам алфавита ставят в со­ответствие короткие кодовые ко
мбинации. Из-за того, что разн лам алфавита соответствуют кодовые комбинации разной длины, такие коды называют неравномерными, префиксными. Префиксным кодом на­зывается множество таких двоичных последовательностей, что ни одна последовательность в этом множестве не является началом другой после­довательности.
В качестве примера сжатия методом Шеннона-Фано рассмотрим
процедуру архивации сообщения «ИН
Н 6373
22757237». Данный текст со-
держит избыточность, которая определяется по формуле:
H

 
1100%
- энтропия сообщения;
где
L
 
n
,
n - длина кодовой комбинации при равномерном кодировании.
Энтропия сообщения вычисляется по формуле:
N
,
log
pp

i
N - число символов в алфавите сообщения;
где
2
ii
1
ым симво-

x
x
40
p - относительная частота (вероятность) появления символа в сооб-
i
щении.
Относительная частота встречаемости символа определяется как от­ношение абсолютной частоты появления символа в сообщении к общей длине сообщения (числу символов в сообщении):
i
p
,
i
m
где
- абсолютная частота (частость) встречаемости i-ого символа
i
алфавита источника; m – число символов в сообщении.
В данном случае энтропия сообщения равна:
44332211

H
log 2 log log 4 log 2,781
    
где
pp
p 
pppp
2222

16 16 16 16 16 16 16 16

41
p 
1
23
21
4
16 8
5678
- относительная частота появления символа «7»;
16 4
3
- относительная частота появления символов «2» и «3»;
16
- относительная частота появления символа «Н»;
1
- относительная частота появления символов
16
бит/символ,
«5», «6», «И», Пробел.
При использовании равномерного кода (например, СР-1251) длина кодовой комбинации определяется так:
2
8256log
,
бит.
- функция округления аргумента до ближайшего целого значе-


ния, не меньшего, чем
В данном примере
lognN
.
n
2
Избыточность сообщения при кодировании равномерным кодом рав­на:
781,2
1
L
 
 
8
.
%23,65%100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]