А.К. Малков, 201 3 1 Графика в Паскале. Циклы При изучении раздела «Алгоритмизация и программирование» курса Информатики и ИКТ.

Презентация:



Advertisements
Похожие презентации
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Advertisements

Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Понятие циклов и их применение к решению задач по программированию на языке Pascal.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
For i:=N1 to N2 do Begin тело цикла End; While do begin ; ;......end;
Вложенные циклы и их использование при работе с графикой в АВС Pascal 1.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
Графика в Паскале Учитель информатики и ИКТ СОШ 60 Грязнова А. В.
Циклы в языке программирования Pascal
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Организация циклов Компьютер может заданное число раз выполнить одни и те же действия с разными данными. Повторяющиеся действия в программировании называются.
Организация циклов в языке программирования Паскаль. Подготовила Семенова Н.С., учитель информатики МБОУ «Средняя общеобразовательная школа 26 с углублённым.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
1 Графика в Pascal Модуль Graph. 2 Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля Graph. Первой инструкцией.
Операторы языка Паскаль. Операторы повтора (цикла)
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Ветвления 8 класс. 2 Основные теоретические сведения Примеры решения задач.
Транксрипт:

А.К. Малков, Графика в Паскале. Циклы При изучении раздела «Алгоритмизация и программирование» курса Информатики и ИКТ

А.К. Малков, Содержание 1. Цикл с параметром Цикл с параметром 2. Циклы по условию. Цикл «Пока». Цикл «До»Циклы по условию. Цикл «Пока». Цикл «До» 3. Вложенные циклы.Вложенные циклы. 4. Самостоятельная работа по теме «Циклы»Самостоятельная работа по теме «Циклы»

А.К. Малков, Цикл с параметром

А.К. Малков, Тема урока: Цикл с параметром. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель нашего урока: Познакомиться с циклом «со счетчиком», его называют «цикл с параметром», также «цикл для каждого».

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

А.К. Малков, Назовите основные графические примитивы. 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); Устная работа

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

А.К. Малков, Какие этапы разработки алгоритма вы знаете? Этап 1. Разрабатывается примерный алгоритм достижения цели. Этап 2. На втором этапе алгоритм детализируется с учётом среды его будущего выполнения. Этап 3. На третьем этапе алгоритм (программа) подвергается дальнейшему уточнению и полностью записывается на языке программирования с помощью команд. Устная работа

Составить программу построения следующей картинки: 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. Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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 Вопрос: Какой недостаток в данной программе? Ответ: В программе встречаются повторяющиеся действия (команды). Вопрос: Как исправить этот недостаток? Ответ: Изменить структуру программы. Вопрос: Каким образом приведённое описание процедуры построение окружностей можно сделать более кратким? Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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», а серию операторов заключать в фигурные скобки. Тогда возникает конструкция вида: Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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 является указателем числа повторений. Её обычно называют счетчиком или параметром цикла. Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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);} Что называется циклом с параметром? Повторение определённого набора действий заданное число раз называется циклом «по счетчику», либо «цикл с параметром», либо «цикл для каждого». Серия операторов, выполняемая с каждым значением параметра, называется телом цикла. Шаг цикла – это однократное выполнение тела цикла. Используется, когда число шагов заранее известно Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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, иначе - конец цикла и продолжение программы. Новая тема А.К. Малков,

Составить программу построения следующей картинки: 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. Переопределение значения параметра цикла в теле цикла разрешено, но этим следует пользоваться осторожно, т. к. это может привести к ошибкам. Новая тема А.К. Малков,

Задача 1. Что получится в результате выполнения программы? x:=100; y:=100; SetColor(5); For i:=1 to 4 do Begin line(x,y,x,y+150); x:=x+50; End; Закрепление материала А.К. Малков,

Задача 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 Закрепление материала А.К. Малков,

Задача 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 Закрепление материала А.К. Малков,

А.К. Малков, Посмотреть: urok13. pas Посмотреть: urok14. pas Тест Вариант 1 Вариант 2 вопроса правильног о ответа вопроса правильно го ответа 32,41231

А.К. Малков, Измените исходную задачу таким образом, чтобы за параметр цикла взять Х, а не I. Вместо ? поставить нужный параметр. Напишите алгоритм рисование 4-х окружностей: Y:=100; R:=50; X:= 100; Пока X

А.К. Малков, Циклы с предусловием. Цикл «Пока». Цикл «До»

