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

Вопрос 1. Как научиться решать олимпиадные задачи по информатике?

Чтобы научиться решать олимпиадные задачи по информатике, надо решать задачи по информатике... Естественно при этом заглядывая в соответствующею литературу.

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

Вопрос задан конечно не корректно и ответить на него, пожалуй вряд ли возможно, но сказать пару слов по этому поводу стоит. Как мне соощил специалист в области подготовки к олимпиадам ACM Михаил Медведев , то создать принципиально новую олимпиадную задачу не так то просто, как может показаться на первый взгляд. По этой причине, лица ответственные за проведения олимпиад просто берут задачи за прошлые годы и подают их под "новым соусом". Часто случается, что задачи для районных и зональных олимпиад по информатике "сдирают" без каких либо изменений с сайтов посвященных олимпиадному программированию.

Итак, поскольку многие задачи весьма и весьма схожи, то необходимо научиться решать задачи из всего диапазона: сортировка, динамическое программирование, длинная арифметики и т.д.

Вопрос 3. Можно ли подготовить школьников к олимпиадам по информатике в рамках школьной программы?

Думаю, что это нереально. Всем давно известно, что школьный курс информатики - это одно, а олимпиады по информатике - это совсем другое. Да, в примерной программе по информатике, в 9 классе, довольно большое количество часов уделено изучению программирования. В учебнике Семакина для 9 класса обучение программированию основано на языке Паскаль, у Угриновича примеры дана применительно к Visual Basic . Но, даже если применить дифференцированный подход к обучению школьников, вряд ли этих часов хватит для подготовки к олимпиадам отдельных школьников с "нуля".

Вопрос 4. Если часов по программе не достаточно для подготовки школьникам к олимпиадами, то как тогда готовиться?

По первым двум вариантам все понятно, но должно быть понимание со стороны руководства школы. Частенько, между учителями бывает "битва за часы", на кружок или факультатив по программированию часов может и не перепасть.

Личный энтузиазм доведенный до крайней меры - это весьма пагубное, на мой взгляд, явление. Российское образование не должно держаться на энтузиазме. Иначе получается, что пока есть энтузиазм - дело идет, закончился запал и все рухнуло. На энтузиазме долго не протянешь, но его иногда стоит проявлять в надежде, что дело сдвинется с "мертвой точки".

Вопрос 5. У меня 25 (26, 30...) часов основной нагрузки, реально ли еще заниматься с учащихся на кружке по программированию?

Как мне кажется, при такой нагрузке реальней сойти с ума, чем готовить учащихся к олимпиадам. Искренне сочувствую всем учителям с большой нагрузкой. Я понимаю, что брать большое количество часов приходится не от хорошей жизни, но не понимаю, как можно работать в таких условиях.

Вопрос 6. Могут ли школьники готовиться к олимпиадам во внеурочное время и если могут, то как лучше организовать подготовку?

Могут, но у них как минимум должен быть домашний компьютер. В идеале должен быть еще и Интернет. При наличии ПК и Интернета можно решать задачи на одном из специализированных сайтов с автоматизированной проверкой решений, например на сайте Школа программиста .

Вопрос 7. Что требуется от учителя для качественной подготовки школьников к олимпиаде?

  • Умение учиться. Ведь как случается, закончил человек учебное учреждение и на этом его развитие в плане получения информации порой и заканчивается. Для работы в школе вроде хватит, так зачем еще заморачитваться...
  • Всегда быть на связи. У вашего ученика может возникнуть вопрос в любое время, есть ведь и такие, которые решают задачки по ночам. Если вам не спится, то почему бы, при возможности, ему не ответить при помощи той же "Аськи" или программы Skype .

Элективный курс

«Олимпиадная информатика»

Программа 1. «Олимпиадная информатика» для учащихся 5-6 классов

Программа 2. «Олимпиадная информатика» для учащихся 7-8 классов

Программа 3. «Олимпиадная информатика» для учащихся 9-11 классов

Разработчик: Ярошевская Вера Ивановна

г. Москва 2016 г.

Программа содержат:

Пояснительную записку;

Методических указания по изучению тем;

Учебно-тематический план и программы подготовки к олимпиадам по информатике.

Электронные учебные материалы

Пояснительная записка.

Важной задачей образования является работа с одаренными учащимися, их подготовка к предметным олимпиадам. Олимпиада по информатике занимает одно из ведущих мест, в связи с интенсивным развитием информационных технологий как в нашей стране, так и за рубежом.

Участие в олимпиадах позволяет развивать творческие способности школьников и обеспечивает высокую мотивацию к образовательной деятельности.

Классическая олимпиада по информатике - это олимпиада по программированию, которая предполагает наличие обширных познаний в математике и языках программирования.

Решение олимпиадных задач позволяет раскрыть творческий потенциал школьника во время подготовки к олимпиаде, учитывая возрастные особенности ребенка и перспективу его развития. Использование многоуровневых олимпиадных задач, позволяет школьникам применить свой творческий потенциал, независимо от уровня подготовки.

Курс занятий по Олимпиадной информатике (решение олимпиадных задач по информатике) ориентирован на учащихся 5-11х классов, обладающих повышенной мотивацией к изучению информатики и имеющих начальные знания в области алгоритмизации на уровне понимания простейших алгоритмов.

Данный элективный курс позволяет провести непрерывную подготовку к олимпиадам по информатике начиная с 5-го класса, используя методическую коллекцию олимпиадных задач. В курсе использован системный подход при разработке модулей непрерывной подготовки одаренных детей к олимпиадам по информатике.

Основная цель курса: раскрыть значение программирования и суть профессии программиста, ознакомление учащихся со средой и основами программирования на языке PascalABC.NET, подготовить учащихся к практическому использованию полученных знаний при решении учебных задач, а затем профессиональной деятельности, вовлечение учащихся в участие в олимпиадах по программированию разного уровня.

Основные задачи курса: развитие навыков программирования алгоритмических структур; развитие логического мышления учащихся; развитие интеллекта учащихся.

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

Методические указания по изучению тем

Олимпиадные задачи по информатике охватывают следующие ключевые разделы:

1. Математические основы информатики.

Этот раздел является фундаментальной основой информатики. В олимпиадах по информатике это особенно важно, так как школьникам сложно достичь успешности на олимпиадных состязаниях без хорошей подготовки в области теории множеств, логики, теории графов и комбинаторики.

Для успешного выступления на олимпиаде по информатике школьники должны

знать/понимать:

основы терминологии функций, отношений и множеств;

перестановки, размещения и сочетания множества;

формальные методы символической логики высказываний

основы построения рекуррентных соотношений;

основные методы доказательств;

основы теории чисел;

уметь:

выполнять операции, связанные с множествами, функциями и отношениями;

вычислять перестановки, размещения и сочетания множества, а также интерпретировать их значения в контексте конкретной задачи;

