Методика изучения содержательной линии “Алгоритмизация и программирование” в курсе Информатика и ИКТ

Автор:retarnol

Методика изучения содержательной линии “Алгоритмизация и программирование” в курсе Информатика и ИКТ

Введение.
В течение всего периода преподавания информатики в школе (с 1985 года) актуальность темы «Алгоритмизация и программирование» претерпела значительные изменения. В силу некоторых обстоятельств: наличия теоретической базы предмета и технического обеспечение кабинета информатики, значимость преподавания темы в период с 2005 года по 2010 год значительно снизилась.

Точнее надо сказать, уменьшилось количество уроков, отводимых на изучение этой темы в старших классах. Большая часть времени отводится на преподавание тем цикла «Информационные и коммуникационные технологии». Наряду с этим нисколько не изменились требования к уровню усвоения знаний и умений этого раздела программы по информатике, так как он остается основой фундаментальных знаний по предмету.
В связи с изучением базового курса предмета в 7-9 классах, программирование в 9 классе стало изучаться в меньшем объеме, на уровне знакомства с одним из языков программирования, но основные конструкции языка были востребованы в некоторых других разделах информатики (устройство компьютера, логика, электронные таблицы). У детей сложилось не однозначное отношение к изучению темы. Некоторые считали, что информатику можно знать без темы «Алгоритмизация и программирование», хотя значимость темы никто не отрицал. Поэтому, как выход из положения, считаю, что практическое применение и дополнительные часы для работы можно найти при изучении темы «Моделирование». Например, при обработке табличного типа данных в программных средах Excel, Word и Pascal. Если учесть, что объектно-ориентированное программирование продолжает изучаться в 10-11 классах (Н.Угринович Информатика и информационные технологии), то считаю, что при правильной методике преподавания, ученики должны получить необходимый объем знаний по этой теме.
К сожалению многие учителя информатики в школах не владеют МПИ, так как не учились на информатиков. Поэтому они не владеют правильной методикой преподавания. Данная работа направлена на изучение методики преподавания линии «Алгоритмизация и программирование», что может во многом помочь будущим учителям информатики.

Глава 1
1.1 Общие сведения о школьном курсе информатики.
В нашей стране первые ЭВМ появились к началу 50-ч гг. ХХ века. Это привело к появлению информатики как науки во второй половине XX века. Как учебный предмет информатика была введена во все типы средних школ бывшего СССР с 1 сентября 1985 г. Новая учебная дисциплина получила название «Основы информатики и вычислительной техники».
Так что же такое информатика?
В сборнике «Становление информатики» В. С.Михалевич, Ю. М. Ка-ныгин и В. И. Гриценко утверждают: «Информатика — комплексная научная и инженерная дисциплина, изучающая все аспекты разработки, проектирования, создания, оценки функционирования машинизированных (основанных на ЭВМ) систем переработки информации, их применения и воздействия на различные области социальной практики». Но это определение не подходит для школы, поэтому из науки информатики была выделена особая область, которая получила название школьная информатика.
По словам Лапчика, школьная информатика определяется как ветвь информатики, занимающаяся исследованием и разработкой программного, технического, учебно-методического и организационного обеспечения применения ЭВМ в школьном учебном процессе.
Программное обеспечение применения ЭВМ в школьном курсе заключается в поддержании информационной, управляющей и обучающей системы средней школы, включая в себя программистские средства для проектирования и сопровождения таких систем, а также средства общения с ними, ориентированные на школьников, учителей и работников аппарата управления органами просвещения.
В области технического обеспечения школьная информатика имеет своей целью экономически обосновать выбор технических средств для со-провождения учебно-воспитательного процесса школы; определить параметры оборудования типовых школьных кабинетов вычислительной техники (КВТ); найти оптимальное соотношение использования серийных средств и оригинальных разработок, ориентированных на среднюю школу.
Учебно-методическое обеспечение школьной информатики состоит в разработке учебных программ, методических пособий, учебников по школьному курсу информатики, а также по всем школьным предметам, которые могут испытывать методологическое влияние информатики, и по курсам, при преподавании которых планируется использование средств информатики.
К проблемам организационного обеспечения относятся: организаци-онно-технические мероприятия по обеспечению и последующему сопровождению технической базы школьной информатики; организации разработки, тиражирования и доставки педагогических программных средств (ППС) в школу; подготовка и переподготовка кадров для всех уровней системы просвещения и прежде всего школьных учителей, способных нести в массовую школу информатику как новую научную дисциплину, как инструмент совершенствования преподавания других школьных предметов, как стиль мышления.

1.2 Цели и задачи школьного курса информатики
Цели образования являются прерогативой государства, которое на основе действующей законодательной базы формирует общие принципы своей педагогической политики. Согласно Статье 2 Закона Российской Федерации «Об образовании» в числе таких принципов на первом месте стоит «…гуманистический характер образования, приоритет общечеловеческих ценностей, жизни и здоровья человека, свободного развития личности; воспитание гражданственности и любви к Родине»[3]. Образование в России имеет целью становление самостоятельной, свободной, культурной, нравственной личности, сознающей ответственность перед семьей, обществом и государством, уважающей права, свободы других граждан, Конституцию и законы, способной к взаимопониманию между людьми, народами, различными расовыми, национальными, этническими, религиозными, социальными группами.[4].
Главные задачи общеобразовательной школы:
• обеспечение усвоения учащимися системы знаний, определяемой общественными и производственными потребностями;
• формирование научного миропонимания, политической, экономической, правовой культуры, гуманистических ценностей и идеалов, творческого мышления, самостоятельности в пополнении знаний;
• удовлетворение национально-культурных потребностей населения, воспитание физически и морально здорового поколения;
• выработка у молодежи осознанной гражданской позиции, человече-ского достоинства, стремления к участию в демократическом самоуправле-нии, ответственности за свои поступки.
Данные задачи справедливы и для школьного курса Информатики и ИКТ.
Общие цели, которые ставятся перед системой общего школьного образования: образовательные и развивающие цели; практические цели; воспитательные цели.
Образовательная и развивающая цель обучения информатике в школе — дать каждому школьнику начальные фундаментальные знания основ науки информатики.
Практическая цель школьного курса информатики — внести вклад в трудовую и технологическую подготовку учащихся, т.е. вооружить их теми знаниями, умениями и навыками, которые могли бы обеспечить подготовку к трудовой деятельности после окончания школы.
Воспитательная цель школьного курса информатики обеспечивается, прежде всего, тем мощным мировоззренческим воздействием на ученика, которое оказывает осознание возможностей и роли вычислительной техники и средств информационных технологий в развитии общества и цивилизации в целом.
Все эти цели очень тесно связанны между собой, достижение каждой из них не возможно без достижения остальных. По отдельности же эти цели не могут быть достигнуты.
Данные три цели расплывчаты, но при переложении их на уроки ин-форматики получаются конкретные цели. Их проектирование должно основываться, прежде всего, на анализе фундаментальных основ науки информатики, ее положение среди других наук и роли, которую она выполняет в обществе на современном этапе его развития.

1.3 Методика преподавания школьного курса информатики
Вместе с введением в школу общеобразовательного предмета «Основы информатики и вычислительной техники» началось формирование новой области педагогической науки – методики преподавания информатики. Объектом данной науки является Обучение информатики.
Согласно классификации научных специальностей, этот раздел педагогики, исследующий закономерности обучения информатике на современном этапе ее развития в соответствии с целями, поставленными обществом, получил новое название – «Теория и методика обучения и воспитания (информатике; по уровням образования)».
Важную роль в развитии методики преподавания информатики сыграли дидактические исследования целей и содержания общего кибернетического образования, накопленный отечественной школой еще до введения предмета информатики практический опыт преподавания учащимся элементов кибернетики, алгоритмизации и программирования, элементов логики, вычислительной и дискретной математики.
Но теория и методика обучения информатике и в настоящее время интенсивно развивается; школьному предмету информатики уже более двух десятков лет, но многие задачи в новой педагогической науке возникли совсем недавно и не успели получить еще ни глубокого теоретического обоснования, ни длительной опытной проверки.
Методика преподавания информатики ставит перед собой следующие цели: определить конкретные цели изучения информатики, а также содержание соответствующего общеобразовательного предмета и его место в учебном плане средней школы; разработать и предложить школе и учителю-практику наиболее рациональные методы и организационные формы обучения, направленные на достижение поставленных целей; рассмотреть всю совокупность средств обучения информатике (учебные пособия, программные средства, технические средства и т.п.) и разработать рекомендации по их применению в практике работы учителя.
Основная особенность курса МПИ – связь с другими, прежде всего методического цикла, предметами.
Как отмечает Н.В. Софронова, «преподавание информатики на современном уровне опирается на сведения из различных областей научного знания: биологии (биологические самоуправляемые системы, такие как человек, другой живой организм), истории и обществоведения (общественные социальные системы), русского языка (грамматика, синтаксис, семантика и пр.), логики (мышление, формальные операции, истина, ложь), математики (числа, переменные, функции, множества, знаки, действия), психологии (восприятие, мышление, коммуникации)»[5]
Другой особенностью МПИ является динамический, изменяющийся характер самой информатики и как науки, и как учебного предмета, ее нестабильность, постоянное развитие и совершенствование как технических, так и особенно программных средств. В этих условиях вынужденным и плодотворным решением является максимальная опора на результаты общей дидактики, на конкретные методики близких дисциплин – математики и физики.
Еще одна особенность МПИ – связь предмета с использованием компьютера, который обладает несравненно большей “самостоятельностью”, чем любой другой прибор.

