Передовица » Макулатура » ИиО » Использование графической системы Шпага

Использование графической системы Шпага при введении основных понятий программирования. (N1/1988)

Шпага - простой язык графических пострений. В конце статьи интересные ссылки на более ранние описания этого пакета, однако в самой статье не приведено никакой технической информации о пакете.

Н.Юнерман. г. Новосибирск. Группа сайта просит вас связаться с нами! (ЗАЧЕМ ЭТО?)

В ВЦ СО АН СССР разработан пакет графических процедур ШПАГА, предназначенный для использования при обучении младших школьников. Каждая процедура имеет два названия - полное и сокращённое. Рисующим инструментом является луч на экране монитора. В версии графической системы (описания различных версий системы см. в работах 1-4), реализованной на ПЭВМ «Агат», имеются следующие процедуры.

Процедура	                        Выполняемое действие

ПОДВОД (X, Y)                           Подводит луч в точку с координатами (X, Y).
П (X, Y)	                        

ЛУЧ (X, Y)                              Проводит отрезок прямой из текущей точки 
Л (X, Y)	                        в точку с координатами (X, Y).
                                       
ТОЧКА (X, Y)                            Изображает точку с координатами (X, Y).
Т (X, Y)	

ОКРУЖНОСТЬ (X, Y, R)                    Изображает окружность радиуса R с центром в точке (X, Y). 
ОКР (X, Y, R)	                        После завершения рисования точка (X, Y).

ДУГА (X1, Yl, X2, Y2, X3, Y3)           Изображает дугу окружности, соединяющую точку (X1, Y1) с точкой (X3, Y3)
Д (X1, Yl, X2, Y2, X3, Y3)	        и проходящую через точку (X2, Y2). Точка (X3, Y3) становится текущей.


НАДПИСЬ (ТЕКСТ, X, Y)                   Вычёркивает надпись, заданную значением имени ТЕКСТ, начиная с точки (X, Y).
НП (ТЕКСТ X, Y)
               	
Ц (Т)	                                Устанавливает цвет рисунка. Значения для имени Т:
                                        <БЕЛЫЙ> или <Б>
                                        <КРАСНЫЙ> или <К> 
                                        <ЖЁЛТЫЙ> или <Ж> 
                                        <ЗЕЛЁНЫЙ> или <3> 
                                        <СИНИЙ> или <С> 
                                        <ФИОЛЕТОВЫЙ> или <Ф>
                                        <ЧЁРНЫЙ> или <Ч>.


ПРЯМОУГОЛЬНИК (X1, Yl, X2, Y2)          Рисует закрашенный прямоугольник,
ПР (X1, Yl, X2, Y2)	                противоположные вершины которого находятся в точках (X1, Y1) и (X2, Y2).


ТРЕУГОЛЬНИК (X1, Yl, X2, Y2, X3, Y3)    Рисует закрашенный треугольник 
TP (X1, Yl, X2, Y2, X3, Y3)             с вершинами в точках (X1, Y1), (X2, Y2) и (X3, Y3).
 

КРУГ (X, Y, R)                          Рисует закрашенный круг радиуса R с центром в точке (X, Y)
К (X, Y, R)
	
СЕКТОР (X1, Yl, X2, Y2, X3, Y3)         Изображает закрашенный сектор, вырезанный из круга с центром в точке (X1, Yl);
СК (X1, Yl, X2, Y2, X3, Y3)	        (X2, Y2) и (X3, Y3) - координаты концов дуги, стягивающей сектор.

СЕГМЕНТ (X1, Yl, X2, Y2, X3, Y3)        Изображает окрашенный круговой сегмент, границами которого служат дуга, 
СГ (X1, Yl, X2, Y2, X3, Y3)	        проведённая из точки (X1, Y1) в точку (X3, Y3) через точку (X2, Y2) и отрезок прямой, 
                                        соединяющий концы этой дуги (хорда).

МНОГОУГОЛЬНИК (X, Y, R, N)              Изображает правильный N-угольник с горизонтальным основанием;
МНГ (X, Y, R, N)	                 X, Y, R - параметры описанной окружности.


ОБЛАСТЬ (X, Y)                          Закрашивает текущим цветом все точки, расположенные в окрестности точки (X, Y)
ОБЛ (X, Y)	                        и внутри ближайшего замкнутого контура.

Рассмотрим последовательность введения основных понятий программирования на примере решения задач, связанных с построением изображений. Изучению этой темы предшествовало знакомство учащихся с понятием имени в языке программирования, с понятиями «предписание присваивания», «система координат».

Приведённые ниже методические рекомендации предназначены для работы с учащимися IV-V классов.

Знакомство с графической системой, на наш взгляд, следует начинать с изучения процедур ПОДВОД, ЛУЧ, Ц и ТОЧКА. Предоставьте каждому ученику возможность нарисовать картинку в соответствии с его желанием. Затем предложите задания по составлению рисунков, удовлетворяющих определённым условиям. Например:

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

выполнить один и тот же рисунок разными цветами;