решать типичные рекуррентные соотношения;

осуществлять формальные логические доказательства и логическое рассуждение для моделирования алгоритмов;

определять, какой вид доказательства лучше подходит для решения конкретной задачи;

использовать основные алгоритмы теории чисел;

1. Отношения, функции и множества.

2. Основные геометрические понятия.

3. Основы логики.

4. Основы вычислений.

5. Методы доказательства.

6. Основы теории чисел.

7. Основы алгебры.

8. Основы комбинаторики.

9. Теорию графов.

10. Основы теории вероятностей.

11. Основы теории игр.

2. Разработка и анализ алгоритмов.

В этом разделе определяется основная способность учащихся знать классы алгоритмов, которые предназначены для решения определенного набора известных задач, понимать их сильных и слабых сторон, применять различные алгоритмы в заданном контексте с оценкой его эффективности.

элементы теории алгоритмов;

основные структуры данных;

основные понятия теории графов, а также их свойства и некоторые специальные случаи;

связь графов и деревьев со структурами данных, алгоритмами и вычислениями;

свойства, присущие «хорошим» алгоритмам;

вычислительную сложность основных алгоритмов сортировки, поиска;

понятие рекурсии и общую постановку рекурсивно-определенной задачи;

простые численные алгоритмы;

основные комбинаторные алгоритмы;

основные алгоритмы вычислительной геометрии;

наиболее распространенные алгоритмы сортировки;

наиболее важные алгоритмы на строках;

фундаментальные алгоритмы на графах: поиск в глубину и в ширину, нахождение кратчайших путей от одного источника и

основы динамического программирования;

основные положения теории игр;

уметь:

выбирать подходящие структуры данных для решения задач;

использовать вышеназванные алгоритмы в процессе решения задач;

определять сложность по времени и памяти алгоритмов;

определять вычислительную сложность основных алгоритмов сортировки, поиска;

реализовывать рекурсивные функции и процедуры;

использовать при решении практических задач вышеназванные знания и умения.

Основными темами этого раздела являются:

1. Алгоритмы и их свойства.

2. Структуры данных

3. Основы анализа алгоритмов.

4. Алгоритмические стратегии.

5. Рекурсия.

6. Фундаментальные вычислительные алгоритмы.

7. Числовые алгоритмы.

8. Алгоритмы на строках.

9. Алгоритмы на графах.

10. Динамическое программирование.

11. Алгоритмы теории игр.

3. Основы программирования.

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

В рамках этого раздела школьники должны знать/понимать:

основные конструкции программирования;

концепцию типа данных как множества значений и операций над ними;

основные типы данных;

основные структуры данных: массивы, записи, строки, связные списки, стек;

представление данных в памяти;

альтернативные представления структур данных с точки зрения производительности;

основы ввода/вывода;

операторы, функции и передача параметров;

статическое, автоматическое и динамическое выделение памяти;

управление памятью во время исполнения программы;

методы реализации стеков, очередей;

методы реализации графов и деревьев;

механизм передачи параметров;

особенности реализации рекурсивных решений;

стратегии, полезные при отладке программ;

уметь:

анализировать и объяснить поведение простых программ, включающих фундаментальные конструкции;

модифицировать и расширить короткие программы, использующие стандартные условные и итеративные операторы и функции;

разработать, реализовать, протестировать и отладить программу, которая использовать все наиболее важные конструкции программирования;

применять методы структурной (функциональной) декомпозиции для разделения программы на части;

реализовать основные структуры данных на языке высокого уровня;

реализовать, протестировать и отладить рекурсивные функции и процедуры;

использовать при решении практических задач вышеназванные знания и умения и уверенно программировать на олимпиадах по информатике на языке программирования Pascal.

Основными темами этого раздела являются:

1. Язык программирования Pascal.

2. Основные конструкции программирования.

3. Переменные и типы данных.

4. Типы структур данных.

4. Методы вычислений и моделирование.

Раздел «Методы вычислений и моделирование» представляет область информатики, тесно связанную с вычислительной математикой и численными методами.

В рамках этого раздела школьники должны знать/понимать:

понятия ошибки, устойчивости, машинной точности и погрешности приближенных вычислений;

источники погрешности в приближенных вычислениях;

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

понятия модели и моделирования, основные типы моделей;

компоненты компьютерной модели и способы их описания: входные и выходные переменные, переменные состояния, функции перехода и выхода, функция продвижения времени;

основные этапы и особенности построения и использования компьютерных моделей;

уметь:

вычислять оценку погрешности приближенных вычислений;

использовать при решении задач основные методы вычислительной математики;

формализовывать объекты моделирования;

разрабатывать компьютерные модели простейших объектов;

использовать при решении практических задач компьютерные модели в виде «черного ящика»;

использовать при решении практических задач вышеназванные знания и умения.

Основными темами этого раздела являются:

1. Основы вычислительной математики.

2. Введение в моделирование.

Учебно-тематическое планирование к программе «Олимпиадная информатика»

На основании выше сказанного составлены программы 1, 2 и 3, которые учитывают возрастные особенности учащихся.

Программа 1. Для учащихся 5-6 классов

Тема

Количество часов

1

Типы олимпиадных задач по информатике для 5-6 классов.

2

Отношения (рефлексивность, симметричность, транзитивность, эквивалентность, лексикографический порядок)

Точка, прямая, отрезок, вектор, угол

Декартовы координаты в евклидовом пространстве

Треугольник, прямоугольник, многоугольник

Выпуклые многоугольники

Основы логики

Логические переменные, операции

Таблицы истинности

Булевы функции

Основы вычислений

Основы вычислений:

Правила суммы и произведения

Рекуррентные соотношения

Методы доказательства

Прямые доказательства

Доказательство через контрпример

Доказательство через противопоставление

Основы теории чисел

Простые числа.

Деление с остатком

Наибольший общий делитель

Основы комбинаторики

Перестановки, размещения и сочетания:

Основные определения

Теория графов

Типы графов

Маршруты и связность

Деревья

Остовные деревья

Основы теории вероятностей

Понятие вероятности

Основы теории игр

Понятие игры и результата игры

Простейшие игры и стратегии

20

Этапы решения олимпиадной задачи: формализация условия задачи, выбор метода решения задачи. План разбора олимпиадной задачи по информатике.

5

Алгоритмы

Алгоритмы и их свойства

Понятие алгоритма

Концепции и свойства алгоритмов

Запись алгоритма на неформальном языке

Структуры данных

Простые базовые структуры

Множества

Последовательности

Списки

Неориентированные графы

Алгоритмические стратегии

Алгоритмы полного перебора

Рекурсия

Понятие рекурсии

Простые численные алгоритмы

Классические комбинаторные алгоритмы

Алгоритмы с подмножествами: генерация, восстановление по номеру и построение номера, генерация следующего и предыдущего (прибавление и вычитание единицы)