Глава 2
2.1 Методика введения понятия алгоритм.
Изучение алгоритмизации и программирования делится на два этапа, это и есть само изучение алгоритмизации, а за тем программирования. Во многих учебных программах останавливаются только на изучении алгоритмизации, так как не большое количество учителей информатики имеют должный уровень подготовки для преподавания программирования на коком либо конкретном языке программирования.
Изучение алгоритмизации помогает развить у учащихся алгоритмическое мышление, что само по себе является базой для освоения программирования. Поэтому изучение алгоритмизации является важной частью курса информатики и при преподавании этой части курса учитель должен быть особенно внимателен и осторожен.
В образовательном стандарте базового курса по информатики и ИКТ основное содержание по линии алгоритмизации определяется через следующие понятия:
-алгоритм, свойства алгоритма, способы записи алгоритмов;
-исполнители алгоритмов (назначение, среда, режим работы, система команд);
-компьютер как формальный исполнитель алгоритмов;
-основные алгоритмические конструкции (следование, ветвление, повторение);
-разбиение задачи на подзадачи, вспомогательный алгоритм;
– алгоритмы работы с величинами (тип данных, ввод и вывод данных).
Изучение алгоритмизации начинается с введения понятия алгоритма. Понятие алгоритма относится к исходным математическим понятиям, поэтому не может быть определено через другие, более простые понятия. Из-за этого определение алгоритма в школьных учебниках по информатике отличается большим разнообразием. Вот некоторые из них:
В учебнике И.Г. Семакина и др. алгоритм определяется как последовательность команд, управляющих работой какого-либо объекта, и далее дается более строгое определение – понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
В учебнике А.Г. Кушниренко алгоритм определяется как программа, записанная на специальном школьном алгоритмическом языке.
В учебнике Н.Д. Угриновича алгоритм вводится как чёткое описание последовательности действий.
В обыденной жизни дети не встречаются с этими понятиями дословно, но они находят применение алгоритмов в различной деятельности человека, о чем важно сообщить детям на первом же уроке и подтвердить это примерами.
Вводя понятие алгоритма, учителю следует акцентировать внимание учащихся на том, что алгоритм всегда составляется с ориентацией на исполнителя алгоритма. На мой взгляд, для этого хорошо подходит определение, приведенное в учебнике И.Г. Семакина и др.
Так как одной из особенностей курса «Алгоритмизация и программирование» является его практическая направленность, то понятие исполнителя алгоритма следует вводит на основе практических примеров из жизни учащихся. Основным исполнителем на начальном моменте изучения темы должен быть человек. Ученики сами должны выступить в роли исполнителей не сложных алгоритмов, например рисование окружности при помощи циркуля. В зависимости от класса в котором изучается данная тема задачи для исполнителя могут быть и сложнее: найти корень квадратного уравнения, построить вписанную в треугольник окружность, и т. д.
Основной характеристикой исполнителя, с точки зрения управления, является система команд исполнителя (СКИ). Это конечное множество ко-манд, которые понимает исполнитель, т.е. умеет их выполнять. Для знакомства с СКИ можно дать ученикам такой алгоритм, который они заведомо не смогут выполнить. После этого должно следовать закрепление данного понятия на основе задач определения СКИ у различных исполнителей.
СКИ определяет первое свойство алгоритма – понятность, то есть алгоритм может включать в себя только команды, входящие в СКИ. Он не должен быть рассчитан на принятие исполнителем самостоятельных решений, не предусмотренных составителем алгоритма.
После свойства понятности следует свойство точность. Опять же можно привести несколько примеров алгоритмов, которые выполняются не точно. Вот один из них: кулинарный рецепт можно рассматривать как алгоритм для исполнителя-повара по приготовлению блюда. Но если одним из пунктов в нем будет написано: «Положить несколько ложек сахара», то это пример неточной команды. Сколько ложек? Каких ложек (чайных, столовых)? Каждый повар может это понимать по-своему, и результаты будут разными. Пример точной команды: «Положить 2 столовые ложки сахара».
Еще одно свойство, которое отражено в определении алгоритма — конечность. Оно формулируется так: исполнение алгоритма и, следовательно, получение искомого результата должно завершиться за конечное число шагов. Здесь под шагом подразумевается выполнение отдельной команды. В данном случае это свойство отражает ситуации, когда алгоритм «зацикливается» и не дает результата. Такой алгоритм бесполезен, учащиеся должны научится отличать эти алгоритмы.
Еще одно свойство алгоритма дискретность. «Дискретность состоит в том, что команды алгоритма выполняются последовательно, с точной фиксацией моментов окончания выполнения одной команды и начала выполнения следующей» [7]. Требование последовательного выполнения команд заложено в определении алгоритма, но, на мой взгляд, на данном свойстве нужно заострить внимание. Не каждый ребенок сможет выделить его из определения алгоритма.
«Свойство массовости выражается в том, что алгоритм единым обра-зом применяется к любой конкретной формулировке задачи, для решения которой он разработан» [7]. От свойства массовость легко перейти к такому понятию как исходные данные. По сути, это свойство можно назвать универсальностью алгоритма по отношению к исходным данным решаемой задачи. Данное свойство не является необходимым свойством алгоритма, а скорее определяет качество алгоритма: универсальный алгоритм лучше неуниверсального (алгоритм решения частной задачи — тоже алгоритм!). Следует указать учащимся на то, что исполнителю всегда необходимо иметь исходные данные с которыми он будет работать (деньги, продукты, детали, таблицы чисел и т.п.). Например, исполнителю, решающему математическую задачу нужна исходная числовая информация, которая обычно задаётся в условии. Если вам нужно найти номер телефона нужного человека, то исходными данными будут фамилия человека, его инициалы, телефонная книга, а иногда ещё и домашний адрес, так как Ивановых или Петровых с одинаковыми инициалами может оказаться в телефонной книге несколько.
Если все данные свойства выполняются, то исполнитель выполняет алгоритм формально. Это означает, что при выполнении алгоритма исполнитель строго следует командам и не какого творчества с его стороны быть не может. Отсюда следует вывод о возможности создания автоматических исполнителей. Таким автоматическим исполнителем по обработке информации является компьютер. Дети сами могут назвать таких автоматических исполнителей: роботы, станки с автоматическим управлением, автоматическая стиральная машина и так далее.
После того как все свойства алгоритма разобраны следует их закрепить при помощи задач. Для этого полезно рассмотреть с учениками несколько заданий следующего содержания:
1) выполнить роль исполнителя: дан алгоритм, формально исполнить его;
2) определить исполнителя и систему команд для данного вида работы;
3) в рамках данной системы команд построить алгоритм;
4) определить необходимый набор исходных данных для решения задачи.
В качестве примера задачи первого типа можно использовать алгоритм игры Баше, рассматриваемый в учебниках [6]. Правила игры определены так: в игре используются 7, 11, 15, 19 предметов. За один ход можно брать 1, 2 или 3 предмета. Проигрывает тот игрок, который берет последний предмет. Предлагается алгоритм выигрыша для первого игрока.
После того как ученики поиграли в эту игру по тем правилам, что описаны в учебнике, можно предложить им несколько заданий аналитического характера на тему игры Баше. Задания могут быть предложены в качестве домашней работы……………………..