А.К. Малков, Тема урока: Циклы с предусловием. Цикл «Пока». Цикл «До». Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель урока: 1. Добиться четкого выделения типов задач, в решении которых используются циклы с постусловием и предусловием. 2. Научиться составлять циклические программы с использованием постусловием и предусловием.

А.К. Малков, Вопрос: Какой вид алгоритма называется линейным? Ответ: Алгоритм, в котором все действия выполняются одно за другим последовательно. 2.Вопрос: С помощью какого оператора строится окружность? Ответ: Circle(x,y,r); 3.Вопрос: Для чего нужны операторные скобки: begin…end? Ответ: Повторяющиеся действия в программе определяются операторными скобками: begin и end; Устная работа

Составить программу построения следующей картинки: Как вы уже знаете, цикл со счётчиком имеет недостатки: параметр цикла либо увеличивается на единицу, либо уменьшается на единицу. Измените задачу 1 таким образом, чтобы за параметр цикла взять Х, а не I. Напишите алгоритм: y:=200; R:=50; X:= 100; Пока X

Составить программу построения следующей картинки: program prim; Uses Graph; label 1; Var gm, gd: integer; x,y,i,r:integer; Begin gd:=detect; Initgraph(gd,gm,'c:\tp\bgi'); x:=100; y:=200;r:=50; while x

Новая тема А.К. Малков, Оператор While служит для реализации циклического алгоритма с предусловием. Общий вид: While do ; Порядок выполнения цикла While. Проверяется условие: если оно истинно, то выполняются операторы тела цикла. Если ложно, то происходит выход из цикла. Особенности цикла While. Число проходов цикла заранее неизвестно, минимальное количество – 0. Выход из цикла, если условие ложно. Условие может быть простым или сложным. Тело цикла состоит из одного оператора. Если по логике решения задачи нужно в цикле выполнить несколько операторов, то они заключаются в операторные скобки. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии, 26

Новая тема А.К. Малков, Оператор Repeat служит для реализации циклического алгоритма с постусловием. Общий вид: Repeat ;... Until ; Операторы в теле цикла записываются через «;» Перед «Until» точка с запятой не ставится. Порядок выполнения цикла Repeat Выполняются операторы тела цикла. Проверяется условие: если оно истинно, то происходит выход из цикла, если ложно, то еще раз выполняется тело цикла. Особенности цикла Repeat Число проходов цикла заранее неизвестно, минимальное количество – 1. Выход из цикла, если условие истинно. Условие может быть простым или сложным. Тело цикла может состоять из нескольких операторов. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии, 27

Закрепление А.К. Малков, Задача. Построить четыре окружности используя цикл До (цикл Repeat) Решение. program prim; Uses Graph; Var gm, gd: integer; x,y,i,r:integer; Begin gd:=detect; Initgraph(gd,gm,'c:\tp\bgi'); x:=100; y:=200;r:=50; repeat circle(x,y,r); x:=x+100; until x>400; readln; Closegraph; End. Посмотреть файл: ur222 28

А.К. Малков, Используя предыдущую задачу: построить четыре окружности: Домашнее задание Построить: Учитель подводит итог урока, отвечает на возможные вопросы учеников.

А.К. Малков, Вложенные циклы

А.К. Малков, Тема урока: Вложенные циклы. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель урока: 1. Работа с циклами «Пока», «До» и «Для». 2. Рассмотреть сочетание данных циклов при создании вложенных циклов.

А.К. Малков, Вопрос: Какой недостаток имеет цикл с параметром? Ответ: Как вы уже знаете, цикл со счётчиком имеет недостатки: параметр цикла либо увеличивается на единицу, либо уменьшается на единицу. Вопрос: Для чего служит оператор While? Ответ: Оператор While служит для реализации циклического алгоритма с предусловием. Вопрос: Какой общий вид оператора While? Ответ: Общий вид: While do Устная работа

А.К. Малков, Вопрос: Как работает данная структура? Ответ: Порядок выполнения цикла While. Проверяется условие: если оно истинно, то выполняются операторы тела цикла. Если ложно, то происходит выход из цикла. Вопрос: Какие особенности цикла While вы знаете? Ответ: 1. Число проходов цикла заранее неизвестно, минимальное количество – Выход из цикла, если условие ложно. 3. Условие может быть простым или сложным. 4. Тело цикла состоит из одного оператора. Если по логике решения задачи нужно в цикле выполнить несколько операторов, то они заключаются в операторные скобки. 5. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии. Устная работа

А.К. Малков, Вопрос: Структура и работа оператора Repeat? Ответ: Общий вид: Repeat ;... Until ; Операторы в теле цикла записываются через «;» Перед «Until» точка с запятой не ставится. Устная работа