Алгоритмы с сочетаниями и перестановками: генерация, восстановление по номеру и построение номера, генерация следующего и предыдущего.

Алгоритмы последовательного и бинарного поиска

Числовые алгоритмы

Разложение числа на простые множители

Решето Эратосфена

Алгоритм Евклида

Алгоритмы на строках

Поиск подстроки в строке. Наивный метод

Алгоритмы на графах

Вычисление длин кратчайших путей в дереве

Обход графа в ширину и в глубину

Способы реализации поиска в ширину (“наивный” и с очередью)

Геометрические алгоритмы

Алгоритмы определения совпадения точек, лучей, прямых и отрезков

Решение / моделирование алгоритмических задач в среде Исполнителя

20

Введение в реальную среду программирования как инструмент реализации алгоритмов на компьютере

Типовые инструменты среды программирования (режим помощь, режим редактирования, режим отладки)

Среда программирования. Начало программирования.

Языки программирования

Переменные и типы данных

Типы структур данных

Особенности программирования фундаментальных алгоритмов.

Введение в моделирование.

Классификация языков программирования

Процедурные языки

Переменные, типы, выражения и присваивания

Основы ввода/вывода

Операторы проверки условия и цикла

Концепция типа данных как множества значений и операций над ними

Примитивные типы

Массивы

Стратегии решения задач

Роль алгоритмов в процессе решения задач

Среды программирования

Понятия модели и моделирования

Основные типы моделей

www.olympiads.ru .

20

Программа 2. Для учащихся 7-8 классов

Тема

Количество часов

Положение о Всероссийской олимпиаде школьников. Методические рекомендации по проведению школьного, муниципального и регионального этапов Всероссийской олимпиады школьников по информатике.

1

Типы олимпиадных задач по информатике для 7-8 классов.

2

Основные разделы математической информатики.

Функции, отношения и множества

Обратная функция, композиция

Множества (дополнения, декартовы произведения)

Основные геометрические понятия

Евклидово расстояние

Векторное и скалярное произведение на плоскости

Основы логики

Логические выражения

Формы задания и синтез логических функций

Преобразование логических выражений

Основы вычислений

Основы вычислений:

Арифметические и геометрические прогрессии

Числа Фибоначчи

Методы доказательства

Доказательство через противоречие

Математическая индукция

Основы теории чисел

Основная теорема арифметики

Взаимно простые числа

Основы алгебры

Многочлены и операции над ними. Решение квадратных уравнений. Теорема Виета

Основы комбинаторики

Тождество Паскаля

Биномиальная теорема

Теория графов

Операции над графами

Раскраска графов

Эйлеровы и гамильтоновы графы

Основы теории вероятностей

Понятие математического ожидания.

20

Алгоритмы

Алгоритмы и их свойства

Ориентированные графы

Деревья

Основы анализа алгоритмов

Стандартные классы сложности

Асимптотический анализ поведения алгоритмов в среднем и крайних случаях

Алгоритмические стратегии

"Жадные" алгоритмы

Рекурсия

Рекурсивные математические функции

Простые рекурсивные процедуры

Реализация рекурсии

Фундаментальные вычислительные алгоритмы

Квадратичные методы сортировки (сортировка методом выбора, сортировка вставками)

Сортировка подсчетом за линейное время.

Алгоритмы сортировки за время (быстрая сортировка, пирамидальная сортировка

Алгоритмы на строках

Проверка графа на связность

Алгоритмы поиска кратчайшего пути во взвешенных графах

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

Задачи с монотонным направлением движения в таблице

Задача о рюкзаке - решение методом динамического программирования

Геометрические алгоритмы

Представление точек, прямых и отрезков на плоскости

20

Среда программирования .

Языки программирования

Переменные и типы данных

Типы структур данных

Механизмы абстракции.

Особенности программирования фундаментальных алгоритмов.

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

Функции и передача параметров

Свойства объявлений (связывание, область видимости, блоки и время жизни)

Обзор проверки типов

Записи

Стратегии выбора подходящей структуры данных

Процедуры, функции и итераторы как механизмы абстракции

Модули в языках программирования

Стратегии реализации алгоритмов

Реализация рекурсии

Введение в моделирование.

Компоненты компьютерной модели и способы их описания: входные и выходные переменные, переменные состояния, функции перехода и выхода, функция продвижения времени

Основные этапы и особенности построения компьютерных моделей

Основные этапы использования компьютерных моделей при решении практических задач

Типовые примеры решения задач по разделам из коллекции www.olympiads.ru

25

Программа 3. Для учащихся 9-11 классов

Тема

Количество часов

Положение о Всероссийской олимпиаде школьников. Методические рекомендации по проведению школьного, муниципального и регионального этапов Всероссийской олимпиады школьников по информатике.

1

Типы олимпиадных задач по информатике для 9-11 классов.

2

Основные разделы математической информатики.

Функции, отношения и множества

Вполне упорядоченные множества

Мощность и счетность

Основы логики

Минимизация булевых функций

Основные законы логики суждений

Логика предикатов

Основы вычислений

Основы вычислений:

Принцип включения-выключения

Матрицы и действия над ними

Методы доказательства

Структура формальных доказательств

Основы теории чисел

Кольцо вычетов по модулю

Основы алгебры

Симметрические многочлены

Понятие группы

Свойства групп

Теоремы о гомоморфизме и изоморфизме

Основы комбинаторики

Коды Грея: подмножества, сочетания, перестановки

Таблицы инверсий перестановок

Разбиения на подмножества. Числа Стирлинга

Скобочные последовательности

Теория графов

Покрытия и независимость

Укладка графов. Плоские (планарные) графы

Двусвязность графа. Мосты, блоки, точки сочленения

Связь ориентированных ациклических графов и отношений порядка. Транзитивное замыкание

Двудольные графы

Потоки и сети

Основы теории вероятностей

Аксиомы теории вероятностей

Формула полной вероятности и формула Байеса. Условное математическое ожидание

Основы теории игр

Игры на матрицах

20

Алгоритмы

Алгоритмы и их свойства

Пирамида и дерево отрезков

Сбалансированные деревья

Хэш-таблицы и ассоциативные массивы

Бор

Основы анализа алгоритмов

Компромисс между временем и объемом памяти в алгоритмах

Использование рекуррентных отношений для анализа рекурсивных алгоритмов

NP-полнота

Алгоритмические стратегии

Алгоритмы "разделяй и властвуй"

Перебор с возвратом

Эвристики

Рекурсия

Стратегия "разделяй и властвуй"

Рекурсивный перебор с возвратами

Фундаментальные вычислительные алгоритмы

Алгоритмы сортировки ( сортировка слиянием)

Цифровая сортировка

Алгоритм вычисления номера слова в лексикографически упорядоченном множестве перестановок его символов

Арифметика многоразрядных целых чисел

Числовые алгоритмы

Расширенный алгоритм Евклида. Способы реализации алгоритма без деления

Решение линейных сравнений с помощью алгоритма Евклида

Эффективная проверка числа на простоту

Быстрые алгоритмы разложения чисел на простые множители.

Алгоритмы на строках

Алгоритмы поиска подстроки в строке за

Периодические и циклические строки

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

Алгоритмы на графах

Топологическая сортировка графа, нахождение компонент сильной связности и построение диаграммы порядка

Циклы отрицательной длины - критерий наличия, поиск

Задача о синхронизации времени и задача о системе неравенств

Алгоритм поиска эйлерова цикла (в том числе лексикографически минимального)

Нахождение транзитивного замыкания графа

Алгоритмы нахождения взвешенных остовных деревьев

Алгоритмы отыскания компонент двусвязности, точек сочленения, мостов с помощью поиска в глубину

Алгоритм нахождения максимального паросочетания и минимального вершинного покрытия в двудольном графе

Поиск максимального потока в сети

Динамическое программирование

Оптимизация решения задачи динамического программирования на примере задачи о рюкзаке (исключение лишних параметров)

Восстановление решения в задачах динамического программирования

Общая схема решения задач динамического
программирования

Алгоритмы теории игр

Динамическое программирование и полный перебор как методы решения игровых задач. Игры на ациклическом графе

Оценка позиций. Альфа-бета отсечение

Геометрические алгоритмы

Нахождение расстояний между объектами на плоскости

Алгоритмы определения пересечения отрезков на плоскости

Алгоритмы вычисления площади многоугольника с заданными координатами вершин. Случай целочисленной решетки (формула Пика)

Алгоритмы построения выпуклой оболочки (алгоритмы Грэхема и Джарвиса)

Окружности на плоскости, пересечение их с другими геометрическими объектами

Эффективный алгоритм нахождения пары ближайших точек на плоскости

20

Среда программирования.

Языки программирования

Основные конструкции программирования

Типы структур данных

Особенности программирования фундаментальных алгоритмов.

Программные средства и окружения.

Проверка соответствия программного обеспечения.

Формальные методы описания синтаксиса:
форма Бэкуса-Наура

Объектно-ориентированные языки

Структурная декомпозиция

Представление данных в памяти

Статическое, автоматическое и динамическое выделение памяти

Связанные структуры

Методы реализации стеков, очередей и хэш-таблиц

Методы реализации графов и деревьев

Стратегии отладки

Инструментальные средства тестирования

Основы тестирования, включая создание тестового плана и генерацию тестов

Тестирование методом "черного ящика" и "белого ящика"

Тестирование элементов, интеграционное, системное тестирование и проверка соответствия

Основы вычислительной математики.

Основные методы вычислительной математики

  • вычисление значения и корней функции
  • вычисление периметра, площади и объема плоских фигур

Вычисление функций с шагом. Метод сеток

Арифметика с плавающей точкой

Ошибка, устойчивость, сходимость

Типовые примеры решения задач по разделам из коллекции www.olympiads.ru .

25

Диагностические задания

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

Анализ всех задач, предлагавшихся на олимпиадах по информатике, позволил выделить следующие темы, тесно связанные с соответствующими разделами информатики и прикладной математики:

1) комбинаторика;

