Главная страница

Цикл с предусловием. While


Скачать 38.47 Kb.
НазваниеЦикл с предусловием. While
Дата07.02.2023
Размер38.47 Kb.
Формат файлаdocx
Имя файлаwhile 1.docx
ТипУрок
#923812

Раздел




ФИО педагога

Муханова Э.А.

Дата

10.01-11.01-13.01

Класс 8 кл

Количество присутствующих:

отсутствующих:

Тема урока

Цикл с предусловием. While

Цели обучения, которые достигаются на данном уроке (ссылка на учебную программу)


8.3.3.1 использовать операторы выбора и циклов в интегрированной среде разработки программ

Цель урока

Формировать у учащихся умения строить блок схему алгоритма и решать жизненные задачи используя цикл с постусловием

Критерии успеха

формулируют правила записи оператора цикла while

- определяют значение переменных после выполнения оператора цикла while

- используют оператор цикла с предусловием whileпри написании программ

Ход урока

Этапы урока

Деятельность учителя

Деятельность обучающихся

Оценивание

Ресурсы

Организационный этап

Организационный момент. Учащиеся и учитель приветствуют друг друга. Соблюдение норм речевого этикета, эмоциональный настрой на урок способствует воспитанию уважения к себе и другим.

Scheduled Lesson Activities)

- Hello? How are you? Who is not in class?

What is the date today?

Актуализация знаний: «Вопрос - ответ»:

Какие виды циклов вы знаете?

Что такое тело цикла?

Как вы понимаете условие повторения цикла?

Можно ли вначале проверить условие повторения цикла, а потом выполнить тело цикла?

Постановка цели урока(совместно с учащимися): Improve understanding of loops; Apply ‘While’ loop

Показывают решения задач, при возникновении вопросов разбирают с учителем

Интерактивное обучение

Диалогическое обучение

Саморегулируемое обучение

Критическое мышление

Изучение нового материала

Циклспредусловием–этоцикл,которыйповторяетсядотехпор,покаусловиевыполняется(истинно).Блок-схемацикласпредусловиемпредставленанарисунке1.



Рис.1.

ДляреализациицикласпредусловиемиспользуетсяоператорWhile.ВобщемвидеоператорWhileнаязыкепрограммированияПаскальможетбытьпредставлентак:

While<условие>doзаголовокцикла

Begin

<оператор_1>;телоцикла

<оператор_2>;

End;

Важнопомнить:

Еслиусловиесразуоказываетсяложным,циклспредусловиемневыполнитсяниразу!

Втелецикладолжныбытьоператоры,которыевкакой-томоментизменятзначениеусловия,сделавеголожным.Еслиэтогонеслучится,циклбудетбесконечным,тоестьпрограмма«зациклится».

Зациклившуюсяпрограммуследуетостановитьспомощьюкоманды

Программа->Завершить,иначеонабудетвыполнятьсябесконечно(точнее,довыключениякомпьютера).

Воператорахforиwhileточкасзапятойнеставитсянипередсловомdo,нипосленего!

Пример1.ВычислитьсуммупервыхNнатуральныхчисел.

programsumma_N_2;

vari,n,sum:integer;

begin

write('n=');{вводисходныхданныхсклавиатуры}

readln(n);{n-количествопервыхнатуральныхчисел}

sum:=0;{присвоимпеременнойsumначальноезначение0,}

i:=1;{апеременнойi-начальноезначение1}

whilei<=ndo{покаi<=nвыполнить}

begin

sum:=sum+i;{телоцикла}

i:=i+1;{переменнаяIменяетсявнутрицикла,иеевеличинаопределяеточередноеповторениециклаилизавершениеего}

end;

writeln('Sum=',sum);{выводрезультата}

end.

Результатвыполненияпрограммывслучаевводаn=10:

n=10

Sum=55


Пример2.Сколькослагаемыхдолжнобытьвсумме2+4+6+8+….,чтобыэтасуммаоказаласьбольшенекоторогоданногонатуральногочислаN.

Программарешениязадачиможетиметьвид:

ProgramKol_slag;

vari,x,sum,n:integer;{i-счетчикслагаемых,

впеременнуюxбудутзаписыватьсяслагаемые,

впеременнойsumбудетнакапливатьсясумма}

begin

x:=2;{первоеслагаемоеравно2}

i:=1;{начальноезначениесчетчикаслагаемыхравно1}

sum:=2;

write('n=');

readln(n);{вводчислаn}

whilesum<=ndo{покаsum<=nвыполнитьтелоцикла}

begin

x:=x+2;{следующееслагаемоена2большепредыдущего}

i:=i+1;{увеличениесчетчикаслагаемыхна1}

sum:=sum+x;{прибавлениеочередногослагаемогоксумме}

