Урок по информатике на тему Вложенные циклы.

Автор публикации:

Дата публикации:

Краткое описание: ...


Раздел: «Циклы. Циклические алгоритмы».

Тема урока: «Вложенные циклы».


Цель урока: обобщение знаний операторов цикла и обучение построению циклического алгоритма сложной структуры.


Задачи урока:

  1. повторить циклический алгоритм и дать понятие о вложенных циклах

  2. закрепить навыки составления программ с циклами

  3. совершенствовать работу в коллективе при решении задач

Опорные знания:

  1. циклическая структура алгоритма

  2. операторы цикла

Программное обеспечение:

  1. язык программирования QBASIC


Ход урока:


    1. Организационный момент. Приветствие.

Проверка готовности класса к уроку. Объяснить порядок и последовательность работы на уроке.


    1. Повторение пройденного материала. (Фронтальный опрос учащихся)

      • Что такое «циклический алгоритм»?


Циклический алгоритмалгоритм, предусматривающий

многократное повторение одного и того же действия

(одних и тех же операций) над новыми исходными данными.


  • Где в жизни мы можем наблюдать цикличность (повторение)?


Дни недели, времена года, смена дня и ночи, смена месяцев в году и т.д.

  • Какую структуру имеет цикл?

Структура цикла: НАЧАЛО ЦИКЛА

< ТЕЛО ЦИКЛА >

КОНЕЦ ЦИКЛА



FOR ... TO ... STEP ... < ТЕЛО ЦИКЛА > NEXT



    1. Сообщение новой темы.


- До сих пор мы использовали операторы цикла для составления простых программ, где содержался только один цикл. Сегодня мы используем различные комбинации циклов с параметром и знание операторов цикла для создания сложных циклических программ.

- Итак, тема урока: «Вложенные циклы».


    1. Объяснение нового материала.

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

- Обозначим цикл квадратной скобкой: (Запись на доске и в тетрадь)

[pic] FOR ... TO ... STEP ...


< ТЕЛО ЦИКЛА >

NEXT


- Схематически покажем варианты взаимного расположения циклов:


а) Последовательные циклы: б) Вложенные циклы:


[pic] [pic] FOR ... FOR ...

[pic] < ТЕЛО ЦИКЛА > FOR ...

NEXT

[pic] FOR ... < ТЕЛО ЦИКЛА >

< ТЕЛО ЦИКЛА > NEXT

NEXT

NEXT



в [pic] )Запрещённое расположение FOR ...

[pic] циклов в программе: FOR ...

(пересечение)

NEXT

NEXT



-Во вложенных циклах выделяются внешний и внутренний цикл.







Р [pic] ассмотрим рисунок №1: А

А [pic] внешний цикл. В

Он открывается первым,

а закрывается последним.

Ввнутренний цикл. В

Он открывается последним, А

а закрывается первым.

Рис.1

- Цикл, который чаще меняет значение своих параметров - внутренний.

На каждое изменение внешнего цикла полностью выполняется внутренний цикл, начиная с начального значения.

- MAX число вложенных циклов зависит от языка программирования,

в языке QBASIC количество «вложений» должно быть не более семи раз.

- Вложенный цикл – это цикл в цикле.

- Рассмотрим вложенные циклы на примере решения задач.


А) Написать программу заполнения экрана точками с расстояниями между ними по горизонтали и вертикали 10.


SCREEN 9

CLS

FOR x=0 TO 640 STEP 10

FOR Y=0 TO 350 STEP 10

PSET(X,Y),4

NEXT Y

NEXT X


Работает программа таким образом: В первом заголовке цикла переменной Х присваивается значение 0. Потом программа переходит к выполнению следующего оператора, т.е. в нашем случае, второго цикла, который и исполняется, пока Y не превысит значение 350. После этого берется следующее значение Х, и действия с Y повторяются. И так до тех пор, пока Х не станет больше 640. То есть программа строит вертикальные цепочки точек, пока не заполнится весь экран.