2) сортировка и поиск;

3) обработка последовательностей;

4) перебор вариантов и методы его сокращения;

5) алгоритмы на графах;

6) динамическое программирование;

7) элементы вычислительной геометрии;

8) задачи на технику программирования;

9) задачи на идею.

Методические указание для изучения

Алгоритмическая компьютерная среда

Набор задач по нескольким уровням сложности

Разные типы алгоритмических заданий (перестановки, переливания, взвешивания, переправы, переезды, работа с числами) (Виртуальные Лаборатории по информатике)

Алгоритмы на координатной плоскости (управление перемещением с условиями)

система автоматической проверки решений и оценивания

/ video / kuris . php

Адрес ресурса: http://school-collection.edu.ru , раздел «Информатика», 2-6 классы, выбрать «Интерактивный задачник по информатике для 2-6 классов»

Методическое пособие и 100 алгоритмических задач http :// lbz . ru / books /264/5211

Виртуальные лаборатории по информатике в начальной школе: методическое пособие Авторы: Цветкова М. С., Курис Г. Э.

Коллекции олимпиадных задач с 1989 по 2016 год и методические материалы к ним представлены на сайтах:

http://old.info.rosolymp.ru/

Представлены интернет-ресурсы олимпиадной информатики:

1. Интернет-ресурсы для теоретической подготовки к олимпиадам:

http://www.intuit.ru/courses.html (сайт Интернет-университета информационных технологий);

http://www.olympiads.ru/sng/index.shtml (сайт МИОО, МЦНМО, и оргкомитета Московской олимпиады по информатике для проведения дистанционных семинаров по подготовке к олимпиадам по информатике);

http://vzshit.net.ru/ (сайт Всесибирской заочной школы информационных технологий).

2. Интернет-ресурсы с коллекциями олимпиадных задач:

http://old.info.rosolymp.ru (сайт с самой большой в России коллекцией задач международных и всероссийских олимпиад по информатике с методическими рекомендациями по их решению);

http://www.olympiads.ru/moscow/index.shtml (сайт московских олимпиад по информатике);

http://neerc.ifmo.ru/school/russia-team/archive.html (сайт с архивом задач Всероссийских командных олимпиад школьников по программированию);

http://contest.ur.ru (сайт Уральских олимпиад по информатике );

http://www.olympiads.ru/ (сайт по олимпиадной информатике);

http://olimpic.nsu.ru/nsu/ (сайт открытой Всесибирской олимпиады по программированию им. И.В. Поттосина).

3. Интернет-ресурсы с коллекциями олимпиадных задач и возможностью их тестирования в реальном масштабе времени:

http://acm.timus.ru/ (сайт Уральского государственного университета, содержащий большой архив задач с различных соревнований по спортивному программированию);

http://acm.sgu.ru (сайт Саратовского государственного университета, содержащий архив задач с системой онлайн-проверки).

4. Сайты интернет-олимпиад для школьников:

http://info-online.rusolimp.ru/ (сайт интернет-туров заключительного этапа Всероссийской олимпиады школьников по информатике);

http://olymp.ifmo.ru/ (сайт городских интернет - олимпиад школьников Санкт-Петербурга);

http://neerc.ifmo.ru/school/io/index.html (сайт интернет-олимпиад по информатике, проводимых жюри Всероссийской командной олимпиады школьников по программированию);

http://www.olympiads.ru/online/index.shtml (сайт московских онлайн-олимпиад);

http://olimpic.nsu.ru/acmSchool/archive/2006-2007/train2006/index.shtml (сайт тренировочных олимпиад школьников, поддерживаемый Новосибирским государственным университетом).

Список литературы

