Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Содержание.
Глава I. Алгоритмы и алгоритмизация в школьном курсе
информатики.
Определение алгоритма…………………………………………..…..5
Свойства алгоритмов………………………………………………....6
Виды алгоритмов и их реализация…………………………………..9
Методы изображения алгоритмов………………………………….13
Роль алгоритмов, программирования и решения задач
в школьном курсе информатики…………………………………....19
Роль решения задач в базовом курсе информатики,
как основного способа развития алгоритмического мышления…………………………………………………….............24
1.7. Развитие алгоритмического мышления…………………………….26
Глава II. Структурированный конспект занятий по темам
раздела «Алгоритмы и алгоритмические структуры»
в школьном курсе информатике
Главная цель курса информатики в школе развитие алгоритмического мышления…………………………………...…..46
Развитие алгоритмического мышления на уроках информатики в школе…………………………………...………………………….....52
Диагностика и анализ влияния изучения тем раздела «Алгоритмы и алгоритмические структуры» на развитие алгоритмического мышления…………………………………….....55
Заключение….………………………………………………………………......61
Список литературы………………………………………………………..…...63
Недаром нынешнее время многие называют «веком прогресса». Прогресса технического, научного, интеллектуального. Мы оказались под влиянием знаний, порождающих развитие все новых современных технологий, разработку продуктов, создание которых ранее считалось невозможным, интеллектуальное развитие специалистов, воплощающих многочисленные «умные» идеи в жизнь. Спорным вопросом, дебаты по которому разгораются все чаще, однако, по-прежнему оказывается вопрос о роли информационных технологий в школьном курсе в развитии данного прогресса.
Компьютеризация и информатизация сопровождает человеческое общество с момента его зарождения. Она внутренне присуща его развитию. Любопытство заставляло наших предков изучать окружающий мир. Как только люди познавали какой-нибудь элемент, лень толкала их к созданию устройств, которые выполняли бы работу за них. Даже пещерный человек, взяв палку в руки, освободил себя от необходимости залезать на дерево. С каждым новым открытием, человек снимал с себя какую-нибудь обязанность и перекладывал ее на подручные средства, на животных, потом на машины.
Развитие человека очень похоже на развитие цивилизации в целом. Поэтому, как и всем человечеством, развитием ребенка управляет его собственное любопытство, а для взрослого человека главной задачей является верно, руководить этим любопытством и вовремя построить и научить строить ребенка последовательность действий для достижения в познании окружающего мира, т.е. строить ничто иное, как алгоритм. Именно поэтому проблема изучения алгоритмизации и алгоритмических структур в школьном курсе информатики на наш взгляд как была актуальна в момент зарождения науки «информатика», так и остается важной, т.к. имеет жизненную, практическую направленность.
В связи с выбранной темой исследования нами был определен объект исследования: учебный процесс на уроках информатики в школе.
Предметом нашего рассмотрения мы выбрали: методические условия эффективности изучения темы: «Алгоритмы и алгоритмические структуры» в учебном процессе школьного курса информатики.
Исходя из объекта и предмета исследования, мы поставили перед собой следующую цель: исследовать методику изучения темы: «Алгоритмы и алгоритмические структуры», позволяющую соблюдать целостность учебного материала на уроках информатики в школе.
Для реализации целей исследования необходимо решить следующие задачи:
Перед проведением исследования мы предположили, что изучение темы: «Алгоритмы и алгоритмические структуры» повышает эффективность изучения учебного материала на уроках информатики в целом, т.к. развивает алгоритмическое мышление.
Глава I. Алгоритмы и алгоритмизация в школьном курсе информатики.
Слово «Алгоритм» происходит от algorithmi - латинского написания имени Аль Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. Долгое время, начиная с середины XII в, «алгоритмы» или «алгоризмом» называли любой труд, в котором излагалась арифметика, основанная на позиционной десятичной системы счисления с употреблением индийско-арабских цифр. Позже так стали называть систему правил письменного счета в десятичной позиционной нумерации 1.
Постепенно слово «алгоритм» стало обозначать всякий систематизированный прием вычисления. Именно в этом смысле термин «алгоритм» (или «алгорифм») применяется в математики и ныне, означая систему правил, следуя которым можно решить задачу определенного типа, совершая в твердо установленном порядке ряд известных вычислительных операций.
Само понятие алгоритм появилось намного раньше употребляемого ныне термина, оно складывалось и применялось в науке с древнейших времен. Широко известен в математике так называемый алгоритм Евклида. (Общего делителя двух или несколько натуральных чисел). Наибольшим общим делителем данных числе называется самой большой из общих делителей, т. е. самое большое число, на которое делится каждое из данных чисел.) В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. Другое дело - реализация уже имеющегося алгоритма. Ее можно поручить субъекту или объекту, который не обязан вникать в существо дела, а возможно, и не способен его понять. Такой субъект или объект принято называть формальным исполнителем 2. Примером формального исполнителя может служить стиральная машина-автомат, которая неукоснительно исполняет предписанные ей действия, даже если вы забыли положить в нее порошок. Человек тоже может выступать в роли формального исполнителя, но в первую очередь формальными исполнителями являются различные автоматические устройства, и компьютер в том числе. Каждый алгоритм создается в расчете на вполне конкретного исполнителя. Те действия, которые может совершать исполнитель, называются его допустимыми действиями. Совокупность допустимых действий образует систему команд исполнителя. Алгоритм должен содержать только те действия, которые допустимы для данного исполнителя.
1.2. Свойства алгоритмов
Данное выше определение алгоритма нельзя считать строгим - не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата». Поэтому обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций 3.
Такими свойствами являются:
Дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Результативность - алгоритм должен приводить к решению задачи за конечное число шагов.
Массовость - алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Однозначность единственность толкования правил выполнения действий и порядка их выполнения.
Конечность обязательность завершения каждого из действий, составляющих алгоритмы, и завершимость выполнения алгоритмов в целом.
Правильность выполнение алгоритма дает правильные результаты решения поставленных задач.
Точность выполнив одну, команду исполнитель должен точно знать, какую команду выполнять следующей.
Понятность все команды должны входить в систему команд исполнителя.
Правила выполнения арифметических операций или геометрических построений представляют собой алгоритмы. При этом остается без ответа вопрос, чем же отличается понятие алгоритма от таких понятий, как «метод», «способ», «правило». Можно даже встретить утверждение, что слова «алгоритм», «способ», «правило» выражают одно и то же (т.е. являются синонимами), хотя такое утверждение, очевидно, противоречит “свойствам алгоритма”.
Само выражение «свойства алгоритма» не совсем корректно. Свойствами обладают объективно существующие реальности. Можно говорить, например, о свойствах какого-либо вещества. Алгоритм искусственная конструкция, которую мы сооружаем для достижения своих целей. Чтобы алгоритм выполнил свое предназначение, его необходимо строить по определенным правилам. Поэтому нужно говорить все же не о свойствах алгоритма, а о правилах построения алгоритма, или о требованиях, предъявляемых к алгоритму.
Первое правило при построении алгоритма, прежде всего, необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) представление этих объектов носит название данных. Алгоритм приступает к работе с некоторым набором данных, которые называются входными, и в результате своей работы выдает данные, которые называются выходными. Таким образом, алгоритм преобразует входные данные в выходные.
Это правило позволяет сразу отделить алгоритмы от “методов” и “способов”. Пока мы не имеем формализованных входных данных, мы не можем построить алгоритм.
Второе правило для работы алгоритма требуется память. В памяти размещаются входные данные, с которыми алгоритм начинает работать, промежуточные данные и выходные данные, которые являются результатом работы алгоритма. Память является дискретной, т.е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной. В теории алгоритмов размеры памяти не ограничиваются, т. е. считается, что мы можем предоставить алгоритму любой необходимый для работы объем памяти.
В школьной «теории алгоритмов» эти два правила не рассматриваются. В то же время практическая работа с алгоритмами (программирование) начинается именно с реализации этих правил. В языках программирования распределение памяти осуществляется декларативными операторами (операторами описания переменных). В языке Бейсик не все переменные описываются, обычно описываются только массивы. Но все равно при запуске программы транслятор языка анализирует все идентификаторы в тексте программы и отводит память под соответствующие переменные.
Третье правило дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно.
Четвертое правило детерменированность. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки.
Пятое правило сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считать результатом работы алгоритма.
Итак, алгоритм неопределяемое понятие теории алгоритмов 4. Алгоритм каждому определенному набору входных данных ставит в соответствие некоторый набор выходных данных, т. е. вычисляет (реализует) функцию. При рассмотрении конкретных вопросов в теории алгоритмов всегда имеется в виду какая-то конкретная модель алгоритма.
1.3. Виды алгоритмов и их реализация
Алгоритм применительно к вычислительной машине точное предписание, т.е. набор операций и правил их чередования, при помощи которого, начиная с некоторых исходных данных, можно решить любую задачу фиксированного типа.
Виды алгоритмов как логико-математических средств отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей ее решения, определения действий исполнителя подразделяются следующим образом:
Механический алгоритм задает определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм.
Цикл программы последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.
Решение новых задач мы всегда пытаемся свести к решению уже известных, а решение сложных задач к решению более простых подзадач. Соответственно в алгоритмах решения сложных задач для решения подзадач могут выделяться вспомогательные алгоритмы, которые служат для их решения. Каждый такой вспомогательный алгоритм описывает способ решения некоторой вспомогательной задачи или даже общий способ решения некоторого класса вспомогательных подзадач 7.
Построение сложных алгоритмов с помощью вспомогательных алгоритмов имеет много общего с возведением зданий. Сложные алгоритмы, как и дома, строятся из блоков, роль которых играют вспомогательные алгоритмы. Рассмотрим алгоритм построения изображения домика с применением вспомогательных алгоритмов.
алг «Домик» нач Стена с дверью крыша кон алг «Стена с дверью» нач стена с окном дверь кон |
|
Такой способ описания алгоритмов называется описанием сверху вниз. В данном примере последовательно, сверху вниз, уточняется план изображения. При построении алгоритмов последовательно, сверху вниз, уточняется план действий, которые доводится до детальных инструкций, непосредственно понятных исполнителям.
Таким образом, первоначальный основной алгоритм есть не что иное, как основной план предстоящих действий. Принцип построения алгоритмов сверху вниз называется также принципом пошаговой детализации.
При использовании вспомогательных алгоритмов необходимо учитывать способ передачи этим алгоритмам исходных данных и получение от них результатов решения. Для этого в заголовке вспомогательных алгоритмов необходимо указать аргументы и результаты.
Аргументы во вспомогательных алгоритмах это переменные и другие области памяти, в которых должны быть помещены исходные данные для решения соответствующей подзадачи 8. Результаты вспомогательных алгоритмов это так же переменные и массивы, куда должны быть записаны конечные результаты решения этих подзадач.
Общая форма записи вспомогательных алгоритмов:
алг «<название подзадачи>»
арг <список аргументов>
рез <список результатов>
нач
<план действий>
кон
Аргументами и результатами вспомогательных алгоритмов служат переменные, массивы и другие области памяти. Возможно, что эти переменные могут оказаться совпадающими. Это означает, что результаты решения подзадач должны записываться в машинной памяти на то место, где были записаны исходные данные.
1.4. Методы изображения алгоритмов
На практике наиболее распространены следующие формы представления алгоритмов:
Данный способ получил значительно меньшее распространение из-за его многословности и отсутствия наглядности.
Словесный способ не имеет широкого распространения по следующим причинам:
А этот способ оказался очень удобным средством изображения алгоритмов и получил широкое распространение в научной и учебной литературе.
Структурная (блок-, граф-) схема алгоритма графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков графических символов, каждый из которых соответствует одному шагу алгоритма 9. Внутри блока дается описание соответствующего действия.
Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, т.к. зрительное восприятие обычно облегчает процесс написания программы, ее корректировки при возможных ошибках, осмысливание процесса обработки информации 10.
Можно встретить даже такое утверждение: «Внешне алгоритм представляет собой схему набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации». Здесь форма представления алгоритма смешивается с самим алгоритмом.
Принцип программирования «сверху вниз» требует, чтобы блок-схема поэтапно конкретизировалась и каждый блок «расписывался» до элементарных операций. Но такой подход можно осуществить при решении несложных задач. При решении сколько-нибудь серьезной задачи блок-схема «расползется» до такой степени, что ее невозможно будет охватить одним взглядом.
Блок-схемы алгоритмов удобно использовать для объяснения работы уже готового алгоритма, при этом в качестве блоков берутся действительно блоки алгоритма, работа которых не требует пояснений. Блок-схема алгоритма должна служить для упрощения изображения алгоритма, а не для усложнения.
Специальные геометрические фигуры в блок-схеме:
Начало / конец. |
|
Вычисление команд. |
|
Условия. |
|
Ввод / вывод данных. |
При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.
Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.
Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке программой для компьютера 11.
Но предварительно запись алгоритма осуществляется по следующей структуре: на первой строке записываются слово алгоритм или его трехбуквенное сокращение алг. Далее за этим словом записывается название алгоритма. На второй строке записывается слово начало или его сокращение нач. Далее в столбик с небольшим отступом два-три пробела записываются действия, составляющие алгоритм. Последней строкой описания алгоритма должно быть слово конец или его сокращение кон, в той же позиции, что и слово начало (нач).
алг <«название»>
нач
.. <действие 1>
..<действие 2>
..<действие 3>
кон
Другие структуры записываются по особому алгоритму.
В алгоритмах выбор действий записывается с использованием слов если, то, иначе, и конец если (либо в сокращенной форме кесли). Описание выбора действий начинается со слова если, а для указания конца вариантов используется слово кесли. После слова если записывается условие выбора, а слово то служит разграничением между условиями выбора и соответствующей группой действий. Запись следующей группы действий начинается со слов иначе если (сокращенно инес) либо со слова иначе для последней группы выбираемых действий 12.
Для облегчения чтения и понимания алгоритмов с выбором действий обычно используется ступенчатая форма записи, в которой выбираемые группы действий записываются с отступом на 2-3 пробела, а слова если, иначе, кесли с одной и той же позиции.
Запись вариантов выбора действий в алгоритмах проводится двумя основными способами, которые могут комбинироваться. Первый из них это действия, выполняемые только при соблюдении некоторых условий, иначе говоря, условные действия:
если <условие> то <действия> кесли |
Правила выполнения условных действий: эти действия выполняются, только если окажется истинным условием, указанное после слова если. В противном случае эти действия не выполняются вовсе.
Второй способ группирование нескольких вариантов действий с различными условиями их выбора.
Выбираемые действия:
если <условие> то <действие 1> иначе <действие 2> кесли |
Правила выполнения: действие 1 выполняется тогда и только тогда, когда соблюдается условие. Действие 2 выполняется, только если условие не соблюдается.
В качестве условия выбора действий в алгоритмах могут указываться любые равенства и неравенства над величинами и алгебраическими выражениями.
При составлении сложных условий могут использоваться логические связки и, или, не.
В случае выбора нескольких вариантов действий естественно применять форму записи с явным указанием всех условий выбора. В ней применяются слова иначе если или их сокращение инес.
Способы решения многих сложных задач часто основано на повторении одних и тех же действий вплоть до достижения некоторой цели. Организация повторений в алгоритмах называется циклом.
Описание циклов в алгоритмах строится по следующим правилам: повторяемые действия заключаются между словами цикл и конец цикла (сокращенно кцикл).
В цикле со счетчиком указываются начальные и конечные значения счетчика повторений.
Цикл со счетчиком:
от k = 1 до n цикл <действие> кцикл |
Правила выполнения цикла со счетчиком: До начала цикла счетчик получает начальное значение k = 1. Далее выполняются <действие>, а затем проверяется, достиг ли счетчик конечного значения. Если счетчик еще не достиг конечного значения, то он увеличивается на единицу и <действие> выполняется еще раз. Если же счетчик уже достиг конечного значения, то выполнение цикла завершается.
Выполнение пока-цикла:
пока <условие> цикл <действие> кцикл |
Правила выполнения: если условие выполняется с самого начала, то выполняется и действие; если после этого условие вновь выполнено, то вновь выполняется действие. Повторение действий продолжается до тех пор, пока выполняется условие. Завершение выполнения цикла происходит тогда и только тогда, когда перестанут выполнятся условия повторения.
1.5. Роль алгоритмов, программирования и решения задач в школьном курсе информатики.
Наука информациология рассматривает информатику как часть фундаментальной науки, касающейся искусственной информации, реализуемой в персональном компьютере. Такое понимание информатики определяет круг вопросов, которые рассматриваются в процессе ее изучения. В первую очередь это кодирование информации в концепции ее представления в компьютере и общие подходы к структурированию любой искусственной информации, подлежащей хранению, обработке и пересылке. Традиционно в информатику включают некоторые разделы логики, но ограничиваются при этом рассмотрением логических операций. Поскольку компьютер представляет собой устройство, моделирующее нашу умственную деятельность, его работа подчиняется тем же законам, что и наше мышление. Поэтому наука, которая изучает законы истинного мышления, логика присутствует в каждом аппаратном и программном элементе компьютера 13. Точнее, нет ни одного элемента компьютера, существующего вне логики. Двоичная система кодирования используется в вычислительных устройствах уже более двух столетий, логика существует более двух тысяч лет. Только эти два положения уже подтверждают фундаментальность науки информатики. Развитие информационных технологий происходит в рамках фундаментальной информатики и должно служить иллюстрацией ее использования в практической деятельности. Поэтому в основе своей содержание курса информатики не должно зависеть от имеющихся технических и программных средств. Безусловно, чем лучше средства информационных технологий, тем больше у преподавателя возможности продемонстрировать на практике законы науки информатики.
Мы считаем, что фундаментальная информатика просто необходима в школьном курсе и ее не стоит путать с информационными технологиями или заменять ими.
Чем раньше происходит знакомство школьника с программированием и решением задач по программированию, тем быстрее происходит процесс развития алгоритмического мышления. Ученик, изучающий и применяющий на практике элементы программирования, самопроизвольно начинает проявлять повышенный интерес к математическим и естественным дисциплинам школьного курса. При решении задач и написании программ очень часто возникают межпредметные связи со всеми общеобразовательными предметами.
Решение задач по программированию не только развивает ученика, но и даёт возможность самостоятельного контроля при решении задачи. Чего нет в математике и физике. Анализ правильности алгоритма с дальнейшим выполнением программы на ЭВМ и получением конкретного результата стимулирует познавательную активность ученика.
Один из героев великого французского писателя Мольера, месье Журден, был страшно удивлен, узнав, что всю жизнь пользуется прозой. Мы тоже можем удивляться, узнав, что всю жизнь мы исполняем огромное число всякого рода алгоритмов. Мы буквально окружены тесным кольцом алгоритмов, не сознавая, разумеется, этого и, по существу, не зная даже, что такое алгоритм 14.
В каждодневной жизни человеку приходится решать большое число разного рода задач, в широком смысле этого слова, не только математических или физических, которые требуют применения определенных алгоритмов.
Когда мы переходим улицу на регулируемом светофором перекрестке, мы выполняем определенный алгоритм, когда же переходим улицу в месте, не регулируемом светофором, выполняем другой алгоритм (эти алгоритмы заданы правилами уличного движения). Когда мы вытачиваем деталь на станке, то выполняем определенный алгоритм. Когда приготовляем чай, пользуемся определенным алгоритмом (иногда заданным инструкцией, напечатанной на упаковке). Когда медицинская сестра берет у нас кровь из пальца на анализ, она исполняет определенный алгоритм, и когда она делает нам инъекцию, то опять исполняет определенный алгоритм (этим алгоритмам ее обучали в медицинском училище). И когда мы берем книги в библиотеке, мы выполняем определенные правила пользования библиотечными книгами, т. е. тоже определенный алгоритм. И когда...
Разве возможно перечислить все задачи, при решении которых мы исполняем определенные алгоритмы? Одна школьная математика содержит огромное разнообразие алгоритмов, начиная от алгоритмов выполнения арифметических действий над натуральными числами, дробями и заканчивая алгоритмами решения всякого рода уравнений, неравенств, систем уравнений и т. д. Хотя, разумеется, мы очень редко применяем слово «алгоритм». В самой математике, где возникло понятие алгоритма, многие столетия разрабатывались алгоритмы для решения все новых и новых классов задач и при этом математики не задумывались над тем, что такое алгоритм.
Действительно, если найден общий метод решения- любой задачи из нового класса задач, нам незачем задумываться над вопросом, является ли этот метод алгоритмом. Метод есть и мы его применяем к любой задаче данного класса задач, для которого он предназначен. Так формулу корней квадратного уравнения мы используем при решении любого квадратного уравнения. Интуитивно ясно, что данная формула задает общий метод (алгоритм) решения любого квадратного уравнения.
Почему же в течение многих веков в математике, где все строго определяется и доказывается, обходились лишь интуитивным понятием алгоритма?
Один из создателей математических теорий алгоритмов советский математик А. А. Марков (1903 1979) считал, что это было допустимо, пока термин «алгоритм» встречался в математике лишь в высказываниях следующего типа: «Для решения таких-то задач имеется алгоритм, и вот в чем он состоит» 15.
По той же причине интуитивное понятие алгоритма достаточно и когда ставится вопрос о переводе уже имеющегося алгоритма в программу для решения задачи на ЭВМ. Программа это лишь запись алгоритма на языке, понимаемом данной ЭВМ.
В математике часто возникают так называемые алгоритмические проблемы, когда требуется найти единый метод (алгоритм) для решения любой задачи из данного класса однотипных задач. Алгоритмические проблемы возникали и решались в различных областях математики на протяжении всей ее истории. Однако в первые десятилетия XX века накопилось много классов задач, для решения которых алгоритма найти не удавалось. Усилия, прилагавшиеся к нахождению алгоритмов решения этих классов задач, привели к мысли: а вдруг для того или иного класса просто невозможно найти алгоритм, т. е. искомый алгоритм не существует?
Если это действительно так, то необходимо прекратить поиск, ибо безнадежно искать то, чего нет. Но тогда возникает необходимость в доказательстве не существования искомого алгоритма. А чтобы доказать не существование алгоритма для решения некоторого класса задач, нужно уже знать точно, что такое алгоритм, т. е. надо перевести интуитивное понятие алгоритмов в точное, математическое понятие. В рамках математической логики в 30-х годах XX века было выработано точное определение понятия алгоритма, причем были построены различные варианты математического уточнения этого понятия, иными словами, различные математические теории алгоритмов. Благодаря этому удалось обнаружить неразрешимые алгоритмические проблемы, т. е. не существование соответствующих алгоритмов. Теперь, когда не удается найти алгоритм для некоторого класса задач, можно попытаться доказать, что искомый алгоритм не существует.
Слово «алгоритм» все чаще употребляется все большим числом людей самых различных профессий, все чаще появляется на страницах печати, упоминается в связи с использованием ЭВМ, проникло и в школьное обучение. Этим, словом обозначается одно из фундаментальных понятий современной математики и информатики.
Для изучения математики и информатики в рамках школьных программ, обязательных для всех учащихся, вполне достаточно интуитивного понятия алгоритма. Однако для тех учащихся VIII XI классов, которые интересуются этими предметами, для любителей математики и информатики будет не только интересно, но и полезно более глубокое изучение понятия алгоритма, включающее его математическое уточнение.
Сравним обучение математики и информатике в средней школе. Главная цель обучения математике в средней школе это привить культуру мышления, развивать умение анализировать, логику, дисциплину ума. Научится мыслить можно только, решая задачи. Эти задачи собирались веками ученики Евклида решали в основном те же геометрические задачи, что и нынешние школьники. Преподавание математики опирается на многовековую традицию. Преподавание информатики преследует близкие цели научить решать различные проблемы, используя компьютер. К сожалению традиций, тут практически нет. Отбор интересных содержательных задач только начат. Причём было бы полезно, если бы эти задачи касались не только математики, но и физики, химии и других общеобразовательных дисциплин.
Выводы:
-для средней школы необходим хороший сборник задач по информатике и программированию;
1.6. Роль решения задач в базовом курсе информатики
Бурное развитие средств электронной вычислительной техники и программного обеспечения как офисного, так и мультимедийного полностью вытесняет базовые понятия информатики. Широко развиваются информационные технологии в образовании. Педагогические сценарии уроков часто строятся на мультимедийных средствах. Это очень хорошо, но мы стали забывать о сути информатики как учебного предмета. Информатику стали заменять информационными технологиями. Мы считаем, что существуют два различных по целям и задачам учебных предмета:
Основы информатики свойства информации анализ и обработка (методология). Формирование алгоритмического мышления в данном курсе является основным. Следовательно, ученик должен уметь ставить разнообразные задачи и находить алгоритмы их решения.
Информационные технологии это курс компьютерного пользователя. Для современного общества важная необходимость. К сожалению, на данном этапе информационные технологии сводятся к изучению продуктов фирмы Microsoft. Навыки работы в офисных приложениях необходимы, но нельзя только этим ограничиваться. Существует большой спектр электронных технологий, которые постоянно совершенствуются. Поэтому основы информатики являются необходимой базой развития любого школьника.
При решении любой сложной жизненной задачи можно выделить этапы постановки задачи, решения задачи и реализации решения. Очень часто эти этапы выполняют разные люди: самый умный (стратег) ставит задачу, неглупый (тактик) решает задачу, самый глупый (рядовой) исполняет принятое решение 16.
Представленная в данной статье этапность образования в области информатики адресуется к этой этапности решения задач. Сначала ученики учатся выполнять/исполнять, затем решать и записывать шаги решения (программу), а затем - ставить задачу, которая требует решения.
Нужно ли воспитывать в рамках школы постановщиков задач? Тривиальный ответ - да, если выпускники идут в управленцы или хакеры. А если выпускники не становятся профессиональными планировщиками или программистами?
Постановке задач в школе учить нужно в любом случае, ибо в современном обществе человек очень часто в одиночку сталкивается не с проблемой решения задачи, а с проблемой выделения задачи из окружающей среды. Чтобы задачу решать, надо знать о ее существовании!
А информатика учит просто постановке задач, а не задач по математике, физике или рисованию. Поэтому выпускники полного курса информатики смогут занять в этой жизни стратегические позиции, а не быть в этой жизни рядовыми.
Важно также уметь объяснить самим ученикам, зачем им нужно учить всю эту информатику. На этот вопрос должны отвечать учителя по всем предметам. Действительно, в повседневной жизни невозможно найти человека, применившего решение квадратного уравнения на практике (если только этот человек не учитель математики). Ученики об этом, конечно, знают. Но все равно вынуждены учить. Хотелось бы, чтобы с информатикой было не так: чтобы обязательность ее изучения не оправдывалась Исторической Необходимостью или Общечеловеческой Культурой.
На самом-то деле абсолютно неважно, чему учит учитель математики или физики, когда он заставляет ученика решать задачи. Он просто тренирует ученика составлять и выполнять различные программы на неформальных языках программирования с целью натренировать мышление ученика умению пошагово решать задачи на неформальном языке, использующем такие же неформальные исполнители.
Это качество, без сомнения, требуется в жизни. После окончания школы ученик будет встречаться с все новыми и новыми неформальными языками. Один из таких языков - ненормативная лексика. Большинство людей отлично понимают команды (и программы) на таком сверхограниченном языке! На таком языке можно понимать и выполнять программы, даже составлять программы. Но, увы, очень тяжело заниматься постановкой задач…
Конечно, прохождение курса информатики не является вопросом жизни и смерти для сегодняшних детей - будущих взрослых.
Общество никому не даст умереть с голоду, и не обученный премудростям информатики человек вполне в состоянии оказывать платные услуги другим людям. Собака, например, не учит информатику, однако это не мешает ей жить с людьми.
1.7. Развитие алгоритмического мышления на уроках информатики
Школьники, как в обыденной жизни, так и в школе очень часто сталкиваются с понятием алгоритм. Поэтому у них вырабатывается способность алгоритмически мыслить. Под способностью алгоритмически мыслить понимается умение решать задачи различного происхождения, требующие составления плана действия для достижения желаемого результата17. В младшем возрасте развитие у детей идёт очень быстрыми темпами.
Психолог Л. С. Выготский отмечал интенсивное развитие интеллекта в младшем школьном возрасте. Ребёнок, начиная обучаться в школе, должен обладать достаточно развитым мышлением. Школьник должен научиться самостоятельно рассуждать, делать выводы, сопоставлять, сравнивать, анализировать, устанавливать простые закономерности.
В настоящее время в образовательных учреждениях реализуется гуманистическая концепция образования. Её целевая установка позволяет обратить внимание на проблему формирования различных форм мышления учащихся, опираясь на единство обучения и развития, а также учитывать закономерности организации учебно-познавательного процесса. Стремительно развивающаяся информатизация образования ставит целый ряд новых научных проблем в системе "человек - компьютер". Они связаны с различными психическими процессами, в том числе и мышлением. Информатизация накладывает свой отпечаток не только на организацию знания в современной картине мира, но и на способы и приёмы мышления.
Мышление человека формируется и развивается в процессе решения мыслительных задач как основного вида мыслительной деятельности. В практике школьного обучение решение разнообразных задач выступает одним из главных условий и средств овладения знаниями и умениями, развития умственных способностей и личностных качеств.
Процесс решения задач используется психологами различных направлений для раскрытия закономерностей мышления. В рамках педагогической психологии поднимается вопрос не только об общих закономерностях мышления, но и о его специфических особенностях, связанных с характером той области знания, из которой черпаются задачи. Многообразие типов задач обусловило и многообразие механизмов и способов мышления. От конкретной иерархии задач, используемых в каждый момент обучения, в определяющей степени зависит эффективность достижений целей образования и развития учащихся.
Исследование информационных процессов и выход на проблему информатизации общества нашли своё отражение в таком быстро прогрессирующем интегральном направлении современной науки, как информатика, в эволюции понимания её предмета. Информатика обслуживает науку, технику, производство и другие виды человеческой деятельности путём создания и передачи в общество информационных технологий. Сегодня для правильного понимания сути и предмета информатики важно соотнести формирование самой информатики с потребностями общества, с возможностями её влияния на жизнь и деятельность человека, осмыслить её роль и значение для социального развития. Целенаправленный характер является важнейшей отличительной чертой информационных процессов в обществе. Цель в этом плане - тот конечный результат, на достижение которого направлен информационный процесс.
Процесс компьютеризации обучения, познавательная деятельность в системе "человек - компьютер" требует обоснованных рекомендаций для эффективной организации интеллектуальных решений взаимодействующего с компьютером человека. Компьютер как средство интеллектуальной деятельности предъявляет особые требования к организации мышления человека. Интеллектуальная деятельность человека в её компьютеризованных формах специфична по отношению к некомпьютеризованным формам мышления. Это явление объясняется превращением данного вида деятельности в самостоятельную профессию с её специальными задачами и умственными средствами18.
В информатике можно различать следующие типы взаимодействия: "человек - человек", "человек - машина", "машина - человек", "машина - машина", "человек - машина - человек", "машина человек - машина". Второй и третий типы коммуникации определяют, прежде всего, возможности человека при взаимодействии с машиной. Эффективность такого общения зависит от знания человеком возможностей ЭВМ для решения некоторого класса задач и его психологической готовностью к осуществлению такого рода взаимодействия. К сожалению, современное образование не даёт в достаточном объёме систематических знаний о сущности человеческого фактора в технике, закономерностях распределения функций между человеком и компьютером, о возможностях и ограничениях механизмов приёма и переработки информации человеком при принятии решений. Однако такого рода знание сегодня не только желательно, но и совершено необходимо, так как конфронтация между человеческой психикой и информационной технологией может привести к серьёзной деформации эмоциональной сферы и стиля мышления человека.
В диалоге с человеком компьютер способен активизировать человеческую мысль, сообщать её новые, неожиданные перспективы. И в этом его принципиальное отличие от любого другого технического устройства. Технические средства служат "усилителями" абстрактного мышления и способствует эффективному практическому применению его результатов. Одновременно происходит перестройка деятельности, использующей информацию. Действительно, компьютеризация и автоматизация интеллектуальных процедур ведут не просто к новым способам переработки и хранения информации, меняется сама деятельность и мышление... В области педагогики встаёт важная задача обучения новым формам деятельности и мышления, претерпевшим развитие под влиянием указанных процессов.
Работа с компьютером заставляет людей всё больше и больше совершенствовать алгоритмический стиль мышления. Всевозможные классификации по различным основаниям и алгоритмические методы формирования понятий составляют значительную часть методов, используемых при таком стиле мышления.
Используя опорный структурированный конспект учителю очень удобно составить свой план конспект 19. Мы попробовали составить, базируясь на некоторые структуры, такие конспекты и действительно это оказалось не очень сложно. Также к конспектам мы подготовили презентации, чтобы сделать урок наглядным, они представлены в приложении №1
Некоторые из них мы хотим представить в нашей работе:
1.
План конспект
Тема: «Понятие алгоритма»
Цели:
Ход урока:
Представление и приветствие. Список присутствующих. Требования к учебным принадлежностям. Вспомним технику безопасности.
В основе работы вычислительных машин лежит программный принцип управления. Это означает, что для решения самой сложной задачи пользователю необходимо составить перечень инструкций или команд, следуя которым ЭВМ выдаст необходимый результат.
Таким образом, чтобы решить задачу на ЭВМ, ее необходимо сначала алгоритмизировать.
Прежде, чем перейти к изучению алгоритма, разберем понятие исполнитель.
- Исполнитель это кто-то или что-то, кто может выполнить определенный набор действий.
В качестве исполнителя может выступать человек, животное, техническое устройство.
Вся человеческая деятельность связана с алгоритмами. Это и правила для учащихся, инструкции по технике безопасности, схемы электронных устройств, чертежи деталей и т. д.
- Итак, алгоритм это понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение цели или на решение поставленной задачи 20.
Понятие алгоритма является фундаментальным понятием в информатике, т.е. таким, которое не определяется через другие, более простые понятия.
В физике таким понятием является пространство и время, в математике точка, в химии вещество.
Свойства алгоритмов.
Например, на пачках с хлопьями написан способ приготовления на 7 языках, чтобы сделать понятным исполнителю из Америки, России, Франции и т.д.
В алгоритмах не могут встречаться указания типа: «посолить по вкусу», «жарить до готовности», «насыпать 2-3 ложки сахарного песку». Понятные для человека эти предписания могут поставить в тупик ЭВМ.
Или вспомним фразу: «Казнить нельзя помиловать», в которой пропущена запятая. А от различной трактовки фразы зависит жизнь человека.
Например: необходимо решить квадратное уравнение х2+4х+3=0. но ведь можно составить алгоритм решения любого квадратного уравнения вида ах2+bх+с=0.
Например, требуется преобразовать обыкновенные дроби в десятичные:
7 =1,75 ; 5 =1,66666
4 3
Для первого случая алгоритм задает конечную последовательность действий, а для второго бесконечную. Тогда, чтобы удовлетворить свойству конечности, накладывают ограничения, например, выполнять деление до 15 знаков после запятой.
Свойство конечности желательное, но не обязательное свойство алгоритма.
Например, в алгоритме деления двух чисел необходимо учитывать деление на 0. программа должна выдавать результат «Деление на ноль невозможно».
Отрицательный результат тоже результат.
3. Задания для закрепления
Задания:
Как из 1 получить 100 за меньшее число шагов?
Исполнитель может перемещать две рядом стоящие монеты, не трогая другие, либо вправо, либо влево.
Как за меньшее число шагов расположить монеты в следующем порядке:
а получить дроби а-b , а+b , b
b b b а
Как получить из 1 дробь 1 ?
2 4
Решение:
1.
1) Подойди к двери.
2) Возьми ключ.
3) Просунуть ключ в замочную скважину.
4) Поверни ключ 3 раза по часовой стрелке.
5) Вытащи ключ.
6) Открой дверь.
(понятность, однозначность, конечность, результативность, правильность)
2.
Способ №1 1) 1+1=2 2) 2+1=3 3) 3*2=6 4) 6*2=12 5) 12*2=24 6) 24*2=48 7) 48+1=49 8) 49+1=50 9) 50*2=100 |
Способ №2 1) 1+1=2 2) 2+1=3 3) 3*2=6 4) 6*2=12 5) 12*2=24 6) 24+1=25 7) 25*2=50 8) 50*2=100 |
3.
4.
1) 1 b 2
=
2 a 1
2) 2 a+b 2+1 3
= =
1 b 1 1
3) 3 a+b 3+1 4
= =
1 b 1 1
4) 4 b 1
=
1 a 4
2.
ТЕМА: «Построение алгоритмов»
Цели:
Углубить знания об алгоритмах, свойствах и, в частности, научить строить алгоритмы.
Развивать целеустремленность учащихся, различные формы мышления, интерес к изучаемому материалу.
Воспитывать дисциплинированность, уважение к окружающим.
Ход урока:
Орг. Момент
Приветствие. Рабочий настрой. Сообщение темы
Закрепление ранее изученного
На прошлом уроке вы познакомились с новым для вас понятием алгоритм. Выяснили, что такое алгоритм, и какими свойствами обладает алгоритм. Также мы отметили, что нас будут интересовать именно алгоритмы и поэтому сегодня мы познакомимся со способами построения алгоритмов.
Итак, начиная с 50-х годов, т.е. еще с эпохи ЭВМ первого поколения, программисты стали использовать графические схемы, изображающие алгоритмы, которые получили название блок-схемы 21.
Блок-схема состоит из фигур (блоков), обозначающих отдельные действия исполнителя, и стрелок, соединяющих эти блоки и указывающих на последовательность их выполнения. Внутри каждого блока записывается выполняемое действие. Сама форма блока подсказывает характер операций, которую он обозначает. Для придания наглядности и единообразия схемам алгоритмов все графические элементы стандартизированы.
Начало / конец. |
|
Вычисление команд. |
|
Условия. |
|
Ввод / вывод данных. |
3. Задания для закрепления
Задания:
1. По кулинарному рецепту приготовления орехового напитка составьте словесный алгоритм.
Орехи истолочь в деревянной ступке, растворить в горячем молоке. Затем варить 10 минут на слабом огне. Подавать охлажденным.
Продукты: 250г очищенных грецких орехов, 0,8л молока, 120г сахара.
2. Составьте словесный алгоритм деления отрезка пополам с помощью циркуля и линейки.
К каждой задаче составить графическое представление решения
Решение:
Задание №1
Задание №2
4. Итоги урока
3.
ТЕМА: «Структуры алгоритмов»
Цели:
Углубить знания об алгоритмах и, в частности, дать представление о различных структурах алгоритмов.
Развивать умение строить алгоритмы, отличать алгоритм от набора действий.
Воспитывать усидчивость, дисциплину.
Ход урока:
Приветствие. Рабочий настрой. Сообщение темы.
На прошлом уроке вы познакомились со способами построения алгоритма, с помощью блок-схемы. Сегодня мы рассмотрим основные типы алгоритмических структур.
Итак,
Линейный алгоритм.
Существует большое количество алгоритмов, в которых команды должны быть выполнены последовательно одна за другой 22. Такие последовательности команд будем называть сериями, а алгоритмы, состоящие из таких серий, линейными.
На блок-схеме хорошо видна структура линейного алгоритма, по которой исполнителю удобно отслеживать процесс его выполнения.
Линейное ветвление
В отличие от линейных алгоритмов, в которых команды выполняются последовательно друг за другом, в алгоритмическую структуру «ветвление» входит условие, в зависимости от выполнения или не выполнения которого реализуется та или иная последовательность команд (серия).
Будем называть условием высказывание, которое может быть либо истинным, либо ложным. Условие, записанное на формальном языке, называется условным или логическим выражением.
Условные выражения могут быть простыми и сложными. Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой с использованием операций сравнения (<,>=).
Сложное условие это последовательность простых условий, объединенных между собой знаками логических операций (и, или).
Вложенные ветвления
Данная алгоритмическая структура применяется для решения ветвления со многими вариантами серий команд. В структуру выбора (вложенные ветвления) входят несколько условий, проверка которых осуществляется в строгой последовательности их записи в команде выбора. При истинности одного из условий выполняется соответствующая последовательность команд.
Циклические алгоритмы
В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Циклические алгоритмические структуры двух типов:
Циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;
Циклы с условием, в которых тело цикла выполняется, пока условие истинно.
Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией (оператором цикла со счетчиком). пока…повторять
Цикл с условием
Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать 23. В таких случаях количество повторений зависит от некоторого условия. Такой цикл реализуется с помощью инструкции. делай…пока.
Проверка выхода из цикла проводится с помощью ключевых слов пока…повторять, повторять…пока.
Эти слова придают одному и тому же условию противоположный смысл.
Ключевые слова пока…повторять обеспечивают выполнение цикла, пока выполняется условие, то есть пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла.
Ключевые слова повторять…пока обеспечивает выполнение цикла, пока не выполняется условие, то есть пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения цикла
3. Задания для закрепления
Задания:
Какой тип алгоритмической структуры необходимо применить, если:
№1 Составьте блок-схему алгоритма вычисления периметра и площади прямоугольного треугольника по длинам двух катетов.
№2 Заданы три числа. Известно, что два равны между собой, а третье отлично от них. Составьте блок-схему нахождения числа, отличного от двух других.
4. Итоги урока
Существует особый алгоритмический стиль мышления, и его развитие есть важная общеобразовательная задача.
Многие педагоги и методисты исходят из того постулата, что человек может мыслить по-разному, что существуют разные стили мышления. Математика и логика развивают математический или логический стиль мышления, то есть умение рассуждать, пользоваться математическими формулами в рассуждениях, умение из одних утверждений логически выводить другие (теоремы из аксиом и уже известных теорем). Литература и история в большей степени связаны с какими-то менее рациональными аспектами сопереживания, этики и морали (этот стиль мышления условно можно назвать «гуманитарным»). Ряд школьных предметов таких как астрономия или география, - вообще не нацелены на развитие какого- либо стиля мышления (цель этих предметов - изложение знаний в конкретной области, расширение кругозора учащихся) 24.
Существует особый «алгоритмический стиль мышления» его развитие представляет самостоятельную ценность, также как и развитие мышления человека вообще. Педагог должен развивать все стороны мышления, которые только возможно выделить. И если в какой-либо области удается выделить какой-то характерный стиль мышления (умение думать) человека, то развитие этой черты мышления должно объявляться самоцелью, как необходимый элемент общей культуры, и внедряться в общее образование.
И поэтому практически весь курс информатики в школе нацелен на то, что надо развивать алгоритмический стиль мышления, умение думать алгоритмически, а тем самым и умение думать вообще 25.
Одна из целей курса информатики - это развитие алгоритмического стиля мышления. Умение обращаться с компьютером или знание конкретных программных систем не входит в непосредственные его цели.
На данном этапе развития методики преподавания информатики существует огромное количество учебников и учебной литературы, будут появляться все новые и новые, и большинство из них - хорошие. Но когда вы выбираете тот или иной учебник, вы должны исходить, в первую очередь, из целей учебника, сопоставляя их с теми целями, которые перед курсом информатики ставите вы.
«Алгоритмический стиль мышления», а что это значит каждый понимает по-своему. И хотя обычно имеется некоторое общее представление о том, что это такое, можно привести пример ситуации, показывающей, что «алгоритмический» стиль мышления вообще существует. Не давая точного определения, можно попытаться показать, что стоит за словами «алгоритмический стиль мышления», сформулировать проблемы, задачи, для решения которых человек должен мыслить алгоритмически, рассмотреть какие-то рассуждения, характерные для данного стиля мышления, показать методы решений «чисто алгоритмических» задач. В учебнике для этого используется специально сконструированная среда, например, Робот на клетчатом поле, которая может быть представлена следующим образом:
Пусть у нас имеется вертикальная металлическая клетчатая стена (в учебнике «клетчатое поле») с выступающим прямоугольным «препятствием», а на стене несколько выше препятствия в одной из клеток находится Робот. Робот это машинка с антенной, батарейками, моторами, магнитными присосками и т.п. И пусть у нас в руках имеется пульт радиоуправления Роботом с кнопками:
Нажимаем на кнопку «→» - Робот смещается на клетку вправо, нажимаем кнопку «←» - смещается влево, на «↑» - вверх, на «↓» - вниз.
Простейшую задачу управления без каких-либо затруднений решает каждый школьник.
Если такую машинку радиоуправляемого Робота принести в класс, прикрепить к клетчатой доске и дать ученику пульт управления, то любой ученик в состоянии, глядя на Робота, понажимать на кнопки так, чтобы Робот спустился вниз под препятствие, объехав его. Тут нет вообще никакой задачи, даже ребенок, начиная с 5-7 лет, в состоянии это проделать.
Этот стиль взаимодействия с электронными устройствами называется «непосредственным управлением». Т.е. нажимаем на кнопку и смотрим результат, нажимаем другую кнопку, смотрим, что получилось, принимаем решение, какую кнопку нажать следующей и т.д., - т.е. принимаю решение по ходу управления.
Схема непосредственного управления
команда
обратная связь
Итак, в этой схеме человек нажимает на кнопки, а «исполнитель» выполняет действия. Глобальный план действий (как и куда двигаться) человек может придумать по ходу, по мере выполнения команд и прояснения ситуации.
Как все это может быть организовано на уроке: пока у нас нет Робота в «металле», учитель может играть его роль, - рисуя Робота и клетчатое поле на доске. Удобно также использовать магнитные доски на них легко перемещать Робота и не надо постоянно стирать и рисовать его положение.
Итак, на уроке даже в младших классах, - можно поднять самого слабого ученика и сказать: «Иванов, командуй!». И он без труда, глядя, как выполняете его команды (перемещаете робота по доске), продиктует вам последовательность команд «вниз», «вправо» и т.д., по которым Робот обойдет препятствие.
Поскольку любой ученик даже младшеклассник решает эту задачу без труда, то здесь пока нет никакого особого стиля мышления, никаких особых методов и вообще нет предмета для изучения 26.
Более сложная задача управления с использованием команд «обратной связи» также не вызывает затруднений.
Теперь немного усложним задачу. Будем считать, что Робот в соседней комнате или вообще далеко от нас (т.е. мы его не видим), а у нас на пульте есть специальные кнопки: «? ←», «? →», «? ↑», «? ↓» и лампочка. Нажимаем на кнопку «?↓» - Робот анализирует, можно ли сделать шаг вниз, и, если вниз шаг сделать можно, то лампочка на пульте загорается зеленым цветом (если нельзя,- то красным). Итак, нажали на кнопку «?↓», если зажегся зеленый свет, значит снизу свободно, а если красный, значит снизу препятствие.
Наша задача: не видя ничего, кроме пульта управления, заставить Робота спуститься под препятствие (расстояние от начального положения робота до препятствия неизвестно). Происходит незначительное усложнение: мы не видим обстановки, мы должны себе ее воображать и принимать решение по миганию лампочки. Но, хотя и подумав, уже не так мгновенно, как в первом случае, и возможно не с первой попытки, но практически все ученики такую задачу решат.
Как? Известно, что Робот стоит где-то выше препятствия, обстановку не видно, размеры препятствия неизвестны. Что надо делать? Надо шагать вниз, пока не дойдем до препятствия, т.е. при каждом шаге проверять (нажимая кнопку «?↓»), свободно ли еще снизу (зеленый свет) или уже препятствие (красный). Как только загорится красный свет (препятствие), надо начать шагать вправо, при каждом шаге проверяя (нажимая кнопку «?↓») не кончилось ли препятствие. Потом спускаться вниз, проверяя наличие препятствия слева (кнопка «?↓»). И, наконец, сделать один шаг влево, чтобы оказаться под препятствием. Такие последовательные нажатия на кнопки даже с анализом невидимой и неизвестной обстановки доступны любому школьнику.
Конечно, дети не родились с умением такие задачи решать. Они просто раньше много решали подобных задач, много тренировались: когда погремушкой гремели, а потом в песочнице возились, потом книжки запихивали в портфель, по телефону учились звонить и лифтом или радиоприемником управлять. А вот в задаче «программного управления» - жизненный опыт у школьников не накоплен, потому она и оказывается трудной.
Записать или объяснить кому-нибудь алгоритм труднее, чем выполнить работу самому.
А если теперь школьника попросить: «Запиши как нибудь всю последовательность нажатий на кнопки для обхода препятствия неизвестных размеров, находящегося ниже Робота», то тут-то и выяснится, что значительная часть учеников:
Нет ничего удивительного в том, что алгоритм легче выполнить, чем записать.
Вы можете называть эту запись алгоритмом или программой, или никак не называть. Вы можете просить записать это хоть на русском языке, хоть на школьном алгоритмическом, хоть на Бейсике, хоть на языке, придуманном самим школьником, или на чем угодно суть дела это неизменит. А суть в том, что, если раньше человек прямо нажимал на кнопки (схема «непосредственного управления»), то теперь человек пишет программу (алгоритм), которая далее будет выполняться без его участия обычно на ЭВМ. Т.е. если вы раньше сами нажимали на кнопки, то теперь вы пишите программу, которую отдаете ЭВМ, и дальше уже ЭВМ «нажимает на кнопки» и командуем исполнителем:
Схема программного управления
Составление алгоритма Выполнение алгоритма
способ команды
записи
обр. связь
Т.е. сначала человек выбирает какой-то способ записи, какой-то язык и записывает алгоритм. Затем (это на нашей схеме вообще не отражено) этот алгоритм как-то попадает к ЭВМ. И, наконец, ЭВМ начинает командовать Исполнителем в соответствии с алгоритмом, полученным от человека.
Именно поэтому необходимо развивать алгоритмическое мышление посредством изучения алгоритмов в школьном курсе информатики.
2.3. Развитие алгоритмического мышления на уроках информатики в школе
Исторически первым интенсивное развитие получило программное обеспечение, ориентируемое на представление и обработку чётко алгоритмизуемой информации. Алгоритмические модели представления знаний являются замкнутыми моделями. Активный поиск новых путей развития компьютерных систем - от элементной базы до архитектуры, алгоритмических и программных языков - иногда прямо, а чаще и косвенно и опосредованно связан с усложнением жизни современного общества в целом, с объёмом и структурой решаемых задач.
Достаточно широко в научной и методической литературе используется понятие "алгоритмический стиль мышления", причём отмечается, что его развитие есть важнейшая общеобразовательная задача курса информатики. Данное понятие включает в себя умение планировать структуру действий, необходимых для достижения цели при помощи фиксированного набора средств. Другие авторы определяют алгоритмический стиль мышления как методы и способы, которые необходимы от непосредственного управления к программному, от умения сделать к умению записать алгоритм 27.
Несомненно, алгоритмическое мышление составляет лишь одну важную, но не единственную часть интеллектуальной деятельности человека с применением современных информационных технологий. Актуальным является вопрос о формировании в сознании учащихся не только алгоритмической, но и образной составляющей мышления, поскольку умственная деятельность человека не должна только копировать "систему мышления" компьютера.
Решение познавательных задач может включать в себя разное число промежуточных этапов решения (подзадач). Их количество зависит не только от содержания задачи, но и от индивидуальных предпочтений субъекта в использовании тех или иных средств. В процессе решения промежуточных подзадач, ведущих к цели, ситуация может изменятся, поэтому каждый последующий акт приходится осуществлять в условиях, отличных от первоначальных. Исходя из вышеописанного, необходимо формировать у учащихся такой стиль мышления, который будет способствовать правильной ориентировке в выборе исходной информации и средств её обработки, грамотного их использования с последующим анализом полученных данных. Развитие такого мышления представляет самостоятельную ценность. Основные этапы решения задач с использованием ЭВМ согласно алгоритмическому стилю мышления обладают специфическими особенностями, отражающимися на порядке и результативности каждого этапа решения задачи. Формирование мышления может способствовать образованию у субъекта системы обобщённых стратегий поиска решения задач, организации поиска необходимой информации и её структурирования, постановки задач, выбора средств, необходимых для разрешения поставленных задач, и грамотного их использования. Алгоритмический стиль мышления можно рассматривать как один из элементов информационной культуры современного человека, поскольку особую проблему в информатике составляет вопрос о распределении функциональных возможностей между человеком и компьютером.
Простейший алгоритм, запрашивающий имя и затем приветствующий его обладателя.
алг Знакомство (арг лит Имя, резлит t)
нач
вывод "Как тебя зовут ?"
ввод Имя
t := "Привет, " + Имя + "!" | "+" - операция сцепки
вывод t
кон
Найти произведение цифр заданного целого четырехзначного числа.
алг Произведение цифр (арг цел Num, рез цел P)
нач цел i, j, k, l
Num := abs(Num) | abs - абсолютная величина
i := div(Num, 1000) | i - первая цифра
| div - частное от деления с остатком
j := mod(div(Num, 100), 10) | j - вторая цифра
| mod - остаток от деления с остатком
k := mod(div(Num, 10), 10) | k - третья цифра
l := mod(Num, 10) | l - четвертая цифра
P := i * j * k * l;
Кон
Вычислить сумму элементов числового массива A = (a1 , a2 , ... , aN ).
алг Сумма (арг цел N, арг вещ
таб A[1:N], рез вещ S)
дано N>0
нач цел i
S:=0
нц для i от 1 до N
S := S + A[i]
кц
кон
В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
алг Баскетбол (арг цел N, арг лит таб Фам[1:N], арг вещ
таб Рост[1:N], рез лит таб Канд [1:N] )
нач цел i, k
k:=0
нц для i от 1 до N | запись фамилий кандидатов в таблицу Канд
если Рост[i]>170
то k:=k+1; Канд [k] := Фам [i]
все
кц
если k=0
то вывод "В КЛАССЕ НЕТ КАНДИДАТОВ В КОМАНДУ."
иначе нц для i от 1 до k
вывод Канд [i]
кц
все
кон
Для подтверждения выдвинутой гипотезы, о том, что изучение темы «Алгоритмы и алгоритмизация» повышает эффективность изучения учебного материала на уроках информатики в школе, т.к. развивает алгоритмическое мышление, был проведен эксперимент на базе средней школы №20 (экономической гимназии) в 6-х классах. Успеваемость учащихся 6А и 6Б классов по информатике до проведения эксперимента находились на одном уровне, что не мало важно для объективного подхода диагностирования.
В 6А классе данная тема была изучена углублено, а в 6Б были рассмотрены лишь некоторые элементы данного раздела. По завершению изучения данного раздела, была проведена контрольная работа.
Контрольная работа:
Теоретическая часть
Исполнитель это…
Алгоритм это…
А) алгоритм, в котором команды выполняются последовательно одна за другой.
Б) алгоритм, в котором серия команд выполняется многократно.
В) алгоритм, в котором та или иная серия команд реализуется в зависимости от выполнения условия.
5. Какой тип циклического алгоритма представлен в виде следующих блок-схем:
Практическая часть
23x-0,6x ,при x>10;
Y= 117x-11,15 ,при -197<x<=10;
215-0,7x ,при x<=-197;
нач
пока С=20
нц
C=C-7
кц
кон
Ответы к контрольной работе:
I часть
Алгоритм это понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.
Б) циклический алгоритм
В)Разветвляющийся алгоритм
5. А) цикл «до»
Б) цикл «пока»
II практическая часть
2.
3.
В 6А классе контрольную работу писали 18 человек, из которых 10 мальчиков и 8 девочек, а в 6Б классе 17 человек, из которых 10 девочек и 7 мальчиков.
По результатам проведенной контрольной работы оказалось, что практически все учащиеся 6А класса, в котором тема изучалась углубленно, справились с контрольной работой, без особых проблем, т.к. 55% написали на оценку отлично, 30% на оценку хорошо и лишь 5% на оценку удовлетворительно, что вполне закономерно, т.к. класс имеет, в общем, среднюю успеваемость. А в 6Б классе успешно справились с выполнением контрольной работы лишь 18% учащихся, 18% написали работу на оценку хорошо, 36% написали на оценку удовлетворительно и 30% не справились с контрольной работой.
Все учащиеся 6А класса хорошо справились , но в некоторых работах были допущены следующие типичные ошибки:
- не смогли продифференцировать понятия программы и алгоритма;
- не точность в одном из действий словесного алгоритма приготовления бутерброда.
Класс, в котором темы раздела «Алгоритмы и алгоритмические структуры» рассматривали не широко, т.к. углубленное рассмотрение было невозможно вследствие уплотнения учебного материала, написали работу плохо, при этом допустили следующие типичные ошибки:
- с первым заданием справились в основном, все, хотя определение алгоритма и исполнителя было дано в неразвернутой форме. Ребята не могут перечислить свойства алгоритма, они затрудняются продифференцировать понятия программы и алгоритма;
- четвертое задание вызвало трудности почти у всех детей, этого класса, т.к. они не смогли точно определить структуру представленного алгоритма, и дать точно название;
- наиболее сложным для учащихся оказалось задание по выделению подструктур циклических алгоритмов.
В практической части были допущены следующие ошибки: алгоритм приготовления бутерброда у большинства был построен не правильно, т.к. учащиеся не учли, что алгоритм должен обладать определенным набором обязательных свойств. Остальные задания практической части были выполнены плохо, т.к. ребята не смогли построить блок-схему, и не смогли написать алгоритм, в силу того, что большую часть времени потратили на решение первой задачи. С практической частью справились 24% учащихся.
Результаты анализа проведенного эксперимента представлены в виде диаграммы в приложении №2.
В целом рассмотренное исследование позволяет сделать следующий вывод: изучение тем раздела «Алгоритмы и алгоритмизация» положительно влияет на целостное восприятие учебного материала по курсу информатика, что, безусловно, связано с развитием их алгоритмического мышления.
Заключение.
Развитием ребенка управляет его собственное любопытство, а для учителя главная задача - верно, руководить этим любопытством и вовремя построить и научить строить ребенка последовательность действий для достижения в познании окружающего мира, т.е. строить алгоритм. Поэтому, рассмотрев проблему изучения алгоритмизации и алгоритмических структур в школьном курсе информатики мы убедились в том, что эта проблема действительно остается актуальной в современном обществе, т.к. имеет жизненную, практическую направленность.
Изучив в теории и на практике объект исследования: учебный процесс на уроках информатики в школе и предмет - методические условия эффективности изучения темы: «Алгоритмы и алгоритмические структуры» в учебном процессе школьного курса информатики, мы достигли поставленной цели исследования: изучить методику преподавания темы: «Алгоритмы и алгоритмические структуры», позволяющую соблюдать целостность учебного материала на уроках информатики в школе. Для этого были решены следующие задачи:
В процессе проведения исследования в теории и на практике было подтверждено наше предположение о том, что действительно изучение темы: «Алгоритмы и алгоритмические структуры» повышает эффективность изучения учебного материала на уроках информатики в целом и благотворно влияет на развитие алгоритмического мышления школьников. Кроме этого, как оказалось данная тема способствует более рациональному и осознанному усвоению учебного материала не только на уроках информатики.
Список литературы.
1 Глейзер Г.И. История математики в школе VII VIII кл. пособие для учителей. М.:Просвещение, 1982.-14с.
2 Гейн А.Г., Сенокосов А.И., Шолохович В.Ф., Информатика. 7-9 кл.: Учеб. для 8-9 кл. шк. с углуб. изуч. информатики.- М.: Просвещение, 1995.-26c.
3Могилев А.В. Информатика: Учеб. пособие для студ. пед. вузов/ А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К.Хеннера. 2-е изд.,стер. М.:Издательский центр «Академия», 2003.-816 с.
4 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-114с.
5 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-112с.
6 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-113с
7 Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В., Информатика. Базовый курс для 7-9 классы- М.: БИНОМ. Лаборатория Знаний, 2004.-23с.
8 Шауцукова Л.З. Информатика 10 - 11. М.: Просвещение, 2000.-121c
9Могилев А.В. Информатика: Учеб. пособие для студ. пед. вузов/ А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К.Хеннера. 2-е изд.,стер. М.:Издательский центр «Академия», 2003.-47 с.
10 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-113с.
11 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-113с.
12 Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В., Информатика. Базовый курс для 7-9 классы- М.: БИНОМ. Лаборатория Знаний, 2004.-45с.
13 Кузнецов А.А. и др. Основы информатики. - М.: Дрофа, 1998.-65с.
14 Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В., Информатика. Базовый курс для 7-9 классы- М.: БИНОМ. Лаборатория Знаний, 2004.-14с.
15 Лебедев Г.В., Кушниренко А.Г. 12 лекций по преподаванию курса информатики. - М.: Дрофа, 1998.-345c.
16 Кушниренко А.Г. и др. Информатика. - М.: Дрофа, 1998.-56с.
17 Введение в психологию/Под общ. ред. проф. А.В.Петровского М.:Академия, 1996. 496с.
18 Введение в психологию/Под общ. ред. проф. А.В.Петровского М.:Академия, 1996. 496с.
19 Семакин И.Г., Вараксин Г.С. Информатика. Структурированный конспект базового курса. М.: Лаборатория Базовых Знаний, 2001.-140 с
20Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-208с.
21 Информатика в понятиях и терминах: Кн. Для учащихся ст. классов сред. шк./Г.А.Бордовский, В.А.Извозчиков, Ю.В.Исаев, В.В.Морозов; Под ред. В.А. Извозчикова. М.:Просвещение, 1991.-116с.
22 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов/Н.Д. Угринович. М.:Бином.Лаборатория знаний, 2003.-150с.
23 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов/Н.Д. Угринович. М.:Бином.Лаборатория знаний, 2003.-155с.
24 Кушниренко А.Г., Лебедев Г.В. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. Методическое пособие. - М.: Лаборатория Базовых Знаний, 2000. 9с.
25 Кушниренко А.Г., Лебедев Г.В. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. Методическое пособие. - М.: Лаборатория Базовых Знаний, 2000. 12с.
26 Кушниренко А.Г., Лебедев Г.В. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. Методическое пособие. - М.: Лаборатория Базовых Знаний, 2000. 13с.
27 Лапчик М.П. Вычисления. Алгоритмизация. Программирование: Пособие для учителей. - М.: Просвещение, 1988.-65с.