Теперь рассмотрим пример задания второго типа.
Задача: Описать систему команд исполнителя «Геометр», который мог бы выполнять геометрические построения с помощью циркуля и линейки.
Решение. Ученикам знаком класс задач, которые в геометрии называ-ются задачами на построение с помощью линейки, циркуля и карандаша. Полной системой команд для исполнителя «Геометр» является следующий список:
1. Провести отрезок прямой между двумя данными точками.
2. Установить раствор циркуля, равный длине данного отрезка.
3. Установить ножку циркуля в данную точку.
4. Провести окружность.
5. Выделить общие точки двух линий (пересечения или касания). Необходимо обратить внимание учеников на элементарность каждой команды. Делить их на более простые не имеет смысла.
При построении СКИ ученики должны решать две проблемы: проблема элементарности команд и проблема полноты системы команд. Система команд исполнителя называется полной, если она содержит весь минимально-необходимый набор команд, позволяющий построить любой алгоритм в том классе задач, на который ориентирован исполнитель.
Отрешения предыдущей задачи можно перейти к задачам третьего ти-па. Оставив исполнитель и СКИ прежними ученикам можно дать такую зада-чу: «Записать для исполнителя Геометр алгоритм построения окружности, для которой задан её диаметр отрезком АВ».
Данный переход способствует лучшему восприятию задачи, так как ученики уже знакомы с исполнителем и его СКИ.
Решение:
установить ножку циркуля в т. А
установить раствор циркуля, равный АВ
провести окружность установить ножку циркуля в т. В
провести окружность
выделить точки пересечения окружностей: т. Сит. D
провести отрезок CD
выделить точку пересечения АВ и CD: т. О
установить ножку циркуля в т. О
установить раствор циркуля, равный ОВ
провести окружность.
С учениками необходимо проанализировать данную задачу на соответствие свойствам алгоритма. Учеников следует подвести к такому выводу: «данный алгоритм удовлетворяет всем основным свойствам: понятности, точности, конечности; благодаря чему может исполняться формально».
Задания четвертого типа относятся к проблеме постановки задач на построение алгоритмов. Для выполнения требуемой работы — решения данной задачи — необходим не только алгоритм, но и полный набор исходных данных. Это могут быть какие-то материальные объекты (например, детали для сборки устройства; продукты для приготовления блюда и пр.) или информация (числовые данные для расчетов). Вот пример задачи на определение полного набора данных.
Задача: Определить полный набор данных для вычисления времени падения кирпича с крыши дома.
Ответ: высота дома, ускорение свободного падения.

