Submitted by Елена Витальевна Иванова on Sat, 17/11/2012 - 17:18
Тема урока:«Операторы цикла в Pascal».
Тип урока:практикум.
Продолжительность урока:45 минут.
Возраст учащихся:IX класс.
Цель урока:
формирование умений учащихся применять знания, полученные на прошлых уроках по теме “Операторы цикла в Pascal”;
формирование практических навыков составления программ с использованием условных операторов цикла.
Задачи урока:
образовательные:
повторение теоретического материала по теме «Операторы цикла в Pascal»;
решение задач на применение условных операторов цикла (While, Repeat);
преобразование программ с использованием оператора Whileв программы с использованием оператора Repeatи наоборот;
развивающие:
развитие алгоритмического мышления, памяти, внимательности;
развитие познавательного интереса;
развитие умения выслушивать ответы товарищей;
воспитательные:
воспитание интереса к информатике;
воспитание трудолюбия и аккуратности;
воспитание сотрудничества.
Программное обеспечение:программа Turbo Pascal 7.0, программа Pascal ABC.
Оборудование:компьютеры, мультимедийный проектор, интерактивная доска, раздаточный материал (напечатанные условия задач).
Структура урока:
Организационный момент – 2 мин.
Сообщение темы и цели урока – 1 мин.
Актуализация знаний – 4 мин.
Решение задач – 35 мин.
Подведение итогов урока – 1 мин.
Домашнее задание – 2 мин.
Ход урока
1. Организационный момент.
Учитель ждет, пока дети успокоятся, приготовятся к уроку, при этом делает необходимые замечания. Здоровается.
2. Сообщение темы и цели урока.
На прошлом уроке вы познакомились с операторами цикла в Pascal. Сегодня мы с вами научимся применять эти знания при решении конкретных задач. Запишите, пожалуйста, тему урока «Операторы цикла в Pascal».
3. Актуализация знаний.
Фронтальный опрос:
Что называется циклом? (Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд.)
С какими операторами цикла в Pascalвы познакомились?(Оператор цикла с параметром (FOR..TO..DO); с предусловием (WHILE…DO…); с постусловием (REPEAT…UNTIL…).)
Какой из данных операторов является универсальным? (WHILE)
При использовании какого оператора цикл выполнится как минимум один раз? (REPEAT)
Каково главное отличие условных операторов цикла от оператора цикла с параметром? (В теле условных циклов необходимо изменять переменные, входящие в условие, а в теле цикла с параметром параметр изменять нельзя)
4. Решение задач.(Задачи решаются по выбору учеников с разбором на доске)
Задача 1.Вычислить наибольший общий делитель двух натуральных чисел А и В.
Воспользуйтесь для этого алгоритмом Евклида: уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба числа не станут равны.
Решение.
Program NOD;
Var a,b:integer;
Begin
Write('введите два натуральных числа');
Readln(a,b);
While a<>b do
If a>b then a:=a-b else b:=b-a;
Writeln('НОД=',a);
Readln;
End.
Задача 2 .Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100км.
Решение.
Program prim2;
Var S,p: real;
N: integer;
Begin
S:=10;
N:=1;
While s<20 do
Begin
N:=n+1;
S:=s*1.1;
End;
Writeln(' дневной пробег больше 20 км на ',n,' день');
S:=10;
N:=1;
p:=s;
While s<100 do
Begin
N:=n+1;
S:=s*1.1;
p:=p+s; {накапливаем суммарный пробег}
End;
Writeln('за ',n,' пробежит больше 100 км');
Readln;
End.
Задача 3.Даны целые числа а и b(а>b). Определить результат целочисленного деления aна b, не используя стандартную операцию целочисленного деления.
Решение.
Program prim3;
Var a, b, n: integer;
Begin
Write('Введите два числа, a>b');
Readln(a,b);
N:=0;
While a>b do
Begin
N:=n+1;
A:=a-b;
End;
Writeln(' результат целочисленного деления ',n);
Readln;
End.
Задача 4. Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.
Решение.
Program prim4;
Var n: integer;
Begin
N:=20;
While n<51 do
Begin
If (n mod 3=0) and (n mod 5<>0) then writeln(n);
N:=n+1;
End;
Readln;
End.
Задача 5. Напечатать те из двузначных чисел, которые делятся на 4, но не делятся на 6.
Решение.
Program prim5;
Var n: integer;
Begin
N:=10;
While n<100 do
Begin
If (n mod 4=0) and (n mod 6<>0) then writeln(n);
N:=n+1;
End;
Readln;
End.
Задача 6.С помощью оператора repeatнапишите программу, которая требует у вас пароль, например ‘w’, и если пароль правильный, то печатает сообщение «Молодец!».
Решение.
Program prim6;
Var a: char;
Begin
Repeat
writeln(‘введитепароль’);
readln(a);
until (a=’w’);
writeln(‘молодец!!’);
Readln;
End.
Задача 7.Дано натуральное число n, подсчитать количество цифр данного числа.
Решение.
Var I: Integer;
N:Longint;
Begin
Readln(n)
I:=0;
While n<>0 do begin
K:=k+1;
M:=m div 10;
End;
Writeln(k);
End.
5. Подведение итогов урока.
Сегодня мы с вами еще раз вспомнили операторы цикла, их особенности, научились решать задачи с использованием условных операторов цикла. Преобразовывать программы, содержащие цикл с постусловием, в программы, содержащие цикл с предусловием.
6. Домашнее задание.
Потренироваться в составлении программ на оставшихся нерешенными задачах. Подготовиться к самостоятельной работе.