Рисуем в QBasic, используя циклы

Рассмотрим практическую работу по рисованию  с использованием Цикла в QBasic. Узоры, как правило, состоят из повторяющихся определенным образом элементов. В данной статье рассмотрим, как нарисовать несложные узоры в QBasic.

Цикл – многократное выполнение  последовательности команд программы.

B QBasic цикл выглядит следующим образом:

FOR I=1 TO N

ПОСЛЕДОВАТЕЛЬНОСТЬ КОМАНД

NEXT I

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

Рассмотрим несколько примеров использования цикла при рисовании в QBasic

Задача.

Нарисовать рамочку из окружностей. (7х7). Радиус окружности равен 30.

Шаг 1. Верхняя граница рамочки. Расчет координат

Организуем цикл

Нам нужно изменять координаты центра в цикле, чтобы получить набор из 7 окружностей, расположенных так, как показано на рисунке. Рассмотрим:

 

Расстояние между центрами двух соседних окружностей равно 60 (радиус первой окружности плюс радиус второй окружности). Значит координаты

1 окружности – (50, 50)

2 окружности – (110, 50)

3 окружности – (170, 50)

4 окружности – (230, 50) и т.д.

Таким образом, команда CIRCLE  в цикле должна выглядеть следующим образом:

CIRCLE(50+60*i,  50), 30

Значение переменной I  изменяется от 0 до 6. Тем самым, мы получим требуемые координаты центров окружностей.

Левая окружность будет иметь координаты центра (50, 50), а правая – (410, 50). Смотри рисунок:

Получим:

SCREEN 12

FOR i = 0 TO 6

CIRCLE (50+60*i, 50), 30

NEXT i

Шаг 2. Левая граница рамочки. Расчет координат

Определение формулы координат аналогично рассмотренному выше. Отличие в том, что изменение происходят по оси Y. Т.е.:

CIRCLE (50, 50+30*i), 30

Верхняя окружность будет иметь координаты (50, 50), а нижняя (50, 50+60*6) или  (50, 410). Смотри рисунок ниже:

 

Получим:

SCREEN 12

FOR i = 0 TO 6

    CIRCLE (50 + 60 * i, 50), 30

    CIRCLE (50, 50 + 60 * i), 30

NEXT i

Шаг 3. Правая и нижняя граница.

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

CIRCLE (50 + 60 * i, 410), 30   — нижняя сторона рамочки

CIRCLE (410, 50 + 60 * i), 30   — правая сторона рамочки

Получим

SCREEN 12

FOR i = 0 TO 6

CIRCLE (50 + 60 * i, 50), 30

CIRCLE (50, 50 + 60 * i), 30

CIRCLE (50 + 60 * i, 410), 30

CIRCLE (410, 50 + 60 * i), 30

NEXT i

 

Задание для самостоятельного выполнения.

Нарисуйте узор. Рекомендуется не использовать вложенный цикл. Цель – не научить языку программирования, а научиться мыслить и делать выводы.

Andrey K

Share
Published by
Andrey K
Tags: QBasic

Recent Posts

Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021

Настала пора написать серию мини-обучалок по решению задач ЕГЭ по информатике версии 2021 года. В…

4 года ago

Внеурочное занятие по информатике. Пишем игру «Поле чудес» на Python.

Данная статья будет полезна для учителей информатики, которые занимаются программированием с детьми внеурочно. Опыт  показывает, …

4 года ago

Основные алгоритмы в помощь школьнику. Часть 1

Рассмотрим набор наиболее часто встречающихся задач на программирование в школьном курсе информатики. Добавляйте свои задачи…

5 лет ago

Школьный тур Всероссийской олимпиады школьников по информатике 9-11 класс (2018-2019). Разбор задач. Часть 2

В прошлый раз мы разобрали первые две задачи школьного тура Всероссийской олимпиады школьников, проводимой в…

5 лет ago

Школьный тур Всероссийской олимпиады школьников по информатике 9-11 класс (2018-2019). Разбор задач. Часть 1

Закончился школьный тур Всероссийской олимпиады школьников. Разберем первую и вторую задачи тура, проводимого в московских…

6 лет ago

Школьный этап Всероссийской олимпиады школьников по информатике 2017 (9-11 классы). Задача №4. «Плацкартный вагон»

Задача. В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит на 9…

7 лет ago