Презентация, доклад к уроку информатики Вложенные и итерационные циклы

Содержание

Алгоритм (с блоком «цикл»)началоi, i2, i3конецi2 := i * i;i3 := i2 * i;i := 1,8блок «модификация»тело циклаВычислите значения переменных после выполнения цикла

Слайд 1вложенные циклы
На этом уроке вы узнаете

Что такое вложенные циклы
Как они применяются

в программах
Как можно сократить количество повторений цикла
вложенные циклыНа этом уроке вы узнаетеЧто такое вложенные циклыКак они применяются в программахКак можно сократить количество повторений

Слайд 2Алгоритм (с блоком «цикл»)
начало
i, i2, i3
конец
i2 := i * i;
i3 :=

i2 * i;

i := 1,8

блок «модификация»

тело цикла

Вычислите значения переменных после выполнения цикла

Алгоритм (с блоком «цикл»)началоi, i2, i3конецi2 := i * i;i3 := i2 * i;i := 1,8блок «модификация»тело

Слайд 3for i:=1 to 10 do begin
{тело цикла}
end;
i := 1;
while i

<= 10 do begin
{тело цикла}
i := i + 1;
end;

for i:=a downto b do
begin
{тело цикла}
end;

i := a;
while i >= b do begin
{тело цикла}
i := i - 1;
end;

Операторы цикла

i := a;
repeat
{тело цикла}
i := i - 1;
Until i

i :=1;
repeat
{тело цикла}
i := i + 1;
Until i > 10 ;

for i:=1 to 10 do begin {тело цикла}end;i := 1;while i = b do begin {тело цикла}

Слайд 4Сколько раз выполняется цикл?
a := 4; b := 6;
while a

b do a := a + 1;

2 раза
a = 6

a := 4; b := 6;
while a < b do a := a + b;

1 раз
a = 10

a := 4; b := 6;
while a > b do a := a + 1;

0 раз
a = 4

a := 4; b := 6;
while a < b do b := a - b;

1 раз
b = -2

a := 4; b := 6;
while a < b do a := a - 1;

зацикливание

Сколько раз выполняется цикл?a := 4; b := 6;while a < b do a := a +

Слайд 5Сколько раз выполняется цикл?
a := 1;
for i:=1 to 3 do a

:= a+1;

a = 4

a := 1;
for i:=3 to 1 do a := a+1;

a = 1

a := 1;
for i:=1 downto 3 do a := a+1;

a = 1

a := 1;
for i:=3 downto 1 do a := a+1;

a = 4

Сколько раз выполняется цикл?a := 1;for i:=1 to 3 do a := a+1;a = 4a := 1;for

Слайд 6Сколько раз выполняется цикл?
a := 4; b := 6;
repeat a :=

a + 1; until a > b;

3 раза
a = 7

a := 4; b := 6;
repeat a := a + b; until a > b;

1 раз
a = 10

a := 4; b := 6;
repeat a := a + b; until a < b;

зацикливание

a := 4; b := 6;
repeat b := a - b; until a < b;

2 раза
b = 6

a := 4; b := 6;
repeat a := a + 2; until a < b;

зацикливание

Сколько раз выполняется цикл?a := 4; b := 6;repeat a := a + 1; until a >

Слайд 7Вложенные циклы
Если в теле одного цикла имеется другой цикл, то такая

структура алгоритма называется вложенными циклами
Вложенные циклыЕсли в теле одного цикла имеется другой цикл, то такая структура алгоритма называется вложенными циклами

Слайд 8Вложенные циклы
for i:=0 to n do
begin
for j:=0 to m

do
begin
for k:=0 to w do
begin
тело цикла
end;
end;
end;
Внутренний цикл должен полностью находиться в теле внешнего цикла

Тело цикла 1

Тело цикла 2

Тело цикла 3

Вложенные циклыfor i:=0 to n dobegin  for j:=0 to m do  begin

Слайд 9Пример Напечатать числа в виде следующей таблицы
Чтобы повторить вывод строчки 4

раза, вставляем этот цикл внутрь другого:
for k:=1 to 4 do
  {4 раза делаем то, что написано между begin и end
  begin
    for i:=1 to 5 do
      write(3, '   ');  {Выводим одну строку}
    writeln;    {Переводим курсор на следующую строку}
  end;

Данная таблица состоит из четырех строчек, в каждой из которых число 3 напечатано 5 раз.


for i:=1 to 5 do
    write(3, '   ');

Вывод одной строки

Пример Напечатать числа в виде следующей таблицыЧтобы повторить вывод строчки 4 раза, вставляем этот цикл внутрь другого:for

Слайд 10Вложенные циклы
Типичная ошибка, когда в качестве счетчиков вложенных циклов (i и

k в приведенном примере) используется одна и та же переменная. То есть нельзя в каждом из циклов использовать одну переменную i. Помнить об этом особенно важно, поскольку данная ошибка не обнаруживается на этапе компиляции. Ваша программа запустится, но делать будет вовсе не то, что вы от нее ждете. В приведенном примере (если допустить ошибку, заменив переменную k на i) внешний цикл выполнится всего 1 раз вместо 4-х. Возможна также ситуация, когда такая ошибка приведет к зацикливанию: внешний цикл будет выполняться бесконечно долго – программа зависнет
Вложенные циклыТипичная ошибка, когда в качестве счетчиков вложенных циклов (i и k в приведенном примере) используется одна

Слайд 11Задача №1
for k:=1 to n do
   begin
    for i:=1 to n-k+1 do
      

write(' * ');
    writeln;    {Переводим курсор на следующую строку}
  end;

«Нарисовать» на экране прямоугольный равносторонний треугольник с катетом N (значение вводится с клавиатуры):
А) прямой угол «смотрит» влево вверх;
Б) прямой угол «смотрит» влево вниз;
В) прямой угол «смотрит» вправо вверх;
Примеры рисунков для n=3

