Графические операторы. Бейсик-256

Содержание

Слайд 2

Бейсик-256 Окно для ввода команд Окно ввода-вывода текста Окно вывода графики

Бейсик-256

Окно для ввода команд

Окно ввода-вывода текста

Окно вывода графики

Все команды (операторы)

пишутся по-английски.
Каждая команда – на новой строке.
Слайд 3

Графические операторы CLG – очистка экрана COLOR – выбор цвета. Пример:

Графические операторы

CLG – очистка экрана
COLOR – выбор цвета. Пример: Color red
PLOT

X,Y – печать точки с координатами X,Y
Слайд 4

Задание Напишите программу, выводящую разными цветами на экран точки созвездия Большая

Задание

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

Медведица. Их координаты:
1) 40, 90
2) 70, 70
3) 100, 70
4) 130, 70
5) 160, 80
6) 230,70
7) 220, 30
Слайд 5

Рисование окружности CIRCLE X,Y,R – рисование окружности с центром в точке

Рисование окружности

CIRCLE X,Y,R – рисование окружности с центром в точке X,Y

и радиусом R.
Поменяйте в программе точки на окружности с радиусом 5 пикселей.
Слайд 6

Рисование линий line x1,y1,x2,y2 – рисование линии от точки (x1, y1)

Рисование линий

line x1,y1,x2,y2 – рисование линии от точки (x1, y1) до

точки (x2, y2)
Задание: соедините линиями точки-звёздочки в созвездии Большая Медведица.
Слайд 7

Задание Напишите программу рисования:

Задание

Напишите программу рисования:

Слайд 8

Рисование прямоугольников rect x,y,m,n - рисование прямоугольника, левый верхний угол которого

Рисование прямоугольников

rect x,y,m,n - рисование прямоугольника, левый верхний угол которого имеет

координаты x,y, длину — m, ширину — n.

Rect 60,40,200,80

260-60

120-40

Слайд 9

Напишите программу для рисования домика:

Напишите программу для рисования домика:

Слайд 10

Рисование многоугольников POLY {x1,y1,x2,y2,…,xn,yn} – рисование многоугольника с вершинами (x1,y1), (x2,y2),…,(xn,yn).

Рисование многоугольников

POLY {x1,y1,x2,y2,…,xn,yn} – рисование многоугольника с вершинами (x1,y1), (x2,y2),…,(xn,yn).

poly {150,

100, 200, 150, 175, 150, 175, 200, 125, 200, 125, 150, 100, 150}
Слайд 11

Задание Нарисуйте круг, вписанный в квадрат: clg color blue rect 40,20,140,140 color red circle 110,90,70

Задание

Нарисуйте круг, вписанный в квадрат:

clg
color blue
rect 40,20,140,140
color red
circle 110,90,70

Слайд 12

Задача Как будет выглядеть программа рисования круга, вписанного в квадрат с

Задача

Как будет выглядеть программа рисования круга, вписанного в квадрат с произвольной

стороной А?

clg
rem Рисование квадрата
color blue
rect 0,0,A,A

Комментарий в программе – начинается со слова rem

rem Рисование круга
color red
circle A/2, A/2, A/2

А=100

А - переменная

Меняя в программе значение переменной А, понаблюдайте за результатом на экране!

Слайд 13

Введём ещё две переменные: x и y – координаты верхнего левого

Введём ещё две переменные: x и y – координаты верхнего левого угла

квадрата Как изменится программа?

clg
rem Рисование квадрата
color blue
rect x,y,A,A

rem Рисование круга
color red
circle x+A/2,y+A/2,A/2

?,?

x+A/2,y+A/2

x=50
y=38
A=100

Меняя в программе значения x и y, проследите за изменением результата на экране!

Слайд 14

Задание – напишите программу рисования радуги. Алгоритм: Закрасьте весь экран белым

Задание – напишите программу рисования радуги.

Алгоритм:
Закрасьте весь экран белым цветом.
Нарисуйте 8

концентрических кругов, начиная с внешнего: фиолетовый, синий, голубой, зелёный, жёлтый, оранжевый, красный и белый, каждый раз уменьшая радиус на 5.

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

Слайд 15

Программа рисования радуги Пусть координаты центра кругов – x и y.

Программа рисования радуги

Пусть координаты центра кругов – x и y. А

радиус большего круга – R.
Тогда программа рисования радуги:
color white
rect 0,0,300,300
a=70
x=100
y=100
color darkpurple
circle x,y,a
color darkblue
circle x,y,a-5
color blue
circle x,y,a-10
color green
circle x,y,a-15
color yellow
circle x,y,a-20
color orange
circle x,y,a-25
color red
circle x,y,a-30
color white
circle x,y,a-35

Закрашивание экрана в белый цвет

Задание координат центра кругов и радиуса большего круга

Рисование фиолетового круга

Рисование синего круга

