88273

Формирование логического мышления на уроках информатики

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-04-28

591.67 KB

4 чел.

Формирование логического мышления на уроках информатики

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

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

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

Что же такое мышление?

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

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

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

Мышление человека неразрывно связанно с речью. Мысль не может ни возникнуть, ни протекать, ни существовать вне языка.

Мышление

1-й вид мышления  

2-й вид мышления   

3-й вид мышления

Наглядно-действенное

Наглядно-образное

Словесно-логическое

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

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

Развивается в школе в процессе обучения

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

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

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

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

Мышление человека, и в частности школьника, наиболее ярко проявляется при решении задач.

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

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

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

Развитие логического мышления в начальной школе

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

Казалось бы, в чем сложность? На любом уроке вопросы задает учитель. Задают и ученики (если чего-то не поняли или их попросили задать вопросы одноклассникам). Но те ли это вопросы? Об этом ли хочется спросить? Как рождаются они в процессе поиска? Каждому ли хочется задать именно этот вопрос? Отличается ли умение взрослого задавать вопросы от умения ребенка и насколько принципиально это отличие? Нужно ли и можно ли научиться этому?

Мне кажется, получить ответ на эти вопросы можно с помощью задач, которые в разных местах называют по-разному: задачи с неполным условием, "да-нет-ки", "заморочки", "интренеры", задачи для интеллектуального тренинга (интренинга).

Один из способов подготовки к решению таких задач игра “Три «Да»”

Я тебя понимаю (Три `Да`)

Группа разбивается на пары. Партнер А задает вопросы партнеру В относительно его состояния, настроения. Необходимо добиться не менее трех положительных ответов. Например:

- Тебе грустно?

- Нет.

- Тебе весело?

- Да.

- Ты доволен, что мы играем?

- Да.

- Тебе нравится такая игра, когда тебя спрашивают?

- Да.

Партнеры А и В меняются ролями.

Задание: обсудить процесс обмена и коррекции информации (запрос-ответ)

Первая задача, которую можно было назвать "интренером", была предложена профессором Г. Дж. Айзенком и звучала так:

Каждый день, когда карлик идет на работу, он спускается на первый этаж на лифте. Когда он возвращается с работы, он заходит в лифт, поднимается до седьмого этажа, а дальше идет к себе домой на 16-й этаж пешком. Почему? (Ответ: он не достает до кнопки 16-го этажа).

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

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

целенаправленно искать информацию;

оптимально сужать область поиска;

работать с прямой и косвенной информацией;

использовать несущественные на первый взгляд данные (развитие интуиции);

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

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

элементам мозгового штурма.

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

“Человек вышел из комнаты, громко хлопнув дверью. Когда он вернулся, Клементина уже умерла. От чего умерла Клементина?” (От удушья – она была рыбкой, у которой разбился аквариум)

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

Какие ошибки чаще всего допускают ребята при решении таких задач:

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

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

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

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

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

Несколько примеров:

Обитательница водоема поймала деревянный предмет, после чего ее жизнь круто переменилась. Что произошло? (Царевна-лягушка).

Девочка играла с подругами и внезапно исчезла. Что произошло? (Снегурочка).

Два друга направились в гости к третьему, в результате хозяин остался без дома. Почему? (Винни-Пух, Пятачок, Кролик).

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

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

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

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

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

К первой группе относятся анаграммы и вербальные тесты. Анаграммой называется слово, в котором переставлены местами все или несколько букв. Сущность упражнения состоит в восстановлении «разрушенного» слова. Интересны для учащихся и случаи, когда в упражнении включено задание: «Исключить лишнее слово». Например, нимотро, ансерк, чеврнисрете. Упражнение состоит из двух частей: 1) решить анаграммы (монитор, сканер, винчестер); 2) исключить лишнее слово, т.е. определить логическую закономерность, лежащую в основе подбора этих терминов, и, исходя из нее, исключить логически несовместимое слово. В данном случае лишним словом будет «винчестер», т.к. это носитель информации, а остальные слова – устройства ввода-вывода.

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

  1.  Вставьте пропущенное слово

Информатика

3 ≤ х 7

(Форма)

  1.  М_ _ _ _ _ _  Л (транспортное средство)

  

X ≥5  (Цикл)

  

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

Метод погружения.

Сущность метода состоит в умении вникнуть в задачу, «погрузиться» в нее. Именно этих качеств часто недостает учащимся. Во многих случаях такого погружения бывает достаточно для успешного решения задач. Например:

Поверхность пруда постепенно закрывается вырастающими в нем кувшинками. Кувшинки растут столь быстро, что за каждый день закрываемая ими площадь удваивается. Вся поверхность пруда закрылась за 30 дней. За сколько дней была закрыта кувшинками первая половина всей поверхности пруда?

«Погрузившись» в задачу можно установить, что за последний день произошло удвоение, значит за 29 дней была закрыта половина пруда. Ответ: за 29 дней.

Метод введения дополнительных данных.

Сущность метода заключается во временном (иногда постоянном) введении дополнительного объекта в условии задачи, без чего невозможно ее решение. Вот широко известная задача:

Одна библиотека переезжала в новое здание, однако средств на перевозку книг не было. И все же работники библиотеки нашли выход и перевезли книги практически бесплатно. Какой выход был найден?

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

