СКАЧАТЬ
Алгоритмы и их свойства. Формирование алгоритмической культуры учащихся.
Повседневно в быту, в школе, на работе нам приходится решать множество задач, содержание которых необязательно связано с математическими и точными науками. Часто возникает та или иная ситуация, которую необходимо разрешить, т.е. найти приемлемое решение.
Решая ту или иную задачу, мы составляем алгоритм, даже не подозревая этого.
Для решения задачи мы должны иметь исходные данные и, составив алноритм найти результат.
Алгоритм – это задание, состоящее из команд. Алгоритм всегда нацелен на исполнителя: это может быть маленький двухлетний ребёнок, взрослый человек, автомат, собачка из цирка и т.д.
Если мы дадим двухлетнему ребенку деньги и задание сходить в магазин за хлебом, то вряд ли он выполнит эту работу и достигнет нужного результата. Ему еще неизвестно много промежуточных команд: например как дойти до магазина, как выбрать нужный товар, как и кому платить деньги м т.д.
Алгоритм – это задание, состоящее из команд. Если правильно придумать команды и выполнить их одну за другой без ошибок, то можно решить поставленную задачу. Так мы трактуем определение алгоритма для малышей.
Хотя правильно определение алгоритма будет звучать так: алгоритм – понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели.
-
Из самого определения алгоритма вытекают его свойства:
-
Дискретность (разбиение действий на шаги)
-
Точность (мы должны точно знать какое действие следует за каким)
-
Понятность (алгоритм должен быть понятен исполнителю и направлен на те действия, которые известны исполнителю
-
Результативность (обязательно надо придти к результату)
-
Массовость (алгоритм должен работать при различных исходных данных.
Как проверить является данное задание алгоритмом или нет. А очень просто: если хотя бы одно свойство алгоритма не выполняется, значит это не алгоритм.
Примеры алгоритмов для малышей:
-
Уходя гасите свет.
Это алгоритм? – спрашивает учитель. И постоянно добавляя и конкретизируя данное предложение мы приходим к выводу – нет. А как будет звучать эта фраза, чтобы её мог выполнить любой: Уходя из помещения последним, если свет горел, выключи его.
-
Гори, гори, моя звезда.
Конечно, я могу дать такое задание тысячам звёзд на небе, но разве они загорятся? Какого свойства здесь нет – результативности. Значит это не алгоритм.
-
Часто в помещении висит табличка «Не курить!» Вроде бы все свойства есть, кроме одного – дискретность. Действий должно быть несколько, ну хотя бы два. Стоит переделать эту фразу: «Не курить, не сорить!» и она сразу же превращается в алгоритм.
-
«Переходи дорогу только на зелёный свет!» Алгоритм ли это? А если нет светофора, а если он есть, но не работает, а если он есть и работает, но на нём горит только жёлтый мигающий. Вряд ли мы сможем перейти дорогу без печальных последствий. Как же переделать его в алгоритм: Если светофор есть, и он работает, и горит не жёлтый мигающий, то переходи дорогу только на зелёный свет.
-
А вот пример из книги о вкусной и здоровой пище. Там записаны алгоритмы приготовления борща. Но если дать по данному алгоритму выполнить эти рецепты трём разным людям, то вкус у каждого борща получится разный. Почему? Ведь вроде бы все действия выполнены. Оказывается результат зависит от различных исходных данных. Кто-то брал свежие продукты прямо с грядки, а кто-то продукты, залежавшиеся на прилавке. Вот и результаты получились разными.
-
А вот еще один пример. Как приготовить чай. «Беру чайник, ставлю его на огонь. Когда вода закипит, снимаю с огня и ополаскиваю заварной чайник, чтобы он был теплым, засыпаю нужное количество сухого чая и даю настояться несколько минут.» Это алгоритм или нет? Вот здесь дети должны увидеть ошибку. «Беру чайник и ставлю его на огонь… А если в чайнике нет воды? Да, это не алгоритм. Сделаем из него алгоритм: «Беру чайник и проверяю – есть ли в нём вода, если нет- наливаю воду и ставлю на огонь, а если да (вода есть)- сразу ставлю его на огонь. Когда вода закипит, снимаю с огня и ополаскиваю заварной чайник, чтобы он был теплым, засыпаю нужное количество сухого чая и даю настояться несколько минут.»
Алгоритмы можно записывать по разному. Действия (или шаги алгоритма маожно записать словами, а можно представить в графической форма ( в виде блок-схемы)
Вот примеры таких алгоритмов:
Пример приготовления теста -
взять 200 г маргарина, пол стакана воды, 3 стакана муки
-
растопить маргарин
-
влить воду
-
всыпать муку
-
перемешать, чтобы не было комков
-
положить в холод на 30 минут
Исходные данные: 200 г маргарина, пол стакана воды, 3 стакана муки
Результат: тесто
В этом алгоритме действия шли один за другим, мы их даже нумеровали, чтобы выполнить последовательно. Алгоритм такого вида называется линейным в словесной форме, но могут быть линейные алгоритмы и в графической форме:
Пример: Посадить растение.
Это линейный алгоритм, записанный в графической форме. Только при графической форме записи алгорита нужно вводить ещё две графические структуры:
Значит, наш алгоритм будет выглядеть так
Но линейные алгоритмы встречаются в этой жизни очень редко. Часто возникает условие, которое надо либо выполнять, либо нет. Порядок выполнения действий будет зависеть от выполнения некоторого условия. И появляется еще одна графическая структура. Алгоритмы с такой структурой называются разветвляющимися.
Пример: Определение типа равнины по высоте.
Мы получили разветвляющийся алгоритм. Разветвляющимся называется алгоритм, в котором порядок выполнения действий зависит от выполнения некоторого условия.
Пример: покупка билетов в кино.
Пример: Определение уровня обмена веществ в зависимости от температуры тела
Пример: Определение класса типа членистоногих по количеству членистых конечностей.
Пример: Правописание глаголов на «тся-ться»
Пример: определение рода существительного
Пример: определение времени глагола
А теперь о циклических алгоритмах. Если в алгоритме действие, команда или серия команд выполняется несколько раз, то такой алгоритм называется циклическим.
В следующем примере вы это увидите. Если у ребёнка есть деньги хотя бы на два пирожка, то цикл будет выполняться 2 раза.
Пример. Во время большой перемены проголодавшийся школьник зашёл в столовую с намерением поесть пирожков. Написать алгоритм его борьбы с чувством голода. (Имеется ввиду, что денег хотя бы на один пирожок у него есть.
Пример. Ученику задали несколько задач по математике. Придя домой, он решил сначала выполнить домашнее задание, а потом пойти погулять.
Пример: Про дерево (придумали учащиеся)
Пример: Про дыхание (придумали учащиеся)
Пример. Рыбалка. Все принадлежности для рыбной ловли взяты и в банке для червей имеется хотя бы один червяк
Достарыңызбен бөлісу: |