Утверждена
Министерством образования
Республики Беларусь
« 24 » июня 2001 г.
Регистрационный № ТД -156 / тип
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
УЧЕБНАЯ ПРОГРАММА ДЛЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ
ПО СПЕЦИАЛЬНОСТИ 40 02 01 «ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ,
СИСТЕМЫ И СЕТИ»
Составитель:
Е.М. Демидович - доцент кафедры электронных вычислительных машин Белорусского государственного университета информатики и радиоэлектроники, кандидат технических наук.
Рецензенты:
Лаборатория логического проектирования Института технической кибернетики Национальной академии наук Беларуси (протокол № 8 от 20 июня 2000 г.);
В.С.Романчик - доцент кафедры численных методов и программирования Белорусского государственного университета, кандидат физико-математических наук.
Рекомендована к утверждению в качестве типовой:
Кафедрой электронных вычислительных машин Белорусского государственного университета информатики и радиоэлектроники (протокол № 30 от 20 марта 2000 г.);
Советом Белорусского государственного университета информатики и радиоэлектроники (протокол № 4 от 23 ноября 2000 г.)
Согласована с:
Учебно-методическим объединением вузов Республики Беларусь по образованию в области электрорадиотехники и информатики; Главным управлением высшего и среднего специального образования;
Центром методического обеспечения учебно-воспитательного процесса Республиканского института высшей школы БГУ.
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Целью преподавания дисциплины «Основы алгоритмизации и программирования» является обучение студентов навыкам подготовки и решения инженерно-технических и информационных задач, освоение и получение навыков работы с помощью современных вычислительных средств.
В результате изучения дисциплины студенты должны:
- знать современные технические и программные средства взаимодействия пользователя с компьютером, основы алгоритмизации и проектирования программ, приемы программирования на конкретных алгоритмических языках, основы организации вычислительного процесса в компьютере;
- владеть современной технологией разработки алгоритмов и программ, языками программирования, технологией отладки и решения задач.
Обучение практическому программированию осуществляется на базе языка программирования С.
Дисциплина связана со школьной дисциплиной «Основы информатики и вычислительной техники», дисциплиной «Введение в специальность», читаемой параллельно, используются также знания по математике и физике.
Программа составлена в соответствии с требованиями образовательного стандарта и рассчитана на объем 190 учебных часов. Примерное распределение учебных часов по видам занятий: лекций – 85 часов, лабораторных работ- 105 часов.
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Раздел1. Введение в программирование
Тема 1. Введение в программирование
1.1. Основные характеристики алгоритмического языка, область его применения. Алфавит языка. Идентификаторы. Правила записи программ. Основные типы данных: целый, вещественный, символьный; их представление в оперативной памяти; преобразование типов.
1.2. Операция присваивания. Арифметические и битовые операции. Структура программы. Операции отношения, логические операции. Операции сдвига. Приоритет операций. Организация ввода-вывода информации: числовой, символьной. Форматы преобразования данных при ее вводе-выводе.
Тема 2. Управляющие структуры
Разновидности структур алгоритмов. Программирование разветвляющихся структур алгоритмов. Условный оператор. Оператор перехода. Пустой оператор. Составной оператор. Оператор выбора (переключатель).
Программирование циклических структур алгоритмов. Операторы цикла: цикл с заданным числом повторений, цикл с постусловием, цикл с предусловием. Программирование итерационных процессов. Вложенные циклы. Вычисление функций по их разложению в ряд.
Раздел 2. СТРУКТУРЫ ДАННЫХ
Тема 3. Организация данных. Функции
3.1. Сложные типы данных. Одномерные массивы, их инициализация. Ввод и вывод массивов. Обработка многомерных массивов информации.
3.2. Указатели. Операции над указателями. Связь между указателями и массивами. Обработка многомерных массивов информации, используя указатели.
3.3. Программирование с использованием функций. Передача параметров, стек.
3.4. Обработка текстовых данных. Реализация функций для работы со строками: сравнение, копирование, объединение, ввод, вывод и др. Инициализация строк, указателей на строки символов и на массивы.
3.5. Локальные и глобальные переменные. Классы памяти. Автоматические, внешние, статические и регистровые переменные.
3.6. Программирование с использованием рекурсий.
3.7. Методы сортировки данных.
3.8. Функции с переменным числом параметров. Задание информации в командной строке. Указатели на функции. Массивы указателей на функции.
Тема 4. Структурированные типы данных
Понятие объекта и фундаментальные характеристики объектно-ориентированного программирования (инкапсуляция, наследование, полиморфизм). Понятие класса и иерархии классов. Классы и объекты. Определение классов(class, struct, union). Элементы данных и методы класса. Защита элементов класса и атрибуты доступа. Объявление и определение методов класса. Вызов членов класса. Конструкторы и деструкторы. Наследование свойств и защита данных. Базовые и производные классы. Ограничение доступа. Наследование свойств и модификаторы доступа. Конструкторы базовых и производных классов. Инициализация объектов.
Тема 5. Связные списки. Файлы
5.1. Динамическое использование памяти. Связные списки: стеки, очереди, кольца.
5.2. Графы. Деревья. Бинарные деревья. Функции хеширования.
5.3. Уровни организации данных. Логическая организация данных. Физическая организация данных. Файлы. Бинарные и текстовые файлы. Операции над файлами. Файлы последовательного и прямого доступа.
Тема 6. Проектирование программ
6.1. Организация межмодульных интерфейсов. Модели памяти. Директивы препроцессора. Прагмы. Условная компиляция.
6.2. Проектирование диалоговых программ. Языковые средства машинной графики. Всплывающие меню. Проектирование программ с использованием этих средств.
Примерный перечень ТЕМ лабораторных работ
-
Способы описания алгоритмов.
-
Интегрированная среда программирования. Работа в интегрированной среде.
-
Программирование циклических структур алгоритмов.
-
Итерационные структуры алгоритмов. Вложенные циклы.
-
Обработка многомерных массивов числовых данных.
-
Функции. Обработка массивов строковых данных.
-
Использование указателей при работе со строками и массивами данных.
-
Выполнение программ в отладочном режиме.
-
Рекурсивное использование функций.
-
Программирование задач сортировки массивов данных.
-
Программирование функций с переменным списком параметров.
-
Использование в функциях информации командной строки.
-
Обращение к функциям, используя указатели.
-
Обработка структурированных типов данных.
-
Обработка списковых структур данных. Стеки.
-
Двунаправленные списки данных. Кольца.
-
Обработка списков в виде бинарных деревьев.
-
Создание, копирование, преобразование файлов.
-
Корректировка, сортировка и объединение файлов.
-
Бинарные файлы. Прямой доступ к файлам.
-
Нахождение кратчайшего пути на графе.
-
Создание справочников.
-
Программирование задач с использованием прагм, условной компиляции.
-
Программирование задач с использованием средств машинной графики.
-
Создание диалоговых меню.
-
Создание и использование библиотек пользователя.
Литература
Основная
-
Фигурнов В.Э. IBM PC для пользователя. - М.: Финансы и статистика, 1991.
-
Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си. Задачи по языку Си. - М.: Финансы и статистика, 1985.
-
Керниган Б., Ритчи Д. Язык программирования Си. - М.: Финансы и статистика, 1992.
-
Касаткин А.И., Вальвачев А.Н. От Turbo C к Borland C++. – Мн.: Выш. шк.,1992.
-
Касаткин А.И. Управление ресурсами. - Мн.: Выш. шк., 1992.
-
Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. 2-е доп. изд. - М.: Финансы и статистика, 1999.
-
Романовская А.М., Русс Т.В., Свитковский С.Г. Программирование в среде Си для ПЭВМ. - М.: Финансы и статистика, 1992.
-
Шилд Г. Программирование на Borland C++ для профессионалов. –Мн.: ООО Попури, 1998.
-
Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль. - М.: изд-во МАИ, 1992.
-
Фаронов В.В. Турбо Паскаль 7.0. Начальный курс: Учеб. пособие. - М.: Нолидж, 1997.
-
Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0./ Под ред. В.П. Тарасенко. –К.: ВЕК+, М.: ДЕСС, 1999.
-
Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров. - Мн.: Выш. шк., 1991.
Дополнительная
-
Офицеров Д.В., Долгий А.Б., Старых В.А. Программирование на персональных ЭВМ. - Мн.: Выш. шк., 1993.
-
Мизрахи С.В. Turbo Pascal и объектно-ориентированное программирование. - М.: Финансы и статистика, 1992.
-
Зуев Е.А. Язык программирования Turbo Pascal 6.0.- М.: Унитех, 1992.
Утверждена
Министерством образования
Республики Беларусь
« 24 » июня 2001 г.
Регистрационный № ТД - 157/ тип
КОНСТРУИРОВАНИЕ ПРОГРАММ И ЯЗЫКИ
ПРОГРАММИРОВАНИЯ
УЧЕБНАЯ ПРОГРАММА ДЛЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ
ПО СПЕЦИАЛЬНОСТИ 40 02 01 «ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ,
СИСТЕМЫ И СЕТИ»
Составитель:
Е.М. Демидович - доцент кафедры электронных вычислительных машин Белорусского государственного университета информатики и радиоэлектроники, кандидат технических наук.
Рецензенты:
Лаборатория логического проектирования Института технической кибернетики Национальной академии наук Беларуси (протокол № 8 от 20 июня 2000 г.);
В.С.Романчик - доцент кафедры численных методов и программирования Белорусского государственного университета, кандидат физико-математических наук.
Рекомендована к утверждению в качестве типовой:
Кафедрой электронных вычислительных машин Белорусского государственного университета информатики и радиоэлектроники (протокол № 30 от 20 марта 2000 г.);
Советом Белорусского государственного университета информатики и радиоэлектроники (протокол № 4 от 23 ноября 2000 г.).
Согласована с:
Учебно-методическим объединением вузов Республики Беларусь по образованию в области электрорадиотехники и информатики; Главным управлением высшего и среднего специального образования;
Центром методического обеспечения учебно-воспитательного процесса Республиканского института высшей школы БГУ.
следующая страница>