1. Алексеев А. В., Беляев С. Н. Подготовка школьников к олимпиадам по информатике с использованием веб-сайта: учеб.-метод. пособие для учащихся 7-11 классов. Ханты-Мансийск: РИО ИРО, 2008. 284 с.

2. Волчёнков С. Г., Корнилов П. А., Белов Ю. А. и др. Ярославские олимпиады по информатике. Сборник задач с решениями. М.: БИНОМ. Лаборатория знаний. 2010. 405 с.

3. Долинский М. С. Алгоритмизация и программирование на TurboPascal: от простых до олимпиадных задач: учеб.пособие. СПб.: Питер Принт, 2004. 240 с.

4. Иванов С. Ю., Кирюхин В. М., Окулов С. М. Методика анализа сложных задач по информатике: от простого к сложному // Информатика и образование. 2006. № 10. С. 21-32.

5. Кирюхин В. М. Всероссийская олимпиада школьников по информатике. М.: АПК и ППРО, 2005. 212 с.

6. Кирюхин В. М. Информатика. Всероссийские олимпиады. Вып. 2. М.: Просвещение, 2009. 222 с. (Пять колец).

7. Кирюхин В. М. Информатика. Всероссийские олимпиады. Вып. 3. М.: Просвещение, 2011. 222 с. (Пять колец).

8. Кирюхин В. М. Информатика. Международные олимпиады. Вып. 1. М.: Просвещение, 2009. 239 с. (Пять колец).

9. Кирюхин В. М., Лапунов А. В., Окулов С. М. Задачи по информатике. Международные олимпиады 1989-1996 гг. М.: ABF, 1996. 272 с.

10. Кирюхин В. М., Окулов С. М. Методика анализа сложных задач по информатике // Информатика и образование. 2006. № 4. С. 42-54.

11. Кирюхин В. М., Окулов С. М. Методика анализа сложных задач по информатике // Информатика и образование. 2006. № 5. С. 29-41.

12. Кирюхин В. М., Окулов С. М. Методика решения задач по информатике. Международные олимпиады. М.: БИНОМ. Лаборатория знаний, 2007. 600 с.

13. Кирюхин В. М., Цветкова М. С. Всероссийская олимпиада школьников по информатике в 2006 году. М.: АПК и ППРО, 2006. 152 с.

14. Кирюхин В. М., Цветкова М. С. Методическое обеспечение олимпиадной информатики в школе / Сб. трудов XVII конференции-выставки «Информационные технологии в образовании». Ч. III. М.: БИТ про, 2007. С. 193-195

15. Кирюхин В. М. Информатика. Всероссийские олимпиады. Вып. 1. М.: Просвещение, 2008. 220 с. (Пять колец).

16. Меньшиков Ф. В. Олимпиадные задачи по программированию. СПб.: Питер, 2006. 315 с.

17. Московские олимпиады по информатике. 2002-2009 / под ред. Е. В. Андреевой, В. М. Гуровица и В. А. Матюхина. М.: МЦНМО, 2009. 414 с.

18. Нижегородские городские олимпиады школьников по информатике / под ред. В. Д. Лелюха. Нижний Новгород: ИПФ РАН, 2010. 130 с.

19. Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. СПб.: БХВ-Петербург, 2003. 560 с.

20. Окулов С. М. Основы программирования. М.: БИНОМ. Лаборатория знаний, 2005. 440 с.

21. Окулов С. М. Программирование в алгоритмах. М.: БИНОМ. Лаборатория знаний. 2002. 341 с.

22. Окулов С. М. Дискретная математика. Теория и практика решения задач по информатике: учеб.пособие. М.: БИНОМ. Лаборатория знаний. 2008. 422 с.

23. Окулов С. М. Алгоритмы обработки строк: учеб.пособие. М.: БИНОМ. Лаборатория знаний, 2009. 255 с.

24. Окулов С. М., Пестов А. А. 100 задач по информатике. Киров: Изд-во ВГПУ, 2000. 272 с.

25. Окулов С. М., Лялин А. В. Ханойские башни. М.: БИНОМ. Лаборатория знаний. 2008. 245 с. (Развитие интеллекта школьников).

26. Просветов Г. И. Дискретная математика: задачи и решения: учеб.пособие. М.: БИНОМ. Лаборатория знаний. 2008. 222 с.

27. Скиена С. С., Ревилла М. А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям. М.: Кудиц-образ, 2005. 416 с.

28. Сулейманов Р. Р. Организация внеклассной работы в школьном клубе программистов: методическое пособие. М.: БИНОМ. Лаборатория знаний. 2010. 255 с.

29. Цветкова М. С. Система развивающего обучения как основа олимпиадного движения / Сборник трудов XVII конференции-выставки «Информационные технологии в образовании». Ч. III. М.: БИТ про, 2007. С. 205-207

30. Кирюхин В.М., Цветкова М.С. Образовательные программы по развитию одаренности у детей и подростков, составленные с учетом уровня подготовленности, направлений интересов, по направлению информационных технологий, 2012 .

Сайт Методического центра олимпиадной информатики:

http://metodist.lbz.ru/lections/6/

Портал Всероссийской олимпиады школьников:

http://www.rosolymp.ru/

Сайт с архивом олимпиадных задач:

http://old.rosolymp.ru/

Модуль поддержан видеолекциями членов Центральной предметно-методической комиссии на сайте

1

В статье представлены обоснование роли систем задач при подготовке школьников к олимпиадам по информатике, описания содержательной составляющей систем задач, используемых при подготовке, и требования, которые учитываются при конструировании систем задач; авторская этапная модель процесса конструирования систем задач и пример системы задач. Методика подготовки школьников к олимпиадам по информатике на основе использования систем задач и авторская стадийная модель формирования одаренности в условиях подготовки школьников к олимпиадам по информатике прошли длительную экспериментальную апробацию. Теоретическая значимость результатов исследования обусловлена вкладом в теорию формирования одаренности и формирования готовности к участию в олимпиадах по информатике. В ходе исследования обосновано, что результаты подготовки к олимпиадам обусловливают специфику процесса формирования одаренности у школьников.

системы задач

олимпиады школьников

конструирование систем задач

методика подготовки к олимпиадам

одаренность

1. Балл, Г.А. Теория учебных задач: психолого-педагогический аспект. – М.: Педагогика, 1990. – 184 с.

2. Кирюхин, В.М., Окулов, С.М. Методика решения задач по информатике. Международные олимпиады. – М.: БИНОМ. Лаборатория знаний, 2007. – 600 с.

3. Педагогика профессионального образования: перспективы развития: монография. Кн. 3 / О.В. Алексеева, Н.А. Бурмистрова, В.Д. Васильева, Н.Н. Головина, О.Н. Кравченко, Е.С. Павлова и др.; под ред. С.С. Чернова; Центр развития научного сотрудничества. – Новосибирск: Изд-во «СИБПРИНТ», 2010. – 245 с.

