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

Введение в информатику. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
397 Кб
Скачать

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение высшего образования «Сибирский государственный университет телекоммуникаций и информатики» (СибГУТИ)

И.В. Нечта

Введение в информатику

Учебно-методическое пособие

Новосибирск

2016

УДК 002(075.8)

Утверждено редакционно-издательским советом СибГУТИ

Рецензент канд. техн. наук, А.В. Ефимов

Нечта И.В.

Введение

в

информатику:

Учебно-методическое

пособие / Сибирский государственный университет

телекоммуникаций и

информатики. – Новосибирск, 2016. – 31 с.

 

Данное учебно-методическое пособие включает в себя 8 лабораторных работ для изучения дисциплины «Информатика» для направлений подготовки 11.03.04 “Электроника и наноэлектроника” и 28.03.02 “Наноинженерия” факультета мультисервисных телекоммуникационных систем СибГУТИ. В пособии рассматриваются способы представления числовой, текстовой и аудио информации в виде данных на ЭВМ. Дается представление об алгоритмах преобразования данных. Также имеется ряд лабораторных работ по программированию на языке С++. Пособие включает в себя расчетнографические задания.

Пособие рекомендовано студентам технических специальностей, изучающих информатику в 1 семестре.

В авторской редакции

©Нечта И.В., 2016

©Сибирский государственный университет телекоммуникаций и информатики, 2016

Введение

Информационные технологии являются неотъемлемой частью современного общества. В этой связи требуется подготавливать специалистов, умеющих взаимодействовать с широким классом информационных и компьютеризированных систем. Изучение дисциплины «Информатика» является важной частью подготовки высококвалифицированных кадров технических специальностей. В рамках данного курса рассматриваются базовые принципы представления, хранения и преобразования информации. Основной целью ставится получение навыков программирования на языке С++, т.к. в дальнейшем специалисты данных направлений подготовки будут активно использовать программирование для решения прикладных задач, как в учебной, так и в профессиональной деятельности.

3

Системы счислений

Теоретические основы

Системой счисления называют способ представления числа с помощью некоторого конечного алфавита символов. В используемой нами системе такой алфавит состоит из цифр от 0 до 9. Системы счислений бывают непозиционными – где каждый символ сохраняет свое значение не зависимо от местоположения в числе. Примером непозиционной системы счисления является римская система. Одним из недостатков таких систем является большой алфавит, необходимый для представления числа. К позиционным системам следует относить такие системы, где одна и та же цифра имеет различное значение, определяющееся позицией цифры в числе, изображающей число. Примером позиционной системы счисления является десятичная система, используемая в повседневной жизни. Количество символов в алфавите (обозначим p) называется основанием системы счисления. Основание числа записывается нижним индексом. Например число 24 в десятичной системе

выглядит как

 

.

из цифр

,

,…, ,

, и т.д. в

Любое

число N, состоящее 1

24

 

 

 

 

 

позиционной системе счисления с основанием p может быть представлено в виде полинома от основания p:

В рамках+данного

курса нам могут потребоваться системы счислений с

+

 

…+ + … =

основаниями 2,8,10,16 и способы перевода числа из одной системы в другую.

Перевод целых чисел.

При переводе числа из десятичной системы в какую-либо другую, исходное число Nделят на основание p новой системы счисления до тех пор, пока в целая часть не станет равной нулю. Остатки, при этом записывают в новое число в обратном порядке. Например, переведем число 13 в двоичную систему счисления.

13 : 2 = 6 целых и 1 в остатке 6 : 2 = 3 целых и 0 в остатке 3 : 2 = 1 целых и 1 в остатке 1 : 2 = 0 целых и 1 в остатке

В итоге, записывая остатки в обратном порядке, получим:13 = 1101 .

Для перевода в десятичную систему следует пользоваться полиномом, указанным выше. Переведем число 1101 в десятичную систему счислений.

1В данном случае последняя цифра целой части числа и

первая цифра дробной части.

4