Рисование голубого круга

Рисование зелёного круга

Рисование жёлтого круга

Рисование оранжевого круга

Рисование красного круга

Рисование белого прямоугольника

Слайд 16

Ввод переменных с экрана во время выполнения программы Cls – очистка

Ввод переменных с экрана во время выполнения программы

Cls – очистка текстового

экрана
INPUT [“строка–подсказка”] , имя переменной
Пример:
input "введите сторону квадрата: ",x

Вводит пользователь и нажимает Enter

Это равносильно команде присваивания в программе x=7.

Слайд 17

Задание Создайте программу рисования следующего рисунка: X1,Y1 - ? Обобщите программу

Задание

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

X1,Y1 - ?

Обобщите программу для круга произвольного

радиуса (радиус программа должна запрашивать с экрана).
Обобщите программу для произвольных координат центра круга (они должны также запрашиваться с экрана).
Слайд 18

Решение cls clg input "введите радиус круга: ",r input "введите координаты

Решение

cls
clg
input "введите радиус круга: ",r
input "введите координаты круга - x: ",x
input

"y: ",y
color red
circle x,y,r
color blue
rect x+r,y-r,2*r,2*r
Слайд 19

Задание Создайте программу рисования: а) фрагмента узора; б) фрагмента шахматной доски.

Задание

Создайте программу рисования:
а) фрагмента узора;
б) фрагмента шахматной доски.
Необходимые параметры запрашиваются

с клавиатуры.

х

у

А

х

у

R

Слайд 20

Оператор присваивания переменная = выражение Например, x=5 x=x+1 y=2*x y=(x+y)/2 5

Оператор присваивания

 переменная = выражение
Например, x=5
x=x+1
y=2*x
y=(x+y)/2

5

X

6

Y

12

9

Ячейка в памяти

компьютера
Слайд 21

Вывод результатов на экран (работа с текстовым окном) Оператор вывода значения

Вывод результатов на экран (работа с текстовым окном)

Оператор вывода значения переменной:
print имя

переменной или выражение + «текст»
Например:
х=5
y=7
print "ответ: "
print x+"+"+y+"="+(x+y)
print x+"*"+y+"="+x*y

Имена переменных

выражение

текст

текст

Что будет на экране, если из текста убрать скобки?

Поставьте в конце строк с оператором print точку с запятой. Что изменилось?

Слайд 22

Задание Создайте программу, которая бы: запрашивала с экрана длину стороны квадрата

Задание

Создайте программу, которая бы:
запрашивала с экрана длину стороны квадрата и

выводила на экран его периметр и площадь;
запрашивала с экрана длины сторон прямоугольника и выводила на экран его периметр и площадь;
запрашивала с экрана два числа и выводила на экран их сумму и разность;
запрашивала с экрана год рожденья и выводила на экран возраст;
запрашивала с экрана число и выводила на экран его квадрат и куб (2-ю и 3-ю степень).
Слайд 23

Выбор Условный оператор: if then Пример: if x if y

Выбор

Условный оператор:
if < условие > then < команды>
Пример: if x

then print “Я старше тебя!”
if y
Слайд 24

Задание Составьте программу, которая бы запрашивала с экрана возраст и выводила

Задание

Составьте программу, которая бы запрашивала с экрана возраст и выводила на

экран надпись:
«Ты – малыш!», если введённое число меньше 11,
«Ты – большой!», если больше 12,
«Ты – ученик 6-го класса!» в остальных случаях.
Слайд 25

Если команд после слова then несколько, то они пишутся в одну

Если команд после слова then несколько, то они пишутся в одну

строку и разделяются двоеточием.
Например:
If x

Чем этот фрагмент программы отличается от:
If xy=y-2
print x*y

? (проверьте при х=3, у=2)

Слайд 26

Задание Создайте программу, которая предлагает ввести одно из двух чисел –

Задание

Создайте программу, которая предлагает ввести одно из двух чисел – 1

или 2. Если введено 1, то программа рисует солнце. Если 2 – месяц.

1

2

Слайд 27

Задание Нарисуйте светофор. Пусть программа запрашивает одно из чисел – 1,

Задание

Нарисуйте светофор.
Пусть программа запрашивает одно из чисел – 1, 2 или

3.
Если введено 1, то зажигается красный свет.
Если введено 2, то – жёлтый.
Если 3, то – зелёный.
Слайд 28

Решение: clg rect 50,50,50,120 rect 70,170,5,100 color grey circle 75,80,5 circle

Решение:

clg
rect 50,50,50,120
rect 70,170,5,100
color grey
circle 75,80,5
circle 75,100,5
circle 75,120,5
input "нажмите 1, 2 или

3: ", x
if x=1 then color red: circle 75,80,5
if x=2 then color yellow: circle 75,100,5
if x=3 then color green: circle 75,120,5

Рисование светофора чёрным цветом

