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