Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) 10 класс Раздел программы: Алгоритмизация и программирование. Основные понятия: Алгоритм, циклическая структура, виды циклов, условие цикла, Цели урока: Обучающая: сформировать представление о принципе работы циклической структуры, сформировать навыки программирования в среде TP Развивающая: формирование ИКТ- компетентности, развитие алгоритмического мышления. Воспитывающая: способствовать формированию партнерских отношений в классе Тип урока: урок изучения нового материала. Вид урока: комбинированный урок. Оборудование: интерактивная доска, проектор; компьютеры; Последовательность этапов урока: 1. Организационный момент. 2. Актуализация опорных знаний и умений. 3. Объяснение нового материала. 4. Первичное закрепление нового материала 5. Самостоятельная работа. 6. Итог урока, рефлексия 1 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 7. Домашнее задание 2 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Ход урока: 1. Организационный момент. Сообщение темы и целей урока. (Слайд 1) 2. Актуализация опорных знаний и умений. Вопросы (Слайды 2-5): 1. Какие числа относятся к типу Integer Real ? 2. Исправь ошибки в программе Program pr; Var b,s: real; Begin Writeln (Введите числа b и с) Readln( b,c); A=b+c; Write ln ( ‘a=’,a); End. 3. Запиши на языке программирования следующее математическое выражение: х2+2ху-у2 4. Переведите запись с языка программирования Паскаль на математический язык Sqrt(x)*3 – (a+2)/b 3. Объяснение нового материала. (Слайды 6-9) Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одной и той же последовательности команд. Такие повторяемые последовательности вычислительного процесса называются циклами. Программа циклической структуры содержит один или несколько циклов. 3 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Различают детерминированные циклы с заранее известным числом повторений; итерационные циклы, в которых число повторений заранее неизвестно. Изменяющаяся в цикле переменная называется параметром цикла. Для организации цикла необходимо выполнить следующие действия: 1) задать перед циклом начальное значение параметра цикла; 2) изменять параметр перед каждым новым повторением цикла; 3) проверять условие повторения цикла; 4) управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из него по окончании. В языке Паскаль существует 3 вида циклов: 1) цикл с параметром или цикл типа for, 2) цикл с предусловием или цикл типа while, 3) цикл с постусловием или цикл типа repeat ... until. В цикле типа for число повторений известно заранее, в циклах типа while и repeat ... until число повторений цикла заранее неизвестно, производится проверка условия повторения цикла: в цикле типа while - перед циклом, в цикле типа repeat ... until - после его окончания. В циклах типов for и while повторяющяся часть (тело цикла) состоит из одного оператора, если требуется выполнить в цикле несколько операторов, они заключаются в операторные скобки begin ... end, образуя составной оператор. В цикле типа repeat ... until тело цикла помещается между зарезервированными словами языка repeat и until, операторные скобки не требуются, в названии цикла его тело условно обозначается тремя точками. С помощью цикла типа for удобно находить суммы, произведения, искать максимальные и минимальные значения и т.п. При нахождении суммы некоторой переменной, например S присваивается значение 0, затем в 4 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 цикле к этой переменной прибавляется соответствующий член заданной последовательности. При нахождении произведения переменной присваивается значение 1, затем в цикле эта переменная умножается на общий член последовательности. 4. Первичное закрепление нового материала. Примеры программ: (Слайды 10-12) 1. Пример цикла типа for Вычислить n чисел Фибоначчи:F1=1; F2=1;…; Fn=Fn-1+Fn-2 , например F3=F2+F1=1 + 1 = 2; F4 = 2 + 1 = 3 и т.д. program f; {Нахождение чисел Фибоначчи} var x, y, z, i, n : integer; begin writeln (‘Введите n’); read (n); x:=1; y:=0; for i:=1 to n do begin z:=x ; x:=x+y ; y:=z ; write (' ', x ) ; end; readln; end. 2. Пример цикла типа while Составить таблицу значений функции y = a3/(a2+x2) для х, принадлежащих отрезку [1; 1] с шагом 0.1. Так как параметр цикла типа for должен быть целочисленным, удобнее использовать цикл while, в котором значение х можно изменять при каждом шаге на 0.1 program cycl_while; uses crt; var 5 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 a, x, y : real ; i : integer; begin clrscr ; writeln ('Введите а ' ); readln (a); x:= -1.; writeln (‘ x ‘,’ y ’); while do x<1.05 begin y:= sqr(a)*a/ (a*a+x*x); writeln (x:6:2, y:8:4); x:=x+0.1 end; readln; end . 3. Пример цикла типа repeat ... until Определить число n, при котором сумма квадратов натурального ряда чисел от 1 до n не превысит величину K, введенную с клавиатуры. Т.е. n S >= K, где S= i 2 12 2 2 ... n 2 i 1 program sum_sq; {Сумма квадратов натурального ряда } uses crt; var k, s, n : integer; begin clrscr ; writeln( 'Введите K' ); readln (k); s:=0; n:=1; repeat s :=s+n*n; 6 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 n := n+1; until s > k; writeln ('N= ', n : 3, ' s= ' , s : 5 ); readln; end. (Слайд 13) Цикл с предусловием (типа while) может не выполниться ни разу, цикл с постусловием repeat ... until - выполнится по крайней мере 1 раз. Когда число повторений цикла неизвестно заранее, применяются циклы с предусловием или с постусловием . Когда число повторений цикла известно заранее, как правило, применяется цикл типа for. Но любой цикл типа for можно заменить циклом с предусловием или постусловием. 5. Самостоятельная работа. (Слайд 14) Вариант 1 Вариант 2 1. Цикл с параметром 1. Цикл с параметром Составить программу вычисления суммы Найти сумму положительных нечетных кубов чисел от 25 до 125. чисел меньших 100. 2. Цикл с предусловием 2. Цикл с предусловием Найти количество четных цифр целого Найти самую большую цифру целого числа. положительного числа. 3. Цикл с постусловием Составить программу, 3. Цикл с постусловием проверяющую, Дана непустая последовательность является ли заданное натуральное число натуральных чисел, за которой следует 0. совершенным, то есть равным сумме своих Вычислить сумму положительных положительных делителей, кроме самого элементов последовательности. этого числа. Работа проверяется в парах учащимися. 7 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 6. Итог урока, рефлексия С чем вы познакомились сегодня? Какие алгоритмы называются циклическими? С какими новыми оператором вы сегодня познакомились? Какие служебные слова в нем применяются? Приведите примеры циклических алгоритмов из жизни. С какими учебными дисциплинами перекликался наш сегодняшний урок? 7. Домашнее задание: (Слайд 15) Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13. Найти сумму цифр числа. Произведение N первых нечетных чисел равно р. Сколько сомножителей взято? Показать, что любой оператор цикла с предусловием можно записать с помощью условного оператора и оператора цикла с постусловием. 8 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Приложение Презентация к уроку Слайд 1 Циклы for, while, repeat ... until 10 класс Слайд 2 Устно: 1. Какие числа относятся к типу Integer Real ? 9 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 3 2. Исправь ошибки в программе Program pr; Var b,s: real; Begin Writeln (Введите числа b и с) Readln( b,c); A=b+c; Write ln ( ‘a=’,a); End. Слайд 4 3. Запиши на языке программирования следующее математическое выражение: х2+2ху-у2 10 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 5 4. Переведите запись с языка программирования Паскаль на математический язык : Sqrt(x)*3 – (a+2)/b Слайд 6 Алгоритм циклической структуры Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одной и той же последовательности команд. Такие повторяемые последовательности вычислительного процесса называются циклами. Программа циклической структуры содержит один или несколько циклов. 11 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 7 Циклы детерминированные циклы с заранее известным числом повторений; • итерационные циклы, в которых число повторений заранее неизвестно. Изменяющаяся в цикле переменная называется параметром цикла. Слайд 8 Для организации цикла необходимо выполнить следующие действия: 1) задать перед циклом начальное значение параметра цикла; 2) изменять параметр перед каждым новым повторением цикла; 3) проверять условие повторения цикла; 4) управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из него по окончании. 12 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 9 Виды циклов: 1) цикл с параметром или цикл типа for, 2) цикл с предусловием или цикл типа while, 3) цикл с постусловием или цикл типа repeat ... until. Слайд 10 Цикл типа for (число повторений известно заранее) Вычислить n чисел Фибоначчи:F1=1; F2=1;…; Fn=Fn-1+Fn-2 , например F3=F2+F1=1 + 1 = 2; F4 = 2 + 1 = 3 и т.д. program f; {Нахождение чисел Фибоначчи} var x, y, z, i, n : integer; begin writeln (‘Введите n’); read (n); x:=1; y:=0; for i:=1 to n do begin z:=x ; x:=x+y ; y:=z ; write (' ', x ) ; end; readln; end. 13 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 11 Цикл типа while (число повторений цикла заранее неизвестно, производится проверка условия перед цикла) Составить таблицу значений функции y = a3/(a2+x2) для х, принадлежащих отрезку [-1; 1] с шагом 0.1. program cycl_while; var a, x, y : real ; i : integer; begin writeln ('Введите а ' ); readln (a); x:= -1.; writeln (‘ x ‘,’ y ’); while do x<1.05 begin y:= sqr(a)*a/ (a*a+x*x); writeln (x:6:2, y:8:4); x:=x+0.1 end; readln; end . Слайд 12 Цикл типа repeat ... until (число повторений цикла заранее неизвестно, производится проверка условия после тела цикла) Определить число n, при котором сумма квадратов натурального ряда чисел от 1 до n не превысит величину K, введенную с клавиатуры. Т.е. n S >= K, где S= i 2 12 2 2 ... n 2 i 1 program sum_sq; {Сумма квадратов натурального ряда } uses crt; var k, s, n : integer; begin clrscr ; writeln( 'Введите K' ); readln (k); s:=0; n:=1; repeat s :=s+n*n; n := n+1; until s > k; writeln ('N= ', n : 3, ' s= ' , s : 5 ); readln; end. 14 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 13 Выводы: Цикл с предусловием (типа while) может не выполниться ни разу Цикл с постусловием repeat ... until - выполнится по крайней мере 1 раз. Когда число повторений цикла неизвестно заранее, применяются циклы с предусловием или с постусловием . Когда число повторений цикла известно заранее, как правило, применяется цикл типа for. Но любой цикл типа for можно заменить циклом с предусловием или постусловием. Слайд 14 Самостоятельная работа Вариант 1 Вариант 2 1. Цикл с параметром Составить программу вычисления суммы кубов чисел от 25 до 125. 2. Цикл с предусловием Найти количество четных цифр целого положительного числа. 3. Цикл с постусловием Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме своих положительных делителей, кроме самого этого числа. 1. Цикл с параметром Найти сумму положительных нечетных чисел меньших 100. 2. Цикл с предусловием Найти самую большую цифру целого числа. 3. Цикл с постусловием Дана непустая последовательность натуральных чисел, за которой следует 0. Вычислить сумму положительных элементов последовательности. 15 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Слайд 15 Домашнее задание 1. Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13. 2. Найти сумму цифр числа. 3. Произведение N первых нечетных чисел равно р. Сколько сомножителей взято? 4. Показать, что любой оператор цикла с предусловием можно записать с помощью условного оператора и оператора цикла с постусловием. 16 Урок на тему: «Циклы for, while, repeat ... until в языке Паскаль» (2 часа) Украинская Е.А. – учитель информатики МБОУ Наро-Фоминская сош №5 Использованные материалы 1. Конспекты уроков информатики в 9 – 11 классах: практикум по программированию / авт.-сост. А.А. Чернов. – Волгоград: Учитель, 2006. 2. http://festival.1september.ru. 17