Как сделать квадрат в qbasic

Графические возможности языка Quick Basic

Учитель: С какими видами графики вы знакомы? (Растровая графика, векторная графика)
Каковы особенности каждого вида графики?

Растровая графика

Векторная графикаБазовый элемент – точка. Построение изображения основывается на рисовании точек заданного цвета.Базовый элемент – линия. Построение изображения осуществляется при помощи математических расчетов для построения графических примитивов (линий, прямоугольников, окружностей)

Сегодня мы выясним, можно ли использовать язык программирования Quick Basic для создания изображений, и к какому виду графики можно отнести это изображение.

Прежде чем работать с графикой Quick Basic, необходимо задать графический режим экрана при помощи команды SCREEN N, где N – номер графического режима. Режимы отличаются разрешением и количеством цветов. В качестве примера рассмотрим режим SCREEN 9:

Как сделать квадрат в qbasic

Также можно изменить цвет фона при помощи оператора COLOR,C, где C – номер цвета в палитре.

1. Создание изображений при помощи графических примитивов (см. Приложение 2)

LINE(X1,Y1) – (X2,Y2), C где:
(X1,Y1) – координаты начальной точки отрезка
(X2,Y2) – координаты конечной точки отрезка
C – номер цвета линии

LINE(X1,Y1) – (X2,Y2), C, B
где:
(X1,Y1) – координаты начальной точки диагонали прямоугольника
(X2,Y2) – координаты конечной точки диагонали прямоугольника

Закрашенный прямоугольник:
LINE(X1,Y1) – (X2,Y2), C, BF

CIRCLE (X,Y), R, C
(X,Y) – координаты центра окружности
R – радиус окружности
C – номер цвета линии

CIRCLE (X,Y), R, C, L1, L2 где:
(X,Y) – координаты центра окружности
R – радиус окружности
C – номер цвета линии
L1 – начальное значение угла вычерчивания дуги
L2 – конечное значение угла вычерчивания дуги

CIRCLE (X,Y), R, C, L1, L2, К где:
(X,Y) – координаты центра эллипса
R – радиус окружности
C – номер цвета линии
L1 – начальное значение угла для вычерчивания дуги эллипса
L2 – конечное значение угла для вычерчивания дуги эллипса
К – коэффициент сжатия дуги эллипса

Как сделать квадрат в qbasic

Если параметры L1 и L2 в операторах
CIRCLE (X,Y), R, C, L1, L2 (для дуги окружности)
CIRCLE (X,Y), R, C, L1, L2, К (для дуги эллипса)
отрицательные, то концы дуги соединяются отрезками с центром окружности (эллипса), т.е. вычерчивается круговой сектор.

9) Закраска ограниченной области

PAINT (X,Y), C1, C2 где:
(X,Y) – координаты любой точки внутри контура
C1 – номер цвета, которым закрашивается контур
С2 – номер цвета самого контура

Пример рисования объекта:

Итог:

Как сделать квадрат в qbasic

2. Создание изображений при помощи макроязыка GML (см. Приложение 3).

Специальный макроязык GML был разработан для расширения возможностей машинной графики Бейсика. Он позволяет строить сложные изображения и быстро выводить их на экран. Каждая команда языка представляет собой латинскую букву, после которой следует один или два числовых параметра.

Команды языка GML перечислены в следующей таблице:

Действие

M x,yПереместиться в точку с координатами x, y

M ±n, ±mПереместиться по отношению к текущей позиции на ±n точек по оси Х и на ±m точек по оси У. Знаки плюс и минус проставлять обязательно

AtПоворот изображения против часовой стрелки вокруг точки, с которой начиналось рисование на 90°хt ( t Как сделать квадрат в qbasic0, 1, 2, 3). Действует во всех дальнейших командах до нового назначения

CnЗадание нового цвета. Действует во всех дальнейших команда до нового назначения