Метод редукции (отбрасывание части данных).

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

Кузнецу принесли 5 обрывков цепи, по 3 звена в каждом, и попросили соединить их в одну цепь. Кузнец задумался, как выполнить этот заказ проще. Сколько же звеньев нужно разъединить, а затем вновь соединить, чтобы все обрывки образовали одну цепь? Подумав, кузнец приступил к делу и сделал заказ. Какое простое решение нашел кузнец?

Вместо того чтобы расковать четыре обрывка, нужно три из них «отбросить», и полностью расковать лишь один. Получится три раскованных звена, которыми можно соединить четыре оставшихся обрывка (экономится 25% рабочего времени). Вот еще один пример:

Метод поворота, метод сдвига.

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

Как двум пиратам поделить найденный клад поровну?

Ответ: «Первый делит, второй первым выбирает часть».

Дискретный метод.  Аналитический метод.

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

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

Требуется поджарить 3 ломтика хлеба. На сковороде умещаются лишь два ломтика. На поджаривание ломтика с одной стороны требуется 1 мин. За какое кратчайшее время можно поджарить с двух сторон все 3 ломтика?

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

Таким образом, прервав технологический процесс» на одном из кусочков, сможем поджарить их не за 4 мин, а за 3 мин.

Парадоксы и софизмы.

Парадокс (в переводе с греческого – мнение) – это противоречивое высказывание.

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

Парадокс – ситуация, когда в данной теории доказываются два взаимоисключающих суждения, причем каждое из этих суждений выведено убедительными с точки зрения данной теории средствами, т.е. парадокс – высказывание, которое в данной теории равным образом может быть доказана и как истина, и как ложь. Например:
Крокодил украл ребенка; он обещал отцу вернуть ребенка, если отец угадает – вернет ему крокодил ребенка или нет. Что должен сделать крокодил, если отец скажет, что крокодил не вернет ему ребенка?  (Дилемма крокодила).

Ответ: Крокодил попал в парадоксальную ситуацию. Действительно, если он вернет ребенка, то отец угадал, а значит, крокодил должен вернуть ребенка. Но если он вернет ребенка, то отец не угадал, а значит, крокодил не должен возвращать ребенка. Итак, парадокс налицо: формально рассуждая, крокодил не может ни вернуть ребенка, ни оставить себе.

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

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

То, что ты не потерял, ты имеешь; ты не потерял рога, следовательно, ты их имеешь. (Древний софизм «Рогатый»).

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

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

Если у ребенка не развито логическое мышление, то он никогда не сможет понять информатику. Хочу привести еще один пример из Демо варианта ЕГЭ 2009 по информатике на логическое мышление  (В6).

Классный руководитель пожаловался директору, что у него в классе появилась компания из 3-х учеников, один из которых всегда говорит правду, другой всегда лжет, а третий говорит через раз то ложь, то правду. Директор знает, что их зовут Коля, Саша и Миша, но не знает, кто из них правдив, а кто – нет. Однажды все трое прогуляли урок астрономии. Он вызвал всех троих в кабинет и поговорил с мальчиками. Коля сказал: «Я всегда прогуливаю астрономию. Не верьте тому, что скажет Саша». Саша сказал: «Это был мой первый прогул этого предмета». Миша сказал: «Все, что говорит Коля,- правда». Расположите первые буквы имен мальчиков в порядке: «говорит всегда правду», «всегда лжет», «говорит правду через раз».

Заключение

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

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

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

Необходимо:

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

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

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

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

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

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

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

Опираясь на основные положение психологии мышления, разработанные Л. С. Выготским, С. Л. Рубинштейном, В. С. Мерлином, О. Г. Леонтьевым, В. В. Давыдовым и др., будем считать, что стиль мышления – это система мыслительных способов действий, приемов, методов и соответствующих им мыслительных стратегий, которые направлены на решение задач определенного класса, и которые детерминированны этими задачами [11].

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

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

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

В прошлом веке в итоге исследований в отрасли математики К. Геделя, А. Чёрча, А. Тьюринга, А. А. Маркова, А. М. Колмогорова определился широкий круг процессов, которым присущи следующие свойства:

1. Они в принципе строго детерминированы, т. е. каждый предыдущий этап полностью определяет следующие;

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

3. Они имеют атомарное строение – состоят из совокупности элементарных операций (инвариантов), которых имеется лишь несколько видов;

4. Они заключаются в преобразовании объектов, которые четко различимы, и поэтому удобны для человеческого восприятия, запоминания и мышления [3].

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

В этой теории основное ударение делается на понятии принципиальной вычислимости алгоритмов, а форма представления алгоритма особой роли не играет. При этом характерной особенностью алгоритма является выбор минимальных средств для представления и преобразования информации, что диктуется с точки зрения удобства формализации самого понятия алгоритма. Но процедуры конкретных вычислений, записанные с помощью такого рода алгоритмических систем, как правило, настолько громоздкие и сложные для понимания, что в реальной практике не могут быть использованными. Это касается прикладной математики и особенно информатики. Ведь «… генетически информатика зависит от математики, от ее языка и формальных конструкций; однако, если объекты, которые изучаются математикой, формальны с самого начала, то сфера влияния информатики – моделирование объектов, которые изначально неформальны, средствами формальных языков» [2; 14].

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

