7. Задачи с использованием подпрограмм.

7. Решение задачи с использованием подпрограмм.

Условие:

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

 

Решение:

В программе, которую нужно составить, используются повторения (блоки дома), реализовывающиеся с помощью подпрограммы (метка 200); для этого применяются параметры - аргументы. Рисование с ис­пользованием параметров-аргументов называется параметризованной графикой. В приведенной ниже программе крыша дома тоже рисуется в подпрограмме (метка 400).

10 L1 =60: HI =50:С1 =3:С2 = 4

20 FOR К = 1 ТО 3

30 X = K*L1:Y = H1:L = L1:H = H1:C=С1

40 GOSUB 200

5O X = K*L1: Y = 2*H1:L = LI:H = H1:C = C1

60 GOSUB 200

70 NEXT К

8OX = L1:Y-H1:L = 3*L1:H = H1:C = C2

90 GOSUB 400

100 END

200 SCREEN 7

210 LINE (X, Y) - (X + L,Y + H), С, В

220 LINE (X + 3 * L / 5, Y + H / 4) - (X + 4 * L / 5, Y + H / 2), С, В

230 RETURN

400 LINE (X, Y) - (X + L, Y), С

410 LINE (X, Y) - (X + L / 2, Y - H), С

420 LINE - (X + L, Y), С

430 RETURN

Строка 10 задает ширину, высоту блока дома, а также два цвета для рисования. Три раза повторяется цикл (строки 20 - 70) - это три секции дома по два этажа. Первое обращение к подпрограмме (строка 40) рисует второй этаж, второе - первый этаж (строка 60). Подпро­грамма 400 - 430 рисует крышу дома. Для замедления работы компью­тера можно вставить пустой цикл, например:

51 FOR J = 1 ТО 200000

52 NEXT J

и 71 FOR J = 1 ТО 200000

72 NEXT J