4. Рабочая концепция одаренности / Д.Б. Богоявленская, В.Д. Шадриков, Ю.Б. Бабаева, А.В. Брушлинский, В.Н. Дружинин, и др. – М.: ИЧП Изд-во «Магистр», 2003.

5. Смыковская, Т.К. Олимпиады по программированию как фактор развития одарённости студентов и школьников / Т.К. Смыковская, Е.С. Павлова // Вестник Волгоградской академии МВД России. – 2010. – № 1. – C. 125–127.

В настоящее время для учащихся старшего школьного возраста одним из наиболее эффективных средств выявления способностей и уровней одаренности, а также развития интеллектуальных и творческих способностей являются подготовка и участие в предметных олимпиадах . Среди всех школьных предметов можно выделить информатику как наиболее динамичный предмет, т.к. содержание олимпиадных задач по информатике постоянно изменяется. Следует отметить, что областные и региональные олимпиады по информатике традиционно являются олимпиадами по программированию, а школьные, а иногда и городские олимпиады - это олимпиады по ИКТ.

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

Многолетний опыт подготовки школьников к олимпиадам по программированию в Волгоградской области показывает, что в качестве основы для проведения занятий целесообразно использовать не отдельные задачи, а комплексные системы задач. Разнообразные наборы задач, входящих в системы задач для подготовки к олимпиадам по информатике, позволяют:

1) постепенно усложнять изучаемый материал;

2) поэтапно увеличивать объем работы;

3) повышать уровень самостоятельности учащихся;

4) привлекать элементы теории для решения познавательных задач;

5) обучать способам рассуждения (как по образцу, так и самостоятельно) с учетом принципа вариативности задач;

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

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

1) ключевая задача (наличие задач, сгруппированных в узлы вокруг объединяющих центров - задач, в которых рассматриваются факты или способы деятельности, применяемые при решении других задач и имеющие принципиальное значение для усвоения предметного содержания);

2) связность (возможность графически представить совокупность задач связным графом, в узлах которого ключевые задачи, выше них - подготовительные и вспомогательные, ниже - следствия, обобщения и так далее);

3) целевая достаточность (наличие достаточного количества задач для тренировки в классе и дома, аналогичных задач для закрепления метода решения, задач для индивидуальных и групповых заданий разной направленности, задач для самостоятельной (в том числе исследовательской) деятельности учащихся, задач для текущего и итогового контроля с учетом запасных вариантов и так далее);

4) психологическая комфортность (система задач учитывает наличие разных темпераментов, типов мышления, видов памяти).

На первых этапах подготовки к олимпиадам по информатике мы конструировали системы задач эмпирическим путем, но в дальнейшем мы пришли к тому, что процесс создания систем задач должен включать в себя следующие этапы: аналитический (анализ содержания учебного материала и требований стандарта, формулирование целей и установление их взаимного соответствия, отбор содержания), проектировочный (выбор методов и методических приемов, определение форм представления учебного материала, способов его подачи) и технологический (техническое создание систем задач в соответствии с предъявляемыми требованиями).

По теме «Техника программирования» нами разработаны системы задач по программированию разветвляющихся и циклических вычислительных процессов, системы задач для работы с одномерными и двумерными массивами, для обработки строк символов, для изучения рекуррентных алгоритмов, алгоритмов длинной арифметики и динамических структур данных, а по теме «Алгоритмы, методы и принципы решения задач» − системы задач для изучения алгоритмов линейного и двоичного (бинарного) поиска, алгоритмов сортировки информации, перебора (перестановки) данных, динамического программирования, алгоритмов работы с графами.

Приведем пример системы задач для изучения алгоритмов поиска информации, которая состоит из задач, построенных путем модификации условия или требования ключевых задач. При описании системы используются следующие обозначения : У (условие) - задан массив переменной длины, Б (базис) - умение просматривать весь массив (с первого до последнего элемента), Т (требование) - найти элементы массива по заданным условиям, С (способ) - просмотреть весь массив и отпечатать элементы, удовлетворяющие заданному условию.

Задача 1. В одномерном массиве A(N) (N≤100) найти все положительные элементы (ограничение условия).

Задача 2. В одномерном массиве A(N) (N ≤ 100) найти все четные элементы (ограничение условия).

Задача 3. В одномерном массиве A(N) (N ≤ 100) найти все четные положительные элементы (получена из предыдущей добавлением в условие).

Задача 4. В одномерном массиве A(N) (N≤100) найти все четные положительные элементы с индексами, кратными 3 (получена из предыдущей добавлением в условие).

Задача 5. В одномерном массиве A(N) (N ≤ 100) увеличить в два раза все четные положительные элементы (получена из задачи 4 путем изменения требования).

Задача 6. В одномерном массиве A(N) (N ≤ 100) возвести в квадрат все элементы, попадающие в интервал от -2 до 5 (получена из задачи 4 путем изменения требования).

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

Данная методика используется преподавателями Лицея при факультете довузовской подготовки ФГБОУ ВПО «Волгоградский государственный технический университет» при подготовке школьников к олимпиадам по информатике с 2003 и по настоящее время.

Многолетние наблюдения за школьниками, участвующими в процессе подготовки к олимпиадам по информатике показали, что использование систем задач, кроме подготовки к олимпиадам, еще влияет на развитие одаренности . Поэтому в процессе педагогического исследования нами была разработана трехстадийная модель формирования одаренности в условиях подготовки школьников к олимпиадам по информатике, при построении которой мы ориентировались на то, что на каждой из стадий подготовки к олимпиадам учащиеся непосредственно участвуют в процессе формирования своей одаренности. Первая стадия является стадией самоопределения (самоидентификации одаренности) школьника, вторая - стадией определения границ своей одаренности, на третьей стадии происходит осознание, каким образом можно самостоятельно участвовать в процессе формирования своей одаренности. Данная модель является теоретической основой для проведения нами дальнейшей методической работы.

Эта стадийная модель внесла коррективы в содержательный и процессуальный компоненты разработанной нами методики подготовки к олимпиадам по информатике на основе использования систем задач. Сконструированные системы задач становятся основой для разработки индивидуальных образовательных траекторий для каждого ученика, что приводит к формированию одаренности учащихся путем развития способностей учащихся и реализации их личностного творческого потенциала. Методика стала стадийной, обеспечивая таким образом разноуровневость индивидуальных образовательных траекторий и трехэтапность процесса подготовки к олимпиадам по информатике и формирования одаренности при использовании комплексов систем задач и сочетании очной и дистанционной форм обучения.

Рецензенты:

Смыковская Т.К., д.п.н., профессор кафедры теории и методики обучения математике и информатике, ФГОУ ВПО «Волгоградский социально-педагогический университет», г. Волгоград;

Петрова Т.М., д.п.н., профессор кафедры теории и методики обучения математике и информатике, ФГОУ ВПО «Волгоградский социально-педагогический университет», г. Волгоград.

