Слайд 1КИТ И Э КБГУ
Группа ПИУ 25
Преподаватель:
Иванова Лариса Султановна.
Тема: Циклы
Слайд 2Тип урока: повторительно-обобщающий
Оборудование: компьютер, проектор, презентация MS PowerPoint, программа PascalABC.
Слайд 3Цели урока
Повторить знания материала по теме “Циклы”;
Активизировать знания по
теме “Оператор цикла” для решения задач по данной теме;
Закрепить умение решать задачи по теме “Операторы цикла”, составление блок-схем.
Слайд 4Ход урока
1. Оргмомент.
Приветствие учащихся, сообщение темы и целей урока.
2. Повторение теоретического
материала.
Ответы учащихся сопровождаются показом презентации.
3.Новый материал по данной теме.
Слайд 8ОПРОС
Вопрос1
Какие процессы называются циклическими?
Что такое тело цикла?
Слайд 9Ответ на 1 вопрос
Процесс называется циклическим, если вычисления в нём многократно
повторяются по одним и тем же формулам при разных значениях входящих в них переменных.
Алгоритмическая структура «Цикл» обеспечивает многократное выполнение некоторой последовательности действий, которая называется телом цикла
Слайд 10ВОПРОС 2
Какие типы циклических структур и операторы цикла в Паскале вы
знаете?
Слайд 11ОТВЕТ НА ВОПРОС 2
1 с определённым числом повторений (цикл с параметром,
или цикл со счетчиком, или цикл «Для»);
2 с неопределенным числом повторений; здесь различают цикл с предусловием (цикл «Пока») и цикл с постусловием (цикл «До»).
Слайд 12ВОПРОС 3
Какие операторы цикла в Паскале вы можете назвать?
Слайд 13ОТВЕТ НА ВОПРОС 3
Оператор цикла с предусловием (цикл «Пока») WHILE является наиболее общим по сравнению
с другими конструкциями.
Оператор REPEAT (цикл «До») используется так называемое постусловие, т.е. значение логического выражения, управляющее выходом из цикла, проверяется после выполнения операторов.
Цикл с параметром (цикл «Для») имеет два варианта :
1) с возрастанием переменной цикла
2) с убыванием переменной цикла
Слайд 14ВОПРОС 4
Какой вид ( синтаксис) имеет каждый из перечисленных циклов?
WHILE
REPEAT
FOR ( с возрастанием, с убыванием)
Слайд 15ОТВЕТ НА ВОПРОС 4
1) WHILE DO
2)
REPEAT
<последовательность операторов>
UNTIL <выражение булёвского типа>
3) с возрастанием переменной цикла:
FOR <идентификатор> := <выражение> TO <выражение> DO <оператор>;
4) с убыванием переменной цикла:
FOR <идентификатор> := <выражение> DOWNTO <выражение> DO <оператор>;
Слайд 16ВОПРОС 5
Как работают эти операторы?(WHILE, REPEAT…. UNTIL,
FOR… TO )
В чём
их особенности? Когда лучше применять тот или иной оператор?
Слайд 17ОТВЕТ НА ВОПРОС 5(1)
WHILE DO ;
Сначала вычисляется значение
булёвского выражения. ). Если оно имеет значение TRUE, то выполняется оператор, стоящий после слова DO, затем условие проверяется вновь и т.д. Как только на очередном шаге условие не выполняется (значение булёвского выражения становится равным FALSE), то выполнение оператора цикла прекращается. Если выполняемый оператор не изменяет значения переменных, входящих в условие, то условие всегда будет истинным, и цикл будет выполняться вечно, при этом говорят, что программа зацикливается. Если же при первой проверке условия оно сразу оказывается ложным, то оператор цикла не выполняется вообще.
Слайд 18ОТВЕТ НА ВОПРОС 5(2)
REPEAT
UNTIL
На первом шаге
цикла операторы, заключенные между REPEAT и UNTIL, выполняются в любом случае, дальше же цикл будет повторяться, пока значение булёвского выражения ложно. То есть цикл закончится, когда оно станет истинным. В этом случае цикл заканчивает, и происходит переход на оператор, следующий за REPEAT. Операторы внутри цикла REPEAT выполняются хотя бы один раз, поскольку условие выхода из цикла проверяется только после его очередного выполнения.
При построении циклов с использованием REPEAT этому оператору должен предшествовать оператор присваивания начального значения параметру цикла.
В данном операторе слова REPEAT и UNTIL служат операторными скобками, и BEGIN…END использовать не требуется
Слайд 19ОТВЕТ НА ВОПРОС 5(3)
Оператор цикла с параметром следует применять, если заранее
известно, сколько раз нужно выполнить некоторый оператор. Параметр цикла может являться просто счётчиком, контролирующим количество повторений оператора, а может использоваться в самом операторе (с учётом того факта, что на каждом шаге цикла параметр цикла на 1 отличается от предыдущего своего значения)
Поскольку оператор цикла FOR сам изменяет значения переменой цикла, её нельзя менять другими способами, например, присваиванием ей какого-либо значение в теле цикла.
Слайд 20Письменный опрос
Вопрос1:Определите значение целочисленной переменной S после выполнения операторов:
S:=128;
for i:=1 to 4 do
S:=S div 2;
Writeln (s);
Постройте блок-схему к этой части программы.
Вопрос2: напишите алгоритм покраски забора из досок( с известным числом досок, с неизвестным числом досок)
Слайд 21Пример 1
старинная задача
дано 100 рублей на эти 100 рублей мужику надо
купить 100 голов скота теленок стоит 0.5 рубля корова 5 рублей бык 10 рублей. решить надо с помощью цикла
Слайд 22Решение старинной задачи
uses crt; var b,k,t,s: integer;
zb,zk,zt: real;
begin
zb:=10; zk:=5; zt:=0.5;
for b:=0 to 100 do
for k:=0 to 100 do
for t:=0 to 100 do
if ((b*zb)+(k*zk)+(t*zt)=100)
and (b+t+k=100) then
writeln(b,' быков, ',k,' коров, ',t,' телят');
end..
Слайд 23Пример 2
Подсчитать величину вклада в банке, если заданы
первоначальная сумма, процент по
вкладу и количество лет, в
течение которых вклад хранится в банке. Определить, через
сколько лет вклад удвоится.
Слайд 24Решение задачи «Вклад»
var
vklad, deposit, perc: real;
k, years: integer;
begin
writeln('введите сумму нчального вклада');readln(vklad);
writeln('введите
процент годовых');readln(perc);
writeln('введите количество лет');readln(years);
writeln((vklad + years * vklad / 100 * perc):7:2, ' за ', years,' лет');
deposit := vklad;
while deposit < 2 * vklad do
begin
deposit := deposit + vklad / 100 * (perc / 12);
k := k + 1;
end;
writeln(trunc(k/12),' лет ',k mod 12, ' месяцев составит ',deposit:7:2);
end.
Слайд 25Новый материал по теме: «Циклы»
Вложенные циклы( определение, правила создания, примеры).
Решение задач.
Слайд 26Вложенные циклы
Цикл внутри тела другого цикла называется вложенным. Вложенный будет именоваться внутренним
циклом, и цикл в теле которого существует вложенный цикл будет именоваться внешним по отношению к вложенному. Внутри вложенного цикла в свою очередь может быть вложен еще один цикл, образуя следующий уровень вложенности и так далее. Количество уровней вложенности как правило не ограничивается.
Слайд 27Пример( алгоритм Евклида нахождения НОД)
Слайд 28Домик из звездочек
(вложенные циклы)
Задача следующая: запросив высоту крыши домика, нужно изобразить
из звездочек и решеток домик в текстовом виде. Для высоты 6 домик должен выглядеть таким образом:
*
***
*****
*******
*********
***********
#########
# # # # #
# #
# #
# #
# #
#########
Слайд 29Решение задачи «Домик»
Обозначим номер строки i. Тогда, число пробелов будет равно
p=n-i, а число звездочек z=2*i-1.
Для отображения пробелов и звездочек используем команду write, а для перехода на следующую строку writeln.
for i:=1 to n do
begin
for j:=1 to n-i do write(' ');
for j:=1 to 2*i-1 do write('*');
writeln;
end;
Слайд 30СПАСИБО ЗА ВНИМАНИЕ.
Успехов в учебе