Программа дисциплины программирование на языке С++ для направления 080700. 62 «Бизнес-информатика»

Вид материалаПрограмма дисциплины

Содержание


Пермь 2010 год
Содержание программы
Тема 2. Хранение и обработка информации в структурах данных.
Раздел II. Организация программ.
Тема 4. Типы данных, определяемые пользователем.
Базовый учебник
Методические указания студентам
Рекомендации по использованию информационных технологий.
Самостоятельная работа
Раздел I. Простые С++ программы
Раздел II. Организация программ
Подобный материал:





ПРОГРАММА ДИСЦИПЛИНЫ


Программирование на языке С++


для направления 080700.62 «Бизнес-информатика»



Утверждена

Учебно-методическим Советом ПФ ГУ-ВШЭ

Председатель_______________Г.Е. Володина

«_______»________________________2010 г.


Одобрена на заседании кафедры

Информационных технологий в бизнесе протокол _____________________________

Зав. кафедрой_______________Т.А. Казаченко

«______»_______________________2010 г.




Пермь 2010 год




  1. Пояснительная записка
  1. Автор программы: к. т. н. Викентьева О.Л.
  2. Требования к студентам:

Для успешного изучения данного курса студенты должны владеть основными знаниями и навыками, полученными при изучении курса Информатика и программирование на первом курсе: знать принцип организации и функционирования персонального компьютера в различных режимах, характеристики его основных устройств, принципы организации компьютерных сетей, и иметь навыки работы в среде программирования, основные операторы языка Паскаль, стандартные типы данных, структурированные типы данных и принципы их обработки.
  1. Аннотация:

Дисциплина предназначена для студентов второго курса направления 080700.62 Бизнес – информатики. Основная цель курса ­состоит в том, чтобы дать студентам краткое и четкое изложение языка С++ в соответствии со стандартом ISO/IEC 14882, дать правильное представление о возможностях С++ и способах их применения.

Программа курса предполагает проведение лекционных и практических занятий, а также самостоятельную работу студентов при выполнении практических занятий в классе, оборудованном IBM-совместимыми компьютерами.

Лекционный курс охватывает основные вопросы использования С++ при решении практических задач работы со структурированными типами данных, создания многомодульных приложений, дает ключ к дальнейшему изучению объектно-ориентрованных технологий программирования.

Проведение практических занятий предполагает написание программ в компьютерном классе.

Обязательное программное обеспечение, используемое при изучении данного курса: операционная система Microsoft Windows XP со справочной системой, среда разработки Visual Studio 2008(2010)
  1. Учебная задача курса:

В результате изучения курса студенты должны:
  • Знать
  • основные элементы язык программирования С++;
  • последовательность и этапы разработки прикладных программ;
  • принципы, методы и способы написания и отладки программ;
  • Уметь
  • программировать на языке С++;
  • программировать основные алгоритмы обработки данных;
  • разрабатывать программы в современных инструментальных средах.



  • Иметь представление:
  • об основах структурного программирования;
  • об основах конструирования программ.
  • Обладать навыками
  • работы в современных инструментальных средах программирования.
  • Владеть
  • приемами и методами структурного программирования;
  • приемами и методами тестирования и отладки программ



  1. Формы контроля:
  • текущий контроль: выполнение практических работ по каждой теме курса завершается проведением домашней работы;
  • итоговый контроль заключается в проведении зачета в форме контрольной работы;
  • итоговая оценка складывается из результатов, полученных в ходе текущих контрольных мероприятий, оценки работы на практических занятиях и оценки, полученной при проведении зачета в соответствии с положением о рейтинге.
  1. Содержание программы:

Раздел I. Простые С++ программы.

Тема 1. Основные элементы языков программирования.

Языки программирования. Классификация языков программирования. Языки программирования высокого уровня. Программа на языке программирования высокого уровня. Элементы языка С++. Структура С++-программы. Функция main. Препроцессор.

Концепция типов данных в программировании. Типы данных в С++. Простые и структурированные типы. Встроенные типы данных. Преобразование типов. Выражения. Операции.

Представление основных структур управления: итерация, ветвление, повторение, процедуры. Основные операторы: условный, выбора, цикла, составной, пустой. Ввод - вывод.

Тема 2. Хранение и обработка информации в структурах данных.

Производные типы. Массивы. Определение и инициализация массивов. Формирование массивов. Способы перебора массивов. Классы задач с использованием массивов. Простые методы сортировки. Дихотомический поиск в отсортированном массиве.

Указатели. Адресная арифметика. Динамическая память. Ссылки. Массивы и указатели. Динамические массивы.

Символьные строки. Строки в стиле С. Строки в стиле С++ (string).

Раздел II. Организация программ.

Тема 3. Функции в С++.

Способы конструирования программ. Процедуры и функции. Формальные и фактические параметры.

