Навигация по странице:
|
курcовая_Якушева. Цель курсовой работы раскрыть методические особенности изучения раздела алгоритмизация в базовом школьном курсе информатики, разработать систему задач и упражнений. Для достижения цели были выдвинуты следующие задачи
Введение
Раздел «Алгоритмы и исполнители» в базовом школьном курсе информатики» занимает одно из центральных мест. Однако до сих пор нет достаточно определенного мнения в вопросах, касающихся более частных аспектов преподавания этого раздела.
Изучение алгоритмизации в школьном курсе информатике может иметь два целевых аспекта: первый – развивающий аспект, под которым понимают развитие алгоритмического мышления учащихся; второй – программистский аспект, под которым понимают развитие навыков составление учебных программ.
Различные авторы школьных программ по курсу «Информатика и ИКТ» по разному подходят к построению алгоритмической учебной линии. В том числе по иному решаются проблемы содержания теоретической и практической составляющей разработчиками школьных программ, к ним относятся Л.Л Босова, Н.Д. Угринович, И.Г. Семакин и другие.
Актуальность данной темы заключается в том, что профессии связанные с программированием являются достаточно распространенными и престижными. Основополагающим в разделе «Программирования» – является алгоритмизация. Составление программ на ЭВМ начинается с построения алгоритма, важнейшим качеством профессионального программиста является развитое алгоритмическое мышление.
Цель курсовой работы - раскрыть методические особенности изучения раздела «алгоритмизация» в базовом школьном курсе информатики, разработать систему задач и упражнений.
Для достижения цели были выдвинуты следующие задачи:
1) провести анализ школьных учебников и литературных источников по теме исследования;
2) выделить особенности ФГОСов в разделах, касающихся алгоритмизации;
3) рассмотреть типы задач по различным тематикам раздела
4) составить систему задач, тестов, самостоятельных работ, а также подготовить занимательные задания, и задачи для подготовки к экзаменам.
Глава 1. Методические особенности изучения алгоритмизации
§1. Подходы к изучению алгоритмизации
В федеральном образовательном стандарте по информатике и ИКТ тема алгоритмизации присутствует в разделе «Обработка информации»: «Алгоритм, свойства алгоритмов. Способы записи алгоритмов; блок-схемы. Алгоритмические конструкции. Логические значения, операции, выражения. Разбиение задачи на подзадачи, вспомогательный алгоритм».
В Примерной программе теме «Алгоритмы и исполнители» выделяется 19 ч. Содержание темы расписано более подробно, чем в стандарте: «Алгоритм. Свойства алгоритма. Способы записи алгоритмов; блок-схемы. Возможность автоматизации деятельности человека. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ). Алгоритмические конструкции: следование, ветвление, повторение. Разбиение задачи на подзадачи, вспомогательный алгоритм. Алгоритмы работы с величинами: типы данных, ввод и вывод данных».
Изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый — развивающий аспект, под которым понимается развитие алгоритмического (еще говорят — операционного) мышления учащихся; второй — программистский аспект. Составление программы для ЭВМ начинается с построения алгоритма, важнейшим качеством профессионального программиста является развитое алгоритмическое мышление.
В Приложении 1 представлена структура основных понятий содержательной линии «Алгоритмизация и программирование», которая разделена на две ветви: ветвь алгоритмизации и ветвь программирования. Эти ветви имеют общую часть, которая начинается с блока «Алгоритмы работы с величинами». Из схемы, в частности, следует, что основой методики обучения алгоритмизации и программированию является методика структурного программирования. На разных уровнях изучения может отличаться глубина и степень подробности раскрытия различных разделов схемы.
Подходы к раскрытию темы в учебной литературе.
Понятие алгоритма является центральным в первом школьном учебном пособии по информатике [2]. Там приводится следующее определение: «Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи». Указание на выполнение каждого отдельного действия названо командой, а «совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя». В качестве основного свойства алгоритма подчеркивается формальный характер работы исполнителя при его выполнении. Отсюда делается вывод о том, что исполнителем алгоритма может быть автомат (машина, робот). На этой идее основан принцип программного управления работой компьютера, поскольку программа — это и есть алгоритм, представленный на языке, «понятном» компьютеру — на языке программирования.
Сформулированные в учебном пособии под ред. А.П. Ершова понятия явились дидактической основой для раскрытия темы алгоритмизации во всех последующих учебниках информатики.
Наряду с использованием алгоритмического языка для описания алгоритмов в [2] активно используются блок-схемы. Подчеркивается необходимость стандартного изображения блок-схем, чего также требует методика структурного подхода к программированию.
В своих методических статьях и выступлениях А. П. Ершов выдвигал следующую идею применительно к школьной информатике: различать исполнителей алгоритмов, работающих с величинами и работающих «в обстановке»; а соответствующие алгоритмы для этих исполнителей называть алгоритмами работы с величинами и алгоритмами работы «в обстановке». В алгоритмах второго типа отсутствуют такие элементы, как величины (переменные, константы), команда присваивания, однако используются все типы алгоритмических структур. Идея применения таких исполнителей для обучения в полной мере была реализована в более поздних учебных изданиях.
Методика использования учебных исполнителей алгоритмов получила развитие в учебниках для X —XI кл. А. Г. Кушниренко (исполнители Робот, Чертежник), А. Г.Гейна (исполнители Чертежник, Робот-манипулятор, Вычислитель) и в учебнике для VII —IX кл. А. Г. Гейна (исполнитель Паркетчик).
В учебнике И. Г.Семакина [10]применен кибернетический подход к теме алгоритмизации. Алгоритм трактуется как информационный компонент системы управления. Такой подход дает возможность ввести в содержание базового курса новую содержательную линию — линию управления. Это многоплановая линия, которая позволяет затронуть следующие вопросы: элементы теоретической кибернетики — кибернетическая модель управления с обратной связью; элементы прикладной кибернетики — структура компьютерных систем автоматического управления (систем с программным управлением); назначение автоматизированных систем управления; основы теории алгоритмов.
Для того чтобы соблюсти принцип инвариантности содержания по отношению к конкретным версиям программного обеспечения, в учебнике [10] описывается гипотетический учебный исполнитель, которому дано имя ГРИС — графический исполнитель. Это исполнитель, работающий в обстановке (т.е. без использования величин). На примере ГРИС вводятся основные понятия алгоритмизации. Предлагаемая последовательность заданий способствует эффективному достижению основной цели раздела - освоения структурной методики построения алгоритмов.
Подводя итог обзору изложения алгоритмизации в учебниках 1-3 поколений, отметим, что в них отразились результаты большой исследовательской работы авторов в построении методической системы обучения алгоритмизации. Это одно из значительных научно-методических достижений в области теории и методики обучения информатике. Такая система отнюдь не потеряла актуальность и для современного этапа развития школьной информатики.
В ученике четвертого поколения Семакин И.Г. Информатика и Икт , 2005, [11] сохранен тот же методический подход и содержание раздела алгоритмизации, что и в [10]
Изучение алгоритмизации и программирования в базовом курсе Н.В.Макаровой поддерживается учебником Информатика 7-9 кл., под ред. Н.В. Макаровой [3] и учебным пособием Информатика 7-9 кл., Практикум по информационным технологиям, под ред. Н.В. Макаровой [6]. В учебнике раскрываются основные теоретические понятия темы: определение алгоритма, свойства и структуры алгоритмов. Все понятия иллюстрируются на примерах бытового характера. Никакого формализованного исполнителя алгоритмов в учебнике не используется.
Материал для практической работы по данной теме содержится в учебном пособии [4]в разделе «Программирование в среде ЛОГО». Практическая работа учащихся заключается в составлении программ управления исполнителем Черепашка, имеющимся в среде ЛогоМиры. Порядок изучения определяется последовательностью усложнения структур алгоритмов: линейные, циклические, ветвящиеся, включающие процедуры. Обучение навыкам алгоритмизации и правилам программирования на языке ЛОГО происходит параллельно.
Следует заметить, что согласно тематическому плану, приведенному в методическом пособии для учителя [9] на изучение раздела «Алгоритмизация и программирование» отводится 34 ч. в VII кл. Это не согласуется с федеральным базисным учебным планом (напомним: общий объем курса 105 ч в VIII, IX кл.). Поэтому изучение темы «Алгоритмизация и программирование» по учебно-методическому комплексу Н. В. Макаровой возможно лишь при наличии вариативной компоненты БУП.
На изучение раздела «Основы алгоритмизации и объектно-ориентированного программирования» по учебнику Н.Д. Угриновича [13] отводится 14 ч в 9 классе (см. программу курса в [9]), что согласуется с примерной программой по информатике и федеральным базисным учебным планом. Общее определение и свойства алгоритма кратко описываются в подразделе 2.1. Учебные среды (исполнители) для освоения алгоритмизации не применяются. Об алгоритмических структурах и структурах данных рассказывается параллельно с описанием программирования на языке Visual Basic.
Для описания алгоритмов в учебниках Н.В. Макаровой [5] и Н.Д. Угриновича [13] используется блок-схемы, но не используется учебный алгоритмический язык.
§2.Методика введения понятия алгоритма
Определение и свойства алгоритма. В подходах к определению алгоритма в разных учебниках четвертого поколения имеются заметные различия. В учебнике [11] при раскрытии понятия алгоритма рассматривается кибернетическая модель системы управления, в которой управляющий объект и объект управления связаны между собой каналами прямой и обратной связи. Алгоритм есть последовательность команд, которая передается от управляющего через канал прямой связи к объекту управления. Исполнителем алгоритма является объект управления, поскольку именно он осуществляет действия, предписываемые командами алгоритма. Например, офицер голосом отдает команды солдату и тот четко выполняет их. Солдат здесь является объектом управления, а стало быть, исполнителем алгоритма.
В учебнике [13]сказано: «Алгоритмы широко используются в технике в системах управления объектами. В любой системе управления существует управляющий объект, который является исполнителем алгоритма управления». Утверждение противоположное тому, что дается в [11] Приводится пример управления обогревателем воздуха со стороны человека, наблюдающего за температурой в помещении. Делается утверждение, что исполнителем алгоритма является человек.
В системах управления, где роль управляющего выполняет человек, следует различать две ситуации:
человек управляет действиями другого объекта — объекта управления;
человек управляет собственными действиями.
Примеры первой ситуации: командир управляет солдатами,
директор управляет рабочим коллективом, регулировщик дорожного движения управляет водителями и пешеходами. Примеры второй ситуации: повар готовит пищу, ученик решает задачу по математике, шахматист играет в шахматы. Во всех случаях человек осуществляет управление согласно определенным правилам- алгоритма.
Примеры первого типа назовем внешним управлением. Примеры второго типа можно назвать самоуправлением. В ситуации самоуправления человек является одновременно и управляющим и объектом управления, а стало быть, исполнителем алгоритма управления. Пример с нагревателем - это ситуация самоуправления: человек управляет собственными действиями в целях поддержки определенного температурного режима в помещении. Он отдает себе команды:
посмотреть температуру воздуха на термометре;
если температура ниже определенной величины, то включить нагреватель.
И сам же их исполняет. В примерах внешнего управления объектами управления и исполнителями алгоритмов управления являются: солдат, рабочий коллектив, водители автотранспорта и пешеходы.
Из сказанного следует, что как для ситуации внешнего управления, так и для самоуправления справедливо утверждение: исполнителем алгоритма является объект управления.
То же самое можно говорить и о компьютере, рассматривая ситуации внешнего управления в режиме реального времени (производственной или экспериментальной установкой, космическим кораблем) и самоуправления (выполнение расчетов с выводом результатов на экран или принтер). Разница состоит в том, что человек может сам программировать свои действия, а работа компьютера программируется человеком. Однако после того как человек занес в память компьютера программу, далее компьютер работает как управляющая или самоуправляемая система.
В учебнике [6] введение понятия алгоритма не связывается с кибернетической моделью процессов управления. Определение алгоритма не опирается на понятие исполнителя: «Алгоритм- описание последовательности действии (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов» [6, с. 143].
Далее говорится о том, что создание алгоритма проходит три стадии. «Первая стадия - разработка приближенного алгоритма, ориентированного на создающего его человека: определить цель, для достижения которой будет создан алгоритм; наметить приближенный план действий для достижения поставленной цели» [6, с. 160]. Все положения иллюстрируются на задачах бытового типа: собраться в путешествие, подготовить поздравление с праздником, заточить карандаши и т.п. В связи с тем, что на этом этапе не вводится понятия исполнителя и системы команд исполнителя, среди свойств алгоритма отсутствует свойство понятности, т.е. требования, чтобы алгоритм составлялся только из команд СКИ исполнителя.
«Вторая стадия — детализация алгоритма с учетом специфики среды и других объектов: выбрать среду и объекты, посредством которых алгоритм будет реализован; детализовать алгоритм с учетом особенностей выбранной среды».
Понятие об исполнителе алгоритма появляется на третьей стадии: «…на которой алгоритм должен быть представлен в форме, понятной Исполнителю» Остается непонятным, в чем разница между «средой и объектами» на второй стадии и «исполнителем» на третьей стадии. Далее говорится о том, что если исполнителем является компьютер, то на третьей стадии алгоритм переходит в программу.
Во всех учебниках приводится перечень свойств алгоритма: дискретность, точность (детерминированность), конечность, массовость. Сделаем небольшой комментарий по поводу последнего свойства. «Свойство массовости выражается в том, что алгоритм единым образом применяется к любой конкретной формулировке задачи, для решения которой он разработан» [7]. Другими словами, это можно назвать универсальностью алгоритма по отношению к исходным данным решаемой задачи. Заметим, что данное свойство не является необходимым свойством алгоритма, а скорее определяет качество алгоритма: универсальный алгоритм лучше не универсального (алгоритм решения частной задачи — тоже алгоритм!).
Чрезмерная «бытовизация» темы идет во вред дидактическому принципу научности обучения информатике. С позиции научности при раскрытии понятия алгоритма в большей степени следует использовать формализованные системы. Во всех учебниках говориться о происхождении понятия алгоритма: от правил выполнения операций над многозначными десятичными числами, сформулированными Аль Хорезми. Это формализованная знаковая система. Теория алгоритмов, возникшая в 30-х годах XX в., строилась на формализованных знаковых системах: машины Поста и Тьюринга, алгоритмы Маркова. Существует опыт преподавания темы алгоритмов в школе с использованием таких систем. Можно возразить, что такой подход слишком сложен для массовой школы. Но и учебные исполнители алгоритмов, о которых говорилось ранее, тоже являются формализованными системами, которые позволяют методически корректно вводить основные понятия и обучать практическим навыкам в алгоритмизации. Причем еще с большим успехом это делается на пропедевтической ступени изучения информатики («Роботландия», «Алгоритмика»).
Основные типы учебных алгоритмических задач. Для закрепления основных понятий, связанных с определением алгоритма, полезно рассмотреть с учениками несколько заданий следующего содержания:
выполнить роль исполнителя: дан алгоритм, формально исполнить его;
определить исполнителя и систему команд для данного вида работы;
-
в рамках данной системы команд построить алгоритм;
определить необходимый набор исходных данных для решения задачи.
В результате обучения учащиеся должны:
знать (понимать): понятие «алгоритм», основные свойства алгоритма, роль алгоритма в системах управления, устройства управления у различных исполнителей могут быть одинаковыми;
уметь: определять примерный набор допустимых действий для решения данного класса задач;
использовать приобретенные знания и умения в практической деятельности и повседневной жизни: распознавать, подходит ли данный исполнитель для решения задач изданного класса.
§3. Методика обучения алгоритмизации на учебных исполнителях, работающих «в обстановке»
Обучение методам построения алгоритмов - один из наиболее отработанных разделов школьной информатики. Традиционно применяемым дидактическим средством в этом разделе являются учебные исполнители алгоритмов, которые удовлетворяют следующим условиям:
это должен быть исполнитель, работающий «в обстановке»;
этот исполнитель должен имитировать процесс управления некоторым реальным объектом (Черепахой, Роботом и др.);
в системе команд исполнителя должны быть все структурные команды управления (ветвления, циклы);
исполнитель позволяет использовать вспомогательные алгоритмы (процедуры).
Последние два пункта означают, что на данном исполнителе можно обучать структурной методике алгоритмизации. Всякое педагогическое средство должно соответствовать поставленной учебной цели. Главной целью раздела алгоритмизации является овладение учащимися структурной методикой построения алгоритмов.
Обучение алгоритмизации. Обучение алгоритмизации (программированию) для исполнителя нужно строить на последовательности решаемых задач. Эта последовательность должна определяться следующими принципами:
от простого к сложному — постепенное усложнение задач;
новизна — каждая задача вносит какой-то новый элемент знаний (новая команда, новый прием программирования);
наследование — следующая задача требует использования знаний, полученных при решении предыдущих задач.
В учебнике [11] рассматривается последовательность задач, которая позволяет ученикам осваивать приемы алгоритмизации в таком порядке:
составление линейных алгоритмов;
описание и использование вспомогательных алгоритмов;
составление циклических алгоритмов;
использование ветвлений в алгоритмах;
использование метода последовательной детализации при составлении сложных алгоритмов.
Разобравшись в рассмотренных задачах, выполнив самостоятельные задания аналогичного типа, ученики должны усвоить два основных принципа структурной методики алгоритмизации (структурного программирования);
всякий алгоритм может быть построен с использование грех типов управляющих структур: следование, ветвление, цикл;
при построении сложных алгоритмов следует применять метод последовательной детализации.
Способы описания алгоритмов. Традиционно в школьной информатике используются два способа описания алгоритмов: блок- схемы и учебный алгоритмический язык. В базовом курсе информатики необходимо использовать обе эти формы. Основное достоинство блок-схем - наглядность алгоритмической структуры. Однако это качество проявляется лишь в том случае, если изображение блок-схемы происходит стандартным способом. Основным следствие освоения учениками структурной методики должно стать умение при построении алгоритмов «мыслить структурами». Например, исходя из условия задачи делать следующие выводы: «Алгоритм решения данной задачи будет представлять собой два вложенных цикла, или цикл с вложенным ветвлением, или два последовательных цикла» и т. п. Структурно изображенные блок-схемы помогают такому видению алгоритма. Сравним, например, две блок-схемы, изображенные на рис. 1(а,б).
На первый взгляд, трудно понять, что на них изображен один и тот же алгоритм. Из схемы на рис. 1, а четко видна его структура: цикл - пока с вложенным ветвлением. В схеме на рис. 1, б довольно сложно увидеть эту же структуру. Схема на рис. 1,а изображена стандартно, схема на рис. 1, б - произвольно.
Алгоритмический язык — это текстовая форма описания алгоритма. Она ближе к языкам программирования, чем блок-схемы. Однако, это еще не язык программирования. Поэтому строгого синтаксиса в алгоритмическом языке нет. Для структурирования текста алгоритма на АЯ используются строчные отступы. При этом соблюдается следующий принцип: все конструкции одного уровня вложенности записываются на одном вертикальном уровне, вложенные конструкции сметаются относительно внешней вправо. Соблюдение этих правил улучшает наглядность структуры алгоритма, однако не дает такой степени наглядности, как блок- схемы.
Алгоритм на русском алгоритмическом языке в общем виде записывается в форме:
алг название алгоритма (аргумент и результат)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
В записи алгоритма ключевые слова обычно подчёркивались либо выделялись полужирным шрифтом. Для выделения логических блоков применялись отступы, а парные слова начала и конца блока соединялись вертикальной чертой.
Система КуМир.
Во второй главе будут рассмотрены задания в системе КуМир, поэтому рассмотрим ее особенности.
Система КуМир разработана исходя из потребностей российского образования:
Свободно распространяемая
Многоплатформенная
Нулевые требования к ресурсам
Поддерживается российской академией наук
В числе разработчиков – авторы многих учебников и учебных пособий по информатике.
Система КуМир нацелена на проведение эффективного практикума по основам алгоритмизации.
Простой язык, интегрированная среда.
Постоянная полная диагностика синтаксиса в процессе редактирования программы.
Возможность автоматической проверки при самостоятельной работе.
При подготовке заданий для учащихся, в «учительском» режиме КуМира при редактировании программы можно делать невидимыми или неизменяемыми некоторые строки. КуМир позволяет создать файл-задание, скомпонованное из шаблона – заготовки программы, которую можно дописать и блока тестирования.
КуМир может быть использован на любом количестве компьютеров в любых целях без получения каких-либо дополнительных разрешений.
В КуМире несколько исполнителей.
Исполнитель Кузнечик.
СКИ:
вперед 3
назад 2
перекрасить
Среда функционирования: координатная прямая.
Исполнитель Водолей:
СКИ:
∙ наполни А
∙ наполни B
∙ наполни C
∙ вылей А
∙ вылей B
∙ вылей C
∙ перелей из A в B
∙ перелей из A в C
∙ перелей из B в A
∙ перелей из B в C
∙ перелей из C в A
∙ перелей из C в B
Среда функционирования:
Оно содержит три сосуда, обозначенные латинскими буквами «A», «B», «C», а также
верхнюю панель, на котором находится меню «Задание».
Исполнитель Черепашка:
СКИ:
∙ поднять хвост
∙ опустить хвост
∙ вперед (вещ)
∙ назад (вещ)
∙ вправо
∙ влево
Среда функционирования:
Исполнитель Робот:
СКИ:
Команды перемещения:
вверх, вниз, влево, вправо
Робот перемещается на одну клетку вверх, вниз, влево, вправо.
Команда закрасить – закрашивает клетку, в которой стоит Робот.
Проверка истинности условия:
сверху свободно, снизу свободно, слева свободно, справа
свободно
Робот проверяет истинность условия отсутствия стены у той клетки, где находится Робот.
Можно использовать запись составных условий, образованных
логическими операциями И, ИЛИ, НЕ.
Среда функционирования:
В результате обучения учащиеся должны:
знать (понимать): способы записи алгоритмов: блок-схемы, учебный алгоритмический язык; основные алгоритмические конструкции: следование, ветвление, цикл; структуры алгоритмов; назначение вспомогательных алгоритмов; технологии построения сложных алгоритмов: метод последовательной детализации и сборочный (библиотечный) метод.
-
уметь: пользоваться языком блок-схем, понимать описания алгоритмов на учебном алгоритмическом языке; выполнить трассировку алгоритма для известного исполнителя; составлять несложные линейные, ветвящиеся и циклические алгоритмы управления одним из учебных исполнителей; выделять подзадачи; определять и использовать вспомогательные алгоритмы;
использовать приобретенные знания и умения в практической деятельности и повседневной жизни: для развития алгоритмического мышления.
§4. Методические проблемы изучения алгоритмов работы с величинами
Есть две стороны в обучении алгоритмизации: обучение структурной методике построения алгоритмов, обучение методам работы с величинами.
Знакомясь с программным управлением исполнителями, работающими «в обстановке», ученики осваивали методику структурного программирования. При этом понятие величины могло быть не затронуто вовсе. Однако с величинами ученики уже могли встречаться в других темах базового курса: в частности, при изучении баз данных, электронных таблиц. Теперь требуется объединить навыки структурной алгоритмизации и навыки работы с величинами.
ЭВМ - исполнитель алгоритмов. Обсуждение методических вопросов изучения темы «Алгоритмы работы с величинами» будем проводить в программистском аспекте. Составление любой программы для ЭВМ начинается с построения алгоритма. Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя, в рамках его системы команд. О каком же исполнителе идет речь в теме «программирование для ЭВМ»? Ответ очевиден: исполнителем является компьютер. Точнее говоря, исполнителем является комплекс «ЭВМ + Система программирования (СП)». Программист составляет программу на том языке, на который ориентирована СП. Иногда в литературе по программированию такой комплекс называют «виртуальной ЭВМ». Например, компьютер с работающей системой программирования на Бейсике называют «Бейсик - машина», компьютер с работающей системой программирования на Паскале называют «Паскаль-машина» и т. п. Схематически это изображено на рис. 2. Входным языком такого исполнителя является язык программирования Паскаль.
При изучении элементов программирования в базовом курсе необходимо продолжать ту же структурную линию, которая была заложена в алгоритмическом разделе. Поэтому при выборе языка программирования следует отдавать предпочтение языкам структурного программирования.
Процесс программирования подразделяется на три этапа:
составление алгоритма решения задачи;
составление программы на языке программирования;
отладка и тестирование программы.
Для описания алгоритмов работы с величинами следует, как и раньше, использовать блок-схемы и учебный алгоритмический язык. Описание алгоритмов должно быть ориентировано на исполнителя со структурным входным языком независимо от того, какой язык программирования будет использоваться наследующем этапе.
Характеристики величин. Компьютер работает с информацией. Информация, обрабатываемая компьютерной программой, называется данными. Величина — это отдельный информационный объект, отдельная единица данных. Команды в компьютерной программе определяют действия, выполняемые над величинами. По отношению к программе данные подразделяются на исходные результаты (окончательные данные) и промежуточные данные, которые получаются в процессе вычислений (рис.3).
Например, при решении квадратного уравнения ах2 + bх + с =0 исходными данными являются коэффициенты а, в, с; результатами - корни уравнения: x1, х2; промежуточными данными - дискриминант уравнения: D = b2- 4ас.
Важнейшим понятием, которое должны усвоить ученики является следующее: всякая величина занимает свое определенное место в памяти ЭВМ — ячейку памяти. В результате в сознании учеников должен закрепиться образ ячейки памяти, сохраняющей величину. Термин «ячейка памяти» рекомендуется употреблять и в дальнейшем для обозначения места хранения величины. С понятием величины необходимо связать ее основные свойства: значение, имя, тип.
Действия над величинами. Действия под величинами, определяемые алгоритмом (программой), основываются на следующей иерархии понятий: операция - выражение - команда или оператор - система команд (рис. 4).
Операция — простейшее законченное действие над данными.
Выражение — запись в алгоритме (программе), определяющая последовательность операций для вычисления некоторой величины.
Команда — входящее в запись алгоритма типовое предписание исполнителю выполнить некоторое законченное действие. Команды присваивания, ввода, вывода называются простыми командами; команды цикла и ветвления — составными или структурными командами.
Узловыми понятиями в программировании являются понятия переменной и присваивания. Процесс решения вычислительной задачи — это процесс последовательного изменения значений переменных.
В итоге в определенных переменных получается искомый результат. Переменная получает определенное значение в результате присваивания. Из числа команд, входящих в представленную ранее СКИ, присваивание выполняют команда ввода и команда присваивания. Есть еще третий способ присваивания — передача значений через параметры подпрограмм, но о нем мы здесь говорить не будем.
В большинстве случаев непонимание некоторыми учениками программирования происходит от непонимания смысла присваивания. Поэтому учителям рекомендуется обратить особое внимание на этот вопрос.
Команда присваивания имеет следующий вид:
<�переменная> := <�выражение>.
Знак «:=» надо читать как «присвоить». Это инструкция, которая обозначает следующий порядок действий: 1) вычислить выражение; 2) присвоить полученное значение переменной.
Под вводом в программировании понимается процесс передачи данных с любого внешнего устройства в оперативную память. В рамках введения в программирование можно ограничиться узким пониманием ввода как передачи данных с устройства ввода — клавиатуры в ОЗУ. В таком случае ввод выполняется компьютером совместно с человеком. По команде ввода работа процессора прерывается и происходит ожидание действий пользователя, пользователь набирает на клавиатуре вводимые данные и нажимает на клавишу <�ВВОД>, значения присваиваются вводимым переменным.
Пример вычисления суммы квадратов:
алг Сумма квадратов (аргцел n, резцел S)
дано |n > 0
надо | S = 1*1 + 2*2 + 3*3 + … + n*n
начцел i
| ввод n; S:=0
| нц для i от 1 до n
| | S := S + i * i
| кц
| вывод "S = ", S
кон
В последние несколько лет школьный алгоритмический язык включается как один из предлагаемых в текстах задач ЕГЭ по информатике
В результате обучения учащиеся должны:
знать (понимать): понятие величины; основные свойства величин в алгоритмах обработки информации — имя, тип, значение величины; смысл команды присваивания;
уметь: описывать алгоритмы с величинами на языке блок- схем и учебном алгоритмическом языке;
использовать приобретенные знания и умения в практической деятельности и повседневной жизни: для пропедевтики обучения программированию на языках высокого уровня.
Глава 2. Разработка заданий по теме: «Алгоритмизация»
§1. Задания, выполнение которых осуществляется в КуМире.
Исполнитель Кузнечик:
1.Переведите Кузнечика из точки 0 в точку 7.
2. Заставьте Кузнечика побывать по одному разу в каждой из точек 1, 2, 3, 4, 5, не выходя за пределы отрезка от 0 до 5.
3. Кузнечик начал выполнение программы в точке 0 и закончил в точке 2. Затем программа была выполнена еще раз. Где теперь оказался Кузнечик?
4. Составьте программу перемещение из 5 в 0, побывать по одному разу в каждой из точек 0,1, 2, 3, 4, используя команды,
Назад 4
Вперед 1
не выходя за пределы отрезка от 0 до 5.
5. Написать программу которая закрашивает все четные точки в отрезки от 0 до 50
Начиная 0. Используя команды
Назад 3
Вперед 5
не выходя за пределы точки 50.
Исполнитель Водолей:
Написать программу для получения :
2 и 4; 4 и 7; 5 и 5 (для 8,5 и 3)
5 и 4; 7 и 4 (для 10,6 и 3)
5 и 5 (для 10, 7 и 4)
Используя пульт, составьте алгоритм решения задачи: «Имея 2 сосуда емкостью 5 и 8 литров, набрать из водопроводного крана 7 литров воды»
Используя команды исполнителя Водолей, составьте алгоритм решения задачи: «Злая мачеха отправила падчерицу к роднику за водой и сказала: «Вот тебе 2 ведра, в одно входит 9 литров воды, а в другое – 5 литров. Но ты должна принести домой ровно 3 литра воды. Как это сделать бедной падчерице?»
Исполнитель Черепашка:
Создать процедуру рисования равностороннего треугольника со стороной 20 пикселей.
|
|
|