2.2 Обучение методам построения алгоритмов на учебных исполнителях.
Главной целью раздела алгоритмизации является овладение учащимися структурной методикой построения алгоритмов. Традиционно применяемым дидактическим средством в этом разделе являются учебные исполнители алгоритмов. Главным достоинством учебных исполнителей является: ясность для ученика решаемых задач, наглядность процесса работы в ходе выполнения программы. Как известно, дидактический принцип наглядности является одним из важнейших в процессе любого обучения
Для того чтобы ученикам было легко работать с учебными исполнителями, они должны удовлетворяет следующим условиям:
• это должен быть исполнитель, работающий «в обстановке»;
• этот исполнитель должен имитировать процесс управления некото-рым реальным объектом (черепахой, роботом и др.);
• в системе команд исполнителя должны быть все структурные команды управления (ветвления, циклы);
• исполнитель позволяет использовать вспомогательные алгоритмы (процедуры).
Изучая работу любого исполнителя алгоритмов, учителю следует при-вести его характеристики, совокупность которых называется архитектурой исполнителя. К ним относятся:
-среда, в которой работает исполнитель;
-режим работы исполнителя;
-система команд исполнителя;
-данные, с которыми работает исполнитель.
Обучение программированию лучше организовать в ходе решения за-дач, подобранных в специально выстроенной последовательности, которая определяется следующими дидактическими принципами:
– От простого к сложному – т.е. постепенное усложнение решаемых задач.

-Новизна – каждая задача должна вносить новый элемент знаний – новую команду, новый приём программирования.
-Наследование – решение каждой следующей задачи требует ис-пользования знаний, полученных при решении предыдущих.
Для написания алгоритмов в учебных исполнителей используется алгоритмический язык и блок-схемы. С ними можно познакомить на одном уроке, а затем продолжать изучение алгоритмизации и блок-схем совместно с построением алгоритмов на учебных исполнителях. Это поможет изучить основные алгоритмические структуры с теоретической и практической стороны.
Основное достоинство блок-схем – наглядность представления струк-туры алгоритма. Это достигается изображением блок-схем стандартным спо-собом – сверху вниз.
Алгоритмический язык есть текстовая форма описания алгоритма, которая близка к языку программирования, но как таковым ещё не является, и поэтому не имеет строгого синтаксиса. Для структурирования текста алгоритма в алгоритмическом языке используются строчные отступы. При этом соблюдается правило: все конструкции одного уровня вложенности записываются на одном вертикальном уровне (отступе), а вложенные конструкции смещаются относительно внешней вправо. Это правило улучшает наглядность структуры алгоритма. Поэтому учителю желательно потратить определённое учебное время на формирование навыка правильной записи алгоритма.
После ознакомления с архитектурой исполнителя и способами записи алгоритмов следует приступить к решению задач, соответствующих приведенным выше дидактическим принципам. Только практическая работа на учебных исполнителях помогает освоить построение алгоритмов.