Место формул, не отрицая их, а обобщая, заняли алгоритмы» [1; 14]. То есть речь уже идет не об отдельном изолированном разделе математики или информатики, а об отдельной методологии научного исследования. Понятие алгоритма проникло в отрасли гуманитарных и общественных дисциплин, например, в психологию – для описания психических процессов, в педагогику – для описания и организации процесса обучение и т. др. Но в связи с использованием в «размытых», не сформированных формально областях науки, произошло и определенное «размытие» самого термина «алгоритм». И это понятно – ведь не все реальные процессы строго формальные.

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

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

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

  1.   как строго определенный математический объект;
  2.   как термин, используемый в прикладной теории алгоритмов – эмпирическое понятие, но сам алгоритм является строгим формальным предписанием;
  3.   как термин, используемый в ослабленном, «размытом» значении.

Мы считаем, что с точки зрения обучения алгоритмике в школе наиболее пригодно понятие алгоритма, используемое в прикладной теории алгоритмов. Эмпирическое понятие алгоритма, с одной стороны, является формальным, что отличает его от «размытого», а, с другой стороны, является понятным, простым для применения в сравнении с его математическим толкованием. Поэтому дальше в работе, используя термин «алгоритм», мы будем понимать его с точки зрения эмпирического понятия. Существует много толкований алгоритма. Например:

  1.   Алгоритм (алгорифм) – точное предписание, которое определяет вычислительный процесс, что ведет от варьируемых исходных данных к искомому результату [6; 3];
  2.   Алгоритм (алгорифм) – способ (программа) решения вычислительных и других задач, которая точно приписывает, как и в какой последовательности получить результат, который однозначно определяется входными данными [9; 34];
  3.   Алгоритм – система правил выполнения вычислительного процесса, который приводит к решению определенного класса задач после конечного числа операций [4; 13];
  4.   Алгоритм – система операций (например, вычислений), что применяются по строго определенным правилам, которая после последовательного их выполнения приводит к решению поставленной задачи [9; 19];
  5.   Алгоритм – это некоторый конечный набор операций, выполнение которых одна за другой через конечное число шагов приводит к поставленной цели (решению задачи) [5; 14].

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

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

Рис. 1

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

О таком процессе можно делать выводы лишь по результатам (промежуточными и конечными).

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

Гомоморфность здесь означает, что он не вполне однозначно соответствует процессу, но воспроизводит его существенные шаги, то есть является свернутой формой процесса. Такого рода гомоморфизм хорошо иллюстрируют слова Д. Пойа: «Гомоморфизм является своеобразным систематическим переводом. Оригинал не только переводится на другой язык, но и сокращается таким образом, что результат перевода и сокращения оказывается систематически равномерно сжатым … Тонкости при таком сокращении могут быть, и потеряны, но все, что присутствует в оригинале, отображено в переводе, и в уменьшенном масштабе соотношения сохраняются» [8; 49].

Таким образом, знаковая форма является самостоятельным объектом, который реально существует и замещает другой реальный объект – алгоритмический процесс. При этом выполняется условие: алгоритм не совпадает полностью с соответствующим ему алгоритмическим процессом, но исследование алгоритма дает полную информацию о протекании процесса.

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

Под моделированием будем понимать «метод опосредствованного практического и теоретического оперирования объектом, при котором исследуется непосредственно не сам объект, а используется вспомогательная искусственная или природная система, что находится в определенном объективном соответствии с познаваемым объектом и способна замещать его на определенных этапах познания, что дает при его исследовании, в конечном счете, информацию о самом моделируемом объекте» [7; 42].

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

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

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

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

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

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

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

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

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

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

Алгоритмы являются не просто иллюстративными моделями, которые односторонне воспроизводят алгоритмические процессы. Они являются также моделями проектирующими, то есть такими, что порождают эти процессы, позволяют их организовывать и реорганизовывать, полностью предугадывая их поведение [13].

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

подходы к изучению алгоритмизации и программирования

 

Подходы к раскрытию темы в учебной литературе

 

Понятие «алгоритм» является центральным в первом школьном учебнике информатики [15]. В учебнике приводится следующее определение: «Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи». Указание на выполнение каждого отдельного действия названо командой, а «совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя». В качестве основного свойства алгоритма подчеркивается формальный характер работы исполнителя при его выполнении. Отсюда делается вывод о том, что исполнителем алгоритма может быть автомат (машина, робот). На этой идее основан принцип программного управления работой компьютера, поскольку программа — это и есть алгоритм, представленный на языке, «понятном» компьютеру — на языке программирования.

Сформулированные в учебнике [15] понятия явились дидактической основой для раскрытия темы алгоритмизации во всех последующих учебниках информатики.

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

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

Одним из основных методических достижений учебника [15] стало введение в школьную информатику учебного алгоритмического языка. Алгоритмический язык А. П. Ершова можно назвать русскоязычным псевдокодом, предназначенным для обучения методике структурного программирования. Хотя в самом учебнике слова «структурное программирование» нигде не употребляются, но, фактически, реализуется именно этот подход.