SnРасстояние, указанное в командах перемещения, умножается на n/4 ( 0

UnПереместиться вверх на n точек

DnПереместиться вниз на n точек

LnПереместиться влево на n точек

RnПереместиться вправо на n точек

EnПереместиться по диагонали вверх и вправо на n точек

FnПереместиться по диагонали вниз и вправо на n точек

GnПереместиться по диагонали вниз и влево на n точек

HnПереместиться по диагонали вверх и влево на n точек

Для приведения в действие последовательности команд языка GML необходимо использовать оператор DRAW «команды макроязыка GML»

Команды записываются подряд или через пробел.

Результат:

Как сделать квадрат в qbasic

Заключение:

– Мы рассмотрели возможности создания графических изображений при помощи языка программирования Quick Basic. Вернемся к вопросу: К какому виду графики относится изображение, созданное при помощи программирования? (Векторная графика)
– А можно ли анимировать изображение? Как вы думаете? Оказывается можно. В этом нам помогут операторы цикла. Но это уже тема другого урока.

Домашнее задание: составить программу для рисования любого объекта с помощью изученных операторов.

Источник

Как сделать квадрат в qbasic

Как сделать квадрат в qbasicДанная линейка статей будет посвящена программированию в QBasic, а точнее — рисованию. Сначала мы рассмотрим то, что необходимо знать детям перед тем, как программировать изображения на компьютере — прямоугольная система координат, координаты точки.

Задания на рисование в QBasic отлично развивают логическое и математическое мышление. В учебнике Босовой «Информатика 6» рассматривается несколько практических задач на рисование с помощью графических примитивов. Мы пойдем немного дальше: научимся рассчитывать координаты точек изображения по условию задачи, научимся рисовать узоры с помощью циклов.

Представим, что на экран монитора наложена прямоугольная система координат с центром О в левом верхнем углу. Точка О имеет координаты (0,0). Теперь любую точку экрана мы сможем закодировать парой чисел (х,у) — координаты точки.

Как сделать квадрат в qbasic

В обозначении А(30, 20) — на первом месте стоит координата Х, на втором — координата У ( на это сделать акцент, очень часто дети путают местами Х и У )

Для закрепления умения находить точку на координатной плоскости по заданным координатам могу предложить рад заданий:

1. Первая команда, с которой мы познакомимся — команда SCREEN 12 — команда, задающая на экране область размером 639 единиц по горизонтали на 463 единицы по вертикали, в которой можно строить различные фигуры и окрашивать их в любой из 16 цветов (0-15). Т.е. максимальное значение координаты Х равно 639, У — 463.

Стандартные Visual Basic (QBasic) цвета:

НомерЦветНомерЦвет
0Черный8Светло-серый
1Темно-синий9Синий
2Темно-зеленый10Зеленый
3Бирюзовый11Голубой
4Малиновый12Красный
5Сиреневый13Розовый
6Оливковый14Желтый
7Темно-серый15Белый

Примечание : есть и другие режимы работы команды SCREEN, но мы будем использовать именно этот, дающий наибольшее разрешение (большее количество пикселей)

2. Точка

Первый из графических примитивов — точка. Для изображения точки используется оператор pset со следующим синтаксисом:

где х и y — координаты точки на экране, а с — ее цвет.
Рассмотрим пример.

На черном экране в этом случае появится желтая точка.

Как сделать квадрат в qbasic

Данный оператор будет нами использоваться редко.

2. Отрезок

LINE (X1, Y1)-(X2, Y2), С

Х1, Y1 — координаты начала отреза,
Х2, Y2 — координаты конца отрезка
С — цвет линии

Как сделать квадрат в qbasic

3. Прямоугольник

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

LINE (X1, Y1)-(X2, Y2), С, В

Х1, Y1 — координаты начала диагонали
Х2, Y2 — координаты конца диагонали
С — цвет линии
В — обязательно указать эту букву, иначе получим прямую, а не прямоугольник

Возьмем предыдущий код и добавим к нему — В

Как сделать квадрат в qbasic

Получили прямоугольник, а отрезок из предыдущего примера служит ему диагональю.

4. Окружность

где X, Y — координаты центра, R — радиус (в экранных точках),
C — цвет.

Как сделать квадрат в qbasic

Другие графические примитивы QBASIC, а также упражнения и задачи рассмотрим в следующем выпуске.

Источник

Программирование на алгометрическом языке QBASIC

Темы для изучения: Линейный алгоритм. Разветвляющийся алгоритм. Циклический алгоритм. Цикл с известным числом повторений. Цикл с предусловием. Цикл с постусловием. Массивы. Процедуры и функции. Графические возможности QB.

Введение в язык программирования Basic.

Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы – полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код (язык нулей и единиц), либо исполняется.

Basic (Бейсик) создавался в 60-х годах в качестве учебного языка и очень прост в изучении. По популярности занимает первое место в мире.

Некоторые операторы языка Basic.

REM – оператор комментария.

CLS – очистить экран.

PRINT (вывод, печать) – оператор вывода.

INPUT (ввод) – оператор ввода.

Для задания значения переменной служит оператор присваивания. Он записывается так:
LET переменная = значение (или просто: переменная = значение)

END – оператор конца программы

Арифметические операции на языке Basic.

ОперацияОбозначениеПримерРезультатСложение+2+57Вычитание–10–82Умножение*3*412Деление/15/3
15/45
3.75Целочисленное деление\15\43Возведение в степень^2^38Остаток от деленияMOD13 MOD 53

Математические функции на языке Basic.

КореньSQR(X)
Модуль числаABS(X)
СинусSIN(X)
КосинусCOS(X)
ТангенсTAN(X)
Целая часть числаINT(X)
Натуральный логарифмLOG(X)

Линейная структура программы.

Программа имеет линейную структуру, если все операторы (команды) выполняются последовательно друг за другом.

Пример: Вычислите площадь прямоугольника по его сторонам.

REM Площадь прямоугольника
INPUT «Введите сторону а», а
INPUT «Введите сторону b», b
s = a * b
PRINT «Площадь равна: «, s
END

Пример: Вычислите длину окружности и площадь круга по данному радиусу.

REM Вычисление длины окружности и площади круга
INPUT «Введите радиус «, r
PI = 3.14
l = 2 * PI * r
s= PI * r * r
PRINT «Длина окружности равна: «, l
PRINT «Площадь равна: «, s
END

Ветвление в алгоритмах и программах.

Разветвляющий алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Рассмотрим запись условного оператора на языке Basic.

Условия – еще один тип логических выражений. В них используются следующие операторы сравнения:

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

Пример: Проверить, равно ли введенное число некоторому значению, и в случае равенства выдать на экран сообщение о равенстве чисел.

REM сравнить число со каким-то значением
INPUT «Введите а», а
IF a=7 THEN PRINT «Числа равны»
END

Пример: Определить большее из двух чисел, вывести его на экран, затем – увеличить его в двое и вывести результат на экран.

REM определить большее из двух чисел.
INPUT «Введите а», а
INPUT «Введите b», b
IF a=b TNEN
PRINT «Числа равны»
с=2*a
ELSE
IF a>b THEN
PRINT «Большее число: «, a
с=2*a
ELSE
PRINT «Большее число: «, b
с=2*b
END IF
END IF
PRINT «результат: «, c
END

Пример: Решение квадратного уравнения.
Решение квадратного уравнения зависит от значения дискриминанта.

REM Решение квадратного уравнения
INPUT «Введите коэффициент a: «, а
INPUT «Введите коэффициент b: «, b
INPUT «Введите коэффициент c: «, c
d=b*b-4*a*c
IF d
CASE

CASE

.
CASE ELSE

END SELECT

Выражение, заданное после ключевых слов SELECT CASE, сравнивается с определенными значениями – условиями и если они истинны, то выполняется соответствующая серия команд. Если не одно условие не истинно, то выполняется серия команд между CASE ELSE и END SELECT.

Пример: Выдать словесное значение числа

REM Преобразование чисел в слова
INPUT «Введите число», a
SELECT CASE a
CASE 1
PRINT «один»
CASE 2
PRINT «два»
CASE 3
PRINT «три»
.
CASE 10
PRINT «десять»
CASE ELSE
PRINT «это число не могу перевести»
END SELECT
END

Циклы а алгоритмах и программах

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

Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.

Такие циклы называются – циклы со счетчиком.

На языке Basic они записываются следующим образом:

FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг]
тело цикла
NEXT [Счетчик]

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