На практических занятиях используются следующие типы задач:
• составление простых линейных алгоритмов;
• составление и использование вспомогательных алгоритмов;
• составление циклических алгоритмов;
• использование ветвлений в алгоритмах;
•использование метода последовательной детализации при составле-нии сложных алгоритмов.

Несомненно, первые задачи должны быть линейной структуры, например, в учебном исполнителе нарисовать букву «Т».
При разборе этой задачи необходимо обратить внимание учеников на два обстоятельства. Первое: управление учебным исполнителем для достижения поставленной цели будет происходить без обратной связи. В данном случае алгоритм управления будет иметь линейную структуру.
Второе: алгоритм зависит не только от сформулированной цели (искомого результата), но и от исходного состояния исполнителя. Если бы исходное состояние было другим, то был бы другим и алгоритм, несмотря на то, что в результате получается один и тот же рисунок. Для алгоритмов работы «в обстановке» начальное состояние исполнителя является исходным данным задачи. Состояние учебного исполнителя определяется местом его расположения на поле и ориентацией. Результатом же выполнения алгоритма становится не только рисунок (главная цель), но и конечное состояние исполнителя.
Следующие задачи должны помочь составить и использовать вспомо-гательные алгоритмы. Обычно рассматривается такая задача: составить ал-горитм рисования числа «1919».
Решая данную задачу можно поступить следующим образом: предложить ученикам написать алгоритм прежними средствами. Такое задание, очевидно, не вызовет энтузиазма учеников, поскольку принцип им уже понятен, а писать длинный линейный алгоритм довольно скучно. В этой ситуации вполне возможно самостоятельное «открытие» учениками идеи вспомогательного алгоритма. Обратив внимание на то, что в рисунке дважды присутствуют цифры «1» и «9», ученики могут прийти к идее отдельного описания алгоритмов рисования этих цифр, а затем использования их для получения четырехзначного числа «1919». После обсуждения этой идеи необходимо ввести понятие вспомогательного алгоритма и объясняет, как производится его описание и использование.
Умение использовать вспомогательные алгоритмы необходимо выра-батывать у учеников как можно раньше, уже на примерах линейных алго-ритмов. Важнейший прием алгоритмизации и программирования — декомпозиция задачи, т.е. выделение в исходной задаче некоторых более простых подзадач. Алгоритмы решения таких подзадач называются вспомогательными алгоритмами, а реализующие их программы — подпрограммами (процедурами). Таким образом, решение исходной задачи разбивается на несколько алгоритмов: основной алгоритм и вспомогательные алгоритмы. Как правило, в основном алгоритме происходит многократное обращение к вспомогательному алгоритму.
Далее следует изучение циклов. Для составления циклических алго-ритмов, следует сначала теоретически подготовить учащихся. Необходимо подробно разобрать циклические алгоритмы при помощи блок схем и алгоритмического языка. И только потом переходить на практику, иначе дети могут не усвоить циклы, и действовать по примерам, не думая о содержании задачи.
Примером задачи на циклы может служить задача на составление алгоритм рисования горизонтальной линии, проведенной от края до края поля. Эта задача вносит в данную тему следующие новые элементы: управление с обратной связью; структурная команда цикла. Обратная связь между объектом управления и управляющей системой заключается в том, что перед выполнением каждого шага проверяется условие «впереди не край?». Если оно истинно, т.е. ответ положительный, то делается шаг, в противном случае выполнение цикла прекращается.
Команда цикла является структурной командой в отличие от простых команд «шаг», «поворот», «прыжок». Структурная команда включает в себя несколько действий: проверка условия, выполнение тела цикла, которое, в свою очередь, может состоять из нескольких команд.
И наконец, изучение основных алгоритмических структур заканчивается ветвлением. Тут можно предложить такую задачу: нарисовать орнамент, состоящий из квадратов, расположенных по краю поля. На примере этой задачи еще раз демонстрируется методика последовательной детализации. Причем, в отличие от предыдущих программ, здесь используется два шага детализации, поскольку в процедуре РЯД содержится обращение к процедуре следующего уровня — КВАДРАТ.

