- •Содержание.
- •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.
2.7.6.Директива #elif.
#elif означает иначе, если. Используется для построения if-else-if с целью определения различных опций компиляции.
За #elif следует константное выражение. Если оно истинно, то блок кода компилируется, и остальные выражения не проверяются, в противном случае рассматривается следующий блок.
Формат #elif
#if выражение
последовательность операторов
#elif выр.1
последовательность операторов
:
:
#elif выр. N
последовательность операторов
#endif
Пример. Данный фрагмент использует значение ACTIVE_COUNTRY для определения денежного знака.
#define US 0
#define ENGLAND 1
#define BR 2
# ACTIVE_COUNTRY US
#if ACTIVE_COUNTRY= =US
char currency[]=”dollar”;
#edif ACTIVE_COUNTRY= =ENGLAND
char currency[]=”pound”;
#else
char currency[]=”ZAYAC”;
#endif
#if и #elif могут быть вложенными. Если это имеет место, то каждый #endif, #else или #elif ассоциируется с ближайшим #if или #elif.
2.7.7.Директива #error.
Она указывает компилятору, в случае её обнаружения, остановить компиляцию. Как правило, она используется для отладки.
Формат: #error сообщение об ошибке.
Сообщение об ошибке не заключается в двойные кавычки. Когда компилятор обнаруживает директиву, он выводит сообщение в следующем виде и завершает компиляцию.
Fatal: имя_файла. Номер страницы: Error directive: сообщение об ошибке.
Здесь имя файла – это имя файла, где была обнаружена директива #error. Номер строки – номер строки директивы, а сообщение об ошибке – это собственно само сообщение.
2.8 Динамическое распределение памяти
Память для хранения данных может выделяться статически и динамически. Статическое распределение памяти выполняет компилятор, встретивший при компиляции имя объекта по типу и другим характеристикам, он вычисляет число байтов памяти, отводимое под данные. Класс хранения задаёт местами (сегмент данных или стек), где эти данные будут располагаться. Часто заранее неизвестно, сколько программа будет хранить объектов, а именно строк текста, чисел и т.д. В этом случае для хранения данных может использоваться специальное место, так называемая куча heap. Объём кучи и её месторасположение зависят от модели памяти. Ряд функций выполняют динамическое распределение памяти.
Функции библиотеки Borland C++ для динамического распределения памяти
Функции распределения |
Соответствующая функция освобождения |
Соответствующая функция перераспределения |
Malloc |
Free |
Realloc |
Calloc |
Free |
Realloc |
Farmalloc |
Farfree |
Farrealloc |
Farcalloc |
Farfree |
Farrealloc |
При каждом обращении к функции распределения памяти выделяется запрошенное число байтов. Адрес начала выделенной памяти возвращается в точку вызова функции. Распределение памяти гарантируется от повторного выделения при следующих обращениях за байтами памяти. Если выделенный участок памяти больше не требуется, он может быть освобождён при высокой активности по динамическому распределению памяти, куча фрагментируется для смягчения отрицательных последствий фрагментации служат функции повторного распределения памяти. Они пытаются либо уменьшить, либо расширить размер ранее выделенного блока памяти. Модели памяти TINY,SMALL,MEDIUMвключают 2 кучи:near-кучу иfar-кучу. Остальные модели памяти имеют толькоTINY,SMALL,MEDIUM. Объёмnear-кучи не превышает 64 кБайт,far-куча занимает всю свободную оперативную память. Функцииmalloc,calloc,free,reallocиспользуютnear-кучу для моделей памятиTINY,SMALL,MEDIUM. Для других моделей памяти используютсяfar-куча. С ней работают функции с префиксомfar. Их поведение для модулей памятиCOMPACTи старше не отличается от функцийmalloc,calloc. И те и другие функции черпают память из одной и той же кучи и возвращаютfarуказатели на начало выделенных участков памяти. При использовании модулейSMALL,MEDIUMдоступ к выделеннойfar-кучи памяти требует явного описания указателя какfar. ДляBorlandC++, для динамического выделения и освобождения памяти использует также операторыnewdelete.