Идея и технология структурного программирования возникла и интенсивно развивалась в 60 — 70-х гг. XX столетия и связана с именами таких классиков программирования, как Э.В. Дейкстр, X. Д. Миле, Е. Кнут и др. Большой вклад в теорию и практику программирования внес в этот период и академик А. П. Ершов. В частности, им был разработан АЛЬФА-язык программирования (развитая версия структурного языка Алгол-60 с русскоязычной нотацией) и создан транслятор с этого языка (АЛЬФА-транслятор). Учебный алгоритмический язык содержит в себе многие черты АЛЬФА-языка. Для учебных целей на базе алгоритмического языка был создан язык программирования РАПИРА, описанный в учебнике [15]. Однако он не получил распространения. В 1987 г. в МГУ была осуществлена разработка учебной среды программирования на основе алгоритмического языка, получившая название «Е-практикум» (Е-87). Впоследствии она получила развитие и распространение через известный пакет учебного программного обеспечения КуМир (Комплект Учебных Миров).

Наряду с использованием алгоритмического языка для описания алгоритмов в учебнике [15] активно используются блок-схемы. Подчеркивается необходимость стандартного изображения блок-схем, чего также требует методика структурного подхода к программированию.

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

Исторически первым педагогическим программным средством, предназначенным для обучения детей алгоритмизации, был язык программирования ЛОГО, разработанный в конце 1960-х гг. американским педагогом-психологом С.Пейпертом [16]. В состав ЛОГО входит исполнитель Черепашка, назначение которого — изображение на экране чертежей, рисунков, состоящих из прямолинейных отрезков. Программы управления Черепашкой составляются из команд: вперед(а), назад(а), направо(в), налево(в), поднять хвост, опустить хвост. Имеется в виду, что Черепашка рисует хвостом, и если хвост опущен, то при перемещении проводится линия, а когда хвост поднят, то линия не рисуется. Кроме того, в языке имеются все основные структурные команды. В целом ЛОГО предназначен для обучения структурной методике программирования. От ЛОГО происходит понятие черепашьей графики, используемой также и в некоторых профессиональных системах компьютерной графики.

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

В учебнике А. Г. Кушниренко [14] были развиты идеи преподавания алгоритмизации, заложенные А. П. Ершовым и С. Пейпер-том. Основным методическим приемом стало использование разнообразных учебных алгоритмических исполнителей. В учебнике введено два таких исполнителя — это Робот и Чертежник. Назначение Робота — перемещение по полю, разделенному на клетки с выставленными в разных местах стенами. По пути своего движения Робот может закрашивать клетки, измерять температуру и уровень радиации. Исполнитель Чертежник — это своеобразный графопостроитель, действующий в системе декартовых координат, связанных с экраном. Назначение Чертежника — изображение чертежей, графиков, рисунков, состоящих из прямолинейных отрезков. Чертежник близок по идее к Черепашке, однако работа Черепашки не связана с системой координат (хотя единица длины для нее существует).

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

 

нц пока снизу стена

закрасить

вправо

кц

 

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

 

нц пока снизу стена

если клетка не закрашена

то закрасить

все

вправо

кц

 

Авторы учебника [14] интерпретируют своего исполнителя следующим образом: Робот — это автоматическое устройство, управляемое компьютером. Между компьютером и Роботом имеется прямая и обратная связь. По прямой связи от ЭВМ к Роботу передаются управляющие команды, по обратной связи — ответы Робота на запросы о текущей обстановке. Например, фраза «снизу стена» обозначает запрос компьютера к Роботу на проверку условия: находится ли под ним стена. В результате Робот по обратной связи отвечает «да» или «нет» в зависимости от обстановки. То же самое относится к фразе «клетка не закрашена».

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

На примере исполнителя Робота вводится понятие вспомогательного алгоритма и метода последовательного уточнения (нисходящего проектирования; программирования сверху вниз). Пример использования Робота в учебнике [14] доказывает, что ограничиваясь исполнителями и алгоритмами, работающими без величин, можно успешно обучать структурной методике программирования.

В язык Робота постепенно включается использование величин со всеми их атрибутами: именем, значением, типом. Все команды Чертежника, кроме «поднять перо», «.опустить перо», используют параметры, которые являются величинами.

Языком описания алгоритмов для всех исполнителей является учебный алгоритмический язык (АЯ). За основу взята версия АЯ, описанная в учебнике А.П.Ершова [15]. Однако введены некоторые модификации в изобразительные средства языка. Введение в учебнике [14] всякой новой конструкции алгоритмического языка происходит по одинаковой методической схеме:

• рассматривается новая задача, требующая введения новой конструкции;

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

• дается формальное описание данной конструкции в общем виде.

Наряду с алгоритмами для Робота и Чертежника в учебнике [14] рассматриваются алгоритмы вычислительного характера, ориентированные на универсального исполнителя обработки информации — компьютер. Это типовые задачи обработки числовой и символьной информации: вычисление числовых последовательностей, обработка массивов, литерных строк и пр. Рассматриваются также алгоритмы решения содержательных задач методами математического моделирования.

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

Алгоритмическая линия в учебнике Л!Г. Гейна [12] реализована по двум направлениям. Первое направление заключается в использовании учебных исполнителей алгоритмов, работающих «в обстановке», подобно тому, как это делается в учебнике [14]. Второе направление заключается в обучении построению вычислительных алгоритмов для решения задач математического моделирования.

