Содержание
-
Вложенные циклы и их использование при работе с графикой в АВС Pascal
1
-
Цикл- многократное повторение последовательности действийпо некоторому условию. Тело цикла- последовательность действий, которые необходимо выполнить многократно. 2
-
Типы циклов
1.Циклспредусловием(цикл-пока) — наиболее универсальная циклическая структура. Реализуется оператором While. Формат оператора: whiledo ; Тело цикла выполняется до тех пор, пока значение логического выражения = true (истина) 3
-
2. Цикл спостусловиемимеет формат: repeat until; Выполнение операторов тела цикла заканчивается, когда логическое выражение принимает значение true. Тело цикла с постусловием выполняется хотя бы один раз. 4
-
3. Циклспараметромимеет два варианта записи: 1) for I: = In toIkdo; 2) for I:= In downtoIk do, где I - параметр цикла, In - начальное значение параметра, Ik-конечное значение параметра Выполнение операторов тела цикла повторяется до тех пор, пока значение параметра лежит в интервале между In и Ik. 5
-
Вложенные циклы
Если в теле цикла содержится другой цикл, то такие циклы называются вложенными. При организации вложенных циклов выделяются внешний и внутренний циклы. Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла – внутренним Внутренний и внешний циклы могут быть любыми из трёх видов: цикл с параметром, цикл с предусловием или цикл с постусловием. 6
-
При использовании вложенных циклов необходимо соблюдать следующее правило: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла. При организации вложенных циклов изменение значений параметра (или управляющей переменной) внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл 7
-
Пример 1
Разработать программу для создания серии повторяющихся по вертикали и горизонтали квадратов. Задать толщину контура, цвет контура и заливку фигур. 8
-
Словесное описание алгоритма
Квадрат создаем как графический примитив прямоугольникс равными сторонами. Прямоугольник задается с помощью процедуры Rectangle(x1,y1,x2,y2), где x1,y1- координаты верхнего левого угла; x2,y2 – координаты нижнего правого угла. Для решения задачи используем вложенные циклы. Внешний и внутренний цикл имеют тип цикл с параметром. 9
-
Словесное описание алгоритма(продолжение)
Во внутреннем цикле будем изменять координаты по горизонтали, соответственно получим повторяющиеся по горизонтали изображения. Во внешнем цикле будем изменять координаты по вертикали, соответственно получим повторяющиеся ряды изображений, полученных в результате выполнения внутреннего цикла. 10
-
Программа 1
ProgramPrimer1; usesGraphABC;{подключение модуля ABC} var i,j,x,y:integer; begin SetPenWidth(5); {задается толщина контура} SetPenColor(clblue); {задается цвет контура} SetBrushColor(clred); {задается цвет заливки } SetBrushStyle(7); {задается стиль заливки } y:=5; {начальное значение координаты Y} {длина стороны квадрата =50} {расстояние между квадратами = 10} 11
-
Продолжение программы 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. в н е ш н и й ц и к л в н у т ц р и е к н л н и й 12
-
Результат выполнения программы
13
-
j=1 j=2 j=3 j=4j=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. p значения параметра внешнего цикла значенияпараметра внутреннего цикла 14
-
Пример 2
Разработать программу для создания серии повторяющихся по вертикали и горизонтали квадратов. Длину стороны квадрата, расстояние между квадратами и размер окна вывода результатов задавать путем ввода соответствующих значений с клавиатуры. 15
-
Программа 2
Program Primer1; usesGraphABC; 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);{задание размера окна вывода результата} 16
-
Программа 2 (продолжение)
y:=5; while y
-
Результат выполнения программы
На данном слайде представлен результат выполнения программы при a=30, d=20 18
-
Практическая работа
Разработать программу для создания серии повторяющихся по вертикали и горизонтали окружностей. Задать толщину контура, цвет контура и заливку фигур. 19
-
Домашнее задание
Разработать программу для создания повторяющихся графических примитивов: Задать толщину контура, цвет контура и заливку фигур. Размер стороны квадрата, радиуса окружности, расстояние между фигурами и размер окна вывода результатов задавать путем ввода соответствующих значений с клавиатуры. 20
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.