1 Компьютеры и информация.pptx
- Количество слайдов: 60
Структуры и алгоритмы обработки данных 1. Компьютеры и информация Артём Викторович Качановский
Литература l Основная 1. Лафоре Р. Объектно-ориентированное программирование в С++. СПб, Питер, 2003, 928 с. 2. Прата С. Язык программрования С++. Лекции и упражнения. 5 -е издание. М. , 2007, 1184 с. 3. Хортон А. Visual C++ 2005. Базовый курс. М. , Диалектика, 2007, 1143 с. 4. Побегайло А. П. С/С++ для студента. СПб, БХВ-Петербург, 2006, 526 с. 5. Шилдт Г. Полный справочник по С++. 4 -е издание. М. Вильямс, 2007, 796 с. 2
Литература l Дополнительная 1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. – М. : Бином, 2001. 2. Каррано Ф. , Причард Д. Абстракция данных и решение задач на С++. Стены и зеркала. 3 -е издание. М. , Вильямс, 2003, 848 с. 3. Ахо А. , Хопкрофт Д. , Ульман Д. Структуры данных и алгоритмы. М. , Вильямс, 2000, 384 с. 4. Макконнелл С. Совершенный код. Мастер-класс. СПб, Питер, 2005, 896 с. 5. Дейтел Х. М. , Дейтел П. Дж. Как программировать на С++. М. , Бином-пресс, 2007, 800 с. 3
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана l КОМПЬЮТЕР (англ. computer, от лат. computo — считаю) - машина для приема, переработки, хранения и выдачи информации в электронном виде, которая может воспринимать и выполнять сложные последовательности вычислительных операций по заданной последовательности инструкций — программе. IBM 5150 (1981 г. ) Alienware 18 (2014 г. ) 4
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана l КОМПЬЮТЕР (англ. computer, от лат. computo — считаю) - машина для приема, переработки, хранения и выдачи информации в электронном виде, которая может воспринимать и выполнять сложные последовательности вычислительных операций по заданной последовательности инструкций — программе. Stampede Supercomputer 5
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана l КОМПЬЮТЕР (англ. computer, от лат. computo — считаю) - машина для приема, переработки, хранения и выдачи информации в электронном виде, которая может воспринимать и выполнять сложные последовательности вычислительных операций по заданной последовательности инструкций — программе. Мобильный телефон Сетевые коммутаторы 6
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана l КОМПЬЮТЕР (англ. computer, от лат. computo — считаю) - машина для приема, переработки, хранения и выдачи информации в электронном виде, которая может воспринимать и выполнять сложные последовательности вычислительных операций по заданной последовательности инструкций — программе. Цифровой сигнальный процессор на отладочной плате Микроконтроллер 7
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана Джон Фон Нейман Родился 3 ноября 1903 г. в Венгрии в богатой еврейской семье. Первая научная работа – 1921 г. Диплом инженера-химика и одновременная защита диссертации – 1925 г. Статья «К теории стратегических игр» – доказательство теоремы о минимаксе – 1928 г. Книга «Математические основы квантовой механики» – 1932 г. Разработка методов оптимального бомбометания – 1939 – 1943 гг. Математическая модель атомной бомбы Метод Монте-Карло (совместно с С. Уламом) Современная архитектура компьютера – 1945 год Умер в 1957 г.
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР Устройство управления АЛУ Устройство ВВОДА Входные данные Оперативная ПАМЯТЬ Данные Программа Внешняя (энергонезависимая) ПАМЯТЬ Устройство ВЫВОДА Выходные данные 9
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР Устройство управления АЛУ Устройство ВВОДА Входные данные Оперативная ПАМЯТЬ Данные Программа Внешняя (энергонезависимая) ПАМЯТЬ Устройство ВЫВОДА Выходные данные 10
1. ЭВМ и информация 1. 1. Архитектура Фон Неймана l В компьютере информация хранится в виде последовательности символов двоичного алфавита – 0 и 1, каждый из которых представляется одним из двух устойчивых состояний физического объекта. l Совокупность этих физических объектов (конденсатор динамической оперативной памяти, электронный триггер статической памяти, магнитная частица поверхности жесткого диска и т. п. ) составляет память компьютера. 11
1. ЭВМ и информация 1. 3. Архитектура Фон Неймана l Память компьютера может быть разделена на несколько уровней: 1. Память центрального процессора (ЦП) 1. 2. 3. 2. Оперативная память 1. 2. 3. Регистры АЛУ ЦП Внутренняя кэш-память ЦП Оперативная память Внешняя кэш-память на основе микросхем SRAM (Static Random Access Memory) Память с произвольным доступом (оперативное запоминающее устройство - ОЗУ) DRAM (Dynamic Random Access Memory) Постоянное запоминающее устройство ROM (Read-Only Memory) Внешняя память 1. 2. Устройства оперативного хранения информации (жесткий диск, гибкие магнитные диски, CD ROM и др. ) Устройства резервного хранения информации (магнитные ленты, магнитооптические диски и др. ) 12
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l Размещение данных во внешней памяти l Данные хранятся в виде файлов - именованных областей внешней памяти, содержащих некоторую однородную информацию. l По методу доступа к информации устройства внешней памяти разделяются на: l Устройства с прямым (произвольным) доступом - возможность обращения к блокам информации по их номерам (адресам) в произвольном порядке l Устройства с последовательным доступом – обращение к блокам информации также может осуществляется по номерам (адресам), но доступ к каждому блоку возможен только путем холостого чтения (сканирования) всех предшествующих блоков. 13
1. ЭВМ и информация 1. 3. Архитектура Фон Неймана l l l Обрабатываемые данные и программа обязательно должны быть размещены в оперативной памяти. Оперативная память представляет собой линейную последовательность элементов, каждый из которых может находиться в состоянии 0 или 1. Сами элементы (или блоки элементов) нумеруются от 0 и далее. Доступ к ним осуществляется по номерам. бит 1 0 1 1 010 1 … байт 0 0000 h 1 0001 h 2 0002 h 1048575 FFFF h 8 бит = 1 байт; 1024 байта = 1 К; 1024 К=1 М; 1024 M = 1 Gb 14
1. ЭВМ и информация 1. 1. Аппаратные и программные средства компьютеров. Архитектура Фон Неймана l Исполнимый код l Исполняемая ЭВМ программа представляет собой расположенную в оперативной памяти последовательность машинных кодов двоичных цифр, интерпретируемых устройством управления ЭВМ Конец программы Центральный процессор Указатель команд Верхние адреса ветвление проверка условия данные Начало программы переход Нижние адреса 15
1. ЭВМ и информация 1. 2. Предмет программирования ПРОГРАММА - описание действий, которые должен выполнить компьютер, автоматически переводимое на язык машинных команд этого компьютера. l Процесс разработки программ для решения определенных задач называют ПРОГРАММИРОВАНИЕМ. l l Группы программ, работающих как единое целое, составляют программное обеспечение (ПО) компьютера. Аналитическая машина Ч. Бэббиджа Современный блэйдсервер 16
1. ЭВМ и информация 1. 2. Предмет программирования Выполняемая программа хранится в памяти компьютера в виде машинных команд – последовательности нулей и единиц. l Как получить программу в виде машинных команд? l l l Непосредственно записать эти команды Написать программу на Ассемблере Использовать интерпретатор языка программирования Воспользоваться компилятором языка программирования 17
1. ЭВМ и информация 1. 2. Предмет программирования Выполняемая программа также хранится в памяти компьютера в виде машинных команд – последовательности нулей и единиц. l Как получить программу в виде машинных команд? l l Непосредственно записать эти команды НАПИСАНИЕ ЗАГРУЗКА В ОПЕРАТИВНУЮ ПАМЯТЬ ВЫПОЛНЕНИЕ 18
1. ЭВМ и информация 1. 2. Предмет программирования Выполняемая программа также хранится в памяти компьютера в виде машинных команд – последовательности нулей и единиц. l Как получить программу в виде машинных команд? НАПИСАНИЕ l l Написать программу на Ассемблере АССЕМБЛИРОВАНИЕ ЗАГРУЗКА В ОПЕРАТИВНУЮ ПАМЯТЬ ВЫПОЛНЕНИЕ 19
1. ЭВМ и информация 1. 2. Предмет программирования Выполняемая программа также хранится в памяти компьютера в виде машинных команд – последовательности нулей и единиц. l Как получить программу в виде машинных команд? l l Использовать интерпретатор языка программирования НАПИСАНИЕ ВЫБОРКА ИНСТРУКЦИИ ИНТЕРПРЕТАЦИЯ ВЫПОЛНЕНИЕ 20
1. ЭВМ и информация 1. 2. Предмет программирования Выполняемая программа также хранится в памяти компьютера в виде машинных команд – последовательности нулей и единиц. l Как получить программу в виде машинных команд? НАПИСАНИЕ l l Воспользоваться компилятором языка программирования КОМПИЛЯЦИЯ СБОРКА ЗАГРУЗКА ВЫПОЛНЕНИЕ 21
1. ЭВМ и информация 1. 2. Предмет программирования l Исходный текст l l Объектный код l l Исходный текст (программа на языке программирования или Ассемблере) – последовательность ASCII – символов. Объектный код – результат компиляции исходного текста программного модуля. Объектный код также представляет собой последовательность машинных команд, которая, однако, не может быть непосредственно выполнена ЭВМ. Исполнимый код l Исполнимая программа во время исполнения хранится в оперативной памяти. Иначе она хранится во внешней памяти в виде файла, содержащего последовательность машинных команд. 22
1. ЭВМ и информация 1. 2. Предмет программирования Исходный текст программы создается текстовым редактором и записывается на диске Препроцессор преобразовывает исходный текст Компилятор создает объектный код и сохраняет его на диске Компоновщик связывает объектный код с библиотеками, создает исполняемый файл и сохраняет его на диске Загрузчик размещает исполняемый файл в оперативной памяти Центральный процессор выбирает каждую инструкцию и выполняет ее Текстовый редактор Схема реализации Препроцессор Компилятор Диск Компоновщик Загрузчик Оперативная память ЦПУ … 23
1. ЭВМ и информация 1. 2. Предмет программирования l Исправление ошибок в процессе реализации программы Создание исходного текста Компиляция Исправление синтаксических ошибок Компоновка Исправление семантических ошибок Верификация, тестирование, отладка, эксплуатация 24
1. ЭВМ и информация 1. 2. Предмет программирования l Процесс создания и использования программного обеспечения, представленный в виде последовательности этапов и выполняемых на этих этапах процессов называется жизненным циклом программного обеспечения. Формирование требований l Разработка проекта КАСКАДНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА ("модель водопада") предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе Реализация Устранение ошибок Эксплуатация и сопровождение 25
1. ЭВМ и информация 1. 2. Предмет программирования l КАСКАДНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА была распространена в 70 -х - 80 -х годах ХХ века. На практике этапы каскадной модели реализуются итерационно, с циклами обратной связи между этапами. Формирование требований Разработка проекта Реализация Устранение ошибок Эксплуатация и сопровождение 26
1. ЭВМ и информация 1. 2. Предмет программирования СПИРАЛЬНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА предусматривает спиралеобразное совершенствование системы путем последовательного создания прототипов (новых версий) этой системы. На каждом витке спирали при создании очередной версии продукта, уточняются требования проекта и планируются работы этого витка. Разработка проекта Реализация Формирование требований Версия 1 Версия 2 Устранение ошибок Ввод в действие прототипов (версий) системы l 27
1. ЭВМ и информация 1. 2. Предмет программирования l Основные этапы жизненного цикла: l l l Формирование требований – процесс сбора требований к системе, их систематизации, документирования, анализа, выявления противоречий и неполноты, разрешения конфликтов. Разработка проекта - деятельность по созданию проекта, то есть воспроизводимой модели программного обеспечения. Реализация - этап жизненного цикла программного обеспечения, объединяющий последовательные фазы создания программы в виде исходного кода, объектного кода и исполнимого кода. Результатом реализации является программа, которая может быть исполнена на компьютере. Устранение ошибок - процесс устранения причин того, что программное обеспечение не работает, либо результат его работы не соответствует выработанным требованиям. Эксплуатация – деятельность по использованию программного обеспечения для решения практических задач. Сопровождение - модификация программного обеспечения с целью устранения ошибок, реализации потребностей заказчика в улучшениии тех или иных характеристик, а также его адаптации к использованию в модифицированном окружении. 28
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l ИНФОРМАЦИЯ - сведения, которыми располагает активная система (общество, человек, компьютер и т. п. ) о том или ином объекте и которые, будучи представлены в виде сообщений, могут храниться, передаваться и подвергаться преобразованиям. l СООБЩЕНИЕ – совокупность первичных сигналов или знаков, содержащих информацию. Передача сообщений (во времени и в пространстве) происходит с помощью сигнала. l СИГНАЛОМ называется изменение некоторой физической величины во времени. 29
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l l l Информационное сообщение может быть представлено в виде функции x(t), характеризующей изменение во времени какой-либо величины, описывающей состояние приемника сигнала. Непрерывное (аналоговое) сообщение - функция x(t) может принимать любые вещественные значения в диапазоне изменения аргумента t, Цифровое сообщение - функция x(t) может принимать набор фиксированных дискретных значений в заданные моменты времени. x 0 t 30
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l Дискретизация по времени – процесс представления аналогового сигнала, дискретным сигналом, непрерывные значения которого берутся в дискретные моменты времени, называемые отсчетами. Обычно такие отсчеты берутся через определенные равные интервалы времени. Возможность точного восстановления аналогового сигнала после его дискретизации зависит от интервала времени между отсчётами. x 0 t 31
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l Квантование по амплитуде – разбиение диапазона значений некоторого сигнала на конечное число интервалов. Каждому интервалу присваивается n – разрядный двоичный код – номер интервала, записанный двоичным числом. Каждое значение сигнала представляется кодом того интервала, в который попадает это значение. 0000, 0010, 0011, 0011, 0100, 0101 x 0101 0100 0011 0010 0001 0000 0 t 32
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l Цифровые сообщения формируются в результате последовательной выдачи источником информации последовательности знаков. l ЗНАК – элемент некоторого конечного множества (набора) отличимых друг от друга объектов – символов. Набор знаков, в котором определен их линейный порядок называют алфавитом. l Алфавит компьютера состоит из двух символов, обычно обозначаемых 0 и 1. Единица количества информации - бит - информация, которую может нести сообщение, состоящее из одного двоичного знака. 33
1. ЭВМ и информация 1. 3. Информация и ее представление в ЭВМ l Для представления информации в ЭВМ ее необходимо: 1. 2. l Перевести в форму цифрового сообщения - произвести дискретизацию и квантование. В результате эта информация может быть закодирована знаками любого алфавита (русские буквы, десятичные цифры, знаки азбуки Морзе и т. д. ) Представить знаки исходного алфавита в виде последовательности знаков алфавита компьютера – выполнить кодирование. Кодирование - представление символов одного алфавита символами другого (например, представление десятичной цифры 5 в двоичной системе счисления – 101) 34
2. Данные в ЭВМ 2. 1. Представление в памяти ЭВМ целых чисел l Двоичная и шестнадцатеричные системы счисления l В десятичной позиционной системе счисления: цифры 0 1 2 3 4 5 6 7 8 9 3210 105710 = 1· 103 + 0· 102 + 5· 101 + 7· 100 = 105710 l В двоичной системе счисления: цифры 0 1 43210 101012 = 1· 24 + 0· 23 + 1· 22 + 0· 21 + 1· 20 = 2110 l В шестнадцатеричной системе счисления цифры 0 1 2 3 4 5 6 7 8 9 A B C D E F 43210 F 4 E 1216 = 15· 164 + 4· 163 + 14· 162 + 1· 161 + 2· 160 = 100302610 35
2. Данные в ЭВМ 2. 1. Представление в памяти ЭВМ целых чисел Двоично - десятичный код 010 = 00002 510 = 01012 910 = 10012 l Пример (25 бит, бит знака - перед числом): 199810 = 0 0000 0001 1001 10002 -10 -56781210 = 1 0101 0110 0111 1000 0001 00102 -10 l l Прямой двоичный код (положительные целые числа) тип integer в Паскале и Фортране или int в С 2 байта, включая бит знака: 010 = 0 000000002 510 = 0 00000001012 3276710 = 0 111111112 36
2. Данные в ЭВМ 2. 1. Представление в памяти ЭВМ целых чисел l Дополнительный двоичный код (отрицательные целые числа) -1: 0 00000001, инвертируем: 1 11111110 и прибавляем 1: 1 11111111 7 = 0 0000000 -6= 1 1111111 1= 0 0000000 -6: 0 0000000110 инвертируем: 1 1111111001 и прибавляем 1: 1 1111111010 00000111 + 11111010 00000001 37
2. Данные в ЭВМ 2. 1. Представление в памяти ЭВМ целых чисел l Порядок расположения разрядов целого числа в памяти ПЭВМ: Младший байт * * * Старший байт * * Цифры числа 510 -110 -3276810 * * * * * Бит Цифры числа знака = 00000101 0 0000000 2 = 1111 1 1111111 2 = 0000 1 0000000 2 38
2. Данные в ЭВМ 2. 2. Особенности представления в ЭВМ целых чисел l Отличительные особенности представления целых чисел в ЭВМ: l l l Ограниченная разрядная сетка ограниченность диапазона представимых целых чисел (наличие наибольшего по абсолютной величине целого числа M, представимого в ЭВМ). Ошибка арифметических операций (сложения и умножения) над целыми числами - переполнение. Арифметика по модулю М с переносом в знаковый разряд: 32765 = 0 1111111 + 5 = 0 0000000 -32766 = 1 0000000 11111101 00000010 39
2. Данные в ЭВМ 2. 3. Представление в памяти ЭВМ вещественных чисел l R=C 10 P- экспоненциальная форма десятичного числа. l С - мантисса (десятичное число, при представлении в нормализованном виде C имеет значение меньше 1 и в старшем разряде числа – не 0), l P - порядок числа (целое число со знаком): -5678, 56 = -56, 7856· 102 = -0, 0567856· 105 = -0, 567856· 104 0, 000234 = 234· 10 -6 = 0, 0234· 10 -2 = 0, 234· 10 -3 40
2. Данные в ЭВМ 2. 3. Представление в памяти ЭВМ вещественных чисел R=C 2 P- экспоненциальная форма по основанию 2. l С - мантисса (двоичное число, при представлении в нормализованном виде C – правильная дробь меньше 1 и в старшем разряде числа – 1), l P - порядок числа (двоичное целое число со знаком) l E битов * * M битов * * * Бит знака числа Бит знака порядка Цифры порядка * * * * Цифры мантиссы 41
2. Данные в ЭВМ 2. 3. Представление в памяти ЭВМ вещественных чисел l l Ошибка мантиссы равна 2 -M (например, если M=24, то точность - около 5. 10 -8. Показатель ограничен 2 E -1 (например, если Е=6, показатель до 63) Часто используется представление по основанию 16. Примеры представления десятичных вещественных чисел в нормализованном виде на ограниченной разрядной сетке (3 десятичных разряда мантиссы, 2 -порядка): R=C 10 P 2. 5285 1234 -0. 0012 2. 3. 10 -102 = 0. 253. 10 01 = 0. 123. 10 03 = -0. 120. 10 -02 = -0. 002. 10 -99 42
2. Данные в ЭВМ 2. 4. Особенности представления вещественных чисел на ограниченной разрядной сетке l Основные свойства представления чисел на ограниченной разрядной сетке: l l Ограниченный диапазон представимых чисел: от М=0. 999. 1099 до -М=-0. 999. 1099 Конечное число чисел на вещественной оси Обособленность 0 (близлежащие числа ±i = ± 0. 001. 10 -99) Различная плотность множества представимых чисел на числовой оси (на интервале от 10 -99 до 10 -98 – 999 чисел и на интервале от 10 до 100 тоже 999 чисел). 43
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке l l l Умножение и деление l перемножение или деление мантисс l сложение или вычитание показателей l нормализация Ошибки округления (3 разряда мантиссы, 2 - порядка): 0. 123. 1002. 0. 161. 1005=0. 019803. 1007 = 0. 198. 1006 Переполнение (Overflow): 0. 823. 1046. 0. 101. 1065 = 0. 83123. 10** Потеря порядка (Underflow): 0. 425. 10 -27/ 0. 561. 1078 = 0. 0757575. . 10 -105 = 0 Катастрофическая потеря порядка: 0. 425. 10 -27 / 0. 561. 1078. 0. 200. 1087 = = 0. 0757575. . 10 -105 (= 0). 0. 200. 1087 = 0 (вместо 0. 1515151. 10 -19 = 0. 152. 10 -19) 44
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке Сложение и вычитание l запись двух чисел с одинаковым (наибольшим из двух) показателем l сложение или вычитание мантисс чисел l возможная повторная нормализация l Переполнение (Overflow): 0. 999. 1098 + 0. 976. 1099 = = 0. 099. 1099 + 0. 976. 1099 = 0. 108. 10** l Потеря значащих цифр: 10 -9. 82=0. 18 0. 1002 - 0. 982. 1001 = 0. 1002 - 0. 0982. 1002 = = 0. 1002 - 0. 098. 1002 = 0. 002. 1002 = 0. 200 1000 -999 = 1 0. 1004 -0. 999. 1003 = 0. 1004 -0. 0999. 1004 = = 0. 1004 -0. 1004 = 0 (округление) или = 0. 1004 -0. 099. 1004 = 0. 001. 1004 = 10 (усечение) l 45
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке Пример: l Вычисление y(x)=(1 -cos x)/x 2. Эта формула не работает для малых х. (Уменьшаемое равно 1, вычитаемое – стремится к 1 и все делим на малое число). l Эквивалентная формула z(x)=2 sin 2(x/2)/x 2=y(x) - хорошо обусловлена при малых x. Аналитически нетрудно показать, что. X C++(MS VS): float y(x) z(x) 10 -1 0. 4996 10 -5 0. 5000 10 -9 0. 4337 0. 5000 10 -10 0 0. 5000 46
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке l Невыполнение ассоциативного закона сложения: l (x+y)+z ≠ x+(y+z) x, y, z – четырехбайтовые вещественные числа x=P, y=-P, z=p; P>0, P~p· 108 P p l Одинаковый порядок Разряды мантиссы Зависимость результата от сохранения промежуточных данных l x+(y+z) ≠ x+v, v=y+z x, y, z, v – четырехбайтовые вещественные числа x=P, y=-P, z=p; P>0, P~p· 108 47
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке // Эта программа демонстрирует невыполнение ассоциативного // закона сложения при вычислениях с плавающей точкой #include <stdafx. h> // включает <conio. h> , <iostream> using namespace std; int main() { float x = 1. 1 e 7, y = -1. 1 e 7, z = 1. 0 e 2, r, v; r = (x+y)+z; cout <<r<<endl; //100 r = x+(y+z); cout <<r<<endl; //100 v = x+y; r = v+z; cout <<r<<endl; //100 v = y+z; r = x+v; cout <<r<<endl; //100 cout << endl; 48
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке x = 1. 1 e 8; y = -1. 1 e 8; z = 1. 0 e 2; r = (x+y)+z; cout <<r<<endl; r = x+(y+z); cout <<r<<endl; v = x+y; r = v+z; cout <<r<<endl; v = y+z; r = x+v; cout <<r<<endl; cout << endl; //100 //96 x = 1. 1 e 10; y = -1. 1 e 10; z = 1. 0 e 2; r = (x+y)+z; cout <<r<<endl; r = x+(y+z); cout <<r<<endl; v = x+y; r = v+z; cout <<r<<endl; v = y+z; r = x+v; cout <<r<<endl; cout << endl; //100 //0 49
2. Данные в ЭВМ 2. 4. Арифметические операции над вещественными числами на ограниченной разрядной сетке x = 1. 1 e 22; y = -1. 1 e 22; z = 1. 0 e 2; r = (x+y)+z; cout <<r<<endl; r = x+(y+z); cout <<r<<endl; v = x+y; r = v+z; cout <<r<<endl; v = y+z; r = x+v; cout <<r<<endl; cout << endl; _getch(); //100 //0 return 0; } 50
2. Данные в ЭВМ 2. 5. Представление в ЭВМ символьной информации l l l 1 байт - 1 символ. Всего 28 = 256 различных символов. Для кодировки в Windows используется код ANSI (American National Standard Institute). Первая половина кодовой таблицы (коды 0 – 127) – стандартная. Вторая половина зависит от национального алфавита. В русской версии для кодировки используются последние 64 кода: «А» … «Я» - 192… 223; «а» … «я» - 224 -255 и «Ё» , «ё» – 168, 184. В большинстве приложений Windows сегодня используются двухбайтные коды (Unicodes). 16 битная архитектура позволяет представлять около 65000 символов и предназначена для кодирования многоязыкового текста и символов. Если несколько языков имеют общие группы символов, эти символы объединяются в группы (Scripts). 51
2. Данные в ЭВМ 2. 6. Представление в ЭВМ логических данных l Логические переменные могут принимать два значения: True и False. l Обычно для хранения таких данных выделяется 1 байт. l Значению False соответствует двоичное число 0. Значению True соответствует любое число, отличное от 0. 52
2. Данные в ЭВМ 2. 7. Представление в ЭВМ графической информации l Побитовые изображения Изображение разбивается на отдельные элементы пиксели
2. Данные в ЭВМ 2. 7. Представление в ЭВМ графической информации l Побитовые изображения • Для кодирования пикселя черно-белого изображения без оттенков (штрихового) достаточно одного бита, кодирующего цвет (0 -белый, 1 - черный). • Для кодирования черно-белого изображения с градациями серого, каждую градацию (яркость пикселя) необходимо представить двоичным числом. Чем больше разрядность этого числа, тем большее число градаций яркости можно закодировать. • Для кодирования цветных изображений они представляются в виде комбинации трех или четырех монохромных, которые смешиваются на экране или на принтере. • Чаще всего для представления на мониторах используется разбиение на 3 изображения: красное, зеленое синее (RGB), а для представления на принтерах - на 4 цвета: голубой, пурпурный, желтый, черный (CMYk). • Самый удобный и простой способ кодирования цвета — 24 -разрядный (True Color). На кодирование каждой цветовой составляющей RGВ отводится по одному 8 битов. Яркость каждой составляющей выражается числом от 0 до 255, и любой цвет из 16, 5 миллионов компьютер может воспроизвести по трем кодам.
2. Данные в ЭВМ 2. 7. Представление в ЭВМ графической информации l Векторная графика Используются готовые графические примитивы (линии, прямоугольники, овалы и др. ). Они описываются в координатной форме с указанием цвета их элементов.
2. Данные в ЭВМ 2. 7. Представление в ЭВМ графической информации l Существует ряд стандартизованных форматов побитовых (Microsoft Windows DIB – DIB, BMP, RLE; Compuserve GIF – GIF, TIFF – TIF, Windows Metafile – WMF и др. ) и векторных (Auto. Desk – DXF, Corel – CDR и др. ) изображений. Преобразование векторных изображений в побитовые тривиально. l Обратное преобразование – автотрассировка - с различной эффективностью выполняется рядом инструментальных систем и специализированных программ. l
2. Данные в ЭВМ 2. 8. Представление в ЭВМ звуковой информации l Непосредственная дискретизация (оцифровка) звукового сигнала (voc, wave – форматы). l Частота выборки стереосигнала для обеспечения CD – качества звука – 44, 1 КГц (44, 1 тыс. выборок в секунду на каждый канал), разрядность – 16 бит (2 байта). Объем информации, соответствующей 1 часу звучания – 44100 отсч. /сек. *2 канала*2 байта*3600 сек. = 605 М P, звуковое давление t, время
2. Данные в ЭВМ 2. 8. Представление в ЭВМ видеоинформации l Непосредственная дискретизация (оцифровка) побитовых изображений, сменяющихся со скоростью 30 кадров в секунду + цифровой звук. l l l При разрешении 640*480 и глубине цвета 24 бита для хранения одного кадра требуется 900 К. Одна секунда – 26, 4 М, что требует сжатия данных. Сжатие в стандарте DV (используется в цифровых видеокамерах). l l Покадровое сжатие. Одна секунда – около 3, 5 М
2. Данные в ЭВМ 2. 9. Сжатие данных l Сжатие (архивирование) без потери информации: l l l алгоритм Хаффмана (замена символов кодовыми последовательностями различной длины) алгоритм Лемпеля – Зива – Уэлча LZW (кодирование часто встречающихся символьных последовательностей на основе составляемого для каждого файла словаря). Используется в архиваторах LHARC, ARJ, PKZIP. Алгоритм RLE – Run Length Encoding (представление последовательности одинаковых байтов в виде двух величин: длины последовательности и содержимого повторяющегося байта). Используется в PCX файлах.
2. Данные в ЭВМ 2. 9. Сжатие данных l Сжатие с потерей информации: l l Метод JPEG – Joint Photographic Experts Group (основан на описании блоков 8*8 пикселов неподвижного изображения с переводом цвета в частотную область с использованием ДПФ, дальнейшим квантованием и кодированием по методу Хаффмана) Метод MPEG – Motion Picture Experts Group (сжатие видео и звука с использованием принципов JPEG + использование ссылок на части изображения, оставшиеся неизменными от предыдущего кадра).
1 Компьютеры и информация.pptx