Лицей Белорусского государственного университета
ПРОГРАММИРОВАНИЕ НА СИ++
Учебная программа факультативных занятий
для X-XI класса учреждений общего среднего образования
с белорусским и русским языками обучения
Минск, 2016
Составители:
, старший преподаватель кафедры технологии программирования ФПМИ БГУ
, старший преподаватель кафедры технологии программирования ФПМИ БГУ
, учитель информатики Лицея БГУ
Пояснительная записка
Факультативные занятия по предлагаемой учебной программе направлены на углубление и расширение знаний учащихся для разработки алгоритмов и программ с использованием процедурного и объектно-ориентированного программирования на языке С++.
Реализация данной учебной программы позволит расширить знания учащихся в области синтаксиса и семантики языков программирования, совершенствует умения по разработке алгоритмов решения практических задач, позволяет сравнивать программы, написанные на языках Pascal и C++, оценивать достоинства их и недостатки, знакомит с методологией и технологией программирования на С++, имеет алгоритмическую направленность.
Изучение материала факультативных занятий направлено на развитие навыков и умений, обеспечивающих возможность разработки алгоритмов и программ различной степени сложности, формирование объектно-ориентированного взгляда на основные конструкции языка программирования. В рамках этих задач значительное внимание уделено особенностям языка С++ на примерах конкретных задач из различных разделов программирования.
Проведение факультативных занятий позволит учащимся изучить основы профессионального языка программирования С++, поможет в дальнейшем при изучении современных систем программирования.
Цели факультативных занятий:
§ развитие логического и алгоритмического мышления учащихся;
§ развитие интереса к изучению информатики и программирования;
§ получение учащимися навыков разработки проектов.
Исходя из целей, основными задачами являются:
─ формирование знаний и умений учащихся в использовании различных языков программирования для решения задач;
─ изучение основных типов, операторов и конструкций языка программирования С++, изучение функций и структур данных библиотеки STL
─ освоение учащимися основ объектно-ориентированного визуального программирования.
─ выработка у учащихся приемов и навыков выбора необходимых средств языка для реализации алгоритмов решения задач.
─ формирование навыков использования преемственности при решении практических задач.
Проведение занятий по данной программе зависит от уровня подготовки учащихся и иногда требует индивидуального подхода при разборе решения задач предлагаемого курса. Организация учебного процесса требует проведение лекционных занятий, разбора типовых программ, решение общих и индивидуальных задач для закрепления учебного материала.
В учебном процессе должно быть уделено особое внимание формированию у учащихся навыков реализации разработанных алгоритмов с использованием требуемых конструкций языка программирования, умений самостоятельно выполнить разработку проекта для решения конкретной практической задачи.
Выбор среды программирования остается за учителем. Можно использовать среду DevC++, CodeBlocks. Для изучения визуального программирования можно рекомендовать среду CBuilder.
Факультативные занятия рассчитаны на работу в течение двух лет по 1 часу в неделю или в течение одного года по 2 часа в неделю.
Приведенное в программе распределение учебных часов по темам может быть изменено учителем в объеме до 25%.
Ожидаемые результаты
После успешного прохождения учебного материала учащиеся узнают
- о возможностях языка программирования С++;
- об особенностях и методах решения задач в языке С++;
- о решении практических задач;
- о тестировании и отладке программ.
Изучение языка программирования C++ предполагает:
- развитие познавательных способностей учащихся;
- формирование у них алгоритмического мышления;
- получение реального опыта разработки проектов;
- повышение интереса учащихся к профессиональному программированию.
Учебная программа
факультативных занятий для учащихся X-XI класса
учреждений общего среднего образования
СОДЕРЖАНИЕ ПРОГРАММЫ
Х класс
(1 ч в неделю; всего – 35 ч, из них 1 ч – резервное время)
ПРОСТЫЕ ТИПЫ ДАННЫХ И БАЗОВЫЕ КОНСТРУКЦИИ ЯЗЫКА С++ (12 часов)
История создания С и С++. Структура С++ программы.
Элементы языка С/C++. Первая программа на языке С++. Работа в среде программирования.
Переменные и типы данных. Простые операторы.
Простые типы данных (числовые, логические). Переменные. Арифметические операторы. Выражения. Оператор присваивания. Операторы инкремента и декремента.
Операторы ветвления и выбора. Операторы цикла.
Условный оператор. Оператор запятая. Команда ветвления if и if-else. Команда выбора switch. Команда цикла while и do-while. Команда цикла for. Команда перехода break. Команда перехода continue.
Учащиеся должны:
Знать термины и правильно использовать понятия: тип данных, команда ветвления, команда выбора, команда цикла.
Знать:
· правила описания переменных и констант;
· правила записи команд ветвления, выбора, цикла;
Уметь:
· решать задачи с использованием команд ветвления, выбора цикла.
СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ (16 часов)
Массивы.
Одномерные массивы. Обработка числовых одномерных массивов.
Линейный поиск в массиве. Преобразование массивов.
Многомерные массивы. Обработка числовых двумерных массивов.
Решение задач обработки числовых массивов.
Обработка символьных и строковых данных.
Символьный тип данных. Массивы символов. Строковые данные. Ввод-вывод строк. Стандартные функции обработки строк (поиск в строке, удаление и вставка символов, выделение подстроки и др.).
Решение задач с использованием строковых данных.
Работа с текстовыми файлами.
Ввод-вывод числовых и символьных данных.
Ввод-вывод строковых данных.
Знать термины и правильно использовать понятия: массив, строка, массив символов, массив строк.
Знать:
· правила описания массивов, строк;
· команды ввода-вывода данных при работе с текстовыми файлами;
Уметь:
· решать задачи с использованием массивов и строк;
· использовать текстовые файлы для ввода и вывода данных.
ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ (6 ЧАСОВ)
Функции. Передача параметров и возврат значения.
Объявление и определение функций. Функция main. Передача параметров в функции. Решение задач с использованием функций
Знать термины и правильно использовать понятия: функция.
Знать:
· правила описания пользовательских функций;
Уметь:
· использовать функции пользователя для решения задач.
ХI класс
(1 ч в неделю; всего – 35 ч, из них 1 ч – резервное время)
СТРУКТУРЫ ДАННЫХ (15 ЧАСОВ)
Структуры данных.
Тип данных struct. Составные структуры. Ввод - вывод структур данных. Массивы структур данных. Решение задач с использованием структур данных.
Структурированные типы данных
Использование библиотеки STL (vector, stack, queue). Тип данных вектор. Тип данных стек. Тип данных очередь. Решение задач с использованием структурированных типов данных. Использование функции библиотеки algorithm
Знать термины и правильно использовать понятия: структура, вектор, стек, очередь.
Знать:
· правила описания структур, типов данных библиотеки STL;
· функции библиотеки algorithm для поиска, удаления, вставки;
Уметь:
· решать задачи с использованием структур, векторов, стека, очереди.
ВИЗУАЛЬНОЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (15 ЧАСОВ)
Интегрированная среда разработки CBuilder.
Интегрированная среда разработки CBuilder. Структура проекта в среде CBuilder. Основные файлы проектов. Система визуального программирования CBuilder. Форма. События.
Элементы управления
Палитра компонентов. Кнопки, надписи. Текстовое поле. Флажки, переключатели. Функции MessageDlg и ShowMessage.
Канва. Карандаш, кисть, шрифт. Методы канвы.
Классы. Данные и функции.
Определение класса. Доступ к членам класса.
Данные и функции класса. Встроенные функции-члены класса.
Конструкторы класса и деструкторы. Конструктор по умолчанию. Конструкторы с параметрами.
Перегрузка операций.
Класс для обработки чисел. Класс для обработки массива чисел.
Знать термины и правильно использовать понятия: класс, объект, форма, событие.
Знать:
· элементы управления: кнопка, надпись, текстовое поле, флажок, переключатель;
· методы канвы;
· правила описания и использования класса;
Уметь:
· создавать функции-обработчики для событий мыши;
· использовать методы канвы для построения графических изображений;
· использовать классы для решения задач.
ТВОРЧЕСКАЯ РАБОТА. (4 часа)
Литература
1. Архангельский в C++ Builder / – М.: БИНОМ», 2010, 1034 с.
2. Бьерн Страуструп. Язык программирования С++ = The C++ Programming Language / Бьерн Страуструп ; пер. с англ. С. Анисимова, М. Кононова ; под ред. Ф. Андреева, А. Ушакова. - Специальное издание [с авторскими изменениями и дополнениями]. - Москва : Бином, 2005. - 1099с.
3. Кашкевич на языке С++: пособие для студентов спец. 1-98 01 01, 1-31 03 05, 1-31 03 06 / C. И. Кашкевич, , . – Минск: БГУ, 2008.- 127 с.
4. Культин C++ Builder / . - СПб.: БХВ-Петербург, 2004. - 320 с.
5. C/C++. Программирование на языке высокого уровня : учебник для студ. вузов, обуч. по напр. "Информатика и вычислительная техника" / - Санкт-Петербург : Питер, 2006. - 460с.
6. С++. Структурное программирование: Практикум. / Т. А. Павловская, .. - Санкт-Петербург: Питер, 2005. - 239с.
7. C/C++ для студента / . - Санкт-Петербург : БХВ-Петербург, 2006. - 526с.
8. С++. Объектно-ориентированное программирование: Практикум. / Т. А. Павловская, . - Санкт-Петербург: Питер, 2005. - 265с.
9. Хортон, Айвор. Visual C++ 2005: базовый курс. / Айвор Хортон /: Пер. с англ. – M.: ООО ””, 2007. – 1152 с.
Интернет ресурсы
1. http://e-maxx. ru/algo/ - каталог алгоритмов
2. http://dl. / - Белорусский сайт дистанционного обучения
3. http://www. olympiads. ru/ - Олимпиадная информатика, Московский цент непрерывного математического образования
4. http://informatics. mccme. ru – Московский сайт дистанционного обучения
5. http://www. acmu. ru – сайт Югорского НИИ ИТ с большим архивом задач, распределенных по темам
6. http://acmp. ru – «Школа программиста», Красноярского краевого Дворца пионеров и школьников
7. http://www. – украинская система для проведения соревнований
8. http://www. /reference/ - сайт со справочной информацией по C++
9. http://ru. /w/ - сайт со справочной информацией по C++ на русском языке


