12+ Свидетельство СМИ ЭЛ № ФС 77 - 70917 Лицензия на образовательную деятельность №0001058 |
Пользовательское соглашение Контактная и правовая информация |
Бетехтина Татьяна Евгеньевна61 Россия, Мордовия респ., Рузаевка Материал размещён в группе «Информатика» |
Подготовка младших школьников к олимпиадам по программированию
Бетехтина Татьяна Евгеньевна
МБОУ «СОШ №8» Рузаевского муниципального района Республики Мордовия, учитель математики и информатики
Подготовка младших школьников к олимпиадам по программированию
Для организации подготовки обучающихся к олимпиадам по программированию мною разработана программа элективного курса по информатике «Юный программист. Решение олимпиадных задач по информатике». Элективный курс ориентирован на обучающихся 5-6х классов, обладающих повышенной мотивацией к изучению информатики, и изучение языка программирования PascalABC.NET.
Программа разработана с учетом использования книги серии «Развитие интеллекта учащихся» Станислава Михайловича Окулова «Основы программирования».
В серии «Развитие интеллекта школьников» данного автора так же вышли «Программирование в алгоритмах», «Алгоритмы компьютерной арифметики», «Динамическое программирование» и др.
Для начинающих изучать программирование с нуля подходит книга «Основы программирования», остальные предполагают наличие знаний по программированию. В книге рассмотрены фундаментальные положения программирования: основные управляющие конструкции, элементы структуризации программ - процедуры и функции, массивы, как фундаментальная структура данных, упорядочение (сортировка) как основа эффективной работы с любыми данными, наконец, перебор вариантов, как универсальная схема компьютерного решения задач. Алгоритмические конструкции и примеры программ в книге даются на языке Pascal.
Занятия мною проводятся во внеурочное время с группой обучающихся одинаковой подготовленности. Основной методический принцип построения занятий – все познается через труд, через преодоление ошибок (собственных), через процесс решения задач. Это принцип определяет структуру занятий:
1. Вводная часть.
2. Экспериментальный раздел занятия.
3. Выполнение самостоятельной работы.
Конкретизирую перечисленные этапы на примере занятия №1 «Первая программа».
1. В вводной части занятия обучающиеся знакомятся со средой программирования PascalABC.NET. В рабочем окне редактора программы набирают текст первой программы – вычисления произведения двух целых чисел. Учитель поясняет текст программы, объясняет смысл терминов. Выполняется запуск программы. Тестирование, сохранение программы.
Program My;
Var a,b,c: integer;
Begin
Writeln('Введите два числа через пробел');
Readln (a,b);
c:=a*b;
Writeln('Их произведение равно ', c);
End.
2. На втором этапе проводятся эксперименты с заготовками решений задач: задания на модификацию готовых программ, в соответствии с измененным условием задачи, задания на исправление ошибок в готовых программах, задания на оценку возможных результатов работы программы.
Задание: Введите числа при работе программы, например 1000000 и 2000000. Убедитесь, что у вас получается неправдоподобный результат. Найдите экспериментальным путем такой интервал значений переменных a и b, при котором результат умножения правильный. Найдите и изучите в справочном разделе программы PascalABC.NET материал о диапазоне переменных целого типа.
3. Далее учащиеся работают самостоятельно.
Задание: Измените программу для нахождения суммы (разности) двух чисел. Измените программу для нахождения частного двух чисел. Найдите и изучите в справочном разделе программы PascalABC.NET материал о вещественном типе данных.
Для каждого занятия готовлю для обучающихся раздаточный материал, содержащий теорию, типовые задачи, задания для экспериментов и задачи для самостоятельной работы. Далее для закрепления материала и тренировки использую материалы сайта «Школа программиста» (acmp.ru), который разработан в Красноярском краевом Дворце пионеров при поддержке Регионального координационного центра проекта «Информатизация системы образования». Сайт посвящен решению задач по олимпиадному программированию в режиме on-line и оснащен встроенной проверяющей системой, использование которой позволяет обучающимся проверить правильность своего решения.
Я использую данный сайт, потому что здесь большая база задач для начинающих программистов. Задачи с сайта acmp.ru обучающиеся решают самостоятельно, если возникают затруднения, то разбираем вместе. Но как правило, ребята справляются сами. Обязательно сравниваем разные решения одной задачи, обсуждаем, находим оптимальное решение. Детям такой вид работы очень нравится, это соревнование – кто быстрее справится с задачей. Приведу в таблице примеры задач с сайта acmp.ru, которые можно использовать для обучающихся 5-6 классов.
Задачи для начинающих | |||
ID | Задача | Сложность | Тема |
0001 | A+B | 2% | Линейные алгоритмы |
0004 | Игра | 4% | Линейные алгоритмы |
0033 | Два бандита | 4% | Линейные алгоритмы |
0092 | Журавлики | 7% | Линейные алгоритмы |
0108 | Неглухой телефон | 1% | Линейные алгоритмы |
0052 | Счастливый билет | 12% | Целочисленная арифметика |
0003 | Пятью пять – двадцать пять! | 8% | Разветвляющиеся алгоритмы |
0008 | Арифметика | 5% | Разветвляющиеся алгоритмы |
0021 | Зарплата | 4% | Разветвляющиеся алгоритмы |
0025 | Больше - меньше | 3% | Разветвляющиеся алгоритмы |
0952 | В автобусе | 18% | Разветвляющиеся алгоритмы |
0002 | Сумма | 19% | Циклические алгоритмы |
0043 | Нули | 16% | Циклические алгоритмы |
0081 | Арбузы | 14% | Циклические алгоритмы |
0106 | Монетки | 8% | Циклические алгоритмы |
0022 | Единицы | 16% | Циклические алгоритмы |
0053 | Раскраска таблицы умножения | 22% | Циклические алгоритмы |
0063 | Загадка | 18% | Циклические алгоритмы |
0328 | Точки на костях домино | 25% | Циклические алгоритмы |
0156 | Шахматы-2 | 46% | Циклические алгоритмы |
0149 | Разворот | 9% | Массивы |
0005 | Статистика | 15% | Массивы |
0039 | Волосатый бизнес | 32% | Массивы |
0006 | Шахматы | 23% | Строки |
0043 | Нули | 16% | Строки |
0062 | Клетки | 15% | Строки |
0047 | Наилучший делитель | 26% | Функции и Процедуры |
0064 | Простой ряд | 27% | Функции и Процедуры |
0281 | Игра с монеткой | 39% | Функции и Процедуры |
Помимо сайта «Школа программиста» использую для тренировки сайт «Codeforces». В основном пока для разбора задач, прошедших туров Всероссийской Олимпиады Школьников по информатике (муниципальный тур, республиканский тур). Задачи на этом сайте на порядок сложнее, чем на сайте «Школа программистов».
Планы на будущее: изучение следующих в серии «Развитие интеллекта школьников» книг: динамическое программирование, работа со строками и т.п.
3