В учебнике [12] также применен исполнитель с названием «Чертежник», который относится к категории исполнителей, работающих по принципу «черепашьей графики». В отличие от Чертежника из учебника А. Г. Кушниренко, его команды перемещения (сделать шаг, прыгнуть) и вращения (повернуть налево) не имеют параметров. По одной команде исполнитель перемещается на строго определенное расстояние — один шаг, или поворачивается против часовой стрелки на 90°. Поэтому создаваемые рисунки могут состоять только из горизонтальных и вертикальных отрезков. В этом смысле изобразительные возможности данного исполнителя более скромные, чем у Чертежника А. Г. Кушниренко. Можно сказать, что Чертежник А. Г. Гейна в чистом виде является исполнителем, работающим «в обстановке».

Для моделирования методов решения задач обработки табличной информации в [12] введен исполнитель Робот-манипулятор. Прямоугольная таблица имитируется стеллажом, состоящим из ячеек, в которые могут быть помещены различные радиодетали (микросхемы, транзисторы и пр.). Робот умеет перемещаться в вертикальном и горизонтальном направлениях вдоль ячеек, помещать в них детали или извлекать детали из ячеек. Здесь можно говорить о появлении величин, рассматривая имя детали в ячейке как величину (производится сравнение ее имени с именем искомой детали). Характерная структура алгоритмов управления Роботом — вложенные циклы с ветвлениями.

Второе направление алгоритмической линии в учебнике [12] — алгоритмы решения вычислительных задач. Для построения таких алгоритмов используется учебный исполнитель Вычислитель. Это исполнитель, работающий только с числовыми величинами. Поскольку в качестве языка программирования для реализации вычислительных алгоритмов на ЭВМ используется Бейсик, то и язык Вычислителя «бейсикообразен». Несмотря на неструктурный характер используемой версии Бейсика, авторы стараются оставаться в рамках структурного подхода. В частности, это проявляется в том, что в языке Вычислителя отсутствует команда перехода.

Для моделирования понятия переменной применительно к Вычислителю используется образ ящика. Имя переменной — это буква, записанная на «ящике», а присваиваемое ей значение — это величина (число), помещаемое в «ящик». Составление программы на Бейсике по данному алгоритму интерпретируется как перевод с языка Вычислителя на язык Бейсик. При этом «ящики» для переменных заменяются на ячейки памяти ЭВМ, а при записи программы требуется строго соблюдать правила синтаксиса Бейсика. Для программирования цикла с предусловием в учебнике предлагается использовать стандартный способ его реализации с помощью операторов IF GOTO (для версий Бейсика, в которых нет оператора WHILE).

В учебнике В.А.Каймина и др. [13] не применяется методика учебных исполнителей. Изучение алгоритмизации ориентируется на исполнителя-ЭВМ. Для описания алгоритмов используется алгоритмический язык, близкий к варианту А.П.Ершова. Блок-схемы практически не используются. В учебнике [13] рассматриваются вычислительные задачи, а также задачи на построение графических изображений. Языком реализации алгоритмов на ЭВМ является Бейсик. Как и в учебнике [12], авторы уделяют внимание стандартным приемам программирования на неструктурном Бейсике циклов и ветвлений.

В учебнике третьего поколения А. Г. Гейна и др. [2] существенно изменился подход к обучению алгоритмизации и программированию по сравнению с учебником [12] того же авторского коллектива. Введен новый учебный исполнитель Паркетчик. Для того, чтобы подчеркнуть формальный характер работы исполнителей алгоритмов, авторы используют термин «Бездумные исполнители» — БИ. Таким образом, Паркетчик представляет из себя БИ, назначение которого — выкладывать на клетчатом поле узоры из разноцветных плиток (красных и зеленых). Поле имеет прямоугольную форму; каждая клетка идентифицируется двумя индексными номерами — по горизонтали и по вертикали, например: (1,1), (3,5) и т.п.

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

Паркетчик предназначен для методичного обучения структурному способу построения алгоритмов. Форма языка Паркетчика применяется также и для описания вычислительных алгоритмов, подобно тому, как используется алгоритмический язык в учебнике А.Г.Кушниренко [14]. По сути дела, между алгоритмическим языком и языком Паркетчика нет принципиальной разницы. И тот и другой представляет собой структурный русскоязычной псевдокод. Видимо, считая описание алгоритма на языке Паркетчика достаточно структурированным и наглядным, авторы отказались от использования в учебнике [2] блок-схем.

В учебнике [2] предлагаются для изучения два языка программирования: QBasic и Паскаль. Поскольку QBasic является структурированной версией Бейсика, то нет принципиальной разницы в выборе того или другого языка для начального обучения программированию.

В учебнике А. А. Кузнецова и Н.В.Агапьевой [8] каких-то специальных учебных средств для описания алгоритмов не используется. Значительный по объему раздел «Введение в программирование» ориентирован на начальное изучения Паскаля на примерах задач вычислительного характера, а также задач построения графических изображений и обработки строк.

В учебнике И.Г.Семакина и др. [6] применен отличный от рассмотренных подход к теме алгоритмизации. Его можно назвать кибернетическим подходом. Алгоритм трактуется как информационный компонент системы управления. Такой подход дает возможность ввести в содержание базового курса новую содержательную линию — линию управления. Это многоплановая линия, которая позволяет затронуть следующие вопросы:

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

• элементы прикладной кибернетики: структура компьютерных систем автоматического управления (систем с программным управлением); назначение автоматизированных систем управления;