2.3 Программирование в курсе информатики и ИКТ
В начале изучения темы следует остановиться на определении про-граммирования. Программирование – это раздел информатики, изучающий вопросы разработки программного обеспечения ЭВМ. В узком смысле под программированием понимают процесс создания программы на одном из языков программирования. Разработку средств системного программного обеспечения и систем программирования называют системным програм-мированием. Создание прикладных компьютерных программ принято называть прикладным программированием. По такому же принципу проводят деление программистов на системных и прикладных.
Методика изучения языков программирования достаточно хорошо разработана. Языки программирования делятся на две большие группы: машинно-ориентированные (Автокод, Ассемблер) и языки высокого уровня. Языками первой группы пользуются весьма малое число программистов профессионального уровня для специфических целей. Большинство программистов используют в настоящее время языки высокого уровня, причем имеет место некоторая мода на языки.
Обучение программированию можно организовать на различных языках высокого уровня, например язык Паскаль, который был разработан в 1971 году Н. Виртом специально как учебный язык. Этот язык ориентирован на структурную методику программирования. Специально разработанный в нашей стране учебный алгоритмический язык отличается от Паскаля, в основном, тем, что он русскоязычный и имеет более свободный синтаксис. Поэтому во многих учебниках программирование рассматривается на основе АЯ.
Для изучения языка Паскаль используется программа Pascal ABC, которая во многом упрощает процесс набора и редактирования программы. Ученикам бывает сложно переходить от блок-схем и алгоритмического языка сразу к программированию на Pascal, так как с виду программы на блок-схемах и алгоритмическом языке не похожи на программы Паскаля. И так же вызывает трудность синтаксис, ученики не могут привыкнуть к постановкам скобок и запятых в правильных местах. Для того чтобы избежать данных затруднения можно изучать программирование на алгоритмическом языке. Можно использовать программу Кумир. Данная программа позволяет писать на алгоритмическом языке, а так же включает в себя графические исполните-ли. Поэтому ученикам будет легко перейти от составления программ для исполнителей к программированию.
В Кумире на алгоритмическом языке можно изучит весь курс программирования. В нем есть работа с величинами, логические операции, оператор выбора, циклы, работа со строками. Главным достоинством Кумира является, конечно, использование алгоритмического языка для написания программ. Это позволяет упростить процесс объяснения. Ученики могут просто читать написанную для примера программу и видеть, что же она будет делать. Что конечно не возможно при изучении других языков программирования, так как они основаны на английском языке.
На стадии изучения графических исполнителей нужно познакомить учащихся со средой Кумира.
В начале обучения надо лишь кратко охарактеризовать компоненты системы, отметив, что более подробно они будут рассмотрены по ходу темы.
Учащимся следует сообщить, что создание программы складывается из трёх этапов: написание программы, отладка программы, исполнение программы. Система программирования позволяет это сделать более продуктивным способом за счёт использования специальных средств и готовых наработок частей и блоков программы.
В любой системе программирования можно выделить компоненты: среда, режимы работы, система команд, данные. С ними следует кратко ознакомить учащихся.

Режимами работы обычно являются следующие:
режим редактирования программы;
режим компиляции текста программы;
режим исполнения;
режим работы с файлами;
режим помощи;
режим отладки программы.

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

В режиме работы с файлами выполняются обычные операции: сохра-нить файл, прочитать информацию из файла в оперативную память, присво-ить имя файлу, вывести содержимое окна редактора на печать и др.
В режиме помощи программист может получить подсказку на экране, как по работе с системой, так и по языку программирования.
Режим отладки обычно реализуется в современных системах про-граммирования. В этом режиме можно производить трассировку программы (отображение результатов выполнения каждой команды), пошаговое исполнение программы, отслеживать изменение определённых величин, поиск и исправление ошибок.
Закрепление теоретического материала этой темы рекомендуется про-водить на практических занятиях по написанию коротких программ на Куми-ре.
После знакомства учащихся со средой программирования, можно пе-реходить к обучению программированию.
Обучение программированию должно проводиться на примерах типовых задач с постепенным усложнением структуры алгоритмов. По признаку алгоритмической структуры их можно классифицировать так:
• линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;
• ветвящиеся алгоритмы: поиск наибольшего или наименьшего значе-ний из нескольких данных; сортировка двух-трех значений; диалог с ветвлениями;
• циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последовательной обработкой.
Изучение языка программирования происходит в контексте решаемых задач, т.е. новые средства языка вводятся по мере необходимости для решения очередного типа задач. Рассмотрим решение некоторых задач с использованием языка Паскаль, предлагаемых в учебнике [6]. Эти примеры иллюстрируют использование метода аналогии между учебным алгоритмическим языком и Паскалем.
Пример. Составить алгоритм, по которому на компьютере будет происходить следующее: в переменную S вводится возраст Саши, в переменную М вводится возраст Маши. В качестве результата на экран выводится фраза «Саша старше Маши», или «Маша старше Саши», или «Саша и Маша ровесники». Написать программу на Паскале или Кумире по этому алгоритму.
Решение. Алгоритм имеет структуру двух вложенных полных ветвле-ний. При переходе от алгоритмического языка к Паскалю следует обратить особое внимание на необходимость точного соблюдения правил синтаксиса языка: точки с запятой в конце операторов, параметров ввода и вывода в круглых скобках и пр.
Кумир Паскаль

