Методика изучения темы "Циклы"
Анализ учебных пособий по информатике Н.Д. Угриновича и И.Г. Семакина, структура построения алгоритмов, методика преподавания темы "Циклы" в базовом курсе информатики, применение методики построения алгоритмов по теме "Циклы" на конспекте урока.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.07.2012 |
Размер файла | 64,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Современное общество предъявляет человеку самые разнообразные требования. Причем на протяжении истории человечества число таких требований в области физической деятельности постепенно сокращается, а в области интеллектуальной - лавинообразно растет.
Интеллектуальная (умственная) деятельность человека с точки зрения информатики является информационным процессом с названием «обработка информации». Информационная нагрузка на человека с развитием цивилизации возрастает, что связано не только с ростом объемов информации вообще, а именно с ростом объемов информации, обрабатываемой человеком.
Жизнь в современном информационном обществе предполагает умение читать, исполнять и запоминать готовые алгоритмические структуры, к которым мы относим всевозможные инструкции, планы, правила и т.п. Этому способствуют, в первую очередь, достижения научно-технического прогресса.
Современный этап развития общества характеризуется внедрением информационных технологий во все сферы человеческой деятельности. В нашу жизнь вошли видеокамеры, плееры, стиральные и посудомоечные машины, телевизоры, радио- и сотовые телефоны, не говоря уже о компьютерах. Для управления такими средствами обычно используются кнопочные, поворотные или движковые приспособления (кнопки и ручки). Большое число функций, выполняемых техническими средствами, при небольшом числе управляющих приспособлений приводит к необходимости для управления средствами использовать последовательности элементарных действий (алгоритмы).
Как и перед любым учебным предметом общеобразовательной школы, перед информатикой обществом поставлен целый комплекс задач.
Одной из дидактических задач образовательного учреждения является формирование мышления учащегося, развитие его интеллекта.
Важной составляющей интеллектуального развития человека является алгоритмическое мышление. Наибольшим потенциалом для формирования алгоритмического мышления школьников среди естественнонаучных дисциплин обладает информатика.
Всё сказанное выше обосновывает актуальность данной курсовой работы.
Анализ развития стандарта образования по информатике позволяет сделать вывод: формирование алгоритмического стиля мышления школьников - важная цель школьного образования на разных ступенях изучения информатики.
Объектом исследования методика преподавания информатики.
Предметом исследования методика изучения темы «Циклы».
Цель работы - рассмотреть методику изучения темы «Циклы» в курсе Информатика и ИКТ.
Исходя из поставленной цели, необходимо решить следующие задачи:
· проанализировать учебные пособия по информатике;
· выделить структура и содержание данной темы в учебных пособиях;
· изучить методические рекомендации по изучению темы циклы в школе;
· разработать конспекты проведения уроков и заданий по данной теме.
Методы исследования:
· теоретический анализ научной и учебно-методической литературы;
· методы презентации данных: таблицы, рисунки.
Курсовая работа состоит из введения , 2 глав, заключения, списка литературы.
Глава 1. Анализ учебных пособий по информатике
1.1 Учебное пособие Н.Д. Угринович
УМК Угринович Н.Д. «Информатика и ИКТ» 9 класс
Учебник Угринович Н.Д. содержит главу «Основы алгоритмизации и объектно-ориентированного программирования», которая включает в себя следующие параграфы(30 часов):
1. Кодирование основных типов алгоритмических структур на языках объектно-ориентированного и процедурного программирования
Линейный алгоритм
Ш Алгоритмическая структура «ветвление»
Ш Алгоритмическая структура «выбор»
Ш Алгоритмическая структура «цикл»
2. Графические возможности объектно-ориентированного языка программирования Visual Basic 2005
Алгоритмическая структура «Цикл»
Основные темы:
Ш цикл со счётчиком;
Ш цикл по условию;
Содержание учебника, относительно раздела программирования и алгоритмизации отвечает всем требованиям стандарта, представлена информация в интересном и доступном варианте.
1.2 Учебное пособие И.Г. Семакин
УМК Семакин И.Г., Залогова Л.А. , Русаков С.В. «Информатика и ИКТ» 9 класс. Раздел под названием «Управление и алгоритмы»(16 часов) и содержит следующие параграфы:
1. Управление и кибернетика
2. Управление с обратной связью
3. Определение свойства алгоритма
4. Графический учебный исполнитель
5. Вспомогательные алгоритмы и подпрограммы
6. Циклические алгоритмы
7. Ветвление и последовательная детализация.
Циклические алгоритмы
Основные темы:
Ш команда цикла;
Ш цикл в процедуре;
Ш блок-схемы алгоритмов;
Ш цикл с предусловием;
В разделе «Программное управление работой компьютера» есть параграф под названием «Программирование циклов» .
Основные темы:
Ш этапы решения расчётной задачи на компьютере;
Ш программирование циклов на Паскале;
Ш тестирование и отладка программы;
Содержание по-своему интересно, и полностью отличается от содержания учебника Угринович Н. Г., здесь изложен совершенно иной материал, дополняющий уже имеющиеся знания на тему алгоритмизации.
1.3 Учебное пособие Н.В. Макарова
УМК Макаровой Н.В. «Информатика и ИКТ» 8-9 класс
В УМК Макаровой Н.В. «Информатика и ИКТ» для 8-9 класса, содержится в части 2 под названием «Основы алгоритмизации и программирования»(20 часов) , который включает в себя следующие разделы для изучения:
1. Основы алгоритмизации
Ш линейные алгоритмы;
Ш разветвляющиеся алгоритмы;
Ш циклические алгоритмы. Цикл с предусловием;
Ш цикл с известным числом повторений;
Ш цикл с постусловием;
Циклические алгоритмы. Цикл с предусловием.
Основные темы:
Ш использование цикла с предусловием для организации
повторяющихся действий;
Ш тестирование циклических алгоритмов;
Ш использование цикла Пока как универсального для решения разного вида задач;
Ш использование переменных разного типа для организации цикла;
Цикл с известным числом повторений.
Основные темы:
Ш создание алгоритмов с известным числом повторений;
Ш тестирование циклических алгоритмов с известным числом повторений в пошаговом режиме;
Ш изменение параметров цикла;
Цикл постусловием
Основные темы:
Ш использование цикла с предусловием для решения задач;
Ш использование разных видов циклов в зависимости от поставленной задачи;
Ш использование типовых алгоритмов поиска минимума и максимума;
Ш использование данных разного типа при решении задач;
Содержание всех представленных и проанализированных здесь учебников, очень разнообразно, интересно, и каждое по-своему дополняют друг друга.
Глава 2. Методика преподавания темы циклы в базовом курсе информатики
2.1 Методика построения алгоритмов
Главной целью этого метода является овладение учащимися структурной методикой построения алгоритмов. Традиционно применяемым дидактическим средством в этом разделе являются учебные исполнители алгоритмов. Главным достоинством учебных исполнителей является: ясность для ученика решаемых задач, наглядность процесса работы в ходе выполнения программы. Как известно, дидактический принцип наглядности является одним из важнейших в процессе любого обучения.
Для того чтобы ученикам было легко работать с учебными исполнителями, они должны удовлетворяет следующим условиям:
Ш это должен быть исполнитель, работающий «в обстановке»;
Ш этот исполнитель должен имитировать процесс управления некоторым реальным объектом (черепахой, роботом и др.);
Ш в системе команд исполнителя должны быть все структурные команды управления (ветвления, циклы);
Изучая работу любого исполнителя алгоритмов, учителю следует привести его характеристики, совокупность которых называется архитектурой исполнителя. К ним относятся:
1. среда, в которой работает исполнитель;
2. режим работы исполнителя;
3. система команд исполнителя;
4. данные, с которыми работает исполнитель.
Обучение программированию лучше организовать в ходе решения задач, подобранных в специально выстроенной последовательности, которая определяется следующими дидактическими принципами:
Ш От простого к сложному - т.е. постепенное усложнение решаемых задач.
Ш Новизна - каждая задача должна вносить новый элемент знаний - новую команду, новый приём программирования.
Ш Наследование - решение каждой следующей задачи требует использования знаний, полученных при решении предыдущих.
Для написания алгоритмов в учебных исполнителей используется алгоритмический язык и блок-схемы. С ними можно познакомить на одном уроке, а затем продолжать изучение алгоритмизации и блок-схем совместно с построением алгоритмов на учебных исполнителях. Это поможет изучить основные алгоритмические структуры с теоретической и практической стороны. Основное достоинство блок-схем - наглядность представления структуры алгоритма. Это достигается изображением блок-схем стандартным способом - сверху вниз.
Алгоритмический язык есть текстовая форма описания алгоритма, которая близка к языку программирования, но как таковым ещё не является, и поэтому не имеет строгого синтаксиса. Для структурирования текста алгоритма в алгоритмическом языке используются строчные отступы. При этом соблюдается правило: все конструкции одного уровня вложенности записываются на одном вертикальном уровне (отступе), а вложенные конструкции смещаются относительно внешней вправо. Это правило улучшает наглядность структуры алгоритма. Поэтому учителю желательно потратить определённое учебное время на формирование навыка правильной записи алгоритма.
На практических занятиях используются задачи на составление циклических алгоритмов.
Для составления циклических алгоритмов, следует сначала теоретически подготовить учащихся. Необходимо подробно разобрать циклические алгоритмы при помощи блок схем и алгоритмического языка. И только потом переходить на практику, иначе дети могут не усвоить циклы, и действовать по примерам, не думая о содержании задачи.
Примером задачи на циклы может служить задача на составление алгоритм рисования горизонтальной линии, проведенной от края до края поля. Эта задача вносит в данную тему следующие новые элементы: управление с обратной связью; структурная команда цикла. Обратная связь между объектом управления и управляющей системой заключается в том, что перед выполнением каждого шага проверяется условие «впереди не край?». Если оно истинно, т.е. ответ положительный, то делается шаг, в противном случае выполнение цикла прекращается.
Команда цикла является структурной командой в отличие от простых команд «шаг», «поворот», «прыжок». Структурная команда включает в себя несколько действий: проверка условия, выполнение тела цикла, которое, в свою очередь, может состоять из нескольких команд.
2.2 Применение методики построения алгоритмов по теме «Циклы» на конспекте урока и лабораторной работе
Конспект урока информатики в 9 классе
по теме: «Циклы и блок-схемы»
Тема урока: «Циклы и блок-схемы»
Цели урока:
Общеобразовательные:
Ш изучение понятий алгоритмической структуры «цикл» и блок-схемы;
Ш закрепить эти понятия при решении задач;
Ш отработать навыки решения алгоритмических задач с использованием «циклов».
Развивающие:
Ш развитие умения работы с циклами и составления блок-схем;
Ш развитие умения планировать последовательность действий для достижения поставленной цели;
Ш развитие умения применять ранее полученные знания при изучении нового материала;
Ш развитие алгоритмической культуры;
Ш развитие творческой активности учащихся, интереса к предмету.
Воспитательные:
Ш воспитание мотивов учения и положительного отношения к знаниям;
Ш развитие навыков сознательного и рационального использования ЭВМ в своей учебной деятельности.
Оборудование: ПК, мультимедийная установка, программа графический исполнитель «Кенгуренок».
План урока
1. Приветствие учеников, постановка проблемы.
2. Изложение нового материала.
3. Закрепление знаний (практическая работа).
4. Предоставление ученикам домашнего задания.
5. Подведение итогов.
Деятельность учителя |
Деятельность учеников |
|
1. Приветствие учеников, постановка проблемы |
||
Здравствуйте ребята!Начнём наш урок с решения следующей задачи:К реке подошли шестьдесят солдат. Им нужно переправиться через реку. Рядом с берегом плавают два мальчика в лодке. Но лодка такая маленькая, что она может поднять только двух мальчиков или одного солдата. Как солдатам переправиться через реку и вернуть лодку мальчикам? (Слайд 2)Кто может предложить решение?А давайте поступим следующим образом: выпишем все команды, указывая просто, кто переправляется через реку. Что это за команды могут быть? (Слайд 3)А теперь забудем о 59 солдатах, и решим задачу только для одного солдата. И будем помнить, что мальчики должны получить лодку обратно. (Слайд 4)А теперь, когда задача о переправе одного солдата решена, совсем нетрудно найти решение и главной задачи. Что нужно сделать для этого?Если мы будем записывать все эти команды, то успеем ли мы за урок их все записать?Может быть, есть какой либо выход из этой ситуации?Действительно в информатике существует такое понятие как «цикл». И сегодня на уроке мы и будем изучать данное понятие.Тема нашего урока: «Циклы и блок-схема».На уроке мы должны изучить алгоритмическую структуру «цикл», также понятие блок-схемы.(Слайд 5) |
Ученики встают, приветствуя учителя.Солдат МальчикДва мальчика.ДВА МАЛЬЧИКАМАЛЬЧИК СОЛДАТМАЛЬЧИКПовторить туже последовательность команд 60 раз.Наверняка, нет.Я думаю, что в информатике существует какой-то способ записи таких алгоритмов с повторением одной и той же серии команд. |
|
2. Изложение нового материала |
||
Рассмотрим определения:Цикл - алгоритмическая структура, в которой тело цикла выполняется многократно. Тело цикла - последовательность команд, входящая в алгоритмическую структуру «цикл». (Слайд 6)Запишем формат команды цикл:пока <условие> повторять,<тело цикла>конец цикла.Условие может быть двух видов:· впереди край· впереди не край (Слайд 7)Пока условие истинно тело цикло выполняется.Давайте вместе попробуем решить такую задачу: Расчертить все поле горизонтальными линиями. Начальное положение исполнителя - в левом верхнем углу и смотрит на юг.(Слайд 8)Ребята, какие действия должен выполнять исполнитель?Какую команду нам надо использовать, что бы нарисовать линию?Мы знаем, сколько линий исполнитель должен нарисовать?Для этого мы будем использовать тоже цикл, но с каким условием?Таким образом, алгоритм решения задачи будет таким (Слайд 9):пока впереди не край, повторятьповоротпока впереди не край, повторятьшагконец циклаповоротповоротпока впереди не край, повторятьпрыжокконец циклаповоротпрыжокконец циклаБлок-схема - графический способ описания алгоритма.Блок - схема состоит из:· фигур или блоков, которые обозначают отдельные действия исполнителя;· стрелок, соединяющих блоки и указывающих на последовательность их выполнения. (Слайд 10)Внутри каждого блока записывается выполняемое действие. Сама форма блока показывает на характер выполняемой операции.Существует 4 элемента блок-схемы (Слайд 11) (учитель показывает):начало или конец алгоритмаКоманда цикла изображается не отдельным блоком, а целой структурой: (Слайд 12)Давайте вместе решим следующую задачу (Слайд 13): Исполнитель должен нарисовать горизонтальную линию.Какую команду будем использовать?Какое будет условие?Текс программы будет таким:пока впереди не край, повторятьшагконец циклаСейчас вам необходимо для этого алгоритма построить блок-схему (учитель показывает блок-схему). |
Ученики записывают тему урока в тетрадях.Ученики записывают в тетрадь то, что им диктует учитель.1. повернуть налево2. прочертить линию от левого до правого края3. повернуться кругом4. вернуться в исходную точку5. повернуться налево6. прыгнуть на следующую строчку и т.д.ЦиклНетВпереди не крайЗаписывают в тетради.ЦиклВпереди не крайУченики подсказывают учителю, как рисовать блок-схему |
|
3. Закрепление знаний (практическая работа) |
Сейчас садитесь за компьютеры по одному и выполняете практическую работу. Она будет состоять из трех заданий. Практическое задание выполняется в графическом исполнителе «Кенгуренок». (Слайд 14)1. Составить программу рисования прямоугольной рамки вдоль края листа, исходя из любого начального состояния исполнителя.2. Расчертить все поле горизонтальными пунктирными линиями.3. Нарисовать лестницу из левого верхнего угла поля до правого нижнего угла поля |
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
4. Предоставление ученикам домашнего задания |
||
Ребята открываем дневники и записываем домашнее задание: § 43 д/з № 6 (Слайд 15)Домашнее задание1. Начальное состояние: исполнитель находится в нижнем правом углу и смотрит вверх. Где будет исполнитель после выполнения следующих программ?А) программа поход 1пока впереди не край повторятьпрыжокконец циклаповоротпока впереди не край повторятьпрыжокконец циклаБ) программа поход 2пока впереди не край повторятьпрыжокповоротпрыжокповоротповоротповоротконец цикла2. Записать блок-схемы алгоритмов из задачи № 1.3. Составить программу, переводящую ГРИС в произвольный угол поля из любого исходного положения.4. Придумать задачу для ГРИС, для решения которой необходимо использовать циклы.Учитель комментирует задачи домашнего задания. |
Ученики открывают дневники и записывают домашнее задание. (Текст задач получают на отдельном листе индивидуально каждый). |
|
5. Подведение итогов |
||
1. Ребята, что нового вы узнали и чему научились на этом уроке?2. Какие трудности вы испытывали при выполнении практических заданий? |
Мы узнали, что такое алгоритмическая структура «цикл» и блок-схема,научились работать с «циклами» при решении задач.Называют самые трудные моменты заданий. |
Лабораторная работа
При решении подавляющего большинства задач (в том числе и весьма несложных) в программе практически невозможно задать в явном виде все операции, которые необходимо выполнить. В самом деле, пусть необходимо вычислить сумму первых n членов гармонического ряда:
Y= 1+ 1/2+ 1/3 + …+ 1/ n
Очевидно, что с использованием только рассмотренных выше типов операторов можно составить программу лишь для фиксированного значения n. Например, при n=5 требуемые вычисления можно задать с помощью оператора присваивания вида:
Y:= 1+1/2+1/3+1/4+1/5
Если же значение n не фиксируется, а является исходным данным, вводимым в процессе выполнения программы (и даже константой, описанной в программе), то аналогичный оператор присваивания записать невозможно. Ибо запись вида Y:= 1+1/2+1/3+…+1/ n в языках программирования недопустима.
Для устранения возникающих трудностей служат операторы цикла. Они позволяют повторять выполнение отдельных частей программы. Можно выделить четыре оператора цикла, присутствующих в том или ином виде во всех языках программирования: простой арифметический оператор цикла (цикл с параметром с шагом 1), сложный арифметический оператор цикла (цикл с параметром произвольного шага), итерационный оператор цикла с предусловием, итерационный оператор цикла с постусловием.
Простой арифметический оператор цикла Паскаля (цикл с параметром)
Вернемся к рассмотренной выше задаче вычисления суммы первых n членов гармонического ряда, правила которой невозможно задать в виде арифметического выражения, если значение n заранее не фиксировано.
На самом деле вычисление этой суммы можно осуществить по очень простому и компактному алгоритму: предварительно положим y=0 (с помощью оператора присваивания y:=0), а затем выполним оператор присваивания y:= y+1/ i для последовательных значений i= 1,2,…, n. При каждом очередном выполнении этого оператора к текущему значению y будет прибавляться очередное слагаемое. Как видно, в этом случае процесс вычислений будет носить циклический характер: оператор y:= y+1/i должен выполняться многократно, т.е. циклически, при различных значениях i.
Этот пример циклического вычислительного процесса является весьма типичным; его характерные особенности состоят в том, что
· число повторений цикла известно к началу его выполнения (в данном случае оно равно значению n, которое предполагается заданным к этому времени);
· управление циклом осуществляется с помощью переменной порядкового типа, которая в этом циклическом процессе принимает последовательные значения от заданного начального до заданного конечного значений (в нашем случае - это целочисленная переменная i, принимающая последовательные значения от 1 до n).
Для компактного задания подобного рода вычислительных процессов и служит оператор цикла с параметром. Чаще всего используется следующий вид этого оператора В Паскале: For V:= E1 to E2 do S, где for (для), to (увеличиваясь к) и do (выполнять, делать) - служебные слова, V - переменная порядкового типа, называемая параметром цикла, Е1 и Е2 - выражения того же типа, что и параметр цикла, S - оператор, который и выполняется многократно в цикле, называемый телом цикла.
Заметим, что в Паскале после do должен стоять один оператор, если необходимо выполнить несколько действий, то они должны быть объединены в один составной оператор путем заключения в операторные скобки.
Этот оператор цикла Паскаля предусматривает присваивание параметру цикла V последовательных значений от начального значения, равного значению выражения Е1, до конечного значения, равного значению выражения Е2, т.е. при каждом повторении выполняется оператор присваивания V:= succ(V), и выполнение оператора S при каждом значении параметра цикла V. При этом значения выражений Е1 и Е2 вычисляются один раз, при входе в оператор цикла, а значение параметра цикла V не должно изменяться в результате выполнения оператора S. Если заданное конечное значение меньше начального значения (что допустимо), то оператор S не выполняется ни разу.
В Паскале считается, что при нормальном завершении выполнения оператора цикла значение параметра цикла не определено.
С использованием оператора цикла с параметром алгоритм вычисления суммы первых n членов гармонического ряда может быть задан следующим образом:
Пример кода программы для суммирования первых n членов гармонического ряда
Readln(n);
Y:= 0;
For i:= 1 to n do y:= y+1/i;
В некоторых случаях бывает удобно, чтобы параметр цикла Паскаля принимал последовательные, но не возрастающие, а убывающие значения. Для таких случаев в Паскале предусмотрен оператор цикла с параметром следующего вида:
For V:= E1 downto E2 do S,
где downto (уменьшаясь к) - служебное слово, а все остальные слова и выражения имеют прежний смысл. Изменение параметра цикла от большего значения к меньшему происходит при выполнении присваивания V:=pred(V). Заметим, что начальное значение может быть меньше конечного значения. В этом случае оператор S не выполнится ни разу. Значение параметра цикла по завершении выполнения такого цикла так же считается неопределенным.
Следует запомнить и то, что для обоих вариантов записи цикла с параметром справедливо: если начальное и конечное значения равны, то тело цикла (оператор S) выполнится один раз.
Заметим так же, что параметр цикла может и не использоваться в теле цикла, так что основное его назначение - это управление числом повторений цикла. Например, значение y= x n, где n>=0 - целое, можно вычислить по следующему алгоритму: предварительно положить y=1, а затем n раз домножить это значение на x:
Пример кода программы цикла Паскаля
Readln(n);
Readln(x);
Y:= 1;
For i:= 1 to n do y:= y*x;
Как видно, здесь параметр цикла i служит лишь для того, чтобы тело цикла (оператор y:= y* x) выполнилось нужное число раз.
Арифметический оператор цикла Паскаля с произвольным шагом
Естественным усложнением простого арифметического цикла Паскаля, является цикл, в котором параметр цикла изменяется не на 1, а на произвольную величину - шаг приращения. При этом в процессе выполнения цикла шаг изменяется по заданному закону. Стандартные операторы для реализации такого цикла есть в Форте, в других языках их приходится организовывать из простейшего арифметического цикла.
Итерационные операторы цикла Паскаля
Итерационные циклы отличаются от циклов с параметром тем, что в них заранее неизвестно число повторений.
Пусть мы отправляемся за грибами и возвращаемся домой, когда корзина наполнится. Все грибники делятся на 2 категории:
· Смотрят, есть ли место в корзине, а уже потом срывают грибы, если их можно поместить в корзину. (Правда, в жизни таких грибников встречать не приходилось)
· Сначала срывают грибы, а уже потом думают, как их положить в корзину.
Отсюда получаются два варианта реализации итерационных циклов:
с предусловием и с постусловием.
В цикле с предусловием сначала проверяется условие, а потом делается шаг. Грибник придет с полной или почти полной корзиной. В цикле с постусловием - сначала шаг, а потом проверка. Как всякий нормальный грибник, этот принесет полную или слегка переполненную корзину.
Какой алгоритм выбрать? Это зависит от конкретной задачи.
Если, сделав шаг без проверки, можно свалиться в яму, то лучше проверка вначале (как слепой с палочкой). Ну, а если шаг без проверки вас не пугает, то можно отложить ее до завершения шага.
Нужно также проанализировать событие, которого мы ожидаем. Если оно может случиться до первого шага, то нужен цикл с предусловием. А если событие не может случиться до первого шага, то нужен цикл с постусловием.
Оператор цикла Паскаля с постусловием
Рассмотрим теперь математическую задачу. Пусть нам необходимо вычислить сумму первых членов гармонического ряда, удовлетворяющих условию 1/i>= e, где 0< e<1, а i=1,2,3…...Эту задачу можно решить по следующему алгоритму: положить предварительно y=0 и i=0, а затем в цикле увеличивать i на 1, к значению y добавлять очередное слагаемое 1/ i до тех пор, пока текущее значение 1/ i впервые окажется больше заданного значения 0< e<1.
Очевидно, что число повторений этого цикла заранее не известно. В подобного рода случаях мы можем лишь сформулировать условие, при выполнении которого процесс добавления к сумме очередного слагаемого должен завершиться.
Для задания таких вычислительных процессов и служит оператор цикла Паскаля с постусловием. Этот оператор имеет вид:
Repeat S1; S2;…; Si until B,
где repeat (повторять) и until (до) - служебные слова, через Si обозначен любой оператор Паскаля, а через В - логическое выражение.
При выполнении этого оператора цикла последовательность операторов, находящихся между словами repeat и until, выполнится один или более раз. Этот процесс завершается, когда после очередного выполнения заданной последовательности операторов логическое выражение В примет (впервые) значение true. Таким образом, с помощью логического выражения В задается условие завершения выполнения оператора цикла. Поскольку в данном случае проверка условия производится после выполнения последовательности операторов (тела цикла), этот оператор цикла и называется оператором цикла с постусловием.
С использованием этого вида оператора цикла Паскаля задача о суммировании первых членов гармонического ряда, удовлетворяющих заданному условию, может быть реализована следующим образом:
Пример кода оператора цикла Паскаля с постусловием
readln(e);
i:=0;
y:=0;
Repeat
i:=i+1;
y:=y+1/i;
Until 1/i<e;
Заметим, что оператор цикла с постусловием является более общим, чем оператор цикла с параметром -- любой циклический процесс, задаваемый с помощью цикла с параметром можно представить в виде цикла с постусловием. Обратное утверждение неверно. Например, задача о суммировании первых n членов гармонического ряда, рассмотренная ранее, с оператором цикла с постусловием будет выглядеть так:
Пример кода оператора цикла Паскаля с постусловием
Readln(n);
i:=0;
y:=0;
Repeat
i:=i+1;
y:=y+1/i;
Until i>n;
Оператор цикла Паскаля с предусловием
В случае оператора цикла Паскаля с постусловием входящая в него последовательность операторов заведомо будет выполняться хотя бы один раз. Между тем довольно часто встречаются такие циклические процессы, когда число повторений цикла тоже неизвестно заранее, но при некоторых значениях исходных данных предусмотренные в цикле действия вообще не должны выполняться, и даже однократное выполнение этих действий может привести к неверным или неопределенным результатам.
Пусть, например, дано вещественное число М. Требуется найти наименьшее целое неотрицательное число k, при котором 3 k> M. Эту задачу можно решить по следующему алгоритму: предварительно положить y=1 и k=0; затем в цикле домножать значение y на 3 и увеличивать значение k на 1 до тех пор, пока текущее значение y впервые окажется больше значения М. На первый взгляд, здесь можно воспользоваться оператором цикла с постусловием:
Пример кода оператора цикла Паскаля с постусловием
y:=1; k:=0;
Repeat
y:=y*3;
k:=k+1;
Until y> M;
Однако нетрудно убедиться в том, что при M<1 будет получен неправильный результат k=1, тогда как должно быть получено k=0: в этом случае предварительно сформированное значение k=0 является окончательным результатом и действия, предусмотренные в цикле, выполняться не должны.
Для задания подобного рода вычислительных процессов, когда число повторений цикла заранее неизвестно и действия, предусмотренные в цикле, могут вообще не выполняться, и служит оператор цикла с предусловием. Этот оператор цикла имеет в Паскале следующий вид:
While B do S,
где while (пока), do (делать, выполнять) - служебные слова, В - логическое выражение, S - оператор. Здесь оператор S выполняется ноль или более раз, но перед каждым очередным его выполнением вычисляется значение выражения В, и оператор S выполняется только в том случае, когда значение выражения В true. Выполнение оператора цикла завершается, когда выражение В впервые принимает значение false. Если это значение выражение В принимает при первом же его вычислении, то оператор S не выполнится ни разу.
В рассматриваемой нами задаче правильное значение k при любом значении М может быть получено следующим образом:
Пример кода оператора цикла Паскаля с предусловием
y:=1; k:=0;
While y<=M do
Begin
y:=y*3;
k:=k+1;
End;
Оператор цикла Паскаля с предусловием можно считать наиболее универсальным - с использованием таких операторов можно задать и циклические процессы, определяемые операторами цикла с параметром и постусловием.
Отметим отличия и особенности хорошего стиля работы с рассмотренными циклическими операторами.
Цикл с предусловием While (пока условие истинно) |
Цикл с постусловием Repeat (до истинности условия) |
|
1. До начала цикла должны быть сделаны начальные установки переменных, управляющих условием цикла, для корректного входа в цикл |
||
2. В теле цикла должны присутствовать операторы, изменяющие переменные условия так, чтобы цикл через некоторое число итераций завершился |
||
3. Цикл работает пока условие истинно (пока True) |
3. Цикл работает пока условие ложно (пока False) |
|
4. Цикл завершается, когда условие становится ложным (до False) |
4. Цикл завершается, когда условие становится истинным (до True) |
|
5. Цикл может не выполниться ни разу, если исходное значение условия при входе в цикл False |
5. Цикл обязательно выполнится как минимум один раз |
|
6. Если в теле цикла требуется выполнить более одного оператора, то необходимо использовать составной оператор |
6. Независимо от количества операторов в теле цикла, использование составного оператора не требуется |
|
Цикл со счетчиком (с параметром) For |
||
· Начальная установка переменной счетчика цикла до заголовка не требуется |
||
· Изменение в теле цикла значений переменных, стоящих в заголовке не допускается |
||
· Количество итераций цикла неизменно и точно определяется значениями нижней и верхней границ и шага приращения |
||
· Нормальный ход работы цикла может быть нарушен оператором goto или процедурами Break и Continue |
||
· Цикл может не выполниться ни разу, если шаг цикла будет изменять значение счетчика от нижней границы в направлении, противоположном верхней границе |
цикл информатика алгоритм
Оператор, который выполняется в цикле, сам может быть циклом. Это относится ко всем видам циклов. В результате мы получаем вложенные циклы. Механизм работы вложенных циклов удобнее всего рассмотреть на примере вложенных циклов с параметром. Пусть нам нужно описать работу электронных часов, начиная с момента времени 0 часов, 0 минут, 0 секунд. Значение минут станет равным 1 только после того, как секунды «пробегут» все последовательные значения от 0 до 59. Часы изменят свое значение на 1 только после того, как минуты «пробегут» все последовательные значения от 0 до 59. Таким образом, вывод всех значений времени от начала суток до конца суток может быть представлен следующим фрагментом программы:
For h:=0 to 23 do
For m:=0 to 59 do
For s:=0 to 59 do
Writeln(h,':',m,':',s);
Для удобства реализации циклических структур на Паскале в последних версиях языка введены операторы break и continue, применяемые внутри циклов. Они расширяют возможности использования циклов и улучшают структуру программы.
В процессе выполнения тела цикла до полного завершения цикла могут возникнуть дополнительные условия, требующие завершения цикла. В этом случае цикл может быть прекращен оператором break.
В ходе выполнения цикла может возникнуть условие, при котором необходимо пропустить все или некоторые действия, предусмотренные в цикле, не прекращая работу цикла совсем. Для этого используется оператор continue, который передает управление в ту точку программы, где проверяется условие продолжения или прекращения цикла.
Циклический вычислительный процесс (ЦВП) характеризуется повторением одних и тех же вычислений над некоторым набором данных. Числом повторений цикла управляет специальная переменная, называемая его счетчиком или управляющей переменной цикла. На счетчик накладывается условие, определяющее, до каких пор следует выполнять цикл.
Повторяемый блок вычислений называют телом цикла. В теле цикла должно быть обеспечено изменение значения счетчика, чтобы он мог завершиться. Если тело цикла состоит более чем из одного оператора, оно заключается в операторные скобки begin... end;. Однократное выполнение тела цикла называют его шагом.
Таким образом, для программирования цикла достаточно определить условие, управляющее числом его повторений и описать операторы, образующие тело цикла. С этой точки зрения, теоретически возможны всего два вида циклов -- проверка условия либо предшествует выполнению тела цикла, либо происходит после него. Изобразим эти циклы в виде блок-схем (рис. 9.1).
В цикле с предусловием сначала проверяется условие, затем, в зависимости от того, истинно оно или ложно, либо выполняется тело цикла, либо следует переход к оператору, следующему за телом цикла. После завершения тела цикла управление вновь передается на проверку условия. Естественно, предполагается, что в теле цикла было обеспечено некоторое изменение входящих в условие переменных -- в противном случае произойдет зацикливание и программа "зависнет".
Рис. 9.1. Блок-схемы циклов с предусловием и постусловием
Для цикла с постусловием сначала выполняется тело цикла, затем управление передается на проверку условия. В зависимости от истинности или ложности условия, тело цикла выполняется повторно или же происходит переход к оператору, следующему за телом цикла. Всё, сказанное о возможном зацикливании для цикла с предусловием, справедливо и для цикла с постусловием.
Исходя из приведенных блок-схем, очевидно основное различие двух циклов: цикл с постусловием гарантированно выполняется хотя бы раз, а цикл с предусловием может не выполняться ни разу, если условие сразу же окажется ложным.
В языке Паскаль реализованы оба вида циклов. Цикл с предусловием имеет следующий общий вид:
while логическое_выражение do begin
{операторы тела цикла}
end;
Работу цикла можно описать словами: "пока логическое выражение истинно, повторяется тело цикла".
Логическое выражение строится по правилам, изученным в гл. 7. Тело цикла могут образовывать любые операторы Паскаля. Если в цикле находится всего один оператор, операторные скобки, показывающие начало и конец тела цикла, можно не писать.
Общая запись цикла с постусловием следующая:
repeat
{операторы тела цикла}
until логическое_выражение;
Работает цикл с постусловием следующим образом: "тело цикла повторяется до тех пор, пока логическое выражение не станет истинным". Обратите внимание, что, в отличие от while, цикл repeat в Паскале работает, пока условие ложно. Это отличие подчеркивается использованием ключевого слова until ("до тех пор, пока не") вместо while ("до тех пор, пока"). Кроме того, в виде исключения, тело цикла repeat, даже если оно состоит из нескольких операторов, можно не заключать в операторные скобки.
Довольно часто циклы взаимозаменяемы. Представим, например, что для каждого из значений переменной x=1, 2,...,20, нужно выполнить некоторый расчет (математически этот закон изменения x можно записать как или ). Это можно сделать как в цикле while:
x:=1;
while x<=20 do begin
{операторы расчета}
x:=x+1;
end;
так и с помощью repeat:
x:=1;
repeat
{операторы расчета}
x:=x+1;
until x>20;
Как видно из листинга, управляющей переменной x в обоих случаях присвоено начальное значение 1, оба цикла изменяют значение x и, соответственно, условие цикла, оператором x:=x+1;, но для цикла repeat условие "перевернуто" ("пока x не станет больше 20"), а тело не заключено в операторные скобки.
Зачастую использование одного из циклов выглядит предпочтительней. Например, обработка ввода пользователя с клавиатуры удобней с помощью repeat (сначала пользователь должен нажать клавишу, затем следуют проверки и обработка).
Заключение
Данная курсовая работа была посвящена теме Методике изучения темы «Циклы».
В ходе написания работы было проанализировано содержание учебников и учебно-методической литературы. В данной курсовой работе удалось предоставить тот необходимый минимум при изучении темы, который должен быть изучен всеми учениками, а не только теми, которые занимаются по учебнику Угринович Н.Д. Удалось разработать конспект урока и лабораторную работу для учеников 9 классов.
Таким образом, рассмотрев все перечисленные аспекты, можно сделать вывод о том, что поставленная в начале цель, была достигнута.
Список литературы
1. Информатика. Базовый курс. 7-9 классы / И. Г. Семакин, Л. А. Залогова, С. В. Русаков, л. В. Шестакова. - 2-е изд., испр. и доп. - М.: БИНОМ. Лаборатория знаний, 2005. - 390 с.: ил.
2. Информатика. Задачник-практикум в 2 т. / Л. А. Залогова, М. А. Плаксин, С. В. Русаков и др. Под ред. И. Г. Семакина, Е. К. Хеннера: Том 1. - 2-е изд. - М.: БИНОМ. Лаборатория знаний, 2005.- 304 с.: ил.
3. Информатика. Базовый курс: Учебник для 9 класса/ Н. Д. Угринович. - М.: «БИНОМ. Лаборатория знаний», 2004. -304 с.: ил.
4. Информатика.7-9 класс. Базовый курс. Практикум-задачник по моделированию / Под ред. Н. В. Макаровой. - СПб.: Питер, 2007. - 176с.: ил.
Размещено на Allbest.ru
Подобные документы
Разработка теории и методики преподавания раздела "Алгоритмизация и программирование" в школьном курсе информатики. Методические проблемы изучения алгоритмов работы с величинами. Требования к знаниям учащихся по линии алгоритмизации и программирования.
курсовая работа [70,2 K], добавлен 09.07.2012Место темы "Кодирование информации" в школьном курсе информатики. Рекомендации по изучению "Кодирования информации" в школьном курсе информатики. Дидактический материал для изучения темы "Кодирование информации" и внеклассное мероприятие по информатике.
курсовая работа [2,3 M], добавлен 17.06.2012Теоретические основы изучения темы "Компьютерное моделирование". Основные принципы преподавания информатики в общеобразовательной школе. Обзор изложения темы в учебниках разных авторов. Общие вопросы разработки дополнительных заданий к элективному курсу.
дипломная работа [5,8 M], добавлен 22.10.2012Методика преподавания в высшей школе. Управление учебно-познавательной деятельностью. Требования к электронным учебникам и тестирующим программам, технологии их создания. Проектирование комплексов автоматизированных дидактических средств и учебных курсов.
дипломная работа [535,1 K], добавлен 08.11.2012Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.
реферат [64,0 K], добавлен 20.03.2016Общее понятие архивации. Особенности программ архиваторов. Основные методы сжатия информации. Методические основы изучения темы "Архивация данных и сжатие информации" на уроках информатики в базовом курсе. Разработка блока уроков по сжатию информации.
курсовая работа [3,0 M], добавлен 03.06.2012Линейные алгоритмы, условия и циклы. Массивы, строки, множества, подпрограммы и файлы. Определение позиций экстремальных элементов в массивах вещественных чисел. Осуществление циклических сдвигов элементов массива. Определение элементов матрицы.
контрольная работа [719,6 K], добавлен 10.04.2015Особенности вычисления по формулам в Microsoft Visual Basic с использованием функции If. Применение циклов и разветвлений. Визуальные объекты, составление алгоритмов задачи, блок-схемы и программного кода. Введение переменных, определение типа данных.
лабораторная работа [558,5 K], добавлен 23.05.2014Алгоритмизация и структурное программирование на языке С/С++. Создание справочника в памяти (ввод данных), вывод справочника на экран с использованием потоковых классов, сортировка методом Шелла. Циклы, описание применяемых специальных алгоритмов.
курсовая работа [1,0 M], добавлен 26.02.2012Анализ теоретического материала по теме «структуры данных» в школьных учебниках информатики. Описание электронного учебника со встроенным средством самоконтроля по теме: принцип работы, модули регистрации пользователей, изучения материала, проверки знаний
курсовая работа [1,1 M], добавлен 04.06.2008