Слайд 1Тема урока: Операторы цикла. Решение задач со счетчиком.
Выполнила: Троегубова Татьяна
Сергеевна учитель
МОУ «СОШ №87»
Слайд 2
Цель урока:
Повторить условный оператор IF;
Вспомнить блок- схему оператора цикла
со счетчиком;
Научиться решать задачи со счетчиком с помощью языка программирования.
Слайд 3
I. Актуализация знаний
Написать программу, в которой нужно проверить, лежит ли
число x на числовой оси между числами a и b
(случай x=a или x=b недопустим). Числа x, a, b являются натуральными, и известно, что a отлично от b (но неизвестно: a>b или b>a). Входная информация вводится с клавиатуры, а на выходе должно быть сообщение вида "x между a и b" (если это действительно так), в противном случае никакой выходной информации не выдается.
Слайд 4
I. Актуализация знаний
Программист торопился и написал программу некорректно.
ПРОГРАММА
НА ПАСКАЛЕ
VAR a,b,x: integer; p: integer;
BEGIN
readln(a,b,x);
if (a>x) AND (x>b) then
writeln('x между a,b');
END.
Слайд 5 Последовательно выполните три
задания:
1).Приведите
пример таких чисел a, x, b
при
которых программа работает
неправильно.
I. Актуализация знаний
Слайд 6
I. Актуализация знаний
2).Укажите, как нужно доработать
программу, чтобы
не было случаев ее
неправильной работы.
(Это можно сделать несколькими
способами).
Слайд 7
I. Актуализация знаний
3).Укажите, как можно доработать
программу, соблюдая
дополнительное
условие: доработанная программа не
должна
использовать логических
операций AND или OR.
Слайд 8I. Актуализация знаний
Что называется циклическим алгоритмом?
Вспомним фрагмент блок-схемы циклического алгоритма
со счетчиком.
Слайд 9I. Актуализация знаний
нет
да
тело цикла
счётчик
Слайд 10
II. Новый материал
Когда заранее известно, какое число повторений тела цикла
необходимо выполнить, можно воспользоваться циклической инструкцией
Слайд 11ОПЕРАТОР ЦИКЛА ПО СЧЕТЧИКУ
FOR < параметр цикла >:=
ТО DO
Слайд 12
Рассмотрим, как выполняется оператор цикла с параметром вида
FOR
< параметр цикла >:=
А ТО В DO
цикла>
А,А+1…В-1,В и для каждого из этих значений выполняется .
Если
А >В, то < тело цикла > не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.
Слайд 14УМЕНЬШЕНИЕ ЦИКЛА НА 1
FOR < параметр цикла >:=
DOWNTO
DO
Слайд 15Надо знать:
В качестве параметра цикла может быть переменная целого или
литерного типа. Не допускается переменная вещественного типа.
Начальное
и конечное значение – выражение того же типа, что и параметр цикла.
Слайд 16Надо знать:
2. Значение параметра цикла в теле
цикла, т.е. внутри оператора, стоящего
после DO, не
должен изменяться.
3. При выходе из цикла значение
параметра цикла не определено.
Слайд 17III.Закрепление темы
Подсчитать сумму 10 чисел, введенных с клавиатуры.
Блок-схема
Решение
Слайд 18Задача
Подсчитать произведение 10 чисел введенных с клавиатуры.
Блок-схема
Решение
Слайд 19Задача
Подсчитать сумму положительных чисел среди 10 чисел введенных с клавиатуры.
Блок-схема
Решение
Слайд 20Задача
Подсчитать количество положительных чисел среди 10 чисел введенных с клавиатуры.
Блок-схема
Решение
Слайд 21Задача
Подсчитать сумму 20 слагаемых 1+2+3…+20
Блок-схема
Решение
Слайд 22Задача
Подсчитать сумму 20 слагаемых
1-1/2+1/3…-1/20
Блок-схема
Решение
Слайд 23IV.Домашнее задание:
1.Составьте программу вычисления квадратов чисел от 1 до
20.
Слайд 24
2.Напечатать все двухзначные числа, сумма которых равна 12.
Слайд 26ОТВЕТ
Циклический алгоритм - это описание действий, которые должны повторяться указанное
число раз или пока не выполнено заданное условие.
Слайд 28ОТВЕТ
2) Возможные доработки:
a) if a
end;
if (a>x) and (x>b) then
writeln('
x между a,b');
b) if (a>x) and (x>b) оr (a
Слайд 29ОТВЕТ
3) p:=(x-a)*(x-b); if p
a,b');
(могут быть и другие правильные
способы
доработки).
Слайд 30БЛОК - СХЕМА
нач
кон
S:=S+А
I:=1 to10
S:=0
Ввести А
S
да
нет
Слайд 31РЕШЕНИЕ
Program my;
Var I,S,A: integer;
Begin
S:=0;
FOR
I:=1 TO 10 DO
Begin
WRITELN ( ‘Введите число’);
READLN (A);
S:=S+A;
End;
WRITELN (S);
End.
Слайд 32БЛОК - СХЕМА
нач
кон
S:=S*А
I:=1 to10
S:=1
Ввести А
S
да
нет
Слайд 33РЕШЕНИЕ
Program my;
Var I,S,A: integer;
Begin
S:=1;
FOR
I:=1 TO 10 DO
Begin
WRITELN ( ‘Введите число’);
READLN (A);
S:=S*A;
End;
WRITELN (S);
End.
Слайд 34БЛОК - СХЕМА
нач
кон
S:=S+A
I:=1 to10
S :=0
A>0
Ввести
А
да
да
нет
нет
S
Слайд 35РЕШЕНИЕ
Program my;
Var I,S,A: integer;
Begin
S:=0;
FOR
I:=1 TO 10 DO
Begin
WRITELN ( ‘Введите число’);
READLN (A);
IF A>0 THEN S:=S+A;
End;
WRITELN (S);
End.
Слайд 36БЛОК - СХЕМА
нач
кон
k:=k+1
I:=1 to10
k:=0
A>0
Ввести
А
да
да
нет
нет
k
Слайд 37РЕШЕНИЕ
Program my;
Var I,K,A: integer;
Begin
K:=0;
FOR
I:=1 TO 10 DO
Begin
WRITELN ( ‘Введите число’);
READLN (A);
IF A>0 THEN K:=K+1;
End;
WRITELN (K);
End.
Слайд 38БЛОК - СХЕМА
нач
кон
S:=S+I
I:=1 to20
S:=0
S
да
нет
Слайд 39РЕШЕНИЕ
Program my;
Var I,S: integer;
Begin
S:=0;
FOR
I:=1 to 20 DO
Begin
S:=S+I;
End;
WRITELN (S);
End.
Слайд 40БЛОК - СХЕМА
нач
кон
P:=-P
I:=1 to20
S:=0
S
P:=1
S:=S+P/I
да
нет
Слайд 41РЕШЕНИЕ
Program my;
Var I,Р: integer; S: real;
Begin
S:=0;
P:=1;
FOR I:=1 TO 20 DO
Begin
S:=S+P/I;
P:=-P;
End;
WRITELN (S);
End.