Практическая работа "Разработка алгоритма и программы «Графический редактор» на языке программирования Basic"

Разделы: Информатика


Цели занятия

  • Обучающие: освоить технологию практического применения основных операторов языка программирования Basic, повторить, закрепить и углубить знания учащихся;
  • Развивающие: уметь самостоятельно разрабатывать алгоритмы и программы поставленной задачи
  • Воспитывающие: развитие самостоятельности, внимательности, аккуратности, умение работать индивидуально по заданной теме.

Оборудование

  • Компьютер преподавателя, проектор.
  • Рабочие станции учащихся. ОС Windows XP, Microsoft Office, Basic

Методические материалы

  1. Голицына О. Л. Попов И.Н. Основы алгоритмизации и программирования. Учебное пособие Москва Форум 2010
  2. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов. – М.: БИНОМ. Лаборатория знаний, 2009.

Задача

“Графический редактор – построение линий при помощи окружности (радиусом 2 мм)”

Постановка задачи. Необходимо разработать алгоритм и программу графического редактора. Наш редактор должен рисовать прямые линии маленькой окружностью при помощи закреплённых на клавиатуре клавиш. Воспользуемся цифровым блоком клавиатуры и закрепим клавиши следующим образом:

8 – движение окружности снизу вверх

2 – движение окружности сверху вниз

4 – движение окружности справа налево

6 – движение окружности слева направо

5 - выход из программы

Рис. 1

Движение окружности начнём с центра дисплея.

В программе будем использовать стандартную функцию INKEY$ - она запоминает код последней клавиши, введённой с клавиатуры. Чтобы использовать этот код для дальнейшего анализа, запишем его в переменную А$ То есть применяем оператор присваивания А$=INKEY$

Рис 2

Алгоритм задачи

В нашем алгоритме используется команда ветвления и организован цикл. В цикле мы выводим окружность с измененными координатами до тех пор, пока не нажмём клавишу выхода -5.

Чтобы окружность двигалась вверх, необходимо уменьшать координату центра окружности по оси Y. Чтобы окружность двигалась вниз, координату центра окружности необходимо увеличивать по оси Y. Для движения влево координата центра меняется по оси Х, она уменьшается. Для движения вправо, координата центра окружности увеличивается по оси Х. Если по ошибке будет введён какой-то другой символ, в нашей программе не предусмотрено выполнение какого-либо действия.

Программа

CLS

SCREEN 7

X=160

Y=110

1 CIRCLE(X,Y),2,1

A$=INKEY$

IF A$=”8” THEN Y=Y-2

IF A$=”2” THEN Y=Y+2

IF A$=”4” THEN X=X-2

IF A$=”6” THEN X=X+2

IF A$=”5” THEN END

GOTO 1

 

 Рис. 3

После написания программы выполним с её помощью задания - изобразим рис 4 и текст – рис 5

Рис 4

Рис 5

Усложним нашу задачу. Предусмотрим возможность движения линий по диагоналям.

Закрепим движение окружности по диагоналям согласно приведённой схеме.

Рис. 6

Что бы окружность двигалась в направлении 7 необходимо уменьшать координаты центра окружности X и Y

  • В направлении 9 – координата Х увеличивается, а Y уменьшается
  • В направлении 3 – координаты X и Y увеличиваются
  • В направлении 1 – координата Х уменьшается, а Y увеличивается

Предусмотрим возможность изменения цвета. Закрепим за этой функцией клавишу С (от слова COLOR) Оператор CIRCLE примет вид CIRCLE(X,Y),2,Z

В алгоритме необходимо присвоить начальное значение переменной Z. Например Z=1

Также добавляется анализ на введение символов: 7,9,3,1, С

Так как BASIC поддерживает 16 цветов от 0 до 15 необходимо предусмотреть анализ на достижение переменной Z предельного значения 15 и присвоения ей в этом случае начального значения 1.

После работы с программой почти всегда возникает вопрос - “А как стереть что-то неверно нарисованное?” Для этого можно задать окружности цвет фона. В среде BASIC он стандартно - чёрный, то есть присвоим цвету, переменной Z, значение 0. Закрепим за этой функцией клавишу D от слова (DELETE). Нажав клавишу D то есть войдя в режим стирания можно стирать линии направляя их в обратном порядке.

Общий вид алгоритма усложненной задачи

Рис. 7

Программа

CLS

SCREEN 7

X=160

Y=110

Z=1

1 CIRCLE(X,Y),2,Z

A$=INKEY$

IF A$=”8” THEN Y=Y-2

IF A$=”2” THEN Y=Y+2

IF A$=”4” THEN X=X-2

IF A$=”6” THEN X=X+2

IF A$=”7” THEN X=X-1: Y=Y-1

IF A$=”9’ THEN X=X+1: Y=Y-1

IF A$=”3” THEN X=X+1: Y=Y+1

IF A$=”1” THEN X=X-1; Y=Y+1

IF A$=”C” OR A$=”c” THEN Z=Z+1

IF Z>15 THEN Z=1

IF A$=”D” THEN Z=0

IF A$=”5” THEN END

GOTO 1

С помощью этой программы можно изобразить следующие рисунки.

 

Рис. 8

Рис. 9

Поработав в режиме SCREEN 7, можно изменить параметр и поработать в режиме SCREEN 12.

Для выполнения программы необходим пакет Basic. Для запуска зайти в папку Basic и запустить ярлык Затем выбрать функцию Файл - Открыть - РАБОТА и нажать клавишу выполнения - F5.

Приложение 1