• основы теории алгоритмов.

Для того чтобы соблюсти принцип инвариантности содержания по отношению к конкретным версиям программного обеспечения, в учебнике [6] описывается гипотетический учебный исполнитель, которому дано имя ГРИС — графический исполнитель. Это исполнитель, работающий «в обстановке» (т.е. без использования величин). Наиболее близкими к нему являются Кенгуренок (пакет учебного ПО фирмы КУДИЦ) и Чертежник (учебник А. Г. Гейна [2]). На примере ГРИС вводятся основные понятия алгоритмизации. Предлагаемая последовательность заданий способствует эффективному достижению основной цели раздела — освоения структурной методики построения алгоритмов.

Методическая разработка « программирование в среде РОБОТ»

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

Цель разработки: изучить возможности программирования на примере конкретного исполнителя Робот с использованием среды КУМИР; дать практические навыки работы с исполнителем.

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

Учащиеся должны знать:

  1.  что такое исполнитель; СКИ Робота, среду исполнителя Робот;
  2.  что такое алгоритм ; в чем состоят основные свойства алгоритма;
  3.  способы записи алгоритмов: блок-схемы, учебный алгоритмический язык; основные алгоритмические конструкции: следование, ветвление, цикл; структуры
  4.  алгоритмов; назначение вспомогательных алгоритмов; технологии построения сложных алгоритмов:

Учащиеся должны уметь:

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

Тематический план уроков

Тема урока

Число часов

Тео-рия

Прак-тика

1

2

Исполнитель Робот. Система команд исполнителя.

Пр. раб. №13. Составление линейных алгоритмов. §27, 28. Блок-схемы алгоритмов.

2

2

3

4

Ветвление и последовательная детализация алгоритма. §31

Пр. раб. №14. Составление и отладка алгоритмов ветвления.

4

1

3

5

6

Циклические алгоритмы. §30.

Пр. раб. №15. Составление и отладка циклических алгоритмов.

4

1

3

7

8

Вспомогательные алгоритмы и подпрограммы. §29.

Пр. раб. №16. Составление и отладка алгоритма, содержащего вспомогательные алгоритмы.

2

2

9

10

Контрольная работа. «Создание алгоритма в среде исполнителя»

2

2

Занятие 1 (2 часа) Урок 1.

Исполнитель Робот. Система команд исполнителя.

План урока.

  1.  Описание СКИ исполнителя, среды исполнителя.

2.Разбор типичных алгоритмов Робота.

Ход урока.

Рассмотрим описание исполнителя.

Среда исполнителя: Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки.

СКИ Робота: простые команды: вверх, вниз, влево, вправо, закрасить.

Команды логические: (проверки условия)

сверху свободно снизу свободно

слева свободно справа свободно.

Логические связки: И,НЕ, ИЛИ:

Пример:(Не слева свободно) или (не справа свободно)

Команда ветвления: команда цикла:

если условие то нц пока условие

серия команд серия команд

всё кц

(В КИМах 2009 года команды Робота отличались от привычных детям, что приводило к путанице: )

Команда ветвления: команда цикла:

если условие то нц пока условие делать

серия команд серия команд

конец конец

Общий вид окна программы Кумир. Графическая среда Робота:

В КИМах демонстрационного варианта 2010 года формат команд изменен на привычный

Порядок создания алгоритма:

1.Командами Инструменты -Редактировать стартовую обстановку нарисовать на поле Робота стены и установить Робота в начальное положение.

2.Командами Робот- Сменить стартовую обстановку сохранить новую обстановку.

3.Командами Вставка- Использовать Робот указать исполнителя.

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

5.Командами Выполнение –выполнить непрерывно (или по шагам) запустить алгоритм.

6.Рассмотреть результат выполнения алгоритма и при необходимости произвести его отладку.

Занятие 1 (2 часа) Урок 2.

Практическая работа « Составление линейных алгоритмов».

Задания: 1.Робот в произвольной точке поля. Закрасить клетку сверху, снизу и справа от исходного положения.

  1.  Робот в произвольной точке поля. Передвинуть Робот на 4 клетки вправо, закрасив их.
  2.  Создайте новую стартовую обстановку, нарисовав на поле квадрат со стороной 4 клетки. Сохраните обстановку как стартовую.
  3.  Создайте новую стартовую обстановку, нарисовав на поле коридор с проходами в стенах. Сохраните обстановку как obst2.fil. Смените стартовую обстановку на вновь созданную.

Д/З: учебник Семакина, Информатика, 9 кл., §28, выучить СКИ Робота, скопировать и установить на домашний ПК программную оболочку Кумир.

Занятие 2 (2 часа) Урок 1.

Тема: Ветвление и последовательная детализация алгоритма.

Разбор задач КИМов с использованием исполнителя Робот.

использовать Робот

алг ким 2009

нач

если не снизу свободно

то вправо

все

если не снизу свободно

то вправо

все

если не снизу свободно

то вправо

все

кон

использовать Робот

алг ким 2010

нач

если не снизу свободно

то вправо

все

если не снизу свободно

то вправо

все

если не снизу свободно

то вправо

все

кон

Пр. раб. №14. Составление и отладка алгоритмов ветвления

Задания. См. Приложение.

Занятие 3. Циклические алгоритмы. Урок 1-2

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