Рисование серых кругов – окошек светофора

Ввод значения переменной х

Рисование красного круга

Рисование жёлтого круга

Рисование зелёного круга

Слайд 29

Организация повторений На дворе стоит забор, А на нём мочало. Эта

Организация повторений

На дворе стоит забор,
А на нём мочало.
Эта песня

хороша –
Начинай сначала!

В Бейсик-256 тоже есть команда перехода.

Слайд 30

Оператор безусловного перехода goto имя метки Например, x=1 a: print x

Оператор безусловного перехода

goto имя метки
Например,
x=1
a: print x
x=x+1
goto a

метка

Вспомните задачу о

светофоре.
Как с помощью оператора безусловного перехода изменить программу так, чтобы можно было переключать цвета, не перезапуская программу?
Слайд 31

Задача о светофоре: clg rect 50,50,50,120 rect 70,170,5,100 color grey circle

Задача о светофоре:

clg
rect 50,50,50,120
rect 70,170,5,100
color grey
circle 75,80,5
circle 75,100,5
circle 75,120,5
input "нажмите 1,

2 или 3: ", x
if x=1 then color red: circle 75,80,5
if x=2 then color yellow: circle 75,100,5
if x=3 then color green: circle 75,120,5

Рисование светофора чёрным цветом

Рисование серых кругов – окошек светофора

Ввод значения переменной х

Рисование красного круга

Рисование жёлтого круга

Рисование зелёного круга

Слайд 32

clg color black rect 50,50,50,120 rect 70,170,5,100 color grey circle 75,80,5

clg
color black
rect 50,50,50,120
rect 70,170,5,100
color grey
circle 75,80,5
circle 75,100,5
circle 75,120,5
input "нажмите 1, 2

или 3: ", x

color grey
circle 75,80,5
circle 75,100,5
circle 75,120,5

a:

if x=1 then color red: circle 75,80,5
if x=2 then color yellow: circle 75,100,5
if x=3 then color green: circle 75,120,5
goto a

Рисование светофора чёрным цветом

Рисование серых кругов – окошек светофора

Ввод значения переменной х

Рисование красного круга

Рисование жёлтого круга

Рисование зелёного круга

Рисование серых кругов – окошек светофора

Слайд 33

Задача Что будет на экране в результате выполнения программы: x=1 a:

Задача

Что будет на экране в результате выполнения программы:
x=1
a: if x<10 then

print x
x=x+1
goto a

Составьте программу рисования 10 одинаковых кругов, расположенных горизонтально:

0

х

у

h

Чем отличаются команды для каждого из этих кругов?

Слайд 34

x=10 y=50 r=10 h=25 n=1 a: if n x=x+h n=n+1 goto

x=10
y=50
r=10
h=25
n=1
a: if n<11 then circle x,y,r
x=x+h
n=n+1
goto a

Счётчик кругов

Задание координат центра и

радиуса 1-го круга

Рисование круга в случае, если его номер по счёту меньше 11

Изменение координаты х

Увеличение показаний счётчика

Что надо изменить в программе, чтобы
круги касались друг друга?
программа сама определяла количество кругов с заданным радиусом, которые могут уместиться на экране?

h=2*r

Задание шага изменения координаты х

a: if x+r<299 then circle x,y,r

Слайд 35

Задания Составьте программу рисования 10 квадратов, расположенных горизонтально: 2. Составьте программу

Задания

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

кругов, расположенных друг под другом.
3. Составьте программу рисования 10 квадратов, расположенных так, чтобы правый нижний угол предыдущего совпадал с левым верхним углом следующего:
Слайд 36

Повторения Помните задачу о рисовании 10 одинаковых кругов, расположенных горизонтально? Решить

Повторения

Помните задачу о рисовании 10 одинаковых кругов, расположенных горизонтально?
Решить её можно

ещё одним способом – с помощью команды, аналогичной блоку повторить в скретче.
Слайд 37

Цикл Повторяющиеся действия называются циклическими (от латинского слова cyclus, означающего круг).

Цикл

Повторяющиеся действия называются циклическими (от латинского слова cyclus, означающего круг).
Оператор цикла:

for переменная = число1 to число2 [step число3 ] тело цикла next переменная
Пример:
X=10
For k=1 to 10
circle x,100,10
x=x+25
Pause 0.1
next k
Print “конец”

Шаг изменения переменной. Если отсутствует, то step 1

Группа операторов

Счётчик числа повторений или переменная цикла

Рисование круга

Сдвиг по координате х

Добавим ещё одну команду !

Переход к следующему значению k (k=k+1) и переход к оператору for

Проверка: k<=10?

Слайд 38

Задание Нарисуйте, используя оператор цикла и паузу, 10 концентрических окружностей. Измените

Задание

Нарисуйте, используя оператор цикла и паузу, 10 концентрических окружностей.
Измените программу так,

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