Работа поступила в редакцию 08.10.2013.

Библиографическая ссылка

Павлова Е.С. МЕТОДИКА ФОРМИРОВАНИЯ ОДАРЕННОСТИ ПРИ ПОДГОТОВКЕ К ОЛИМПИАДАМ ПО ИНФОРМАТИКЕ // Фундаментальные исследования. – 2013. – № 10-6. – С. 1360-1362;
URL: http://fundamental-research.ru/ru/article/view?id=32547 (дата обращения: 05.01.2020). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

В настоящее особую актуальность приобретает проблема подготовки школьников к олимпиадам по информатике различного уровня. Главной отличительной особенностью этих олимпиад является то, что фактически это олимпиады по программированию и уровень задач мало соответствует содержанию школьного курса информатики и ИКТ.

В лицее города Фрязино эта проблема решается комплексно :

· В профильных математических 8-х классах выделяется дополнительно к программе один час в неделю на предмет информатика

· В профильных классах старшей школы Программирование выделено как отдельный предмет

· С 2007 года у нас действует учреждение дополнительного образования Школа «Юный программист», которая не заменяет, а дополняет школьный курс информатики

На практике знакомство с правилами проведения олимпиад и «борьба» с типичными ошибками при отладке программ проводится практически при сдаче задач в автоматизированную тестирующую систему. В практической работе с учащимися по подготовке к олимпиадам, для закрепления навыков, требуется многократное решение задач определенного типа. Поэтому каждый «олимпиадник» получает свое, индивидуальное домашнее задание на сайте дистанционного обучения, разбор нерешенных задач проводится в группе, на занятиях в компьютерной школе. Подготовка школьника к олимпиаде состоит из постоянных тренировок и более всего напоминает подготовку спортсмена к соревнованиям. Надо учитывать, что длительность олимпиад с разбором задач составляет не менее 6 часов, поэтому особое значение имеет психологическая подготовка. Задача учителей и администрации - не превышать планку по другим предметам на период подготовки. Требуется контроль и поддержка не только со стороны родителей и учителя, а иногда помощь и понимание администрации.

В последние 6 лет ученики Лицея неоднократно становились победителями и призерами олимпиад самого различного уровня: Заключительного этапа Всероссийской олимпиады, Московской областной олимпиады, Открытой олимпиады «Информационные технологии»», Олимпиады школьников «Ломоносов», Открытой олимпиады школьников по информатике и программированию, Муниципальных олимпиад, Московской олимпиады по программированию, Всероссийского конкурса КИТ и других.

Как готовить к олимпиадам по информатике в таких условиях?

· Найти способных учеников и увлечь их программированием

· Удержать от «соблазнов» on-line жизни

· Стать им другом и сформировать из них команду

· Тесно взаимодействовать с родителями, администрацией, классными руководителями и учителями - предметниками

· Быть готовым к тому, что на каком-то этапе кто-то из них вас перерастет

Разбор задач олимпиадного характера.

Методика подготовки к районному этапу Всероссийской олимпиады школьников по информатике.

Материалы мастер-класса (презентация)

на РМО учителей информатики.

учителя информатики и ИКТ

МОУ «Лицей №23»

Шуваловой Светланы Юрьевны.

В данной работе обобщены материалы, представленные мною на РМО учителей информатики в 2011, 2012 годах по итогам школьных этапов Всероссийской олимпиады школьников по информатике.

Число участников олимпиады школьников по программированию с каждым годом уменьшается, это связано с уменьшением доли часов по содержательной линии «Алгоритмизация и программирование» в учебной программе школьного курса информатики. Олимпиады предназначены выявлять наиболее одаренных в области информатики школьников, развивать их способности, повышать интерес к предмету. Они дают возможность школьникам получить раннюю профориентацию, что способствует становлению в дальнейшем российских специалистов в области информатики, вычислительной техники и программирования. Но хорошее знание школьного курса информатики не гарантирует успешного выступления на олимпиадах, необходимо заниматься с учащимися во внеурочное время.

Слайд 1.

Цель олимпиады по информатике - способствовать поиску наиболее одаренных школьников .

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

Задачи школьного этапа олимпиады должны быть такой сложности, чтобы не отпугнуть учащихся, а дать им возможность продемонстрировать свои лучшие качества.

Слайд 2.

Основные критерии отбора олимпиадных задач для проведения школьного и муниципального этапов Всероссийской олимпиады школьников по информатике:

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

Слайд 3.

Олимпиадные задачи для школьного и муниципального этапов олимпиады по информатике отличаются тематическим разнообразием.

Из опыта олимпиад можно выделить наиболее часто встречающиеся разделы информатики, к которым с можно отнести тематику задач:

  • комбинаторика;
  • сортировка и поиск;
  • обработка последовательностей;
  • алгоритмы на графах;
  • элементы вычислительной геометрии.
  • перебор вариантов и методы его сокращения;
  • динамическое программирование.

Слайд 4.

Этапы решения олимпиадных задач:

  • Разбор условия задачи.
  • Формализация условия задачи.
  • Разработка алгоритма решения задачи.
  • Программная реализация алгоритма.
  • Отладка и тестирование программы.
  • Отправка решения на проверку.

Слайд 5.

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

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

Необходимо помнить при написании программы, - это сохранение редактируемых файлов во время тура.

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

Слайд 6.

Часто встречающиеся ошибки:

  • Не соответствует формат ввода-вывода данных условию задачи
  • Рассмотрены не все возможные случаи
  • Не правильно задан тип данных (размерность)
  • Потеря редактируемых файлов во время тура

Слайд 7.

Минимальная база знаний для олимпиады по информатике.

Язык программирования:

  • базовые алгоритмические конструкции,
  • стандартные математические функции,
  • процедуры и функции для обработки строковых переменных,
  • процедуры и функции для работы с массивами.

Типовые алгоритмы.

Слайд 8.

Задачи на олимпиадах по информатике не всегда соответствуют «Стандарту основного и среднего (полного) общего образования по информатике и ИКТ». Более того, в качестве решения этих задач на олимпиаде требуется предъявить отлаженные программы, написанные на языке программирования высокого уровня, а не описания алгоритмов.

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

Слайд 9.

Интернет-ресурсы для подготовки к олимпиадам по информатике:

http://algolist.manual.ru/

Разбор задач школьного тура олимпиады 2011 года.

Задача №1 «Запись музыки» (15 баллов)

Проверить, поместится ли на диске компьютера музыкальная композиция, которая длится m минут и n секунд, если свободное дисковое пространство 6 мегабайт, а для записи одной секунды звука необходимо 16 килобайт.

Алгоритм решения:

Использование расчетной формулы и условного оператора

Задача №2 «Кодовый замок сейфа» (20 баллов)

Из 10 букв нужно набрать 3. Повторение букв допустимо. Подсчитать количество возможных комбинаций кодов.