Пр. раб. №15. Составление и отладка циклических алгоритмов

1.Составьте алгоритм, закрашивающий все внутренние клетки, прилегающие к стене.

использовать Робот

алг

нач

нц пока справа свободно

закрасить; вправо

кц

нц пока снизу свободно

закрасить; вниз

кц

нц пока не снизу свободно

закрасить; влево

кц

кон

2.Составить алгоритм, закрашивающий все клетки между Роботом и стеной. Расстояние до стены неизвестно.

использовать Робот

алг

нач

нц пока справа свободно

вправо; закрасить

кц

кон

3.Составить алгоритм, закрашивающий все клетки, находящиеся между двумя стенами.

использовать Робот

алг уч3

нач

нц пока (не сверху свободно) или (не снизу свободно)

вправо

если (не сверху свободно) и (не снизу свободно)

то

закрасить

все

кц

кон

4.Составить алгоритм, закрашивающий все клетки вокруг прямоугольной стены.

алг уч4

нач

закрасить;вверх

нц пока не справа свободно

закрасить;вверх;

кц

закрасить;вправо

нц пока не снизу свободно

закрасить;вправо;

кц

закрасить;вниз

нц пока не слева свободно

закрасить;вниз;

кц

закрасить;влево

нц пока не сверху свободно

закрасить; влево;

кц

кон

использовать Робот

алг уч5

нач

вправо

нц пока не снизу свободно

закрасить; вправо

кц

закрасить; вниз

нц пока слева свободно

закрасить; влево

кц

нц пока не слева свободно

закрасить; вниз

кц

закрасить;влево;закрасить; вверх;

нц пока сверху свободно

закрасить; вверх

кц

нц пока не сверху свободно

закрасить; влево

кц

кон

Домашнее задание:§31.

Занятие 4 Урок 1

Вспомогательные алгоритмы.

Цель: ввести понятие основного и вспомогательного алгоритма; объяснить правила использования вспомогательного алгоритма; разобрать примеры алгоритмов с использованием вспомогательного.

План урока

1.Ввод новых терминов (основного и вспомогательного алгоритма, вызова) и объяснение новых понятий.

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

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

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

Команда выполнения вспомогательного алгоритма называется вызовом и записывается в теле основного алгоритма.

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

Задача1:

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

Решение

Разбор на доске:

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

Занятие 4 Урок 2

Практическая работа на ПК «Решение задачи с использованием вспомогательных алгоритмов».

Цель: привить практические навыки построения алгоритмов методом последовательного уточнения.

План урока

1.Задание полностью проходит за ПК. Учащиеся получают задания и выполняют их в программной среде Кумир. Результаты Работы сохраняются в виде файлов для последующей проверки.

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

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

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

Занятие 5 Урок 1-2

Контрольная работа

«Составление алгоритма в среде исполнителя Робот».

Цель: проверить полученные знания по созданию и умению анализировать алгоритмы в программной среде Кумир.

Задания для контрольной работы делятся по уровням сложности и включает в себя 3 задачи с исполнителем Робот (1 и 2 задача –на ветвление и циклы, 3 задача с- на использование вспомогательного алгоритма.) Тексты заданий приводятся в приложении.

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

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

2.2. Разбор часто встречающихся ошибок при изучении данной темы

Для подготовки к выполнению задания 23 мы можем использовать свободно распространяемый пакет КУМИР, автор НИИСИ РАН. В пакет кроме Робота встроен исполнитель Чертёжник, а также Водолей

( Переливашка) и Кузнечик.

Пакет позволяет редактировать, создавая новую обстановку, закрашивать клетки и ставить стены. Очень интересно устроено управление Роботом, которое дублировано- с помощью команд меню или с помощью пульта. К пакету прилагается инструкция, довольно подробная и ясная.

Команды Робота стандартные, единственно, первой строкой алгоритма должна быть: использовать Робот.

Удобно меню Вставка, позволяющее вставить команду или конструкцию.

Меню Инструменты дает возможность создания новых обстановок.

Меню Робот разрешает записать созданную обстановку как стартовую.

Программу можно давать учащимся для установки на домашних ПК, объем в распакованном виде – 17 Мб.

Оценивание задания и разбор типичных ошибок ГИА.

Задание 23 выполнили на экзамене 2009 года очень немногие учащиеся. Объяснить это можно следующим:

-объём экзаменационной работы в сравнение с отведённым временем был большим и учащиеся просто не успели дойти до последнего задания;

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

Инструкция к оцениванию задания предусматривает

  1.  2 балла за безукоризненное выполнение задания;
  2.  1 балл при 2-х легкоустранимых ошибках,
  3.  в остальных случаях -0 баллов.

Хотя возникают неоднозначные моменты, когда можно сомневаться, сколько баллов давать. Например,

При проверке заданий мы сталкиваемся со следующими типичными ошибками:

1.Неверно записан цикл или не указана команда конца цикла. Иногда эта ошибка происходит не из-за незнания, а из-за того, что дети привыкли работать в приложении, где конструкции вставляются целиком и их не приходится дописывать вручную. Как оценивать – как грубую ошибку, тогда за задание ученик получит 0 или как за легкоустранимую?

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

2.Цикл не применялся, либо условие в цикле записано неверно. Пример:

нц пока справа не свободно вместо нц пока не справа свободно.