Каждый знак

числа

умножается на основание исходной системы

= 2

,

возведенную в степень, равной позиции числа (считается от нуля).

 

 

 

1 2 +1 2 +0 2 +1 2 = 13

 

 

1101 = 13

.

 

 

 

 

 

 

 

 

 

 

 

Для перевода числа из одной системыcоснованием pв другую систему с

основанием q,

если

 

и

 

,следует сначала переводить исходное

число в десятичную

систему счисления. Затем из десятичной системы можно

≠ 10

 

≠ 10

 

 

 

получить требуемое основание по вышеприведенной схеме. Исключением

данной ситуации является перевод между системами

 

 

 

.

В таких случаях, при переводе в

двоичную

систему

каждый знак числа

 

 

 

 

расписывают согласно следующих таблицах 1 и 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основание

 

 

 

Значения

 

 

 

 

 

 

сист. сч.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

000

001

010

011

100

 

 

101

110

111

 

 

 

8

0

1

2

3

4

 

 

5

6

7

 

 

Табл. 1. Восьмеричные числа

 

Основание

 

 

 

 

 

 

 

 

 

 

Значения

 

 

 

 

 

 

сист. сч.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

0000

 

0001

0010

 

0011

0100

0101

0110

0111

 

16

 

 

0

 

 

 

1

 

2

 

 

3

4

 

5

 

6

7

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения

 

 

 

 

 

 

2

 

 

1000

 

1001

1010

 

1011

1100

1101

1110

1111

 

16

 

 

8

 

 

 

9

A

 

 

B

C

 

D

 

E

F

 

 

 

269

 

Табл.

2. Шестнадцатеричные числа

 

 

 

Пример:

 

 

9 → 1001

 

 

 

269

→ 0010 0110 1001

 

 

Переведем,

 

,

в итоге2

.

 

2 → 0010

6 → 0110

 

 

 

 

 

,

 

712

,

 

 

в итоге

712 → 111 001 010

.

 

 

 

Переведем

 

 

 

 

 

 

 

 

 

 

 

 

 

7 → 111 1 → 001 2 → 010

 

 

 

 

 

 

Перевод дробных чисел.

 

 

 

 

 

 

 

 

 

 

 

При переводе дробных чисел из десятичной системы, целая и дробная часть переводится отдельно. Дробная часть умножается на основание новой системы счисления и полученная таким образом целая часть записывается в прямом порядке в новое число после запятой.

2 Пробелы в двоичной системе поставлены для наглядности

5

Переведем 3,625 → . Будем отдельно переводить дробную часть. 0.625 × 2 = 1.25 (1 целая и 25 сотых)

0.25 × 2 = 0.5 (0 целых и 5 десятых) 0.5 × 2 = 1.0 (1 целая и 0 десятых)

Умножение останавливается либо при достижении нуля в дробной части, либо достижении заданной точности (некоторые числа могут получиться

Переведем 11,101

. Для перевода3,625 → 11,101

иррациональными). В итоге получается

 

 

 

 

воспользуемся полиномом.

 

 

1 2 +1 2 +1 2 +0 2 +1 2 = 3,625

Задания для лабораторной работы

b.

Перевести числа из одной системы счисления в другую.

1101111101.0101101 → Y

a.

1209

→ X

→ Y → Z

c.

d.

1011110.1101 → Y

e.

4 .09

 

→ X

f.

4165.16

→ X

g.

15.125

2

→ X

→ Y → Z

 

12 .

→ X

h.10111101101110.11011 → Y

i.10110101011110.1101010101 → Y

j.1011110.11001 → Y

6

Представление чисел в компьютере

Теоретические основы

В целях упрощения действий, выполняемых компьютером при выполнении арифметических команд, были придуманы специальные коды представления чисел. Например, в математике для вычисления выражения " −5+3" нам потребуется несколько операций: взятие модуля, сравнение модулей чисел, затем из модуля большего числа будет вычтен модуль меньшего. Специальные коды позволяют так хранить число, что при вычислении данного выражения потребуется только одна операция.

Рассмотрим случаи, когда для хранения числа используется один байт. В таком случае наше число может принимать всего 256 значений. Обычно такие значения могут быть, либо только положительными, либо лежать в диапазоне от [−128;+127]. В последнем случае, самый старший бит числа определят знак. Минус – соответствует значению “1” старшего бита, плюс – значению “0”.

Число в прямом коде записывается на восьмиразрядной3 сетке, где под знак отводится самый старший бит. Например, представим следующие числа в прямом коде4.

+12 → 0,0001100. −12 → 1,0001100.

Число в обратном коде также записывается на восьмиразрядной сетке. Код положительного числа совпадает с прямым кодом, а отрицательного числа получается из прямого кода путем инверсии5 битов. Знаковый бит при этом не инвертируется.

+12 → 0,0001100. −12 → 1,1110011.

Отрицательное число в дополнительном коде получается из обратного, путем арифметического сложения с единицей. Код положительного числа совпадает с прямым кодом.

+12 → 0,0001100. −12 → 1,1110100.

В компьютере хранятся числа в двоичном виде и дополнительном коде. Такая форма записи числа позволяет складывать их за одно действие, не обращая внимания на знак.

Рассмотрим правила сложения чисел в обратном и дополнительном кодах на примере сложения двух чисел −5 и −6, представленных в таблице 3.

3В данном примере взяты однобайтовые (восьми битные) целые числа. Число знаков отводимых под запись числа определяется программой. Бывают двух-, четырех байтовые числа и др.

4Будем использовать запятую для наглядного обозначения знакового бита.

5Замена значений битов на противоположные.

7

Число

 

Код

 

Прямой

Обратный

Дополнительный

 

−5

1,0000101

1,1111010

1,1111011

−6

1,0000110

1,1111001

1,1111010

Сложение

 

11,1110011

11,1110001

Устранение

 

+1,1110011

1,1110001

переполнения

 

1

 

Итог

 

1,1110100

1,1110001

Табл. 3. Сложение чисел в обратном и дополнительном кодах

В обратном коде, при переполнении разрядной сетки, лишняя единица еще раз прибавляется к числу. В дополнительном коде лишняя единица отбрасывается. Полученный ответ легко проверить, т.к. обратный код отрицательного числа меньше дополнительного кода на единицу.

Задания для лабораторной работы

Перевести и сложить восьмиразрядные числа обратном и дополнительном коде.

a.−11011 +10101

b.−101011 +10101

c.−11011 −10101

d.−11101 −10101

e.+10010 +10101

f.−110101 −1111

g.+100110 −10111

h.−10101 +10111

Перевести числа в прямой, обратный и дополнительный код.

i.+22, −34, −254, +14, −45.

8

Представление информации в компьютере

Теоретические основы

В предыдущей лабораторной работе рассмотрен способ хранения чисел в компьютере. Кроме чисел существуют и другие виды информации, которые хранятся в компьютере, например, текст, аудио или видео. Как и в случаях с числами нам необходимо представить эту информацию (закодировать) в двоичном виде. Существует несколько способов кодирования информации, но наиболее эффективными считаются те способы, которые позволяют кодировать и декодировать информацию с минимальными потерями качества и как можно меньшими требованиями к необходимой для хранения памяти.

Для хранения текстовой информации существует стандарт ASCII устанавливающий соответствие между кодом символа и его графическим представлением.

Стандарт предусматривает всего 256 символов, по одному байту на каждый символ. Первые 128 символов отводятся для латинского алфавита, цифр и знаков пунктуации. Остальная часть таблицы может быть использована для символов национального алфавита. Из таблицы видно, что символы сгруппированы и отсортированы в алфавитном порядке. Некоторые символы (например, «пробел») не имеют графического отображения. Один символ имеет размер в один байт. Следовательно, фраза «Hello world» имеет размер 11 байт.

Некоторые алфавиты, например китайский, содержат большое число символов, и не может быть полностью записан в таблицу ASCII. В таких случаях прибегают к другим стандартам, в частности UNICODE (2 байта на 1 символ), имеющим 65536 различных символов.

Для представления графического изображения одним из способов применяют растр. Растр представляет собой матрицу цветных пикселей (точек). Каждый цвет представляется в компьютере в виде двоичного числа. Цвет пикселя может быть представлен как совокупность базовых цветов. Например, в цветовой модели RGB, используются красная, зеленая и синяя компонента для представления любых изображений. Размер изображения может выражаться в количестве пикселей по ширине и высоте. Глубина цвета (количество всевозможных цветов) ограничено восприятием человеческого

глаза (всего 224 цветов).

 

 

 

 

 

224 удобно

 

Для записи цвета в RGB модели и глубине цвета равной

применять

зеленый,

 

– синий,

счислений.

0000

красный,

 

шестнадцатеричную

систему

 

 

00

00

 

 

 

0000

 

000000

 

черный,

 

 

6808080

– серый.

 

 

 

 

белый,

 

 

 

 

 

 

 

 

 

Рассмотрим следующую

задачу: Необходимо

определить,

сколько

памяти в килобайтах требуется для хранения изображения размером 800×600 и количестве цветов 256.

6 Здесь и далее мы не будем учитывать сжатие.

9

Сначала определим, сколько бит информации необходимо для хранения

цвета одного пикселя:

 

(бит для одного пиксела). Всего пискелов в

 

бит (

800 600 = 240000

(пикс.). Следовательно, требуется

8

изображении

 

log 256 = 8

 

240000

 

или 234,375 Кбайт) памяти для хранения изображения.

 

 

 

 

Видео изображение может быть представлено, как серия меняющихся друг за другом графических изображений. Обычно частота смены кадров составляет 25 кадр/сек. Однако, стоит отметить, что требуется слишком большой объем памяти для хранения маленького видео фрагмента. Не каждый жесткий диск способен успеть загрузить данные, например, при просмотре фильма. Поэтому часто прибегают к сжатию информации. Сжатие позволяет сохранять на жестком диске видео в меньшем объеме памяти (что упрощает загрузку в оперативную память) и раскодировать их непосредственно перед воспроизведением.

Звуковая волна кодируется по принципу дискретизации по времени и квантованию по уровню. Имеющийся непрерывный сигнал разбивается на фрагменты (дискреты) и, затем, записывается значения уровня сигнала в каждой дискрете. Количество разбиений в секунду определяется частотой дискретизации. Таким образом, сигнал представляется в виде последовательности чисел, равных значению уровня (громкости) сигнала. Чем больше частота дискретизации, тем точнее может быть воспроизведен звук, но тем больше требуется памяти для хранения аудио фрагмента.

Рассмотрим следующую задачу: Необходимо определить, сколько памяти в килобайтах требуется для хранения 10 секунд аудио фрагмента (с одного аудио канала), если частота дискретизации равна 44 кГц и количество уровней звука 256.

Сначала определим, сколько бит информации необходимо для хранения

условию

 

log

256 = 8

(бит на одну дискрету). Всего разбиений по

одного уровня:

 

 

 

задачи

44000

Гц.

Следовательно,

требуется

8 44000 = 352000

бит в одну

секунду.

За десять секунд

потребуется

 

 

 

≈ 42,97 Кбайт памяти.

Задания для лабораторной работы

a.Текст занимает 0,25 Кбайт памяти компьютера. Сколько символов содержит этот текст?

b.Книга содержит 100 страниц; на каждой странице - 45 строк, в каждой строке -50 символов. Рассчитать объем информации, содержащийся в книге.

c.Письмо занимает 2 страницы по 35 строк. В каждой строке записано по 40 символов. Каков объем информации в письме?

d.Текст занимает полных 5 страниц. На каждой странице размещается 30 строк по 70 символов в строке. Какой объем оперативной памяти займет этот текст?

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]