УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«МЕЖДУНАРОДНЫЙ ГОСУДАРСТВЕННЫЙ ЭКОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ А.Д. САХАРОВА»
Утверждаю
Проректор по учебной работе
МГЭУ им А. Д. Сахарова
____________________ О. И. Родькин
_______________ 200_г.
Регистрационный № УД-_____/р.
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ СИ
Учебная программа для специальности
1-40 01 02 «Информационные системы и
технологии
(по направлениям)»
Очная и заочная формы обучения
Факультет: |
мониторинга окружающей среды |
|
Кафедра: |
экологических информационных систем |
|
Курс (курсы): |
2 |
2 |
Семестр (семестры): |
4 |
4 |
Лекции (часы): |
16 |
6 |
Практические (семинарские) занятия (часы): |
– |
– |
Лабораторные занятия (часы): |
52 |
12 |
Всего аудиторных часов по дисциплине: |
68 |
18 |
Всего часов по дисциплине: |
114 |
114 |
Зачет (семестр): |
4 (диф) |
4 (диф) |
Экзамен (семестр): |
– |
– |
Контрольная работа (месяц): |
– |
январь |
Курсовой проект (работа) (семестр): |
– |
– |
Форма получения высшего образования: |
очная |
Заочная |
МИНСК 2009
Учебная программа составлена на основе типовой учебной программы по дисциплине «Программирование на языке Си» специальности 1-40 01 02-06 «Информационные системы и технологии (по направлениям), учебных планов специальности очной и заочной форм обучения.
Рассмотрена и рекомендована к утверждению на заседании кафедры экологических информационных систем (протокол № 11 от 21.04 2009).
Заведующий кафедрой
____________________ В. А. Иванюкович
Одобрена и рекомендована к утверждению советом факультета мониторинга окружающей среды (протокол № 11 от 25. 05. 2009).
Председатель
____________________ Н. В. Пушкарев
1. Пояснительная записка
Предметом изучения дисциплины являются основы программирования на алгоритмическом языке Си.
Цель преподавания дисциплины – дать студентам необходимый комплекс знаний и практических навыков в области разработки и применения программных средств, отвечающих современным принципам программирования, на основе алгоритмического языка Си для дальнейшего квалифицированного использования в учебном процессе, научных исследованиях и практической работе.
Задачами изучаемой дисциплины являются:
· освоение базовых программных средств персонального компьютера, средств разработки программных приложений для него, элементов интерфейса среды разработки;
· изучение общей концепции построения типовых программных модулей, выявление возможности повышения эффективности программного обеспечения и его оптимальности при разработке математической модели;
· изучение основных синтаксических конструкций изучаемого языка программирования, базовых типов данных, назначение и синтаксис библиотечных функций;
· изучение конструкций языка, связанных с отладкой программы, вызовом и обработкой исключительных ситуаций
В результате изучения дисциплины обучаемый должен:
знать:
· конструкции языка для создания логичной структуры разрабатываемого приложения;
· развитые средства среды разработки для повышения эффективности при создании различных типов приложений;
· возможности стандартных библиотек для обеспечения интерфейса с операционной системой
уметь:
· использовать возможности структурного программирования для решения прикладных задач;
· использовать развитые средства среды разработки при написании, отладке и тестировании, как отдельных частей, так и конечного программного продукта.
Перечень дисциплин, усвоение которых необходимо для изучения данной дисциплины.
Требуются знания информационных технологий, основ алгоритмизации и программирования.
Изучение дисциплины предусматривает систематическую самостоятельную работу студентов с рекомендуемой литературой, учебно-методическими пособиями, Internet-источниками, а также использование современных программных и технических средств при выполнении лабораторных занятий.
2. Содержание учебного материала
(в скобках указан объем для заочной формы обучения)
№ п / п |
Наименование тем |
Содержание |
Объем часы |
1. |
Система программирования на языке Си и ее состав. Обзор компиляторов. Синтаксические основы языка Си |
Интегрированная среда разработки; создание и выполнение проекта. Работа с отладчиком. Алфавит языка. Идентификаторы. Ключевые слова. Типы данных. Объявление и инициализация переменных. Константы. Операторы. Структура программы. Заголовочные файлы. Консольный ввод-вывод [1], с. 3 - 16 |
2 (0.5) |
2. |
Базовые инструкции языка. Выражения и операции. |
Арифметические операции и выражения. Операции присваивания и отношения. Логические операции. Поразрядные операции и операции сдвига. Приоритет операций. Условные операции и операторы. Операторы ветвления, передачи управления. Оператор выбора. Циклические алгоритмы. |
2 (1) |
3. |
Организация данных. Массивы и указатели |
Указатели: объявление, инициализация, разыменование. Операции с указателями. Объявление, инициализация и работа с одномерными и многомерными массивами. Символьные массивы. Связь указателей и массивов |
2 (1) |
4. |
Функции. Основные определения функции. Параметры функции main(). Директивы препроцессора |
Принцип нисходящего программирования. Область видимости переменных. Типы функций. Прототип функции и определение функции. Параметры и аргументы функций. Рекурсивные функции. Передача массивов функциям. Указатели на функции. Способы конструирования программ. Директивы препроцессора. Макросы. |
2 (0.5) |
5. |
Строки в языке Си |
Строковые литералы, строковые переменные, строковые указатели. Нулевые строки. Операции и функции работы со строками. Функции работы с символами |
1(0.5) |
Работа с динамической памятью |
Функции работы с памятью. Создание одномерного динамического массива. Создание двухмерного динамического массива. Организация доступа к элементам массивов. Использование указателей |
1(0.5) |
|
6. |
Тип данных структуры. Динамические структуры данных. |
Организация данных. Объявление и создание структурных переменных. Массивы структур. Размещение структурных переменных в памяти. Доступ к элементам структуры. Задачи поиска и сортировки в массиве структур. Битовые поля. Объединения. Динамическое использование памяти. |
2(1) |
7. |
Файлы в языке Си |
Текстовые и бинарные файлы. Функции работы с файлами: открытие-закрытие файла, запись-чтение информации. Блоковый ввод-вывод файлов. Позиционирование в файле. |
2(1) |
8. |
Нелинейные структуры данных |
Основные принципы работы с бинарными деревьями. Алгоритмы обхода дерева. Вставка нового элемента. Удаление узла. |
1 |
Понятие хеширования |
Хеш-таблица и хеш-функция. Схемы хеширования |
1 |
|
Всего: |
16 (6) |
3. Учебно-методическая карта дисциплины
(в скобках указана информация для заочной формы обучения):
Номер п / п |
Название темы и перечень изучаемых вопросов |
Количество аудиторных часов |
Номер методического средства |
Учебно-методические материалы |
Номер формы контроля знаний |
|||||||||
Лекции |
Практические занятия |
Лабораторные занятия |
Управляемая самостоятельная работа |
|||||||||||
Семестр 4: |
||||||||||||||
1 |
Система программирования на языке Си и ее состав. Обзор компиляторов. Синтаксические основы языка. 1. Интегрированная среда разработки; создание и выполнение проекта. Работа с отладчиком. 2. Алфавит языка. Идентификаторы. Ключевые слова. 3. Типы данных. Объявление и инициализация переменных. Константы. 4. Структура программы. Операторы. Заголовочные файлы. Консольный ввод-вывод |
2 (0.5) |
1, 2 (1, 2) |
[1,3,4] |
1, 2 (1, 2) |
|||||||||
2 |
Базовые инструкции языка. Выражения и операции: 1. Арифметические операции и выражения. 2. Операции присваивания и отношения. 3. Логические операции. 4. Поразрядные операции и операции сдвига. 5. Приоритет операций. 6. Условные операции и операторы. 7. Операторы ветвления, передачи управления. 8. Оператор выбора. Циклические алгоритмы |
2 (1) |
1, 2 (1, 2) |
[1,3,4] |
1, 2 (1, 2) |
|||||||||
3 |
Организация данных. Массивы и указатели: 1. Указатели: объявление, инициализация, разыменование 2. Операции с указателями. 3. Объявление, инициализация и работа с одномерными и многомерными массивами 4. Символьные массивы. 5. Связь указателей и массивов |
2 (1) |
1, 2 (1, 2) |
[1,3,4] |
1, 2 (1, 2) |
|||||||||
4 |
Функции. Основные определения функции. Параметры функции main(). 1. Область видимости переменных. 2. Типы функций. Прототип функции и определение функции. Параметры и аргументы функций. 3. Рекурсивные функции. 4. Передача массивов функциям. Указатели на функции. 5. Способы конструирования программ. Директивы препроцессора. Макросы |
2 (0.5) |
1, 2 (1, 2) |
[1,3,4] |
1, 2 (1, 2) |
|||||||||
5 |
Строки в языке Си: 1. Строковые литералы, строковые переменные, строковые указатели. Нулевые строки. 2. Операции и функции работы со строками. 3. Функции работы с символами |
1 (0.5) |
1, 2 (1, 2) |
[1,3-5] |
1, 2 (1, 2) |
|||||||||
6 |
Работа с динамической памятью: 1. Функции работы с памятью. 2. Создание одномерного динамического массива. Создание двухмерного динамического массива. 3. Организация доступа к элементам массивов. Использование указателей |
1 (0.5 |
1, 2 (1, 2) |
[1,3-5] |
1, 2 (1, 2) |
|||||||||
7 |
Тип данных структура. Динамические структуры данных: 1. Организация данных. Объявление и создание структурных переменных. Массивы структур. Размещение структурных переменных в памяти. Доступ к элементам структуры. Задачи поиска и сортировки в массиве структур. 2. Битовые поля. 3. Объединения. 4. Динамическое использование памяти |
2 (1) |
1, 2 (1, 2) |
[1,3-5] |
1, 2 (1, 2) |
|||||||||
8 |
Файлы в языке Си: 1. Текстовые и бинарные файлы. Функции работы с файлами: открытие-закрытие файла, запись-чтение информации. 2. Блоковый ввод-вывод файлов. 3. Позиционирование в файле |
2 (1) |
1, 2 (1, 2) |
[1,3-5] |
1, 2 (1, 2) |
|||||||||
9 |
Нелинейные структуры данных: 1. Основные принципы работы с бинарными деревьями. 2. Алгоритмы обхода дерева. 3. Вставка нового элемента. Удаление узла |
1 (0) |
1, 2 (–) |
[4-6] |
1, 2 (–) |
|||||||||
10 |
Понятие хеширования: 1. Хеш-таблица и хеш-функция. 2. Схемы хеширования |
1 (0) |
1, 2 (–) |
[4-6] |
1, 2 (–) |
|||||||||
11 |
Основы работы в интегрированной среде программирования Borland C++: установка, настройка типовой конфигурации, выполнение и отладка, пошаговый режим, просмотр переменных. Освоение правил составление программ на языке Си. Организация линейных вычислительных процессов. Ввод-вывод данных. |
4 (1) |
2 - 4 (2 - 4) |
[2] |
4, 5 (4, 5) |
|||||||||
12 |
Операторы ветвления и выбора. Операторы перехода Тернарная операция. |
4 (1) |
2 - 4 (2 - 4) |
[2] |
4, 5 (4, 5) |
|||||||||
13 |
Программирование циклических алгоритмов (с предусловием, постусловием, со счетчиком). Вложенные циклы. Операторы продолжения цикла и досрочного выхода из цикла. |
4 (1) |
2 - 4 (2 - 4) |
[2] |
4, 5 (4, 5) |
|||||||||
14 |
Работа с одномерными массивами. Строки как одномерные массивы символов. |
4 (1) |
2 - 4 (2 - 4) |
[2] |
4, 5 (4, 5) |
|||||||||
15 |
Указатели и операции над адресами: правила обращения к объектам по указателю; связь указателей и массивов. Указатели тапа void*. Массивы указателей |
4 (2) |
2 - 4 (2 - 4) |
[2] |
4, 5 (4, 5) |
|||||||||
16 |
Многомерные массивы: объявление, инициализация, размещение в памяти. Динамическое распределение памяти. |
4 (0) |
2 - 4 (–) |
[2] |
4, 5 (–) |
|||||||||
17 |
Функции пользователя: составления функций пользователя и организация работы с ними. Организация рекурсии. |
4 (2) |
2 - 4 (2 - 4) |
[2] |
4, 5 (5, 6) |
|||||||||
18 |
Использование графического режима в языке Си: функции для подготовки графической системы; функции для установки параметров изображения и получения изображения |
4 (0) |
2 - 4 (–) |
[2] |
4, 5 (–) |
|||||||||
19 |
Использование структур: объявление, инициализация, особенности работы. Передача элементов структуры в функцию. |
4 (1) |
2 - 4 (2 - 4 ) |
[2] |
4, 5 (5, 6) |
|||||||||
20 |
Файлы в языке Си: типы файлов, функции для работы с файлами |
4 (2) |
2 - 4 (2 - 4) |
[2] |
4, 5 (5, 6) |
|||||||||
21 |
Алгоритмы сортировки, особенности реализации и сравнительные характеристики. |
4 (0) |
2 - 4 (–) |
[2] |
4, 5 (–) |
|||||||||
22 |
Изучение алгоритмов работы с бинарным деревом: построение, добавление элемента, обход дерева, поиск и удаление элемента |
4(0) |
2 - 4 (–) |
[4] |
4, 5 (4, 5) |
|||||||||
23 |
Итоговое занятие. Проведение контрольного тестирования. |
4 (1) |
2 - 4 (2 - 4) |
[1-8] |
4 - 7 (4 - 7) |
|||||||||
Наименования и виды методических средств:
№ п / п |
Наименование |
Вид |
1. |
NEC 220 |
Компьютерная мультимедийная проекционная система |
2. |
Microsoft Windows |
Операционная система |
3. |
Microsoft Novell |
Сетевое программное обеспечение |
4. |
Интегрированная среда программирования Borland C++ |
Система программирования ВС31 |
Формы контроля знаний:
№ п / п |
Форма |
1. |
Выборочный контроль на лекциях |
2. |
Проверка конспектов лекций студентов |
3. |
Проведение контрольных работ на потоке |
4. |
Сдача коллоквиума перед проведением лабораторных занятий |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.