А.К. Малков, Вопрос: Какой порядок выполнения цикла Repeat? Ответ: 1. Выполняются операторы тела цикла. 2. Проверяется условие: если оно истинно, то происходит выход из цикла, если ложно, то еще раз выполняется тело цикла. Вопрос: Какие особенности цикла Repeat вы знаете? Ответ: Число проходов цикла заранее неизвестно, минимальное количество – Выход из цикла, если условие истинно. 2. Условие может быть простым или сложным. 3. Тело цикла может состоять из нескольких операторов. 4. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии. Устная работа

А.К. Малков, Разбор домашней задачи: Используя предыдущую задачу: построить четыре окружности: Новая тема Построить:

А.К. Малков, Решение: 1. Постановка задачи. Исходными в данной задаче являются 3 ряда окружностей, в каждом ряду 4 соприкасающихся окружностей. Требуется построить 3 ряда окружностей. 2. Информационная модель. Выберем значения для x,y,r. Построим первый ряд окружностей. Перейдём вначало следующей строки. Выберем значения для x,y. Построим второй ряд окружностей. Выберем значения для x,y. Построим третий ряд окружностей. Конец. Новая тема

А.К. Малков, Компьютерная модель. Исходные данные: x,y,r. Результат: 3 ряда окружностей по 4 в каждом ряду. Выберем значения для x,y,r: x:=100; y:=200; r:=50; Построим первый ряд окружностей: x:=100; while x

А.К. Малков, Окончательно программа выглядит следующим образом: program okrugnost; uses graph,crt; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); x:=100; y:=200; r:=50; for i:=1 to 3 do begin while x

А.К. Малков, При решении некоторых задач приходится использовать вложенные циклы. Внутренний и внешний циклы могут быть любыми из трех рассмотренных ранее циклов. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла. Цикл, телом которого является циклическая структура. Состоит из внешнего и внутреннего циклов. Внешний – содержит другой цикл Внутренний – содержащийся в теле другого цикла. Могут представлять собой различные комбинации из циклов FOR, WHILE, REPEAT. Новая тема

А.К. Малков, При этом глубина вложенности первого цикла в другой может быть любой и ограничивается только возможностями компьютера. Особенности вложенных циклов. Различные циклы не имеют пересечения. Обозначив цикл квадратной скобкой, можно схематически представить варианты взаимного расположения циклов: Новая тема

А.К. Малков, Следующая тема; «Команда ветвления» Задача. Используя предыдущую задачу: Домашнее задание Построить: Посмотреть: файл okr11 Подготовиться к самостоятельной работе. Учитель подводит итог урока, отвечает на возможные вопросы учеников.

А.К. Малков, Самостоятельная работа по теме «Циклы»

А.К. Малков, Замечание. Во всех заданиях использовать любой из 3-х циклов. Оценка «3» одно задание 1-го уровня. Оценка на «4» одно из заданий 2-го уровня, на «5» одно задание 3-го уровня. Замечание: Строка Trunc(random(10)+1) вырабатывает случайное число. Функция random(10) вырабатывает случайное число в интервале от 0 до 9. Функция round выделяет целую часть числа (округление происходит по правилам математики, то есть число равно ближайшему целому; округленное число имеет тип данных longint). Trunc(x) – вырабатывает число, равное целой части Х. Задания 1-го уровня сложности: 1. Нарисуйте 10 случайных прямоугольников. Воспользуйтесь функцией датчика случайных чисел. 2. Постройте семейство точек с шагом 2; 4; Постройте 10 вертикальных разноцветных отрезков. Задания 2-го уровня сложности: 1. Нарисуйте радугу, то есть разноцветные дуги концентрических окружностей, опирающих на нижнюю границу экрана. Толщина дуг по вашему желанию. 2. Заштрихуйте экран с шагом k равным 50 точек. 3. Постройте прямоугольную спираль, расстояние между отрезками соседних витков n точек. Задания 3 уровня сложности. 1. Изобразите башню, в основании которой лежит прямоугольник, а сверху располагаются прямоугольники с меньшим основанием, одинаковые по высоте. 2. Постройте траекторию движения броуновской частицы с длиной пути не более а. Координаты частицы задаются датчиком случайных чисел. 3. Составьте программу, имитирующую движение «грузовика» (закрашенный прямоугольник) до «забора» (прямая на экране). Размеры «грузовика» его начальное положение, положение «забора» задаёт пользователь. Самостоятельная работа

А.К. Малков,