***
**
*

*
**
***

***
**
*

Задание №1

Записать программу для случая Б) и В)

Задача №1for k:=1 to n do   begin    for i:=1 to n-k+1 do          write(' * ');     writeln;    {Переводим

Слайд 12for k:=1 to n do
   begin
    for i:=1 to k do
      

write('*');
    writeln;   
  end;

for k:=n downto 1 do
   begin
    for i:=1 to n-k do
       write('  ');
for j:=1 to k do
write('*');
    writeln;   
  end;

Проверка Задачи №1

Б)

В)

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

for k:=1 to n do   begin    for i:=1 to k do          write('*');     writeln;      end;for k:=n downto

Слайд 13Сколько можно купить быков, коров и телят, если плата за быка

- 10 рублей, за корову - 5 рублей, за телёнка - полтинник (0,5 рубля) и на 100 рублей надо купить сто голов скота?

Решение:
Обозначим через b количество быков; k - количество коров; t - количество телят. После этого можно записать два уравнения: 10*b+5*k+0,5*t=100 и b+k+t=100. Преобразуем их: 20*b+10*k+t=200 и b+k+t=100. На сто рублей можно купить: не более 10 быков, то есть 0<=b<=10; не более 20 коров, то есть 0<=k<=20; не более 200 телят, то есть 0<=t<=200

Задачи №2

Попробуйте записать программу сами.

Сколько можно купить быков, коров и телят, если плата за быка - 10 рублей, за корову -

Слайд 14
For b:=0 to 10 do For k:=0 to 20 do For t:=0 to

200 do If (20*b+10*k+t=200) and (b+k+t=100) then Writeln('быков ',b,' коров ',k,' телят ',t);

Значение переменной b изменяется 11 раз (от 0 до 10), для каждого её значения переменная k изменяется 21 раз, а для каждого значения переменной k, переменная t изменяется 201 раз. Таким образом, условие будет проверяться 11*21*201=46431 раз. Но, если известно количество быков и коров, то телят можно вычислить по формуле t=100-(b+k) - и цикл по переменной t исключается

Проверка Задачи №2

Можно ли исключить цикл по переменной

t

For b:=0 to 10 do For k:=0 to 20 do For t:=0 to 200 do If (20*b+10*k+t=200)

Слайд 15Вывести на экран все двузначные числа по 10 в каждой строке
Задача

№ 3

Var i,j,k:Integer;
Begin
k:=10;
for i:=1 to 9 do
    begin
     for j:=1 to 10 do
begin
       write(k:4);
k:=k+1;
end;
     writeln;   
end;
  end.

Попробуйте написать программу используя только один цикл, а переходить со строки на строку через каждые 10 цифр будем, проверяя остаток от деления нацело.

Вывести на экран все двузначные числа по 10 в каждой строкеЗадача № 3Var i,j,k:Integer;  Begin

Слайд 16Способ №2
var k:Integer;
begin
for k:=10 to 99 do
    begin
           write(k:4);

If (k mod 10)=9 then
     writeln;   
end;
  end.
Способ №2var k:Integer;beginfor k:=10 to 99 do     begin           write(k:4);

Слайд 17Какой цикл можно назвать вложенным?
Какие правила записи вложенных циклов?
Могут ли циклы

«пересекаться» друг с другом?
Для чего нужно стараться сократить количество повторений циклов?

Ответить на вопросы:

Какой цикл можно назвать вложенным?Какие правила записи вложенных циклов?Могут ли циклы «пересекаться» друг с другом?Для чего нужно

Слайд 181. Выучить § 22.
2. Стр. 142 № 11
3. Написать программу, которая

выводит на экран квадрат Пифагора – таблицу умножения

Домашнее задание:

1. Выучить § 22.2. Стр. 142 № 113. Написать программу, которая выводит на экран квадрат Пифагора –

Слайд 19Г. Железнодорожный
МБОУ СОШ №4
Тихонина Н.Г.

Г. ЖелезнодорожныйМБОУ СОШ №4Тихонина Н.Г.

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть