Конкурс машинных рисунков
55
Данных — множества*). Язык Паскаль выбран для подготовного изучения в следующих номерах «Кванта».
С языками, о которых шла речь в этой статье, более основательно читатель может познакомиться по следующей литературе: Первин Ю. А. «Основы Фортрана» (М., «Наука», 1973).
Лавров С. С. «Универсальный язык программирования (Алгол-60)» (М., «Наука», 1972).
*) Рапира, которая ответственную вяла понемножку, воспользовалась и этой новинкой — см. «Квант», 1980, № 3, ЗШП, урок 8.
Конкурс
машинных
рисунков
Редакция журнала «Квант» и Вычислительный центр СО АН СССР обявляют конкурс на лучший рисунок, выполненный на ЭВМ с использованием систем машинной графики.
Участиками конкурса могут быть школьники и учащиеся профессионально-технических училищ.
На конкурс могут быть представлены реализические или стилизованные рисунки, орnamенты, семейства математических кривых, изображения поверхностей и т. д. Рисунки должны быть оригинальными (повторения рисунков, публикавшихся в нашем журнале, на конкурс не принимаются), в орnamенты и узорах математической интерс должен сочетаться с естеческими достоинствами.
К рисунку необходимо приложить полную распечатку программы, подробный комментарий к ней, просняющий математическую идею и порядок работы программы, подробные сведения об авторе (авторах) — фамилию, имя, отчество, номер школьи и класса, полный домашний адрес.
Учащиеся, не имеющие самостоятельного выхода на ЭВМ с графопространением, могут присылать программы для построения рисунков с приложением примерного экзизза. Программы могут быть выполнены на Рапире, Паскале или Алголе с использованием системы Шпара (см. «Квант», 1980, № 1, с. 56) или на Фортране с использованием описываемой ниже графической системы. Объем программы — не более 100 операторов, размер рисунка — не менее 100×100 мм и не более 300×300 мм.
Тщательно проверьте программу вручную, прежде чем направлять на конкурс: ошибки в конкурсных работах исправляется не будут.
Все участки конкурса (в том числе и учащиеся Заочной школьи программирования и ее фильмов) должны выступать работы не позднее 15 ноября 1981 года по адресу: 630090, Новосибирск, 90, Вычислительный центр СО АН СССР, Группа школьной информацией, на конкурс.
Желаем удачи! Ждем рисунки и программы!
Для пшуших на Фортране
Для выхода на графическую систему из программы на Фортране надо соблюдать следующие правила:
-
В начале программы должен быть инцидирующий оператор CALL SBROS, перед ее логическим завершением — оператор CALL STR.
-
Для прямолинейных перемещений пера в указываемые точки используется оператор CALL LINX (X, Y), где X, Y — координаты точки в мм; если перо этом выключено — осуществляется холодной ход, если выключено — чертируется отрезок. Включать и выключать перо в нужные моменты можно операторами CALL PERO и CALL VP.
-
Для черчения отрезков «со свободными концами» использется также вызов модуля CALL OTREZ (XN, YN, XK, YK),
56
где параметрами являются координаты начальной и конечной точек отрезка; данный модель сам включает перо в начальной точке отрезка и сам включает после черчения.
-
Целлюю окружность можно чертить оператором CALL OKR (XC, YC, R), где XC, YC — координаты центра, R — радиус, причем перо также включается и включается автоматически. Друг можно чертить, записав строку CALL OKRI (XC, YC, R, ALF, DALF); здесь ALF — начальный центральный угол, DALF — угловая вершина дуги со знаком, определяющим направление обхода. Угловые размеры задаются в градуах, хотя градуса мера, конечно, не ставится. После черчения дуги перо само не включается; если надо, его можно включить оператором CALL VP; включается перо в начале дуги автоматически; если оно было включено до обращения к данному модулю, от обработанной точки к началу дуги дополнительно чертиться отрезок.
-
Для выполнения чертежа в двух или более цветах или несколько толщинами линей пользовются оператором CALL NPERA (N), где N может принимать значения 0,1,2,3. Этот оператор сам не включает перо, а лишь запоминает, каким пером надо работать дальше. Основным пером считается перо № 0; им выполняется чертеж, если оператора смены пера нет в программе.
Уже несколько отмещенных подпрограмм позволяют чертить разнообразные изображения; нужные вычисления, логические действия, одну-две подпрограммы может подготить сами средствами Фортрана. Кривые линии представляют последовательность малых отрезков; модель LINX при этом может работать в цикле.
В целом программа не должна быть длинее 60—100 операторов, к ней следует приложить появления — какие перья должны быть установлены, ожидаемый размер рисука, начальное положение пера (но соответствует началу координатной системы).
В качестве примера приводится программа для простейшего рисука (конечно, такой рисуок не годится для конкурса):
DIMENSION X (1Ø), Y (1Ø)
CALL SBROS
DO 1 K=1,9
CALL LINX (X (K), Y (K))
CALL PERO
CALL VP
DATA X/2Ø., 1Ø., 1Ø., 5Ø., 5Ø., 4Ø., 2Ø., 3Ø., 3Ø./, Y/36., 26, 8., 26., 36., 36., 26., 8./
CALL OTREZ (3Ø., 26, 5Ø., 26.)
CALL NPERA (1)
CALL OKR (2Ø., 26., 5.)
CALL LINX (15., 8.)
CALL PERO
CALL OKR 1(2Ø., 7., 5., 18Ø., —18Ø.)
CALL LINX (25., 8.)
CALL VP
CALL STP
END
Причеме. Для машин серии EC нули следует перечеривать.