алг САША-MАША Program Sasha&Masha;
вещ S, M var S, M: real;
нач вывод ‘Возраст Саши:’ . begin write (‘Возраст
ввод S Саши:’);
вывод ‘Возраст readln(S);
Маши’ write(‘Возраст
ввод М Маши:’);
если S > M readln( М);
то вывод ‘Саша if S > М
старше Маши’ then write(‘Саша
иначе если S = М старше Маши’)
то вывод ‘Саша else if S = М
и Маша then write(‘Саша
ровесники’ и Маша ровесники’)
иначе вывод else write(‘Маша
‘Маша старше старше Саши’)
Саши’ end.
кв
кв
кон

Заключение.
Быстрый прогресс в области информатики и информационных технологий заставляет также быстро менять и содержание предмета. В этих условиях нет возможности выстроить линейный курс с фиксированной точкой входа. Поэтому предлагается модульное построение курса, которое позволяет в максимальной степени учесть быстро меняющееся содержание, дифференциацию учебных классов по их профилю.
Развитие информационных коммуникаций (объединение компьютеров в локальные и глобальные сети, создание баз данных и знаний, а также экспертных систем) создает уникальную учебную среду, которая дополняет или заменяет традиционные формы обучения. Прогресс в этой области позволяет реализовать два основных принципа будущей системы образования – его непрерывности и доступности. При этом информационные технологии сами становятся учебным предметом, при изучении которого могут быть апробированы новые формы и методы обучения.
Поэтому уже с 3 класса программа усложняется. Вводится понятие алгоритма как пошагового описания целенаправленной деятельности. Формирование логического мышления идет в процессе создания и выполнения простейших алгоритмов. Ученики приобретают навыки самостоятельного исследования, развивают интуицию, учатся делать логические выводы при работе с «черными ящиками». Рассматриваются основы графического интерфейса, как более простого и привычного для пользователя.
В старшей школе продолжается формирование логического мышления, но к нему добавляется алгоритмическое мышление. Которое начинает формироваться с начала изучения темы алгоритм, и продолжает на всем протяжении линии «Алгоритмизация и программирование». Поэтому очень важно, что бы учитель был знаком с основными методическими приемами при преподавании данной темы.
В этой работе рассмотрены основные темы линии «Алгоритмизация и программирование» и приведены некоторые методические особенности преподавания данных тем. Я считаю что моя цель достигнута, и дальнейшей своей работе учителем я буду применять данную работу.

Литература
1. Лапчик М.П. Методика преподавания информатики / Лапчик М.П. – М.: Мир, 2003. – 440с
2. Михалевич B.C., Каныгин Ю.М., Гриценко В.И. Информатика — новая область науки и практики // Кибернетика. Становление информатики. — М.: Наука, 1986.
3. Закон РФ «Об образовании».
4. Подласый И. П. Педагогика. Новый курс: Учеб. для студентов пед. вузов: В 2 кн. — М.: Гуманит. изд. центр ВЛАДОС, 1999. — Кн. 1. Общие основы. Процесс обучения.
5. Софронова Н.В. Теория и методика обучения информатике / Софронова Н.В. -М.: Высшая школа, 2004.
6. Информатика: Учеб. по базовому курсу / И.Г.Семакин, Л.АЗалогова, С.В.Русаков, Л.В.Шестакова. — М.: Лаборатория Базовых Знаний, 1998.
7. Словарь школьной информатики. Математический энциклопедический словарь. — М.: Сов. энцикл., 1988.
8. Информатика: Учеб. для 8 —9 кл. сред. шк. / А.Г. Гейн, Е.В. Липецкий, М.В. Са-пир, В.Ф. Шолохович. — М.: Просвещение, 1994.
9. Лапчик М.П. Вычисления. Алгоритмизация. Программирование: Пособие для учи-теля. — М.: Просвещение, 1988.
10. Информатика: Учеб. пособие для 10— 11 кл. общеобразоват. учреждений / Л.З. Шауцукова. — М.: Просвещение, 2000.

Приложение.
Требования к знаниям и умениям
учащихся по линии алгоритмизации и
программирования

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

Об авторе

retarnol administrator

Оставить ответ