3.Неверно закрашены клетки (одна лишняя или одна недокрашена), что происходит из-за того, что команды движения и закрашивания записаны в обратном порядке.

4.Некоторые учащиеся, видимо не понимая смысла структуры «цикл пока», просто подсчитали клетки, которые нужно пройти и закрасить Роботу. Тут, конечно, оценка -0 баллов.

5.Встречаются просто смешные ошибки, когда с ошибками пишут команды «вправо» и «влево» (справа справо направо налево и т.п.)

2


  1.  Приложение
  2.  

Вариант 2.

дано:сверху и слева Робота стены, образующие угол.

надо: закраситьвсе указанные клетки, Робот в исходном положении.

 дано: Робот в верхнем левом углу прямоугольника, огороженным стенами.

надо:Робот в точке В.

Вариант 2.

дано:сверху и слева Робота стены, образующие угол.

надо: закраситьвсе указанные клетки, Робот в исходном положении.

 дано: Робот в верхнем левом углу прямоугольника, огороженным стенами.

надо:Робот в точке В.

Вариант 2.

дано:сверху и слева Робота стены, образующие угол.

надо: закраситьвсе указанные клетки, Робот в исходном положении.

 дано: Робот в верхнем левом углу прямоугольника, огороженным стенами.

надо:Робот в точке В.

Вариант 2.

дано:сверху и слева Робота стены, образующие угол.

надо: закраситьвсе указанные клетки, Робот в исходном положении.

 дано: Робот в верхнем левом углу прямоугольника, огороженным стенами.

надо:Робот в точке В.

Вариант 1.

Дано: Робот находится в верхней клетке узкого вертикального коридора щириной в 1 клетку, произвольной длины.

Надо: все клетки коридора закрашены, Робот в исходном положении.

дано: Робот в точке А.

Надо: Робот в точке В, закрашены указанные клетки.

Вариант 1.

Дано: Робот находится в верхней клетке узкого вертикального коридора щириной в 1 клетку, произвольной длины.

Надо: все клетки коридора закрашены, Робот в исходном положении.

дано: Робот в точке А.

Надо: Робот в точке В, закрашены указанные клетки.

Вариант 1.

Дано: Робот находится в верхней клетке узкого вертикального коридора щириной в 1 клетку, произвольной длины.

Надо: все клетки коридора закрашены, Робот в исходном положении.

дано: Робот в точке А.

Надо: Робот в точке В, закрашены указанные клетки.

Вариант 1.

Дано: Робот находится в верхней клетке узкого вертикального коридора щириной в 1 клетку, произвольной длины.

Надо: все клетки коридора закрашены, Робот в исходном положении.

дано: Робот в точке А.

Надо: Робот в точке В, закрашены указанные клетки.


 

А также другие работы, которые могут Вас заинтересовать

75121. Понятие организации, этапы её развития, жизненный цикл 64.34 KB
  Понятие организации этапы её развития жизненный цикл. В истории известны три формы организации совместной деятельности людей ради общей цели община корпорация ассоциация. В зависимости от количества целей целей организации делятся на простые и сложные. Простые организации ставят перед собой одну цель сложные – две и больше.
75122. Коммерческие и некоммерческие организации. Организационно-правовые формы 27.82 KB
  Хозяйственные общества и товарищества – капитал разделён на доли принадлежащие его участникам. При этом участников хозяйственного общества или товарищества как правило несколько. Таким образом это лицо участвует в гражданском обороте этим выделенным закрепленным за ним имуществом; В этой организации уже имеется уставный капитал разделенный на доли между участниками по общему правилу участников несколько; Участники не отвечают по обязательствам общества поэтому оно и называется обществом с ограниченной ответственностью. Участники...
75123. Система факторов внешней среды организации 17.86 KB
  Политика Выборы всех уровней Изменение законодательства Вступление государства в различные надгосударственные структуры Государственное регулирование в отрасли Государственное регулирование конкуренции Социальная сфера Изменения в базовых ценностях Изменения в стиле и уровне жизни Отношение к труду и отдыху Демографические изменения Религиозные факторы...
75124. Внутренняя среда организации. Методы и модели анализа 32.44 KB
  Strength Neutrl Wekness это анализ сильных нейтральных и слабых сторон организации. Как показала практика в ситуации стратегического анализа внутренней среды организации в качестве нейтральной позиции лучше всего фиксировать среднерыночное состояние для данной конкретной ситуации. К распространению также относят систему организации продаж напрямую потребителям через дилеров дистрибьюторов и т.
75125. Актуальность темы лидерства. Качества лидера. Феномен лидера 45.5 KB
  Лидер (от leader) — ведущий, первый, идущий впереди) — лицо в какой-либо группе (организации), пользующееся большим, признанным авторитетом, обладающее влиянием. Член группы, за которым она признает право принимать ответственные решения в значимых для неё ситуациях
75126. Типы лидерства: эмоциональное, ситуационное, контекстное и др. Типы лидеров 17.54 KB
  Типы лидерства: эмоциональное ситуационное контекстное и др. Типы лидеров. Богатство сторон аспектов лидерства определяет многообразие его типологии. Наиболее простой и широко распространенной классификацией лидерства в организации является выделение следующих типов иногда их называют ролями лидера: Деловое лидерство Оно характерно для групп возникающих на основе производственных целей.