end;

writeln(i,'слагаемых');

end.

РезультатвыполненияпрограммыприN=30:

n=30

6слагаемых

CпомощьюоператораWhileможнорисоватьразличноеколичествографическихфигур.Например,заполнятьэкранкругамиразличнымспособом:вдольверхнегокраяэкрана,вдольнижнегокрая,вдольлевогокраяит.д..

Пример3.Нарисоватьрядзакрашенныхвзеленыйцветкруговрадиуса20пикселейвдольверхнегокраяэкранамонитора.

Программарешениязадачиможетиметьвид:

programkrugi;

usesgraphabc;

varx,y,r:integer;

begin

clearWindow(clViolet);

setBrushColor(clGreen);{устанавливаетзеленыйцветкисти}

x:=22;y:=22;r:=20;{начальныезначенияx,y,r}

whilex<660do

begin

circle(x,y,r);{рисуеточереднойкруг}

x:=x+40;{смещаеткоординатуxдляследующегокруга}

end;

end.

Спомощьюоператораwhileможнореализоватьимитациюдвиженияграфическихобъектов.

Пример4.Организоватьимитациюдвиженияшарикапоэкранумонитора.

Длятогочтобыграфическийобъектдвигалсяпоэкрану,необходимоорганизоватьповторениеследующихкоманд:

1)Нарисоватьобъект;

2)Организоватьвременнуюпаузу;

3)Стеретьобъект;

4)Изменитькоординатыобъекта.

Программарешениязадачиможетиметьвид:

programdvigenie;

usesgraphabc;

varx,y,r:integer;

begin

x:=22;y:=22;r:=20;{начальныекоординатыобъекта}

whilex<800do{повторениеследующихдействий}

begin

setBrushColor(clGreen);{задаемцветобъекта}

circle(x,y,r);{рисуемобъект}

Sleep(10);{паузавмиллисекундах}

setBrushColor(clWhite);{выбираемцветфона}

setPenColor(clWhite);{стираем(закрашиваемобъект}

circle(x,y,r);{цветомфона)}

x:=x+4;{изменяемкоординатыобъекта}

end;

end.

Реализуйтепрограммуdvigenieнакомпьютереиувидитерезультатеевыполнения.

Израссмотренныхвышепримеровможносделатьвывод:переменным,входящимвусловиезаголовкацикласпредусловиемдолжныбытьприсвоеныопределенныеначальныезначениядовходавцикл,автелецикладолжныбытьоператоры,которыеизменяютзначенияусловиядотехпор,покаононестанетложным.

Как переводится слово While?

В программировании оно означает «пока условие верно, нужно выполнять действия».

A ‘for’ loop is usually used when we repeat something for definite number of times.

A ‘while’ loop is used when a program needs to loop until a particular condition happens.

For example, while wheels of the train rotate, the train keeps moving. If they stop the train also will stop.

Блок-схема цикла с предусловием:

Общий вид оператора:

while (условие)    

{

Блок действий;

}

Давайте попробуем, соблюдая перечисленные выше правила записи цикла с предусловием, составить блок-схему и записать код с использованием оператора while для решения задачи, которую мы решали на прошлом уроке (сумма чисел от 1 до 1000).
#include

using namespace std;

 int main()

{

setlocale(0, "");

int i = 0;

int sum = 0;

while (i < 1000)

{

i++;

sum += i; // краткая запись выражения sum=sum+i

}

cout << "Сумма чисел от 1 до 1000 = " << sum << endl;

return 0;

}



Работа в парах. Написать программу, которая выводит на экран квадраты всех целых чисел от 1 до 10.

Вывести на экран все четные числа от 1 до 20

var k: integer;

Begin

k:=2;

while k<=20 do begin

writeln (k);

k := k+2;

end;

end.
Маше надо решить 100 примеров. Она решила, что в первый день решит - 1 пример, во второй - 2, в третий - 3 и так далее. Сколько дней Маша будет решать примеры?

var p, sum: integer;

Begin

sum := 0;

p:=1;

while sum<=100 do begin

sum := sum+p;

p := p+1;

end;

writeln (p);

end.



Ученики отвечают на вопросы, дают подробные пояснения к ответам:

Ученики выполняют задания, ответ записывают в тетрадь.

Выполняют самопроверку.

Словесная оценка учителя

. Взаимооценивание

Стратегия «Стикер

Критическое мышление.

Саморегулируемое обучение (самонаправленность в процессе работы над заданиями).

Рефлексия

Повторить формулы и определения по теме: «Погрешности»

В конце урока учащиеся проводят рефлексию:

- что узнал, чему научился

- что осталось непонятным

- над чем необходимо работать

Учащиеся подытоживают свои знания по изучаемой теме.









написать администратору сайта