Цель урока:изучить оператор цикла WHILE языка программирования Pascal, синтаксис, семантику, а также научить учащихся использованию данного оператора при решении задач.
Задачи урока:
-
образовательные:
-
усвоение учащимися оператора цикла с предусловием и области его применения;
-
формирование умений и навыков записи оператора WHILE на языке программирования Pascal;
-
выработка навыков составления программ, реализующих циклические алгоритмы при решении задач;
-
развивающие:
-
развитие логического и алгоритмического мышления учащихся;
-
развитие у учащихся познавательной активности;
-
развитие памяти и внимания;
-
развитие коммуникационной компетентности у учащихся;
-
формирование у учащихся компьютерной грамотности и потребности в приобретении знаний;
-
воспитательные:
-
привитие учащимся навыков самостоятельной работы;
-
воспитание бережного отношения к компьютерной технике;
-
воспитание толерантности.
Тип урока: урок изучения нового материала.
Формы и методы обучения: словесный, наглядный, практический, проблемный – фронтальный опрос, мозговой штурм, индивидуальная работа, работа на компьютере.
Общее время: 80 минут.
Место проведения урока:кабинет информатики.
Оснащение урока:компьютерная презентация «Оператор цикла WHILE», мультимедийный проектор, интерактивный учебный курс «Основы программирования на Turbo Pascal» издательского дома «Равновесие», компьютеры с инсталлированным на них пакетом Turbo Pascal, колонки, дидактический раздаточный материал.
План урока
-
Оргмомент – 1 мин.
-
Вводное слово – 1 мин.
-
Актуализация знаний и умений учащихся – 8 мин.
-
Презентация нового материала – 25 мин.
-
Закрепление изученного материала – 15 мин.
-
Работа на компьютерах – 25 мин.
-
Заключение – 3 мин.
-
Задание на дом – 2 мин.
Ход урока
1. Беседа с дежурным. Здравствуйте. Кто сегодня дежурный? Кто из учащихся отсутствует на уроке?
2. Вводное слово. Подавляющее большинство задач с циклами можно решать разными способами, используя при этом один из трех операторов цикла. Часто решения, использующие различные операторы цикла, оказываются равноценными. В некоторых случаях все же предпочтительнее использовать какой-то один из операторов. Сегодня на уроке мы познакомимся с одним из таких операторов — оператором цикла WHILE. Цикл, который реализуется данным оператором, называют также циклом с предусловием. Почему это так, в каких случаях применяется данный оператор, и каков формат записи этого оператора вы узнаете не сегодняшнем уроке.
3. Актуализация знаний и умений учащихся. Актуализация знаний и умений учащихся осуществляется во время фронтального опроса, в ходе, которого им предстоит ответить на следующие вопросы:
-
Дайте определение циклического алгоритма.
-
Перечислите основные структуры циклического алгоритма.
-
Приведите примеры циклических алгоритмов.
-
Запишите формат оператора цикла с параметром, цикла FOR.
-
Расскажите, как выполняется оператор цикла FOR.
-
Что следует знать, используя, оператор цикла FOR.
4. Презентация нового материала. Решите следующую задачу: Распечатать квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0,2. Решая поставленную задачу, в процессе рассуждений учащиеся должны сделать вывод о том, что изученный ими ранее оператор цикла с параметром (оператор FOR) не позволяет решить задачу, поскольку он изменятся с шагом 1 или -1. Учащиеся предполагают, что для решения поставленной задачи им нужно использовать какой-то другой оператор цикла.
Для этого учащимся предлагается прослушать интерактивный учебный курс «Основы программирования на Turbo Pascal» – Введение в Turbo Pascal\Оператор цикла While, составить опорный конспект – записать формат и блок-схему оператора в тетрадь и ответить на вопросы:
-
В каких случаях используется оператор цикла WHILE?
-
Почему цикл, записанный с помощью оператора WHILE, называют циклом с предусловием?
-
Можно ли данный оператор цикла назвать универсальным?
Принцип выполнения оператора WHILE и примеры решения некоторых задач (включая задачу о квадратах чисел, предложенную учащимся для решения в начале рассмотрения темы) учитель демонстрирует в презентации «Оператор цикла WHILE»:
WHILE Условие выполнения цикла DO
Оператор цикла WHILE состоит из заголовка и тела цикла. Ключевые слова WHILE и DO обозначают «до тех пор, пока» и «выполняй» соответственно.
Проверка условия выполнения цикла производится в самом начале оператора – если значение условия истинно, то выполняется тело цикла и снова вычисляется выражение условия выполнения цикла. Так продолжается до тех пор, пока значение условия выполнения цикла не станет ложным.
Следует знать:
-
число повторений операторов цикла WHILE определяется в ходе работы программы и как, правило, заранее неизвестно;
-
в операторе цикла WHILE точка с запятой никогда не ставится после зарезервированного слова DO;
-
для успешного завершения цикла WHILE в его теле обязательно должны присутствовать инструкции, оказывающие влияние на условие выполнения инструкций цикла;
-
инструкции тела цикла WHILE вообще могут быть не выполнены, если проверяемое условие ложно с самого начала;
-
исходя из последнего утверждения, цикл WHILE считают самым универсальным видом цикла.
Вернемся к задаче – распечатать квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0,2. Составим блок-схему и программу решения задачи:
var k, s : integer; begin s := 0; while s <= 1 do
begin k := sqr(s); writeln (k); s := s + 0.2; end;
readln; end.
Рассмотрим следующую задачу: для проверки физического развития проверяют рост школьников. Составьте программу, запрашивающую рост очередного школьника и вычисляющую после завершения медосмотра средний рост прошедших осмотр. Количество школьников, подлежащих медосмотру заранее не известно.
Решение. Чтобы получить средний рост С, надо знать количество школьников К и их суммарный рост S. Для вычисления величин K и S воспользуемся циклом WHILE. Однако, здесь возникает проблема, какое условие следует выбрать для завершения цикла. Проще всего договориться – в конце рабочего дня в ответ на запрос о росте школьника ввести какое-либо фиктивное значение, например, 0.
var k, s, r : integer; c : real; begin
s := 0; k := 0; write (‘введите рост школьника’); readln (r); while r <> 0 do
begin k := k + 1; s := s + r; write (‘введите рост школьника’); readln (r); end;
c := s/k; writeln (‘средний рост школьников’,c) readln; end.
5. Закрепление изученного материала. Для закрепления изученного материала учащимся предлагается выполнить комментированные упражнения. Комментирование действий помогает учителю обнаруживать типичные ошибки и вносить коррективы в действия учеников.
Составьте блок-схему и программу решения задач:
-
Распечатать произведения чисел А и В, изменяющихся от 17 и -25 с шагом -3 и 5 соответственно до тех пор, пока это произведение – отрицательное число.
-
Сколько слагаемых должно быть в сумме 1 + ½ + 1/3 + …+ 1/N, чтобы сумма оказалась больше 5.
6. Работа на компьютерах. Для самостоятельной работы на компьютере учащимся предлагаются три варианта заданий.
Вариант 1.
-
Температура С в градусах Цельсия изменяется от 0 до 100 с шагом 5. Напечатать таблицу перевода температуры из градусов Цельсия в градусы Фаренгейта (F). Формула перевода: F = 1,8 C + 32. Составьте блок-схему и программу решения задачи.
-
Составьте таблицу значений функции y = 5x – 2 на отрезке [1; 20] с шагом b = 2.
-
*В первый день пловец проплыл 3 км. В каждый следующий день он проплывал на 10% больше, чем в предыдущий.
Вариант 2.
-
Напечатать таблицу соответствия между весом в фунтах и весом в кг для значений от 1 до 10 фунтов с шагом 0,5 фунта. Формула перевода: 1 фунт = 400 г. Составьте блок-схему и программу решения задачи.
-
Составьте таблицу значений функции y = 5x2 – 2x + 1 на отрезке [-5; 5] с шагом b = 2.
-
*Урожай яблок в 1990 году составил 20 тонн. Далее каждые два года урожай уменьшался на 20%.
-
а) Начиная с какого года, будет собрано менее 5 тонн?
-
б) В каком году суммарный урожай яблок превысит 90 тонн?
Вариант 3.
-
Напечатать таблицу перевода расстояний из дюймов в сантиметры для значений от 1 до 10 дюймов с шагом 0,5 дюйма. Формула перевода: 1дюйм = 2,54 см.
-
Составьте таблицу значений функции y = 4x2 – 5x – 10 на отрезке [-9; 9] с шагом b = 3.
-
*Концентрация хлорной извести в бассейне V м3 составляет 10 г/л. Через одну трубу в бассейн вливают чистую воду со скоростью Q м3/час, через другую трубу с такой же скоростью вода выливается. При условии идеального перемешивания концентрация хлорной извести изменятся по закону C = C0e-Qt/V , где t – время, C0 – начальная концентрация.
-
а) Определить, через какое время концентрация хлорной извести в бассейне достигнет безопасной для человека величины. Задачу решить при Q = 150 м3/час, V = 10000 л, C0 = 10 г/л, t изменяется с шагом 0,5.
-
б) Напечатать таблицу изменения концентрации хлорной извести для интервала времени от 0 до 5 часов с шагом 0,5 часа.
7. Заключение. Подводятся итоги уроки, анализируется и оценивается работа каждого ученика.
Рефлексия: — Было ли вам комфортно сегодня на уроке? — Что нового вы узнали на сегодняшнем уроке? — Решение, какой задачи было для вас наиболее сложным? — С какими именно трудностями вы столкнулись при решении этой задачи? — Какие задания показались вам простыми?
8. Задание на дом.
-
Выучить опорный конспект.
-
Вычислить последнюю сумму членов ряда, при которой модуль разности между текущим и предыдущим членами ряда остается меньше 1. Кроме суммы вывести на экран значение последнего слагаемого и его номер. Составьте блок-схему и программу решения задачи.
-
Творческое задание. Составьте задачу на использование оператора цикла WHILE и решите ее (Составьте блок-схему и программу решения задачи.)
*Данные задачи является задачами повышенной сложности. Они предназначены для работы с учащимися, проявляющими повышенный интерес к предмету. Их можно предложить таким ученикам в оставшееся после выполнения основной работы время. Учащиеся, правильно решившие данные задачи получают повышенные итоговые оценки за работу на уроке. Наличие таких задач дает возможность учителю осуществлять дифференцированный подход в обучении. |