Пример: Вывести на экран все числа от 1 до 100.

REM Вывод чисел от 1 до 100
FOR I=1 TO 100
PRINT I
NEXT
END

Пример: Вычислить сумму двухзначных натуральных чисел.

REM Вычислить сумму двухзначных натуральных чисел
FOR I=10 TO 99
s=s+I
NEXT
PRINT «Результат = «,s
END

Пример: вычислить факториал числа а (записывается так: а!). Факториал – это произведение чисел от 1 до а. Например, 5! (факториал пяти) – это 5!=1*2*3*4*5

REM Вычислить факториал числа
a=5
f=1
FOR I=1 TO a
f=f*I
NEXT
PRINT f
END

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

Циклы такого вида называют – циклы с предусловием.

На языке Basic они записываются следующим образом:

DO WHILE условие
Тело цикла
LOOP

DO UNTIL условие
Тело цикла
LOOP

Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот).

Пример: Вывести все натуральные числа меньше данного.

REM Вывод всех чисел меньше данного
a=0
chislo=10
DO WHILE a max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
PRINT
PRINT «Максимальный элемент: «, max, » с номером «, nomer
END

Пример: составить программу сортировки массива по возрастанию.

REM сортировка массива
INPUT «Введите число элементов массива», n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT «Вывод массива»
FOR I=0 TO n-1
PRINT mas(I);
NEXT
REM сортировка массива
FOR I=0 TO n-2
FOR J=I+1 TO n-1
IF mas(I)>mas(J) THEN
REM если нашли меньший элемент, то обменяем их местами
a=mas(I)
mas(I)=mas(J)
mas(J)=a
END IF
NEXT J
NEXT I
REM конец сортировки массива
PRINT
PRINT «Вывод отсортированного массива»
FOR I=0 TO n-1
PRINT mas(I);
NEXT
END

