
- •Часть 1
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Часть 2 __184__
- •Содержание дисциплины
- •1. Индивидуальные практические занятия, их характеристика
- •2. Контрольные работы, их характеристика
- •3. Курсовой проект, его характеристика
- •4. Литература
- •4.1. Основная
- •4.2. Дополнительная
- •5. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •Протокол согласования учЕбной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Теоретический раздел Введение
- •1. Основные типы данных
- •1.1. Общие сведения
- •1.2. Данные типа int
- •1.3. Данные типа char
- •1.4. Модификаторы доступа const и volatile
- •1.5. Данные вещественного типа (с плавающей точкой)
- •1.6. Элементарный ввод-вывод
- •1.7. Структура простой программы на языке Си
- •2. Операции и выражения
- •2.1. Выражение и его интерпретация
- •2.2. Основные операции
- •2.2.1. Арифметические операции
- •2.2.2. Побитовые логические операции
- •2.2.3. Операции сдвига
- •2.2.4. Операция присваивания
- •2.2.5. Операция sizeof
- •2.2.6. Преобразование типов в выражениях
- •2.2.7. Операция преобразования типов
- •2.2.8. Приоритеты в языке Си
- •3. Операторы управления вычислительным процессом
- •3.1. Оператор if
- •3.2. Операции отношения
- •3.3. Логические операции
- •3.4. Операция запятая
- •3.5. Операция условия ?:
- •3.6. Оператор безусловного перехода goto
- •3.7. Оператор switch
- •`` ` `3.8. Операторы цикла
- •3.8.1. Оператор for
- •3.8.2. Оператор while
- •3.8.3. Оператор do...While
- •3.9. Оператор break
- •3.10. Оператор continue
- •4. Массивы и указатели
- •4.1. Одномерные массивы и их инициализация
- •4.2. Многомерные массивы и их инициализация
- •4.3. Объявление указателей
- •4.4. Операции над указателями
- •1) Взятие адреса
- •2) Косвенная адресация или разыменование указателя
- •3) Увеличение или уменьшение значения указателя на целое число
- •4) Разность указателей
- •5) Сравнение указателей
- •6) Присваивание указателей друг другу
- •4.6. Связь между указателями и массивами
- •4.7. Динамическое распределение памяти
- •4.8. Массивы указателей
- •5. Функции
- •5.1. Общие сведения
- •5.2. Область видимости переменных
- •5.2.1. Локальные переменные
- •5.2.2. Глобальные переменные
- •5.3. Передача параметров в функцию
- •5.4. Рекурсивные функции
- •5.5. Использование функций в качестве параметров функций
- •5.6. Указатели на функции
- •5.7. Структура программы на Си
- •5.8. Передача параметров в функцию main()
- •6. Строки
- •7. Классы хранения и видимость переменных
- •7.1. Общие сведения
- •7.2. Автоматический класс хранения (auto)
- •7.3. Регистровый класс хранения (register)
- •7.4. Статический класс хранения (static)
- •7.5. Внешний класс хранения (extern)
- •7.6. Заключение
- •8. Структуры, объединения и перечисления
- •8.1. Общие сведения
- •8.2. Инициализация структурных переменных
- •8.3. Вложенные структуры
- •8.4. Указатели на структуры
- •8.5. Массивы структурных переменных
- •8.6. Передача функциям структурных переменных
- •8.7. Оператор typedef
- •8.8. Поля битов в структурах
- •8.9. Объединения
- •8.10. Перечисления
- •9. Динамические структуры данных
- •9.1. Общие сведения
- •9.2. Связные списки
- •9.2.1. Односвязные списки
- •9.2.2. Двусвязные списки
- •9.2.3. Циклические списки
- •9.3. Стеки
- •9.4. Очереди
- •9.5. Деревья
- •9.5.1. Понятие графа
- •9.5.2. Бинарные деревья
- •10. Файлы
- •10.1. Общие сведения
- •10.2. Открытие и закрытие файлов
- •10.3. Функции ввода-вывода для работы с текстовыми файлами
- •10.4. Произвольный доступ к файлу
- •10.5. Функции ввода-вывода для работы с бинарными файлами
- •11. Директивы препроцессора
- •11.1. Основные понятия
- •11.2. Директива #include
- •11.3. Директивы препроцессора #define и #undef
- •11.3.1. Символические константы
- •11.3.2. Макросы с параметрами
- •11.3.3. Директива #undef
- •11.4. Условная компиляция
- •11.5. Директивы # и ##
- •12. Модульное программирование
- •13. Введение в объектно-ориентированное программирование
- •13.1. Постановка задачи
- •13.2. Решение задачи средствами Си
- •13.5. Наследование
- •13.6. Перегрузка
- •13.7. Ссылочный тип
- •Литература
- •Приложение 1. Рекомендации по оформлению текстов программ
- •Тесты к теоретическому разделу Вопросы к разделу 1. Основные типы данных
- •Вопросы к разделу 2. Операции и выражения
- •Вопросы к разделу 3. Операторы управления вычислительным процессом
- •Вопросы к разделу 4. Массивы и указатели
- •Вопросы к разделу 5. Функции
- •Вопросы к разделу 6. Строки
- •Вопросы к разделу 7. Классы хранения и видимость переменных
- •Вопросы к разделу 8. Структуры, объединения и перечисления
- •Вопросы к разделу 9. Динамические структуры данных
- •Вопросы к разделу 10. Файлы
- •Вопросы к разделу 11. Директивы препроцессора
- •Вопросы к разделу 12. Модульное программирование
- •Вопросы к разделу 13. Введение в ооп
- •Правильные ответы на вопросы тестов к теоретическому разделу
- •Вопросы к теоретическому зачету
- •Варианты индивидуальных заданий
- •Контрольная работа №2
- •Варианты индивидуальных заданий
- •Индивидуальные практические работы Указания к выбору варианта индивидуальных практических работ
- •Индивидуальная практическая работа № 1. Массивы и строки
- •Варианты индивидуальных заданий
- •Индивидуальная практическая работа № 2. Динамические структуры данных
- •Варианты индивидуальных заданий
Содержание дисциплины
№ п/п |
Название и содержание тем |
Контрольная работа (номер и тема по п.2) |
Индивидуальная практическая работа с указанием вида 1 (по п.1) |
Оснащение контрольных и индивидуальных практические работ (по п.5) |
Литература (по п.4) |
Рекомендуе-мый объем для изучения (в часах)2 |
Форма контроля знаний (зачет по контрольной работе, тесты, защита индивидуальной практической работы, защита курсового проекта, экзамен, зачет) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
ЧАСТЬ 1. АЛГОРИТМИЧЕСКИЙ ЯЗЫК СИ |
|||||||
РАЗДЕЛ 1. ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА СИ |
|||||||
|
Тема 1. Основные характеристики языка Си. Общий синтаксис алгоритмического языка Си. Типы данных. Элементарный ввод/вывод. Структура программы на Си. |
— |
— |
— |
Л1, разд. 1 |
9 |
|
|
Тема 2. Операции. Операции и выражения. Операция присваивания. Арифметические и побитовые операции. Преобразование типов. Приоритеты в Си. |
— |
— |
— |
Л1, разд. 2 |
10 |
|
|
Тема 3. Операторы управления вычислительным процессом. Принятие решений. Условный оператор if. Операции отношения. Логические операции. Операция условия. Оператор switch. Циклы for, while, do...while. Операция запятая. Операторы break, continue. |
— |
— |
— |
Л1, разд. 3 |
9 |
|
РАЗДЕЛ 2. УКАЗАТЕЛИ |
|||||||
|
Тема 4. Работа с указателями. Указатели. Операции с указателями. |
— |
— |
— |
Л1, разд. 4 |
9 |
|
РАЗДЕЛ 3. СТРУКТУРНЫЕ ТИПЫ ДАННЫХ |
|||||||
|
Тема 5. Массивы. Объявление. Связь массивов и указателей. Инициализация массивов. Динамическое распределение памяти. Массивы указателей и их инициализация. |
— |
1** |
2 – 7 |
Л1, разд. 4 |
10 |
Защита индивидуальной практической работы |
|
Тема 6. Строки. Объявление. Работа со строками. |
— |
1** |
2 – 7 |
Л1, разд. 6 |
9 |
Защита индивидуальной практической работы |
|
Тема 7. Структуры. Объявление. Доступ к элементам структуры. Оператор typedef. Указатели на структуру. Массивы структур. Поля. Объединения. Перечисления. |
1 |
— |
2 – 7 |
Л1, разд. 8 |
9 |
Зачет по контрольной работе |
РАЗДЕЛ 4. ФУНКЦИИ |
|||||||
|
Тема 8. Функции. Объявление функции. Передача параметров функциям. Рекурсивные функции. Передача массивов функциям. |
— |
— |
— |
Л2, разд. 5 |
9 |
|
РАЗДЕЛ 5. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ |
|||||||
|
Тема 9. Списки. Структуры, ссылающиеся на себя. Списки, кольца. Операции над списками. Стеки. Операции над стеками. Очереди. Операции над очередями. |
— |
2** |
2 – 7 |
Л1, разд. 9 |
11 |
Защита индивидуальной практической работы |
|
Тема 10. Бинарные деревья. Объявление бинарного дерева. Операции над бинарными деревьями. |
— |
2** |
2 – 7 |
Л1, разд. 9 |
13 |
Защита индивидуальной практической работы |
РАЗДЕЛ 6. РАБОТА С ФАЙЛАМИ |
|||||||
|
Тема 11. Файлы. Типы файлов. Функции для работы с файлами. |
2 |
— |
2 – 7 |
Л1, разд. 10 |
11 |
Зачет по контроль-ной работе |
РАЗДЕЛ 7. ПРЕПРОЦЕССОР ЯЗЫКА СИ |
|||||||
|
Тема 12. Препроцессор языка Си. Макроподстановка без параметров и с параметрами. Управление компиляцией. |
— |
— |
— |
Л1, разд. 11 |
11 |
|
Зачет |
|||||||
ЧАСТЬ 2. АЛГОРИТМИЧЕСКИЙ ЯЗЫК АССЕМБЛЕР |
|||||||
РАЗДЕЛ 8. ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА АССЕМБЛЕР |
|||||||
|
Тема 13. Архитектура современного микропроцессора. Регистровая архитектура современного микропроцессора. Регистр флагов. Адресация. |
— |
— |
— |
Л2, разд. 1 |
11 |
|
|
Тема 14. Структура программы на языке Ассемблер. Директивы сегментации MASM и TASM. Структура программы. Форматы машинных команд. |
— |
— |
— |
Л2, разд. 2, разд. 4 |
13 |
|
|
Тема 15. Определение данных. Представление данных в компьютере. Первичные элементы языка Ассемблер. Директивы EQU и «=». Директивы определения данных. Определение адресов ячеек памяти. |
— |
— |
— |
Л2, разд. 3 |
11 |
|
РАЗДЕЛ 9. ОСНОВНЫЕ КОМАНДЫ ЯЗЫКА АССЕМБЛЕР |
|||||||
|
Тема 16. Команды пересылки данных. Режимы адресации. Команды пересылки данных. Команды работы со стеком. . Команды ввода/вывода через порты. |
— |
— |
— |
Л2, разд. 5, разд. 6 |
11 |
|
|
Тема 17. Команды двоичной арифметики. Сложение, вычитание, умножение и деление двоичных чисел. Переполнение при выполнении команд сложения, вычитания и деления. Команды преобразования типов. Команды сравнения |
— |
— |
— |
Л2, разд. 7 |
13 |
|
|
Тема 18. Команды десятичной арифметики. Арифметика упакованных и неупакованных BCD-чисел. |
— |
— |
— |
Л2, разд. 7 |
11 |
|
|
Тема 19. Управляющие команды. Логические команды. Команды сдвига и циклического сдвига. Команды безусловного и условного перехода. Команды управления циклами |
— |
— |
— |
Л2, разд. 9, разд. 10 |
11 |
|
|
Тема 20. Обработка строк. Команды обработки строк. Табличное преобразование |
— |
4** |
1, 3, 5 – 7 |
Л2, разд. 11 |
13 |
Защита индивидуальной практической работы |
РАЗДЕЛ 10. СЛОЖНЫЕ СТРУКТУРЫ ДАННЫХ |
|||||||
|
Тема 21. Выражения и операторы. Сложные структуры данных. Массивы. |
— |
3** |
1, 3, 5 – 7 |
Л2, разд. 14 |
14 |
Защита индивидуальной практической работы |
РАЗДЕЛ 11. ПОДПРОГРАММЫ |
|||||||
|
Тема 22. Процедуры. Объявление процедур. Стеки. Передача параметров процедурам |
3 |
— |
1, 3, 5 – 7 |
Л2, разд. 13 |
12 |
Зачет по контрольной работе |
|
Тема 23. Макросредства. Создание и вызов макроопределений. Макрооператоры и макродирективы. |
— |
— |
— |
Л2, разд. 15 |
13 |
|
РАЗДЕЛ 11. ПРЕРЫВАНИЯ |
|||||||
|
Тема 24. Обработка прерываний. Команды прерывания. Организация ввода/вывода через прерывание |
— |
— |
— |
Л2, разд. 12 |
11 |
|
Экзамен Защита курсового проекта |
1 * – выполняется аудиторно, ** – выполняется виртуально