- •Содержание.
- •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.3.1.2. Рекомендации по програмированию.
1) Элементы массива нумеруются, последовательно начиная с нуля.
2) Имя массива является константой указателя, содержащим адрес первого элемента массива. Поэтому нельзя к имени массива применять операции языка. Например: ++ или - -. Чтобы избежать ошибок надо описать переменную типа указатель того же типа, что и массив и присвоить ей адрес 1-го элемента массива.
Пример:
int a[10]; * p;
a++; /* ошибка * /
p=a
p++;
3) Вслучае применения операции увеличения указателя переменной, содержащий стартовый адрес массива, получаем адрес следующего элемента массива, т.е. увеличение значения указателя производится не на единицу, а на размер в байтах одного элемента массива.
4) Определение int a[]; эквивалентны
int * a;
Оба определения говорят, что а является указателем на целое
5) В случае многомерных массивов константное выражение, определяющее размеры массива можно опустить только для первого размера. Для всех последующих размеров оно обязательно должно присутствовать. Такое описание многомерного массива может присутствовать в описании списка параметра в функции.
Пример:
int a;
int b[ ][b];
fun(a,b)
При этом вызывающей функцией обязательно должен быть определен двухмерный массив, адрес которого передается в функцию fun ( )/
Например:
int mas [3] [6];
fun ( d, mas );
6) Следует различать выражения char ( * fun ) ( );
char * fun ( );
В первом случае определяется указатель на функцию. Второй оператор описывает функцию, возвращающую указатель на символ.
P.S. Указатели и функции подробнее будут рассмотрены далее.
2.3.1.3. Массивы строк символов.
Программирование на C типичное использование массивов строк. Для создания массива строк используется двухмерный массив символов. Первый индекс определяет число строк, а следующий индекс max число символов в каждой строке. Чтобы получить доступ к отдельной строке необходимо определить левый индекс.
Пример объявления массива из 20 строк, в каждой из которых содержится до 59 символов включительно.
charstrmas[20] [60];
Язык C не поддерживает отдельный строковый тип данных. Он позволяет определить строки двумя различными способами: в первом используется массив символов, а во втором – указатель на первый символ массива. Обьявление – char a [10] – указывает компелятору на необходимость резервирования места для max 10 символов. Константа а содержит адрес ячейки памяти, в которой помещено значение первое из 10 обьектов типа char. Процедуры, связанные с занесением конкретной строки в массив а, копируют ее по одному символу в область памяти, на которую указывает константа а, до тех пор, пока не будет скопирован нулевой символ, заканчивающий строку. Когда выполняется функция типа printf ( " % S ", a ), ей передается значение а, т.е. адрес первого символа, на который указывает а. Если первый символ нулевой, то работа функции printf заканчивается, а если нет, то она выводит его на экран, прибавляет к адресу 1 и снова начинает проверку на нулевой символ. Такая обработка позволяет снять ограничения на длину строки (в рамках обьявленной размерности ). Строка может быть любой длины до тех пор, пока есть место в памяти, куда можно ее поместить. Вторым способом определения строки является использование указателя на символ. Использование char * в задает переменную в, которая может содержать адрес некоторого обьекта. Объявление типа char * b задает переменную b, которая может содержать адрес некоторого объекта. В данном случае компелятор не резервирует память для хранения символов, и не инециализирует переменную в конкретном значении. Когда компелятор встречает инструкцию вида b = " Минск ", он производит следующие действия:
1) Как и в предыдущем случае он создает в каком-либо месте объектного модуля строку Минск,за которой следует нулевой символ.
2) Он присваевает значение начального адреса этой строки, адрес символа " Минск " переменной b. Функция printf (" % S ",b);
работает следующим образом, она осуществляет вывод символов до тех пор, пока не встретится заключающий ноль, т.е. аналогично первому способу.
Массив указателей можно инециализировать, т.е. назначить его элементам конкретные адреса некоторых заданных строк при объявлении.
Если объявить char my __ char [3,6] в памяти выделится
-
У
Ч
И
Т
Е
\0
С
\0
\0
\0
\0
\0
!
\0
\0
\0
\0
\0
Если будет обьявлена следующим образом char * my __ char [3], то в памяти будет выделено:
-
У
Ч
И
Т
Е
\0
С
\0
!
\0
Это значительно экономит память. C позволяет создавать массивы с размерностями больше 2.