
- •Содержание.
- •1.Предмет и содержание дисциплины 6
- •2.Использование языка программирования с в решении экономических задач 7
- •3.Информатика как наука. 68
- •4.Арифметико-логические основы эвм. 73
- •5.Электронные вычислительные машины. 88
- •7.Основы алгоритмизации. 113
- •8. Программное обеспечение эвм. 127
- •1.Предмет и содержание дисциплины
- •1.1.Содержание дисциплины.
- •2.Использование языка программирования с в решении экономических задач
- •2.1. Программы и данные
- •2.1.1. Достоинство языка с
- •2.1.2.Использование с.
- •2.1.3.Структура программы на языке с.
- •2.1.4. Элементы программы. Идентификаторы.
- •2.1.5. Типы данных.
- •2.1.6. Таблица всех допустимых комбинаций базовых типов и модификаторов для 16-битных слов.
- •2.1.7. Локальные и глобальныепеременные.
- •2.1.8.Функции ввода и вывода данных.
- •2.1.9.Функции и обозначающие символы.
- •2.2.Операции, операторы и выражения.
- •2.2.1.Операторы организации циклов.
- •2.2.1.1. Оператор for
- •2.2.1.2.Оператор while
- •2.2.1.3.Оператор цикла do-while.
- •2.2.2. Операторы выбора.
- •2.2.2.1.Оператор if – else(если…иначе)
- •If (условие) оператор 1;
- •2.2.2.2. Оператор ?
- •Выражение 1? выражение 2: выражение 3;
- •2.2.2.3. Оператор switch (переключатель)
- •2.2.2.4. Оператор безусловного перехода goto.
- •2.2.2.5. Операторbreak
- •2.2.2.6. Оператор continue
- •2.2.3.Объявление переменных.
- •2.2.4.Константы.
- •2.2.5.Коментарии.
- •2.2.6.Рекомендации по програмированию.
- •2.3.Структурированные типы данных.
- •2.3.1.Массив.
- •2.3.1.1. Связь между массивами и указателями.
- •2.3.1.2. Рекомендации по програмированию.
- •2.3.1.3. Массивы строк символов.
- •2.3.1.4.Многомерные массивы.
- •2.3.2. Структуры.
- •2.3.2.1. Доступ к членам структуры.
- •2.3.2.2. Присваивание структур.
- •2.3.2.3.Массивы структур.
- •2.3.2.4.Массивы и структуры в структурах.
- •2.3.3.Битовые поля.
- •Разряды машинного слова
- •2.3.4.Cмеси.
- •2.3.5.Cредства typedef
- •2.3.6.Файлы.
- •2.3.6.1.Ввод и вывод информации.
- •2.3.6.2.Функции fsanf и fprintf
- •2.3.6.3.Чтение и вывод строк.
- •2.3.6.4.Функция fgets( )
- •2.3.6.5. Функция fputs( )
- •2.4. Указатели.
- •2.4.1.Операторы для работы с указателями.
- •2.4.2.Выражение с указателями.
- •2.4.3.Арифметические действия с указателями.
- •2.4.4.Сравнение указателей.
- •2.4.5.Массивы указателей
- •2.4.6. Указатели на указатели многочисленные или перенаправления.
- •2.4.7. Указателина структуры.
- •2.4.7.1.Объявление указателей на структуру.
- •2.4.7.2.Использование указателей на структуру.
- •2.4.8. Рекомендации по програмированию.
- •2.5.Функции.
- •2.5.1.Вызов функции. Использование вызывающей функции. Обращение к вызывающей функции.
- •2.5.2.Аргументы и параметры.
- •2.5.3.Оператор return.
- •2.5.4.Рекурсия (использование вызывающей функции обращения к самой себе).
- •2.5.5.Использование указателя на функцию при вызове функции.
- •2.5.6.Главная функция, передача аргументов главной функции.
- •2.6.Библиотечные функции языка с.
- •Наиболее употребительные заголовочные файлы.
- •2.6.1. Puts ( )
- •Int puts (s)
- •2.6.2. Gets ( )
- •2.6.3. Putc().
- •2.7.1.Включение файла.
- •2.7.2.Макроподстановка.
- •2.7.2.1.Простая.
- •2.7.3.Рекомендации по программированию.
- •2.7.4.Директива #undef
- •2.7.5.Условная компиляция.
- •2.7.6.Директива #elif.
- •2.7.7.Директива #error.
- •2.8 Динамическое распределение памяти
- •2.8.1.Операторы malloc и free.
- •2.8.2.Операторы new и delete.
- •2.8.2.1.Размещение массивов с помощьюnew.
- •2.9 Связные списки, очереди, стеки
- •2.9.1.Односвязные и двусвязные списки.
- •2.9.2.Очереди.
- •2.9.3.Стеки.
- •3.Информатика как наука.
- •3.1.Информатика и информация
- •3.2.Информация и управление
- •3.3.Информационные технологии
- •4.Арифметико-логические основы эвм.
- •4.1.Позиционные системы счисления
- •4.1.1.Система счисления.
- •4.2. Метод деления.
- •4.3.Метод умножения.
- •4.4.Сложение двоичных чисел
- •4.5.Умножение двоичных чисел
- •4.6.Деление двоичных чисел
- •5.Электронные вычислительные машины.
- •5.1.Функционально-структурная организация
- •5.1.1.Структура персонального компьютера
- •5.1.2.Внутренние устройства пк.
- •5.1.3.Специальная память.
- •5.2. Внешние запоминающие устройства.
- •5.2.1.Носители информации.
- •5.2.1.1. Жесткий диск.
- •5.2.1.2. Флоппи-диски.
- •5.2.1.3. Компакт-диски.
- •5.2.2.Клавиатура пвэм.
- •5.2.2.1.Клавиатура.
- •5.2.2.2.Классификация клавиш.
- •5.2.2.3.Устройство клавиатуры.
- •5.2.4.Дисплеи пэвм.
- •5.2.4.1.Текстовый режим.
- •5.2.4.2.Графический режим.
- •5.2.5.Печатающие устройства.
- •5.2.6.Мышь и трекбол.
- •5.2.7.Дополнительные устройства пэвм.
- •5.2.7.1. Сканер.
- •5.2.7.2. Плоттер.
- •5.2.7.3. Дигитайзер.
- •5.2.7.4. Модем.
- •5.2.7.5. Звуковая карта.
- •5.2.7.6. Видеоадаптер.
- •5.2.7.7. Сетевая карта.
- •5.2.7.8.Стример.
- •5.3. Тенденции развития пэвм.
- •5.3.1. Ibm pc – совместимые персональные компьютеры
- •5.3.1.1Аппаратные средства пк (Hardware)
- •5.3.1.2.Драйверы
- •5.3.2. Персональные компьютеры фирмы Apple
- •5.3.2.1.IMac
- •5.3.2.2.PowerMacG4
- •5.3.2.3.Выбираем конфигурацию
- •5.4.Сотовая связь
- •7.Основы алгоритмизации.
- •7.1.Понятие алгоритма
- •7.2.Основные этапы технологического процесса разработки программ решения экономических задач на эвм.
- •7.3.Свойства алгоритма
- •7.4.Алгоритмический язык
- •7.5.Языки программирования.
- •8. Программное обеспечение эвм.
- •8.1. Системное программное обеспечение эвм
- •8.1.1.Операционная система.
- •8.1.1.1.Понятие, основные функции и составные части ос.
- •8.1.1.2.Файловая система.
- •8.1.1.3.Характеристики и виды ос.
- •8.1.1.4.Oc ms dos
- •8.1.1.5.OcWindows.
- •8.1.1.6.Стандартные приложенияWindows
- •8.1.1.7.Обзор современных ос.
- •8.1.2.Программная оболочка
- •8.1.2.1.Norton Navigator
- •8.1.2.2.Windows Commander
- •8.1.3.Файлы и каталоги
- •8.1.3.1.Создание каталога.
- •8.1.3.2.Работа с файлами и каталогами. Операции с отдельными файлами
- •8.1.3.3.Работа с группой файлов.
- •8.1.3.4.Операции с файлами
- •8.1.4.Сканирование
- •8.1.5.Дефрагментация
- •8.1.6.Norton Utilities
- •8.1.6.1.Norton Disk Doctor
- •8.1.6.2.NortonSpeedDisk
- •8.1.7.Архивация.
- •8.1.7.1.Программы архивации
- •8.1.7.2.Arj
- •8.1.7.3.WinRar
- •8.1.7.4.ZipFoldersиZipMagic2000
- •8.1.8.Антивирусные средства.
- •8.1.8.1.Классификация вирусов.
- •8.1.8.2.Особенности алгоритма работы вируса.
- •8.1.8.3.Аппаратные устройства – источники вирусов.
- •8.1.8.4.Способы защиты от вирусов.
- •8.2. Прикладное программное обеспечение пэвм
- •8.2.1.Компьютерная графика.
- •8.2.1.1.Направления компьютерной графики
- •8.2.1.2.Растровая и векторная графика.
- •8.2.1.3.Назначение и характеристика пакетов растровой графики.
- •8.2.1.4.Назначение и характеристика пакетов векторной графики.
- •8.2.1.5.Программы трехмерного моделирования.
- •8.2.1.6.Назначение и характеристика пакетов деловой графики.
- •8.2.1.7.Графические форматы данных.
- •8.2.1.8.Задачи, решаемые средствами компьютерной графики:
- •8.2.2.Текстовыепроцессоры.
- •8.2.2.1.Сохранение документа и основные особенности наиболее часто употребляемых форматов
- •8.2.2.2.Общая характеристикаMicrosoftWord2000 и его новые и усовершенствованные функциональные возможности.
- •8.2.3.Табличные процессоры
- •8.2.3.1 . Концепция электронной таблицы
- •8.2.3.2.Основные понятия табличного процессора
- •8.2.3.3.Структурные единицы электронной таблицы
- •8.2.3.4.Правила работы.
- •8.2.3.5. Характеристика табличных процессоров
- •8.2.3.6.Функциональные возможностиExcelи его интерфейс.
- •8.2.3.7.ВозможностиExcel97
- •8.2.4.Пакеты презентационной графики.
- •8.2.4.1.Создание презентации с помощью Мастера автосодержания.
- •8.2.4.2.Возможности программы.
- •8.2.4.3.Новые возможности в очередных версиях.
- •8.2.5. Дополнительные возможности продуктов ms Office
- •8.2.5.1.Совместное использование программ Word, Excel, PowerPoint.
- •8.2.5.2.Подготовка документов на бланке.
- •8.2.5.3.Отправка документа по электронной почте.
- •8.2.5.4.Создание Web-страниц.
- •8.2.5.5.Назначение и характеристика мsOutlook.
4.4.Сложение двоичных чисел
Арифметические действия над двоичными числами производятся по тем же правилам, что и над десятичными. Необходимо только учитывать, что сложение двух единиц дает нуль в данном разряде и единицу переноса в следующий.
Задача 2.8. Найти
сумму двух чисели
.
В дальнейшем, для упрощения записи, указанную задачу будем формулировать в следующем виде:
Решение: 1101
+ 101
10010
Ответ:
Сложение чисел с фиксированной запятой с различными знаками благодаря использованию обратного или дополнительного кода для отрицательных чисел сводится в ЭВМ к арифметическому сложению кодов чисел. Знаковые разряды участвуют в операции сложения наравне с цифровыми. При этом если выполняется операция сложения в обратных кодах, единица переноса из знакового разряда суммы прибавляется к её младшему разряду (т. е. выполняется циклический перенос). Если же операция сложения выполняется над числами, представленными в дополнительном коде, то единица переноса из знакового разряда суммы отбрасывается. Переход от обратного и дополнительного кодов к прямому выполняется аналогично переходу от прямого кода к обратному и дополнительному соответственно.
Рассмотрим некоторые правила сложения чисел в обратном и дополнительном кодах.
1. Результат сложения чисел, представленных в обратном коде, получится в обратном коде (если сумма отрицательна). Для перевода числа из обратного кода в прямой значения цифровых разрядов меняются на противоположные.
2. Для формирования правильного результата необходимо выполнить циклический перенос единицы. Если сумма положительна, то результат соответствует прямому коду суммы.
Сложение с использованием обратных кодов, как и в случае дополнительных кодов, выполняется по обычным правилам сложения двоичных чисел (при этом знаковый разряд рассматривается наравне с цифровыми), с той лишь разницей, что в случае обратных кодов в процессе получения суммы реализуется (при необходимости) циклический перенос, тогда как при дополнительных кодах единица переноса из знакового разряда не учитывается (отбрасывается). Следовательно, в общем виде реализация операции сложения в дополнительных кодах проще по сравнению с реализацией сложения в обратных кодах. Однако достигается это за счет усложнения операции кодирования чисел.
Следует также иметь в виду, что при сложении двух одинаковых по абсолютной величине чисел с разными знаками в случае использования обратных кодов получается отрицательный нуль (1,11... 11 либо 1.11...1). В ЭВМ отрицательный нуль автоматически преобразуется в положительный (т. е. к виду 0,00...0 при сложении правильных дробей либо 0.00...0 при сложении целых чисел соответственно). При сложении двух чисел с одинаковыми знаками возможно переполнение разрядной сетки сумматора (устройства, реализующего операцию сложения). Это, очевидно, приводит к существенному искажению результата.
Знак суммы (содержимое знакового разряда) может измениться по отношению к знаку слагаемых лишь в том случае, если при выполнении операции сложения имел место перенос либо только из знакового разряда суммы (при сложении отрицательных чисел), либо только в знаковый разряд (при сложении положительных чисел). При наличии переносов из знакового разряда и в знаковый разряд знак суммы совпадает со знаком слагаемых. Поэтому в ЭВМ для обнаружения факта переполнения разрядной сетки сумматора анализируются не знаки, а лишь факт наличия (отсутствия) переноса из знакового разряда и в знаковый разряд.
Следует иметь в виду, что при выполнении операции сложения в дополнительном коде возможна ситуация (единственная), когда указанное правило не различает переполнение. Это происходит тогда, когда сумма модулей двух отрицательных чисел равна удвоенному весу единицы старшего разряда числа (для правильной дроби — единице).
В некоторых ЭВМ
для обнаружения переполнения применяют
так называемые модифицированные коды
(прямой, обратный и дополнительный),
которые отличаются от основных
(немодифицированных) лишь тем, что под
поле знаков выделены два разряда.
Например, число
в прямом модифицированном коде имеет
вид
;
число
в обратном модифицированном коде
записывается как
и пр.
Сложение чисел в
модифицированных кодах выполняется по
тем же правилам, что и в основных кодах.
Признаком переполнения здесь является
различие содержимых знаковых разрядов:
комбинация 01 фиксирует переполнение
при сложении двух положительных чисел
(положительное переполнение), а 10 — двух
отрицательных (отрицательное переполнение).
Заметим, что та же особая ситуация,
возникающая при сложении отрицательных
чисел в дополнительном коде, не различается
и в модифицированном дополнительном
коде. Если числа
и
представлены в форме с плавающей запятой,
т. е.
,
то для их сложения необходимо
и
привести к общему порядку
.
Если, например,
,
то приведение к общему порядку отразится
лишь на
.
Далее можно общий множитель вынести за скобки и провести сложение мантисс:
Очевидно, при
конечной длине поля цифр мантиссы
необходимо выбирать из условия
,
так как в противном случае произойдет
переполнение разрядной сетки мантиссы
преобразуемого числа (в памяти машины
числа с плавающей запятой хранятся в
нормализованном виде).
В ЭВМ определен следующий порядок выполнения операции сложения чисел, представленных в форме с плавающей запятой.
1. Вычитание порядков складываемых чисел. Если разность порядков равна нулю порядки равны, то перейти к пункту 3. Если порядки не равны, то осуществить выравнивание порядков (пункт 2).
2. Увеличение меньшего из порядков до большего. Мантисса числа с меньшим порядком сдвигается вправо на число разрядов, равное разности порядков.
3. Сложение мантисс. Если не произошло переполнения разрядной сетки мантиссы и сумма получена в нормализованном виде, то вычисления закончить. Сумма мантисс является мантиссой суммы чисел, а порядок суммы чисел равен порядку большего числа (или общему порядку). В противном случае перейти к пункту 4.
4. Нормализация полученной суммы вправо (при переполнении разрядной сетки мантиссы) или влево (при наличии в мантиссе нулей). При нормализации вправо мантиссу суммы сдвинуть вправо на один разряд, а порядок суммы увеличить на единицу. При нормализации влево мантиссу суммы сдвинуть влево до первой значащей цифры, а порядок суммы уменьшить на такое же количество единиц.