Лицей Белорусского государственного университета

ПРОГРАММИРОВАНИЕ НА СИ++

Учебная программа факультативных занятий

для 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++ на русском языке