Слайд 2
Цикл - многократное повторение последовательности действий по некоторому
условию.
Тело цикла - последовательность действий, которые необходимо выполнить
многократно.
Слайд 3
Типы циклов
1. Цикл с предусловием (цикл-пока) — наиболее
универсальная циклическая структура. Реализуется оператором While.
Формат оператора:
while <логическое выражение> do
<тело цикла>;
Тело цикла выполняется до тех пор, пока значение логического выражения = true (истина)
Слайд 4
Типы циклов
2. Цикл с постусловием имеет формат:
repeat
until ;
Выполнение операторов тела цикла заканчивается,
когда логическое выражение принимает значение true. Тело цикла с постусловием выполняется хотя бы один раз.
Слайд 5
Типы циклов
3. Цикл с параметром имеет два варианта
записи:
1) for I: = In to Ik do
цикла>;
2) for I:= In downto Ik do <тело цикла>,
где I - параметр цикла, In - начальное значение параметра, Ik -конечное значение параметра
Выполнение операторов тела цикла повторяется до тех пор, пока значение параметра лежит в интервале между In и Ik.
Слайд 6
Вложенные циклы
Если в теле цикла содержится другой цикл,
то такие циклы называются вложенными.
При организации вложенных циклов
выделяются внешний и внутренний циклы.
Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла – внутренним
Внутренний и внешний циклы могут быть любыми из трёх видов: цикл с параметром, цикл с предусловием или цикл с постусловием.
Слайд 7
Вложенные циклы
При использовании вложенных циклов необходимо соблюдать следующее
правило:
все операторы внутреннего цикла должны полностью располагаться в теле
внешнего цикла.
При организации вложенных циклов изменение значений параметра (или управляющей переменной) внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл
Слайд 8
Пример 1
Разработать программу для создания серии повторяющихся по
вертикали и горизонтали квадратов. Задать толщину контура, цвет контура
и заливку фигур.
Слайд 9
Словесное описание алгоритма
Квадрат создаем как графический примитив прямоугольник
с равными сторонами.
Прямоугольник задается с помощью процедуры Rectangle(x1,y1,x2,y2),
где
x1,y1- координаты верхнего левого угла;
x2,y2 – координаты нижнего правого угла.
Для решения задачи используем вложенные циклы.
Внешний и внутренний цикл имеют тип цикл с параметром.
Слайд 10
Словесное описание алгоритма
(продолжение)
Во внутреннем цикле будем изменять координаты
по горизонтали, соответственно получим повторяющиеся по горизонтали изображения.
Во
внешнем цикле будем изменять координаты по вертикали, соответственно получим повторяющиеся ряды изображений, полученных в результате выполнения внутреннего цикла.
Слайд 11
Программа 1
Program Primer1;
uses GraphABC; {подключение
модуля ABC}
var
i, j, x, y: integer;
begin
SetPenWidth(5); {задается толщина
контура}
SetPenColor(clblue); {задается цвет контура}
SetBrushColor(clred); {задается цвет заливки }
SetBrushStyle(7); {задается стиль заливки }
y:=5; {начальное значение координаты Y}
{длина стороны квадрата =50}
{расстояние между квадратами = 10}
Слайд 12
Продолжение программы 1
for i:=1 to 4 do
begin
x:=5; {начальное значение координаты X}
for
j:=1 to 5 do
begin
rectangle (x, y, x+50, y+50);
x:=x+50+10;
end;
y:=y+10+50;
end;
end.
в
н
е
ш
н
и
й
ц
и
к
л
в
н
у
т ц
р и
е к
н л
н
и
й
j=5
i=1
i=2
i=3
i=4
На этом слайде в режиме анимации представлен процесс
последовательного выполнения внешнего и внутреннего циклов
for i:=1 to 4 do
begin
x:=5;
for j:=1 to 5 do
begin rectangle(x,y,x+50,y+50);
x:=x+50+10;
end;
y:=y+10+50;
end;
end.
значения параметра
внутреннего цикла
Слайд 15
Пример 2
Разработать программу для создания серии повторяющихся по
вертикали и горизонтали квадратов. Длину стороны квадрата, расстояние между
квадратами и размер окна вывода результатов задавать путем ввода соответствующих значений с клавиатуры.
Слайд 16
Программа 2
Program Primer1;
uses GraphABC;
var
i, j, x,
y, a, d, m, n: integer;
begin
SetPenWidth(5);
SetPenColor(clblue);
SetBrushColor(clred);
SetBrushStyle(7);
y:=5;
Writeln('a='); Readln(a); {ввод длины стороны квадрата}
Writeln('d='); Readln(d); {ввод расстояния между квадратами}
Writeln('m='); Readln(m); {ширина окна вывода результата}
Writeln('n='); Readln(n); {высота окна вывода результата}
SetWindowSize(m,n); {задание размера окна вывода результата}
Слайд 17
Программа 2
(продолжение)
y:=5;
while y
x:=5;
while x
y, x+a,y+a);
x:=x+a+d;
end;
y:=y+a+d;
end;
end.
Слайд 18
Результат выполнения программы
На данном слайде представлен результат выполнения
программы при
a=30, d=20
Слайд 19
Практическая работа
Разработать программу для создания серии повторяющихся
по вертикали и горизонтали окружностей.
Задать толщину контура, цвет контура
и заливку фигур.