Пример: ввод массива с использование оператора DATA.

Массивы. Двумерные массивы.

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

Объявляются двумерные массивы так же, как переменные и одномерные массивы. Например, целочисленный числовой массив, содержащий 3 строк и 4 столбца объявляется следующим образом:

REM Таблица умножения
DIM tabum (1 TO 9, 1 TO 9) AS INTEGER
REM Заполнение массива – создание таблицы умножения
FOR I=1 TO 9
FOR J=1 TO 9
tabum(I, J)=I*J
NEXT J
NEXT I
REM Вывод массива на экран в виде таблицы
FOR I=1 TO 9
FOR J=1 TO 9
PRINT tabum(I,J);
NEXT J
PRINT
NEXT I
END

Пример: В таблице 3х4 вычислить количество отрицательных элементов, сумму четных элементов, произведение элементов второй строки.

REM вычислить количество.
DIM tabl(1 TO 3, 1 TO 4) AS INTEGER
REM Заполнение массива
FOR I=1 TO 3
FOR J=1 TO 4
INPUT «Введите элемент массива:», tabl(I, J)
NEXT J
NEXT I
REM Вывод массива на экран в виде таблицы
CLS
FOR I=1 TO 3
FOR J=1 TO 4
PRINT tabl(I,J);
NEXT J
PRINT
NEXT I
REM требуемые вычисления
k=0
s=0
p=1
FOR I=1 TO 3
FOR J=1 TO 4
IF tabl(I, J)

LEN(s$)Вычисляет длину строки (количество символов).
MID$(s$,n,k)Выделяет из строки s$ k символов начиная с n-го символа.
VAL(s$)Преобразует числовую часть начала строки в число.
STR$(x)Преобразует число в символьную форму.
ASC(s$)Вычисляет десятичный код символа.
CHR$(x)Преобразует код в символ.
INKEY$Функция опроса клавиш, нажатых на клавиатуре.

Пример: составить программу подсчитывающую, количество букв «а» в предложении.

REM кол-во букв «а»
INPUT «Введите предложение», s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)=»а» THEN k=k+1
NEXT
PRINT «Кол-во букв а =», k
END

Пример: Заменить все буквы «а» в предложении на буквы «о».

REM замена букв
ss$=»»
INPUT «Введите предложение», s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)=»а» THEN
ss$=ss$+»о»
ELSE
ss$=ss$+MID$(s$,I,1)
END IF
NEXT
PRINT «Исправленная строка: «, ss$
END

Пример: Получить предложение в обратном порядке следования символов.

Дополнительные возможности Basic: Приложение1 в окне правка / правка слайдов возможно доработать презентацию.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *