- •Раздел 1. Основные понятия и методы теории информатики 5
- •Раздел 2. Технические средства реализации информационных процессов 38
- •Раздел 3. Программные средства реализации информационных процессов 56
- •Раздел 1. Основные понятия и методы теории информатики
- •1.1. Сообщения, данные, сигнал, атрибутивные свойства информации, показатели качества информации, формы представления информации. Системы передачи информации
- •1.2. Меры и единицы количества и объема информации
- •1.3. Позиционные системы счисления
- •1.4. Представление данных в памяти эвм Внутреннее представление данных в памяти компьютера. Общие понятия.
- •Основные операции алгебры высказываний:
- •1.5. Основные понятия алгебры логики
- •Типовые логические узлы
- •1.6. История развития вычислительной техники и логические основы эвм
- •Раздел 2. Технические средства реализации информационных процессов
- •2.1. Понятие и основные виды архитектуры эвм
- •2.2. Состав и назначение основных элементов персонального компьютера, их характеристики
- •Основные устройства компьютера и их функции
- •Характеристики процессора и внутренней памяти компьютера (быстродействие, разрядность, объем памяти и др.)
- •2.3. Запоминающие устройства: классификация, принцип работы, основные характеристики
- •2.4. Устройства ввода / вывода данных, их разновидности и основные характеристики
- •Устройства ввода информации:
- •Устройства вывода информации:
- •Раздел 3. Программные средства реализации информационных процессов
- •3.1. Понятие системного и служебного (сервисного) программного обеспечения. Операционные системы
- •Операционные системы
- •Операционные системы (ос) классифицируют:
- •3.2. Файловая структура операционной системы. Операции с файлами
- •3.3. Технологии обработки текстовой информации
- •3.4. Электронные таблицы
- •Основные понятия электронных таблиц
- •Ячейки и их адресация
- •Диапазон ячеек
- •Формулы
- •Ссылки на ячейки
- •Относительная адресация
- •Абсолютная адресация
- •Автоматизация ввода
- •Использование стандартных функций
- •Построение диаграмм и графиков
- •3.5. Технологии обработки графической информации
- •Форматы для хранения графических изображений и кодирования цветов
- •3.6. Электронные презентации
- •3.7. Системы управления базами данных
- •Понятие информационной системы
- •Виды структур данных:
- •1. Реляционная база данных
- •2. Иерархическая база данных
- •3. Сетевая база данных
- •Виды баз данных
- •Состав и функции систем управления базами данных
- •3.8. Основы баз данных и знаний
- •Основы экспертных систем
- •Представление и использование нечетких знаний
- •Нейронные системы и сети
- •Список источников Основная литература
- •Дополнительная литература
- •6 14000, Г. Пермь, Дзержинского, 1б, тел.: 218-32-67
1.4. Представление данных в памяти эвм Внутреннее представление данных в памяти компьютера. Общие понятия.
Целые числа в памяти компьютера хранятся в формате с фиксированной точкой, когда каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа; положение десятичной запятой фиксировано после определенного разряда.
Вещественные числа хранятся в формате с плавающей точкой, который основан на записи числа в нормализованном (экспоненциальном) виде m·10p , причем, часть разрядов ячейки памяти ЭВМ отводится для хранения порядка числа p, а остальные разряды – для хранения мантиссы m.
Текстовые данные рассматриваются как последовательность отдельных символов, каждому из которых ставится в соответствие двоичный код некоторого неотрицательного целого числа.
ASCII – только 256 кодов символов. Это неудобно, так как существуют языки, где символов больше. Поэтому разрабатывались другие коды (наборы символов). Пример – двухбайтовые наборы символов (DBCS – double-byte character sets). В двухбайтовом коде символы представляются одним и двумя байтами, что жутко неудобно.
Unicode – стандарт, в котором все символы состоят из 16 битов. Это позволяет кодировать свыше 65 тыс. символов. В этом коде для каждого алфавита определены свои кодовые позиции (code points), т.е. все 65536 символов (кодов) разбиты на отдельные группы (например: 0100-017F – европейские латинские, 0180-01FF – расширенные латинские, 0250-02AF – стандартные фонетические, 0370-03FF – греческий, 0400-04FF – кириллица). Около 29 000 кодовых позиций пока не заняты, но зарезервированы для использования. Таким образом, Unicode допускает обмен данными на разных языках.
На Unicode целиком построена операционная система Windows NT. У Windows 95 16-битное «наследство», поэтому вся внутренняя работа в этой ОС построена на использовании ANSI-строк (ANSI – American National Standards Institute, ANSI-текст – это текст без форматирования, с ним работает блокнот Windows 95).
Шрифты могут быть: растровые (каждый символ представляется в виде растра – битового массива), векторные (для каждого символа хранятся относительные координаты концов отрезков, из которых состоит соответствующий символ), True Type (содержат информацию о линиях и изгибах в виде формул и настроечную информацию для изменения масштаба).
Способ представления графических изображений называют растровым. При этом экран дисплея ЭВМ рассматривается как двумерный массив отдельных точек (пикселов), состояние каждой из которых (цвет и яркость) кодируется неотрицательным целым двоичным числом.
Кодирование звука состоит в его дискретизации (оцифровывании), т.е. в его измерении и запоминании в памяти компьютера характеристик звуковой волны (амплитуды и периода) в виде двоичного кода. Он выполняется аналого-цифровым преобразователем несколько десятков тысяч раз в секунду через равные промежутки времени. При воспроизведении двоичные коды подаются на вход цифро-аналогового преобразователя с той же частотой, что и при дискретизации, преобразуются в электрическое напряжение, а затем с помощью усилителя и динамика – в звук.
Кодирование музыки чаще всего состоит в записи последовательности команд: например, какую клавишу нажать, какова сила давления, сколько времени удерживать нажатой, и т.д. Такая MIDI-запись аналогична нотной записи. Она компактна, в ней легко производится смена инструмента или тональность мелодии.
Представление числовых данных в памяти компьютера.
Для представления информации в памяти ЭВМ (как числовой, так и не числовой) используется двоичный способ кодирования.
Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д.
Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ, совместимых с IBM PC, чаще всего является расширением кода ASCII (American Standard Code for Information Interchange – стандартный американский код для обмена информацией).
В некоторых случаях при представлении в памяти ЭВМ чисел используется смешанная двоично-десятичная «система счисления», где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18-ю значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант.
Другой способ представления целых чисел – дополнительный код. Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal. В других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от -32768 (-215) до 32767 (215 – 1) и для их хранения отводится 2 байта (16 бит); типа LongInt – в диапазоне от -231 до 231 – 1 и размещаются в 4 байтах (32 бита); типа Word – в диапазоне от 0 до 65535 (216 – 1) (используется 2 байта) и т.д.
Как видно из примеров, данные могут быть интерпретированы как числа со знаками, так и без знаков. В случае представления величины со знаком самый левый (старший) разряд указывает на положительное число, если содержит нуль, и на отрицательное, если – единицу.
Вообще, разряды нумеруются справа налево, начиная с 0. Ниже показана нумерация бит в двухбайтовом машинном слове.
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дополнительный код положительного числа совпадает с его прямым кодом. Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Например, если число 37(10) = 100101(2) объявлено величиной типа Integer (шестнадцатибитовое со знаком), то его прямым кодом будет 0000000000100101, а если величиной типа LongInt (тридцатидвухбитовое со знаком), то его прямой код будет 00000000000000000000000000100101. Для более компактной записи чаще используют шестнадцатеричное представление кода. Полученные коды можно переписать соответственно как 0025(16) и 00000025(16).
Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:
записать прямой код модуля числа;
инвертировать его (заменить единицы нулями, нули – единицами);
прибавить к инверсному коду единицу.
Например, запишем дополнительный код числа -37, интерпретируя его как величину типа LongInt (тридцатидвухбитовое со знаком):
прямой код числа 37 есть 00000000000000000000000000100101;
инверсный код 11111111111111111111111111011010;
дополнительный код 11111111111111111111111111011011 или FFFFFFDB(16).
При получении числа по его дополнительному коду, прежде всего, необходимо определить его знак. Если число окажется положительным, то просто перевести его код в десятичную систему счисления. В случае отрицательного числа необходимо выполнить следующий алгоритм:
вычесть из кода числа 1;
инвертировать код;
перевести в десятичную систему счисления. Полученное число записать со знаком минус.
Примеры. Запишем числа, соответствующие дополнительным кодам:
0000000000010111. Поскольку в старшем разряде записан нуль, то результат будет положительным. Это код числа 23.
1111111111000000. Здесь записан код отрицательного числа.
Исполняем алгоритм:
1) 1111111111000000(2) – 1(2) = 1111111110111111(2);
2) 0000000001000000;
3) 1000000(2) = 64(10).
Ответ: – 64.