Алгоритм решения:

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

Задача №3 «Прямоугольник» (30 баллов)

На плоскости изображено N прямоугольников. Каждый прямоугольник задан координатами левой нижней и правой верхней вершин. Определить, имеют ли прямоугольники общую площадь

Алгоритм решения:

Если максимальная координата по оси Х левых нижних вершин прямоугольников будет меньше минимальной координаты правых верхних вершин и максимальная координата по оси У левых нижних вершин прямоугольников будет меньше минимальной координаты правых верхних вершин, то общая площадь есть.

Используется типовой алгоритм нахождения максимального (минимального) элемента массива.

Задача №4 «Магический квадрат» (35 баллов)

В квадрате размером 3x3 клетки поставить числа 1, 2, ... ,9 так, чтобы суммы чисел, стоящих в каждом ряду, столбце, в каждой диагонали, были равны.

Алгоритм решения. Задача на способ заполнения двумерного массива.

(индийский способ):

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

Разбор задач школьного тура олимпиады 2012 года.

Задача 1.

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

Алгоритм решения:

Один из вариантов решения перебором:

var a,b,c,n,k:integer;

begin

write("n="); readln (n);

for a:=1 to 9 do

For b:=0 to 9 do

For c:=0 to 9 do

If a+b+c=n then

begin

writeln (a,b,c," ");

k:=k+1;

end;

Writeln;

Writeln ("k=",k) ;

Writeln;

end.

Второй вариант решения перебором:

Var a,b,c,n,k,m: integer;

begin

write("n="); readln(n);

for m:=100 to 999 do

begin

c:=m mod 10;

b:= m div 10 mod 10;

a:= m div 100;

if a+b+c=n then

begin

write(m:5);

k:=k+1;

end;

end;

writeln("k=",k)

end.

Задача 2. «Малыш и Карлсон».

Малыш и Карлсон живут в прямоугольной комнате размером А х В . Как им посчитать, сколько понадобится квадратных ковриков со стороной С , чтобы полностью покрыть пол комнаты? (Малыш и Карлсон не умеют ни делить, ни умножать.) Напишите программу для решения этой задачи.

Алгоритм решения:

Во внешнем цикле по одной из сторон комнаты (while p) резервируем место для ряда (р:=р+с ), затем во внутреннем цикле по другой стороне (while m) проверяем, сколькими ковриками можно закрыть ряд, оператор m:=m+с резервирует место для коврика, а оператор kovrik:=kovrik+1 подсчитывает общее количество уложенных ковриков.

var a, b, с, kovrik, m, p: integer;

begin

readln(a, b, с);

kovrik:= 0;

p:= 0;

while p

begin

p:= p + c;

m:= 0;

while m

begin

m:= m + c;

kovrik:= kovrik + 1

end;

writeln (kovrik)

end.

Задача 3. «Бактерии».

Колония состояла из n бактерий (не более 30000). В нее попал вирус, который в первую минуту уничтожил одну бактерию, а затем разделился на два новых вируса. Одновременно каждая из оставшихся бактерий тоже разделилась на две новые. В следующую минуту возникшие два вируса уничтожили две бактерии, а затем все вирусы и бактерии снова разделились и так далее. Будет ли эта колония жить бесконечно долго или вымрет?

Ваша программа должна:

  • Запросить число бактерий n ;
  • Выяснить и сообщить: через сколько суток, часов и минут колония бактерий прекратит свое существование или выдать сообщение, что колония вечна.

Пример ответа: Для n=A. Ответ – B суток C часов D минут (где A, B, C, D – числовые значения).

Алгоритм решения:

Программа на языке программирования Паскаль.

Var a, b, c: shortint;

t, n, v: longint;

begin

Write (‘Начальная численность колонии -"); readln (n);

v:=1;

while n>0 do

Begin

t:= t + 1; { минуты}

n:= (n - v) * 2; { бактерии}

v:= v * 2; { вирусы}

end;

a:= t div 1440;

b:= (t – a * 1440) div 60;

c:= t – a - b;

Write ("Колония прекратит существование через ",a, " суток ", b, " часов ", c , " минут");

end.

Задача 4.

Дан прямоугольник со сторонами А и В, где А, В - натуральные числа. Начинаем отсекать от него квадраты (рис.1). Сколько таких квадратов можно отсечь, если каждый раз отсекается самый большой квадрат?

Алгоритм решения:

1 способ.

Для решения этой задачи нам нужны функции МАХ и MIN , для их определения используем подпрограммы-функции.

Введем:

  • вспомогательные переменные X и Y (Y>=X) , соответствующие уменьшающимся сторонам прямоугольника;
  • вспомогательную переменную D , которая определяет уменьшение размеров прямоугольника после очередного отсечения наибольшего квадрата, сторона которого находится как X:=MIN(D,X).

Организуем цикл, в котором сторона Y уменьшается каждый раз на MIN(D,X) до тех пор, пока не останется последний квадрат или Y не станет меньше X. В последнем случае переименовываем стороны оставшегося прямоугольника как Y:=MAX(D,X) и X:=MIN(D,X) и продолжаем цикл.

Программа на языке программирования Паскаль.

var a, b, d, k, x, y: integer;

function min (i, j: integer): integer;

begin

if i

else min:=j

end;

function max (i, j: integer): integer;

begin

if i

else max:=i

end;

begin

repeat

Writeln ("vvedite dva naturalnix chisla");

Readln (a, b);

until (a>0) and (b>0);

k:=1;

x:=min(a,b);

y:=max(a,b);

while x y do

begin

k:=k+1;

d:=y-x;

y:=max(d,x);

x:=min(d,x);

end;

Writeln ("iskomoe chislo kvadratov:", k)

end.

2 способ.

Задачу можно решить с помощью стандартных функций PASCAL : Y DIV X и Y MOD X, используя алгоритм Евклида.

Алгоритм решения:

Организуем цикл, в котором формируем остатки от деления r 0 , r 1 , r 2 ,..., r n , r n+1 до тех пор, пока один из этих остатков не станет равен нулю r n+i =0 . Таким образом, мы строим функцию порождения остатка от деления r n+i = r n mod r n-i , где r 0 = А и r i =В . Для той же самой системы остатков мы можем посчитать, сколько раз нацело укладывается остаток r n-i в r n .

{алгоритм Евклида}

var А, В, R0, R, R1, K: integer;

begin

repeat

Write ("ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО А = ");

Readln (А);

Write ("ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО В

Readln (В);

until (В > 0) and (А > 0) and (А >=В);

R0:= А;

R1:= В;

К:= R0 div R1;

while R0 mod R1 0 do

begin

R:= R0 mod R1;

R0:= R1;

R1:= R;

К:= К + R0 div R1

end;

Writeln ("ИСКОМОЕ ЧИСЛО КВАДРАТОВ К = ",К);

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то