Функции в С++. Определение. Прототип. Способы передачи параметров. Функции с переменным количеством параметров. Подставляемые (inline) функции. Передача массивов в функции. Перегрузка функций. Шаблоны функций. Указатели на функцию. Передача функции в качестве параметра.

Рекурсивные функции.

Модульность. Многомодульные программы. Область действия имен. Раздельная компиляция.

Тема 4. Типы данных, определяемые пользователем.

Переименование типов. Перечисления. Структуры и объединения в С++.

Динамические структуры данных.

Списки. Виды списков. Способы реализации списков. Основные операции со списками: создание, просмотр, удаление, добавление, поиск. Стек и очередь.

Бинарные деревья. Дерево поиска. Построение и обход дерева. Удаление и добавление элементов.
  1. Учебно-методическое обеспечение дисциплины:
  1. Литература:

Базовый учебник:


Павловская Т.А. С/С++ Программирование на языке высокого уровня. – СПБ.: БХВ - Питер, 2009. -461. Доп. МО РФ

Основная:

Подбельский В. В. Язык Си++: Учеб. пособие.–М.:Финансы и статистика, 2008.–687с.

Дополнительная


Плаксин М.А. Тестирование и отладка программ – для профессионалов будущих и настоящих. М.: БИНОМ. Лаборатория базовых знаний, 2007.

Анисимов А.Е., Пупышев В.В. Сборник заданий по основаниям программирования: Учеб. пособие. М.: 2006. -348 с.
  1. Тематика заданий по различным формам текущего контроля:

Приложение 1. Тематика домашнего задания.

Приложение 2. Вопросы для самоконтроля.
  1. Методические рекомендации (материалы) преподавателю:

Базовый учебник содержит хорошо отработанную теоретическую часть. Однако его практическая часть не полностью обеспечивает требования программы. Для проведения всех видов практических и лабораторных занятий разработано дополнительное методическое обеспечение. Тематический план дисциплины, тексты лекций и учебно-методические разработки ко всем видам практических занятий опубликованы с локальной сети университета и могут использоваться преподавателями как при подготовке к занятию, так и в ходе занятия.
  1. Методические указания студентам содержатся в используемой при проведении курса литературе, изданной сотрудниками кафедры Информационных технологий в бизнесе Пермского филиала ГУ ВШЭ. Учебно-методические разработки ко всем видам практических занятий опубликованы с локальной сети университета и могут использоваться студентами как при подготовке к занятию, так и в ходе занятия.
  2. Рекомендации по использованию информационных технологий.

Все практические занятия проводятся в компьютерном классе, содержащую локальную вычислительную сеть на базе ПК типа Pentium. Программное обеспечение сети должно поддерживать новые информационные технологии и включать в себя следующие комплексы:
  1. Операционные системы Windows XP, Windows Vista.
  2. Антивирусные программы.
  3. MS Visual Studio 2008(2010).
  4. Программы поддержки телекоммуникационных систем



Автор программы __________________________ к.т.н. О.Л. Викентьева


IV. Тематический расчет часов по программе дисциплины «Программирование на С++» для направления 080700.62 «Бизнес-информатика»



с№ п/п

Наименование разделов и тем

Аудиторные часы

Самостоятельная работа

Всего часов

Лекции

Семинар. или практ. занятия

Всего

Раздел I. Простые С++ программы

1


Основные элементы языков программирования


2

2


4

20


24


2

Хранение и обработка информации в структурах данных

4

4

8

20

28

Раздел II. Организация программ

3

Функции в С++

4

6

10

20

30

4

Типы данных, определяемые пользователем

4

2

6

20

26




Итого:

14

14

28

80

108



Автор программы __________________________ к.т.н. О.Л. Викентьева


Приложение 1

Тематика домашнего задания:
  1. Работа с однонаправленным списком
    1. Сформировать однонаправленный список, тип информационного поля указан в варианте.
    2. Распечатать полученный список.
    3. Выполнить обработку списка в соответствии с заданием.
    4. Распечатать полученный список.
    5. Удалить список из памяти.
  2. Работа с двунаправленным списком
    1. Сформировать двунаправленный список, тип информационного поля указан в варианте.
    2. Распечатать полученный список.
    3. Выполнить обработку списка в соответствии с заданием.
    4. Распечатать полученный список.
    5. Удалить список из памяти.
  3. Работа с деревьями
    1. Сформировать идеально сбалансированное бинарное дерево, тип информационного поля указан в варианте.
    2. Распечатать полученное дерево.
    3. Выполнить обработку дерева в соответствии с заданием, вывести полученный результат.
    4. Преобразовать идеально сбалансированное дерево в дерево поиска.
    5. Распечатать полученное дерево.

Приложение 2

Вопросы для самоконтроля
  1. Что представляет собой структура программы в С++?
  2. Перечислить стандартные типы данных С++ и их размеры.
  3. Какие операции применяются к целочисленным типам данных?
  4. Какие типы циклов существуют в С++?
  5. Чем переключатель (switch) отличается от переключателя (case) в Паскале?
  6. Какие операторы переходов существуют в С++?
  7. Зачем нужны директивы препроцессора?
  8. Каким образом в С-программу подключаются библиотеки?
  9. Какие способы передачи данных в функцию существуют?
  10. Чем передача параметров в функцию по адресу отличается от передачи параметров по значению?
  11. Что такое указатель? Какие операции применяются к указателям?
  12. Что такое ссылка? Чем ссылка отличается о указателя?
  13. Каким образом связаны массивы и указатели?
  14. Каким образом одномерные массивы передаются в функции?
  15. Каким образом двумерные массивы передаются в функции?
  16. Каким образом строки в стиле С передаются в функции?
  17. Каким образом выполняется вывод в стиле С и С++?
  18. Что собой представляют inline функции?
  19. Что собой представляют функции с переменным числом параметров?
  20. Что собой представляют функции с умалчиваемыми параметрами?
  21. Что собой представляют указатели на функции?
  22. Что собой представляют шаблоны функций?
  23. Что такое инстанцирование шаблона?
  24. Как задать пользовательский тип данных?
  25. Что собой представляют динамические структуры данных?

Приложение 3

План семинарских занятий

Практическое занятие №1.

Тема

Выполнение программы простой структуры. Вычисление выражений с использованием стандартных функций


Вопросы
  1. Для задачи 1 определить тип заданных выражений и найти их значения.
  2. Составить систему тестов и вычислить полученное выражение для нескольких значений Х, определить при каких Х выражение не может быть вычислено.
  3. Для задачи 2 записать выражение, зависящее от координат точки X1 и Y1 и принимающее значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если не принадлежит.
  4. Составить систему тестов и вычислить полученное выражение для нескольких точек, принадлежащих и не принадлежащих заштрихованной области.
  5. Для задачи 3 вычислить значение выражения, используя различные вещественные типы данных (float и double).
  6. Объяснить полученные результаты.
  7. Результаты всех вычислений вывести на печать.




Практическое занятие №2.

Тема

Использование основных операторов языка С++

Вопросы

Решить указанные в варианте задачи, используя основные операторы языка С++. При решении задачи, использовать все типы циклов (for, while, do while).

Практическое занятие №3.

Тема

Функции и массивы в С++


Вопросы
  1. Используя функции сформировать с помощью ДСЧ одномерный массив и вывести его на печать.
  2. Выполнить обработку одномерного массива в соответствии с вариантом, используя функции, результат вывести на печать.
  3. Используя функции сформировать с помощью ДСЧ двумерный массив и вывести его на печать.
  4. Выполнить обработку двумерного массива в соответствии с вариантом, используя функции, результат вывести на печать.
  5. Ввести с клавиатуры строку символов и обработать ее в соответствии со своим вариантом, используя функции.




Практическое занятие №4.




Динамические массивы


Вопросы
  1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать.
  2. Выполнить указанное в варианте задание и вывести полученный массив на печать.




Практическое занятие №5.

Тема

Динамические массивы


Вопросы
  1. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.
  2. Выполнить указанное в варианте задание и вывести полученный массив на печать.




Практическое занятие №6.

Тема

Функции в С++


Вопросы

1. Написать функцию с умалчиваемыми параметрами в соответствии с вариантом, продемонстрировать различные способы вызова функции:
  • с параметрами заданными явно,
  • с опущенными параметрами
  • часть параметров задана явно, а часть опущена.

2. Написать функцию с переменным числом параметров в соответствии с вариантом, продемонстрировать вызов функции с различным числом параметров.

3. Написать перегруженные функции в соответствии с вариантом. Написать демонстрационную программу для вызова этих функций.
  1. Написать шаблон функций вместо перегруженных функций из задания 3. Написать демонстрационную программу для вызова этих функций. списка параметров
  2. Решить уравнение указанным в варианте методом. Уравнение передать в функцию как параметр с помощью указателя.




Практическое занятие №7.

Тема

Прием домашнего задания по теме «Динамические структуры данных»


Вопросы
  1. Сформировать однонаправленный список, тип информационного поля указан в варианте.
  2. Выполнить обработку списка в соответствии с заданием.
  3. Сформировать двунаправленный список, тип информационного поля указан в варианте.
  4. Выполнить обработку списка в соответствии с заданием.
  5. Сформировать идеально сбалансированное бинарное дерево, тип информационного поля указан в варианте.
  6. Выполнить обработку дерева в соответствии с заданием, вывести полученный результат.
  7. Преобразовать идеально сбалансированное дерево в дерево поиска.