Cостязания по информатике (олимпиады)
Рефераты >> Программирование и компьютеры >> Cостязания по информатике (олимпиады)

Оглавление

Проблемы олимпиад по информатике. 3

Постановка проблем методами наложения ограничений. 3

Ограничения на использование готовых средств. 5

Ограничения на «программирование». 6

Проведение олимпиад по информатике на основе тестов. 8

Тестовые вопросы олимпиады по информатике для старшей возрастной группы (X-XI классы) 9

Заключение. 16

Литература. 17

Проблемы олимпиад по информатике

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

1. Нередко отмечается «запущенность» некоторых участников олимпиад: их образование и развитие происходит стихийно, и иногда им даже незнакома часть материала школьного курса информатики. Эта стихийность проявляется в замысловатых приемах типа ELSE NEXT или даже ELSE DIM на фоне незнания типовых методов решения задач. При решении простых задач такие школьники демонстрируют особо изощренные и сомнительные «трюки», но перед более трудной задачей становятся в тупик. Их внимание направлено не на алгоритмизацию как особый вид человеческого мышления и деятельности, не на постановку и решение задач, а на язык программирования (часто — доступную версию Бейсика). Но отметим их интуитивную тягу к иным, нестандартным путям решения задач.

2. По мере исчерпания тематики задач, распространения профессиональных ПЭВМ, мощных языков наметилась тенденция к решению на олимпиадах громоздких задач. Тексты к ним тоже громоздки. Проверяющие не успевают взглянуть на решения и «гонят» тесты. А в них, особенно если частные случаи очевидны, «хитрец»можетнаписать:

ЕСЛИ N = I то ОТВЕТ := 1

ЕСЛИ N = 2 то ОТВЕТ := 3

ЕСЛИ N = 9 то .

(авось угадаю парутестов)

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

4. Возможности языков также сильно отличаются. Например, удобства процедур в Паскале и в «старом» Бейсике несопоставимы — и снова неравенство шансов.

Постановка проблем методами наложения ограничений

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

1. Выявить школьников с развитыми способностями к логико-алгоритмическому мышлению. Неразвитость этого мышления может быть замаскирована использованием мощных готовых программных средств или библиотек мощного языка. Так, команда SORT в среде DBASE позволяет вообще не уметь составлять алгоритмы сортировки. Возможно, этим объясняется такой парадокс: школьники, знающие Турбо Паскаль, нередко хуже решают небольшие «хитрые» задачи, чем те, кто работает на вильнюсском Бейсике. Борьба с этим Бейсиком — хорошая школа выживания.

2. Выявить школьников образованные, с развитым системно-комбинаторным мышлением, что должно проявляться в умении использовать не только по назначению, но и оригинально, нестандартно, творчески разнообразные готовые программные средства и команды и уметь избегать программирования. Отсутствие такого стиля мышления и образованности, кругозора может быть замаскировано высоким уровнем техники «голого» программирования.

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

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

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

Попытаемся изложить смысл нашей концепции на примере спорта, где ограничения возникли давно и не являются чем-то диковинным, а составляют неотъемлемую часть всех соревнований: прыгуны в высоту не используют стремянку, штангисты — рычаги, марафонцы — велосипеды. Как пример постановки проблемы в спорте методом «искусственных» ограничений представим следующую ситуацию: перед началом велогонок у всех велосипедов удалены передние колеса.

Конечно, участник может сесть в рейсовый автобус (запрещенное средство). Он может и пойти пешком (в информатике — обойтись без ЭВМ). Но нас сейчас интересуют только те, кто сумеет:

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

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

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

Такой прием порождения задач не только сильно упрощает условия, но и облегчает контроль. Но теперь при проверке нужно внимательно просмотреть и листинг. Это вообще поучительно для члена жюри любого уровня, но пока делалось, к сожалению, редко: надо было успеть протестировать задачи.

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

Ограничения на использование готовых средств

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

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

1) GOTO и любые команды циклов (FOR, WHILE, REPEAT, заодно «пострадают» и команды типа REPLACE FOR из сред DBASE);

2) все функции и процедуры с параметрами, кроме ввода-вывода;

3) ассемблер, машинные команды (во избежание обхода «снизу»);

4) непосредственное обращение к памяти (PEEK, MEM и др.).

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


Страница: