Графические возможности Паскаля. Цикл с параметром

Содержание

Слайд 2

Устная работа. Как подключить библиотеку графических процедур? uses graph; { подключение

Устная работа.
Как подключить библиотеку графических процедур?
uses graph; { подключение библиотеки

графических процедур}
Как должна заканчиваться любая графическая программа?
CloseGraph;
Как выглядит координатная плоскость на экране?
Начало координат находится в левом верхнем углу экрана. Ось х направлена слева направо, а ось y – сверху вниз. Размер экрана 640*480 пикселей.
Слайд 3

Устная работа. Назовите основные графические примитивы. 1.точка цвета с (может меняться

Устная работа.
Назовите основные графические примитивы.
1.точка цвета с (может меняться от 0

до 15) с координатами (x,y) -
putpixel(x,y,c);
2.отрезок (линия) с началом в точке с координатами (x1,y1) и концом (x2,y2) –
line(x1,y1,x2,y2);
3.прямоугольник со сторонами параллельными осям координат и диагональю с началом в точке (x1,y1) и концом (x2,y2) –
rectangle (x1,y1,x2,y2);
4.окружность с центром в точке (x,y) и радиусом r –
circle(x,y,r).
Слайд 4

Устная работа. С помощью, какой команды мы можем ввести в переменную

Устная работа.
С помощью, какой команды мы можем ввести в переменную а

значение во время выполнения программы?
С помощью команды read(a).
С помощью, какой команды мы можем вывести значение а на экран компьютера?
С помощью команды write(a);
Что получиться в результате выполнения фрагмента программы:
x:=1;
x:=x+10;
x:=x-2;
write(‘x=’,x);
Ответ: x=9
Слайд 5

Устная работа. Какие этапы разработки алгоритма вы знаете? Этап 1. Разрабатывается

Устная работа.
Какие этапы разработки алгоритма вы знаете?
Этап 1.
Разрабатывается

примерный алгоритм достижения цели.
Этап 2.
На втором этапе алгоритм детализируется с учётом среды его будущего выполнения.
Этап 3.
На третьем этапе алгоритм (программа) подвергается дальнейшему уточнению и полностью записывается на языке программирования с помощью команд.
Слайд 6

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
I:=2;
X:=X+2*R;
Circle(x,y,r);
I:=3;
X:=X+2*R;
Circle(x,y,r);
I:=4;
X:=X+2*R;
Circle(x,y,r);

Вопрос: Какой вид

программы мы получили?
Ответ: Линейный.
Вопрос: Что такое линейная программа?
Ответ: Программа, в которой все действия выполняются последовательно одно за другим.
Вопрос: Что такое параметр I?
Ответ: Параметр, который указывает номер выводимой окружности.
Вопрос: Какие значения принимает эта величина?
Ответ: Это переменная величина, которая последовательно принимает значения 1, 2, 3, 4.
Слайд 7

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
I:=2;
X:=X+2*R;
Circle(x,y,r);
I:=3;
X:=X+2*R;
Circle(x,y,r);
I:=4;
X:=X+2*R;
Circle(x,y,r);
Посмотреть: urokz1.pas

Вопрос:

Какой недостаток в данной программе?
Ответ: В программе встречаются повторяющиеся действия (команды).
Вопрос: Как исправить этот недостаток?
Ответ: Изменить структуру программы.
Вопрос: Каким образом приведённое описание процедуры построение окружностей можно сделать более кратким?
Слайд 8

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
I:=2;
X:=X+2*R;
Circle(x,y,r);
I:=3;
X:=X+2*R;
Circle(x,y,r);
I:=4;
X:=X+2*R;
Circle(x,y,r);

Ответ:
Для

I, изменяющегося от 2 до 4, повторять серию операторов:
X:=X+2*R;
Circle(x,y,r);
Условимся причастный оборот «изменяющегося от 2 до 4» записывать как «:=2 до 4», а серию операторов заключать в фигурные скобки. Тогда возникает конструкция вида:
Слайд 9

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
Для I:=2 до 4

повторять
{X:=X+2*R;
Circle(x,y,r);}

Мы получили циклическую конструкцию. Циклическая конструкция является приказом многократно повторять серию операторов. В данном случае число повторений заранее известно и определяется начальным и конечным значениями переменной I. Переменная I является указателем числа повторений. Её обычно называют счетчиком или параметром цикла.

Слайд 10

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
Для I:=2 до 4

повторять
{X:=X+2*R;
Circle(x,y,r);}

Что называется циклом с параметром?
Повторение определённого набора действий заданное число раз называется циклом «по счетчику», либо «цикл с параметром», либо «цикл для каждого».
Серия операторов, выполняемая с каждым значением параметра, называется телом цикла.
Шаг цикла ­– это однократное выполнение тела цикла.
Используется, когда число шагов заранее известно

Слайд 11

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
For I:=2 to 4

do
Begin
X:=X+2*R;
Circle(x,y,r);
End;

Описанной циклической конструкции в языке Паскаль соответствует оператор цикла с параметром. Чтобы перейти к его записи, слова «для», «до», «повторять» следует заменить ключевыми словами FOR («Для», «Фоо»), TO («ДО», «Ту»), DO (выполнять), а фигурные скобки – операторными скобками Begin и End.
Общий вид оператора цикла:
For <параметр> := <начальное значение> to <конечное значение> do <операторы тела цикла>;

Слайд 12

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
For I:=2 to 4

do
Begin
X:=X+2*R;
Circle(x,y,r);
End;

ПОРЯДОК ВЫПОЛНЕНИЯ ОПЕРАТОРА FOR.
1. Вычисляются начальное и конечное значение.
2. Параметру цикла присваивается начальное значение, если оно не больше конечного.
3. Выполняются операторы цикла (тело цикла).
4. Значение параметра цикла увеличивается на один шаг.
5. Проверяется условие: если значение параметра цикла не больше конечного, то происходит переход к п.3, иначе - конец цикла и продолжение программы.

Слайд 13

Новая тема. Составить программу построения следующей картинки: writeln(‘vvedite x,y,r’); readln(x,y,r); I:=1;

Новая тема. Составить программу построения следующей картинки:

writeln(‘vvedite x,y,r’);
readln(x,y,r);
I:=1;
Circle(x,y,r);
For I:=2 to 4

do
Begin
X:=X+2*R;
Circle(x,y,r);
End;
Посмотреть: urokz2.pas

ПРАВИЛА ИСПОЛЬЗОВАНИЯ ОПЕРАТОРА ЦИКЛА.
1. Запрещается вход в цикл, минуя оператор FOR, то есть передача извне управления на операторы тела цикла недопустима.
2. В операторе FOR можно задавать и отрицательный шаг, тогда общий вид оператора цикла будет таким:
For <параметр> := <начальное значение> downto <конечное значение> do <операторы тела цикла>;
3. Переопределение значения параметра цикла в теле цикла разрешено, но этим следует пользоваться осторожно, т. к. это может привести к ошибкам.

Слайд 14

Закрепление материала. Задача 1. Что получится в результате выполнения программы? x:=100;

Закрепление материала.

Задача 1. Что получится в результате выполнения программы?
x:=100; y:=100;
SetColor(5);
For i:=1

to 4 do
Begin
line(x,y,x,y+150);
x:=x+50;
End;
Слайд 15

Закрепление материала. Задача 2. Допишите программу таким образом, чтобы компьютер выводил

Закрепление материала.

Задача 2. Допишите программу таким образом, чтобы компьютер выводил следующую картинку.


x:=100; y:=100;
SetColor(5);
For i:=1 to 4 do
Begin
line(x,y,x,y+150);
x:=x+50;
End;
x:=100; y:=100;
For i:=1 to 4 do
Begin
line(x,y,x+150,y);
y:=y+50;
End;
Посмотреть: urok42.pas
Слайд 16

Закрепление материала. Задача 3. Измените программу таким образом, чтобы компьютер нарисовал

Закрепление материала.

Задача 3. Измените программу таким образом, чтобы компьютер нарисовал следующую

картинку:
x:=100; y:=100;
SetColor(5);
For i:=1 to 2 do
Begin
line(x,y,x,y+150);
x:=x+150;
End;
x:=100; y:=100;
For i:=1 to 4 do
Begin
line(x,y,x+150,y);
y:=y+50;
End;
Посмотреть: urok43.pas
Слайд 17

Тест Посмотреть: urok13.pas Посмотреть: urok14.pas Вариант 1 Вариант 2

Тест Посмотреть: urok13.pas Посмотреть: urok14.pas

Вариант 1

Вариант 2

Слайд 18

Домашнее задание Измените исходную задачу таким образом, чтобы за параметр цикла

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

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

Х, а не I. Вместо ? поставить нужный параметр.
Напишите алгоритм рисование 4-х окружностей:
Y:=100;
R:=50;
X:= 100;
Пока X<=? выполнять
{ Circle(x,y,r);
X:=X+?;}
Посмотреть: urokdom.pas