один и тот же рисунок расположить в разных частях экрана.

Выполнение этих заданий (их целесообразно выполнять и при последующем изучении других процедур системы) подведёт учащихся к усвоению таких понятий программирования, как «цикл» и «процедура». После того, как учащиеся освоили работу с линейными процедурами, перейдём к изучению простейших растровых процедур, например, процедуры ПРЯМОУГОЛЬНИК. Выполнив тренировочные упражнения - рисование разноцветных прямоугольников любых размеров, - учащиеся составляют рисунки, содержащие прямоугольники, расположенные независимо друг от друга. Затем, постепенно усложняя задание, предложим ребятам составить рисунок, содержащий прямоугольники, расположение которых взаимосвязано. При этом важно обсудить с учащимися последовательность изображения геометрической фигуры. Можно предложить детям составить картинку только из прямоугольников (рис. 1, 2).

Последовательность упражнений при изучении процедуры ТРЕУГОЛЬНИК - такая же, как и при изучении процедуры ПРЯМОУГОЛЬНИК. Завершим серию упражнений заданием на составление рисунков, содержащих только треугольники и прямоугольники (рис. 3). После изучения обеих процедур, целесообразно предложить ребятам вопрос: представьте себе, что вам разрешено использовать только одну из процедур - либо ПРЯМОУГОЛЬНИК, либо ТРЕУГОЛЬНИК. Какую из них вы бы предпочли? Почему?

При изучении процедур ОКРУЖНОСТЬ и КРУГ в первую очередь обратите внимание ребят на различие этих геометрических фигур. Затем учащиеся могут выполнить такие задания: составить рисунки только из кругов (снежная баба, воздушные шарики, пуговички), кругов и прямоугольников, кругов и треугольников, всех рассмотренных фигур.

Размещая один и тот же рисунок в разных частях экрана, важно обсудить с ребятами, чем отличаются программы для рисования, что общего между ними. При этом в каждом рисунке выбрать одну так называемую узловую, точку и координаты всех остальных определять через её координаты (через приращения). Если при этом программу оформить в виде процедуры, в начале которой выполнить присваивания значений координатам узловой точки, то, изменяя эти значения, получим изображения одного и того же рисунка в различных частях экрана. Теперь можно ввести понятие процедуры с параметрами, выбрав в качестве параметров координаты узловой точки. Введя переменную для обозначения какого-нибудь размера и придавая ей различные значения, получим подобные изображения (например, парашютный десант, улицу из одинаковых домов, аллею деревьев и т.д.). При выполнении всех рисунков предложите учащимся варьировать цветом, подбирая наиболее удачные сочетания.

Для иллюстрации понятия «процедура» рассмотрите задачу рисования дорожных знаков, разбив их на группы и выделив в них одинаковые элементы.

С помощью процедуры ОБЛАСТЬ можно получать закрашенные изображения различных объектов. Для этого необходимо сначала нарисовать контур нужного объекта и воспользоваться процедурой ОБЛАСТЬ, выбрав в качестве её параметров координаты любой точки, расположенной внутри нарисованного контура.

Изучение процедур СЕГМЕНТ и СЕКТОР поможет в усвоении соответствующих понятий в курсе математики.

Можно провести конкурсы по составлению рисунков с заданным условием или на определённую тему, например: составить узор для вышивки, паркета, аппликации и др.

Завершая изучение этой темы, предложите ребятам написать программы выполнения рисунков, для изображения элементов которых нет специальных процедур. Такие задания требуют творческого подхода: нужно определить, в какой последовательности и какие процедуры должны быть использованы, чтобы получить заданный рисунок. Примерами таких заданий служат рисунки 4, 5.

Ещё один вид заданий - составление программ для рисования симметричных картинок, например, снежинок. В этом случае можно написать процедуру с параметрами для рисования части картинки, а затем записать последовательность вызовов этой процедуры для рисования всей картинки. Процедура ПОВОРОТ, которая поворачивает систему координат на заданный угол, упростит решение таких задач.

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

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

При отсутствии какой-либо графической системы можно выполнять все рассмотренные упражнения «вручную», на бумаге. Как показывает опыт, и в этом случае ребята проявляют большой интерес к изучаемому материалу. Для наглядности приготовьте небольшой конструкторский набор, состоящий из треугольников, прямоугольников и кругов различных цветов и размеров.

Литература

1. Звенигородский Г.А. Первые уроки программирования / Под ред. А.П. Ершова. М., 1985. 208 с.

2. Звенигородский Г.А., Салихова А.К., Цикоза В.А. Машинная графика в математическом обеспечении учебного процесса // Прикладные методы информатики.- Новосибирск, 1980. с. 121-133.

3. Салихова А.К., Соколова Н.А. Графическая система ШПАГА // Квант. 1980. N 1. с. 56-59.

4. Салихова А.К., Соколова Н.А. Комплекс процедур машинной графики ШПАГА. Новосибирск. 1979. 12 с.- (Препринт / АН СССР. Сиб. отд.-ние ВЦ; 169).

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *