Выбранный для просмотра документ Конспект урока цикл пред и пост.doc
Скачать материал "Циклические алгоритмы. Циклы с предусловием и постусловием."
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Циклические алгоритмы. Цикл с пост и пред.ppt
Скачать материал "Циклические алгоритмы. Циклы с предусловием и постусловием."
Рабочие листы
к вашим урокам
Скачать
1 слайд
Циклические алгоритмы.
Цикл с предусловием «Пока».
Цикл с постусловием
«До».
2 слайд
1. Что такое линейный алгоритм?
2. Как реалезуется линейный алгоритм в программе?
3. Какая форма организации действий называется ветвлением?
4. Как оформляют алгоритм ветвления ?
3 слайд
знакомство с понятием цикла и развитие умения решать различные задачи по данной теме.
4 слайд
5 слайд
Что такое цикл?
Цикл — форма организации действий, при которой одна и та же последовательность действий совершается несколько раз до тех пор, пока выполняется какое — либо условие.
6 слайд
Для организации цикла необходимо выполнить следующие действия:
1. перед началом цикла задать начальное значение параметра;
2. внутри цикла изменять параметр цикла с помощью оператора присваивания;
3. проверять условие повторения или окончания цикла;
4. управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из цикла в противном случае.
7 слайд
Циклы делятся на:
8 слайд
Язык Паскаль имеет три оператора, с помощью которых можно организовать циклическую структуру:
Цикл с предусловием “Пока”
(While ... do)
Цикл с постусловием “До”
(Repeat ... until)
Цикл с параметром (счетчиком)
“Для” (For ... )
9 слайд
Пока <условие>
нц
<тело цикла>
кц
10 слайд
Формат оператора
цикла с предусловием «Пока»:
<присвоение начальных значений переменным, входящим в условие>
На языке Turbo Pascal записывается:
While <условие> do
begin
<действие 1>
<действие 2>
................
<действие N>
<изменение условия>
end;
11 слайд
При построении программ со структурой цикла WHILE:
1) начальное значение логического выражения должно быть определено перед вхождением в цикл, т.е. перед WHILE;
2) последовательность выполняемых операторов в теле цикла должна быть логически связанной и содержать хотя бы один оператор, изменяющий значение параметра цикла, иначе цикл будет продолжаться бесконечно;
3) логическое выражение в заголовке цикла WHILE, чтобы цикл закончился, должно принять значение FALSE.
12 слайд
Работа оператора while
1.Проверяется условие, стоящее после while;
2.Если условие истинно, то выполняется оператор(тело цикла), стоящий после do;
3.Переход к пункту 1;
4.Если условие ложно, то происходит выход из цикла.
13 слайд
Написать алгоритм, выводящий таблицу умножения на 3.
Решение:
алг Таблица умножения на З
арг К
нач
К:=1
пока К<=10
нц
вывод 3*К
к:=к+1
кц
кон
Пока <условие>
нц
<тело цикла>
кц
14 слайд
Решение в виде блок-схемы
15 слайд
Особенности цикла While…do
Так как условие проверяется на входе в цикл, то
при неверном условии цикл не выполняется ни разу,
т.е. не выполняются операторы, стоящие в теле цикла.
Операторы, входящие в тело цикла, обязательно заключаются в операторные скобки, если в теле цикла более одного оператора. В противном случае будет выполняться только первое действие, стоящее под заголовком цикла.
В теле цикла должно обязательно выполняться действие, приводящее к изменению условия, иначе цикл станет бесконечным. Оператор, в котором изменяются переменные, входящие в условие, может стоять не обязательно в конце цикла.
!
!
!
16 слайд
Цикл предусловием While … do
Решение задачи о выводе
10 целых чисел на экран
с использованием цикла While… do:
i: =1; {начальное значение}
i:=i+1
Программа
var i: integer; {счетчик}
Begin
Блок-схема алгоритма
While i<=10 do
begin
Writeln(i);
end; {While}
End.
Нет (False)
Да (True)
i:=1
i:=i+1
конец
i<=10
Writeln(i)
начало
y
!
!
17 слайд
Задача
Вычислить сумму натурального ряда чисел от 1 до N.
18 слайд
Решение
Program summa;
Var i,s,n: integer;
Begin
writeln(‘Введите n’);
readln(n);
i:=1; {Первое слагаемое}
s:=0; {Значение суммы}
while i<=n do
Begin
s:=s+i; {Сумма увеличивается}
i:=i+1; {Слагаемое увеличивается на 1}
End;
writeln('Сумма= ',s);
End.
19 слайд
Задача
Когда Василисе Премудрой исполнилось 18 лет, Кощей Бессмертный решил взять ее замуж. Василиса спросила, сколько у Кощея сундуков с золотом. Кощеи сказал, что у него 27360 сундуков полных, и каждый год прибавляется еще по 33 сундука. Василиса обещала выйти за Кощея тогда, когда у него будет 30000 сундуков, полных золота. Сколько лет будет невесте Кощея в день свадьбы?
20 слайд
Решение
Program KOSHEY_vasilisa;
Var v,s:integer;
Begin
v:=18; {Возраст Василисы}
s:=27360; {Начальный капитал Кощея}
while s<30000 do
Begin
s:=s+33; {Каждый год Кощей становится богаче}
v:=v+1; {Каждый год Ваcилиса становится старше}
end;
writeln('Василисе ',v,' лет');
End.
21 слайд
Цикл предусловием While … do
Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100км.
22 слайд
Решение
Program prim;
Var S:real;
N:integer;
Begin
S:=10;N:=1;
While s<20 do
Begin
N:=n+1;
S:=s*0.1
End;
Writeln(' дневной пробег больше 20 км на ',n,' день');
S:=10;N:=1;
While s<100 do
Begin
N:=n+1;
S:=s+s*0.1 {накапливаем суммарный пробег}
End;
Writeln('за ',n,' пробежит больше 100 км');
Readln
End.
23 слайд
Цикл с постусловием «До»
Выполнение тела цикла повторяется до тех пор, пока условие ложно.
Тело цикла выполнится хотя бы один раз.
24 слайд
Цикл с постусловием «До»
Форматы записи операторов на Паскале
repeat <серия команд>
until <условие>
Последовательность инструкций между repeat и until всегда будет выполнено хотя бы один раз .
Repeat имеет формат:
repeat { повторяй … }
<оператор 1>;
< оператор 2>;
…
until {до…} <условие>
Begin и end не требуются.
25 слайд
Как произносится конструкция
Repeat(ри’пит) – повторяй;
Until(ан’тил) – до тех пор пока;
Конструкция:
Repeat у:= а+1 until а+2>10
Читается так:
Повторяй у присваивать а+1 до тех пор, пока а+2 не станет больше 10.
26 слайд
Работа оператора repeat
1.Выполняется тело цикла;
2.Проверяется условие выхода из цикла; (Поэтому цикл выполняется хотя бы один раз)
3.Если условие ложно, то переход к пункту 1;
4.Если условие истинное, то происходит выход из цикла.
27 слайд
Особенности цикла Repeat…until
Так как условие проверяется на выходе из цикла, то
цикл выполняется хотя бы один раз.
Все операторы, стоящие в теле цикла, выполняются ДО проверки условия, поэтому операторные скобки не ставятся.
В теле цикла должно обязательно выполняться
действие, приводящее к изменению условия,
иначе цикл станет бесконечным. Оператор, в котором изменяются входящие в условие переменные,
может стоять не обязательно в конце цикла.
!
!
!
28 слайд
Цикл с постусловием Repeat … until
Решение задачи о выводе10 целых чисел на экран с использованием цикла Repeat…until:
i: =1; {начальное значение}
i:=i+1
Программа
var i: integer; {счетчик}
Begin
Блок-схема алгоритма
Repeat
Writeln(i);
Until i>10
End.
конец
Нет (False)
Да (True)
i:=1
i:=i+1
начало
Writeln(i);
i>10
!
!
29 слайд
Формат оператора
цикла с предусловием:
<присвоение начальных значений переменным, входящим в условие>
While <условие> do
begin
<действие 1>
<действие 2>
................
<действие N>
<изменение условия>
end;
Тело цикла
Формат оператора
цикла с постусловием:
< присвоение начальных значений переменным, входящим в условие >
Repeat
<действие 1>
<действие 2>
................
<действие N>
<изменение условия>
until <условие> ;
До цикла задается начальное значение переменных,
входящих в условие. Условие - выражение булевского типа.
В теле цикла значение переменных, входящих в условие, должны обязательно изменять свое значение, иначе возникнет ситуация «зависания».
Тело цикла
Общее
в этих
циклах
Сравнение циклов While и Repeat
30 слайд
1. Что такое циклический алгоритм?
2. Что такое цикл?
3. Какую конструкцию имеет цикл с предусловием и цикл с постусловием?
4. В чем отличие цикла с постусловием от цикла с предусловием?
31 слайд
Геометрическая прогрессия
Геометрической последовательностью называется последовательность, в которой отношение между ее членом и членом, ему предшествующим, есть величина постоянная.
Сумма геометрической прогрессии S определяется формулой: S= a + a*r + a*r2 + a*r3 + … + a*r(N-1)
В символьной записи это можно записать так:
a, a*r, a*r2, a*r3, … , a* r(N-1)
Здесь буквой a обозначен первый член последовательности, буквой r – ее знаменатель и буквой N – число членов последовательности.
Например, если a=4, r=0.5, N=7, получаем последовательность
4, 2, 1, 0.5, 0.25, 0.125, 0.625
!
!
32 слайд
У царя было семь сыновей.
В сундуке лежали изумруды. Пришел первый сын и взял половину того, что было. Пришел второй сын и взял половину того, что осталось и т.д. Каждый из сыновей приходил и забирал половину того, что осталось. Наконец, пришел последний, седьмой сын и увидел почти пустой сундук — с двумя изумрудами.
Сколько изумрудов лежало в сундуке первоначально?
При решении задачи будем использовать цикл Repeat…until.
Нет (False)
Да (True)
i=7 q=2 r=2
i=i-1
q=q*r
начало
конец
i >1
q
Задача «Изумруды»
!
Блок-схема
!
Задача
Блок-схема while…do
r=2 (разность геометрической прогрессии).
33 слайд
Помощь!!!
В этой задаче, мы имеем геометрическую прогрессию, для которой известен начальный член a=1 и разность r=2:
Для 7-го сына имеем: i=7 q=a*r =1*2= 2 изумруда
Для 6-го сына имеем: i=6 q=a*r*r= 1*2*2 изумруда
Для 5-го сына имеем: i=5 q=a*r*r*r= 1*2*2*2 изумруда
………………………………………………….
Надо продолжать вычисление до i=1, т.е. для 1-го сына. Определив q, узнаем, сколько изумрудов лежало в сундуке первоначально.
34 слайд
Программа
Program izumrud;
Var i, q, r: integer;
Begin
i:=7;
q:=2;
r:=2;
WriteLn('i=', i, 'q=',q) ;
Repeat
q:=q*r;
i:=i-1;
WriteLn('i=', i, 'q=', q);
Until
i<=1;
WriteLn('всего', q, 'изумрудов');
End.
35 слайд
Cамостоятельно!
Какое значение будет принимать переменная у после выполнения программы:
Заполнить таблицу до конца.
Рабочие листы
к вашим урокам
Скачать
Рабочие листы
к вашим урокам
Скачать
6 661 760 материалов в базе
Настоящий материал опубликован пользователем Михайлова Татьяна Дмитриевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.