В) Получить на экране фигуру по шаблону, приведенному на рисунке:




[pic]

[pic]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

















1

















2

















3

















4

















5

















6

















7

















8

















9

















10

















11

















12

















13

















14

















15

















[pic]

[pic]


REM Вариант 1

Screen 1

CLS

X0=60

Y0=30

FOR J=0 to 14

FOR I=0 to 14

READ P

IF P=1 THEN PSET (X0+I, Y0+J)

NEXT I

NEXT J

DATA 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0

DATA 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0

DATA 1,1,1,1,1,1,1,0,1,0,0,0,0,0,1

DATA 1,1,1,1,1,1,1,0,1,0,0,0,0,0,1

DATA 1,0,0,1,0,0,1,0,1,1,1,1,1,1,1

DATA 1,1,1,0,1,1,1,0,1,0,0,1,0,0,1

DATA 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1

DATA 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1

DATA 1,1,1,1,1,1,1,0,1,1,1,0,1,1,1

DATA 1,0,1,1,1,0,1,0,1,1,1,1,1,1,1

DATA 0,1,0,0,0,1,0,0,1,1,1,1,1,1,1

DATA 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1

DATA 0,0,0,0,0,0,0,0,1,0,0,1,0,0,1

END

REM Вариант 2

Screen 1

CLS

X0=60

Y0=30

FOR J=0 to 140 STEP 10

FOR I=0 to 140 STEP 10

READ P

IF P=1 THEN LINE(X0+I,Y0+J)-(X0+10+I,Y0+10+J),1,B

IF P=1 THEN PAINT(XO+5+I,Y0+5+J),2,1

NEXT I

NEXT J

DATA 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0

DATA 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0

DATA 1,1,1,1,1,1,1,0,1,0,0,0,0,0,1

DATA 1,1,1,1,1,1,1,0,1,0,0,0,0,0,1

DATA 1,0,0,1,0,0,1,0,1,1,1,1,1,1,1

DATA 1,1,1,0,1,1,1,0,1,0,0,1,0,0,1

DATA 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1

DATA 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1

DATA 1,1,1,1,1,1,1,0,1,1,1,0,1,1,1

DATA 1,0,1,1,1,0,1,0,1,1,1,1,1,1,1

DATA 0,1,0,0,0,1,0,0,1,1,1,1,1,1,1

DATA 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1

DATA 0,0,0,0,0,0,0,0,1,0,0,1,0,0,1

END



Вариант 1.


Закрашенный квадрат на рисунке соответствует высвечиваемой точке, пустой квадрат точке, которая не высвечивается.

В строках программы с оператором DATA храниться информация о каждой точке рисунка, шестнадцати строкам рисунка соответствуют шестнадцать операторов DATA , в каждом из которых содержится шестнадцать чисел, характеризующих цвет соответствующей точки (1- точка светится, 0-точка не светится). В цикле происходит считывание информации о каждой точке и вывод светящейся точки на экран.


Вариант 2.


Изображение выводится на экран в виде закрашенных квадратов.


    1. Закрепление нового материала.

Составить программу по нижеследующему шаблону.

[pic] [pic] [pic]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

















1

















2

















3

















4

















5

















6

















7

















8

















9

















10

















11

















12

















13

















14

















15

















[pic]

    1. Домашнее задание.


Составить программу в соответствии со своим вариантом, используя структуру вложенных циклов и операторы графики.






[pic] [pic] [pic] Вариант 1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

















1

















2

















3

















4

















5

















6

















7

















8

















9

















10

















11

















12

















13

















14

















15

















[pic]

[pic] [pic] [pic] Вариант 2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

















1

















2

















3

















4

















5

















6

















7

















8

















9

















10

















11

















12

















13

















14

















15

















[pic]

7.Подведение итогов.

Итак:

вложенные циклы – это цикл в цикле;

внутренний цикл чаще меняет значение своих параметров;

на каждое изменение параметров внешнего цикла полностью изменяется внутренний цикл, начиная с начального значения.