Программы бейсика на радиусы и окружности

Qbasic:

# Окружности и дуги

Оператор CIRCLE (x, y), радиус[, цвет] рисует окружность заданного радиуса и цвета с центром в точке (x, y). Если вся окружность на экране не поместится, то будет нарисована только ее часть. Радиус окружности задается в пикселях, но такое количество пикселей укладывается только по горизонтали. Размер вертикального радиуса (в пикселях) зависит от номера графического режима.

Задача. Нарисовать несколько концентрических окружностей (“мишень”).

Решение.

Задание. Запишите программу под именем MISHEN.BAS. Сделайте шаг в цикле равным 3, 2, затем 1 (но не 0, так как программа “зациклится”!). Объясните возникающий при этом эффект. Измените положение “мишени” на экране так, чтобы ее часть ушла за экран. Введите зависимость положения центра окружности от ее радиуса. Поэкспериментируйте с несколькими разноцветными “мишенями”.

Тем же оператором можно нарисовать и дугу, только дополнительно потребуется задать значения начального и конечного углов дуги:

CIRCLE (x, y), радиус, [цвет], нач_угол, кон_угол

Если поместить в точку (x, y) начало математической системы координат, то начальный и конечный углы откладываются от оси Ox в направлении против часовой стрелки.

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

Углы дуги должны задаваться в радианах. Поскольку это не всегда удобно, автор рекомендует переводить градусы в радианы каждый раз, как это потребуется. Коэффициент пропорциональности QR вычисляется по формуле QR = p/180, где p » 3.14159265358 всем известная константа. Конечно, можно использовать и конкретное значение коэффициента: QR » 0.0174329252.

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

Видео:Как найти центр и радиус нарисованной окружности #математика #егэ2023 #школа #fyp #shortsСкачать

Как найти центр и радиус нарисованной окружности #математика #егэ2023 #школа #fyp #shorts

Замечание. Математики рассматривают как положительные, так и отрицательные углы. В операторе CIRCLE также могут использоваться отрицательные значения для начального и конечного углов, однако здесь знак минус “сообщает”, что следует не только нарисовать дугу, но и провести один или оба радиуса. Измените предыдущую программу, посмотрите, что получится на экране. Учтите, что с точки зрения Quick Basic’а “отрицательный” нуль ничем не отличается от обычного, поэтому замените его очень маленьким отрицательным числом, например, — 0.001.

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

Цели урока:

  • Обучающие: использование среды программирования QBasic для создания графических изображений; знакомство учащихся со способами создания графических изображений: при помощи графических примитивов и языка GML.
  • Развивающие: развитие навыков алгоритмического мышления учащихся; развитие слуховой, зрительной памяти.
  • Воспитательные: воспитание умения слушать объяснение, делать записи, контролировать самого себя.

Оборудование и технические требования:

  • Наличие видеопроектора
  • Программа Microsoft Power Point 2003-2007
  • Урок ведется в сопровождении электронного учебника «Графические возможности Quick Basic» (см. Приложение 1).

Примечание:

  • В силу того, что учебник охватывает весь материал указанной темы, он может быть использован учащимися и для самостоятельного изучения.
  • Учебник охватывает две темы: «Графические примитивы» и «Макроязык GML». Поэтому целесообразнее разбить объяснение материала на два урока.
  • Каждая тема оформлена в виде отдельной независимой друг от друга презентации. Их связь осуществляется только через титульную презентацию Приложение 1
  • Переход между слайдами учебника осуществляется при помощи управляющих стрелок и гиперссылок

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

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

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

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

Видео:Найти центр и радиус окружностиСкачать

Найти центр и радиус окружности

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

Программы бейсика на радиусы и окружности

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

Существуют два способа для создания изображений при помощи языка программирования Quick Basic:

  1. Использование графических примитивов
  2. Использование макроязыка GML.

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

PSET (X, Y), C , где:
(Х, У) – координаты точки на экране
С – номер цвета

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 – номер цвета линии

5) Дуга окружности

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 – конечное значение угла для вычерчивания дуги эллипса
К – коэффициент сжатия дуги эллипса

Программы бейсика на радиусы и окружности

Если рисуется эллипс, то параметры L1 и L2 отсутствуют, т.е. оператор имеет вид:
CIRCLE (X,Y), R, C, , , К

Если параметры 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 – номер цвета самого контура

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

SCREEN 9
CIRCLE (159, 99), 80, 12: PAINT (159, 99), 12, 12
CIRCLE (89, 99), 39, 12: PAINT (78, 98), 12, 12
CIRCLE (228, 99), 39, 12: PAINT (248, 98), 12, 12
CIRCLE (120, 99), 15, 12, , , 3: PAINT (120, 99), 12, 12
CIRCLE (198, 99), 15, 12, , , 3: PAINT (198, 99), 12, 12
CIRCLE (120, 70), 19, 8, , , .5: PAINT (120, 70), 15, 8
CIRCLE (120, 70), 12, 6: PAINT (120, 70), 6, 6
CIRCLE (199, 70), 19, 8, , , .5: PAINT (199, 70), 15, 8
CIRCLE (199, 70), 12, 6: PAINT (199, 70), 6, 6
CIRCLE (159, 99), 20, 7, , , 2
CIRCLE (159, 130), 23, 4, 3.14, 6.28, .5
CIRCLE (159, 130), 24, 4, 3.14, 6.28: PAINT (159, 145), 4, 4
LINE (159, 40) – (110, 50), 8 : LINE (159, 40) – (130, 50), 8
LINE (159, 40) – (159, 50), 8 : LINE (159, 40) – (188, 50), 8
LINE (159, 40) – (208, 50), 8

Итог:

Программы бейсика на радиусы и окружности

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

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

Видео:найти радиус окружности, описанной вокруг треугольникаСкачать

найти радиус окружности, описанной вокруг треугольника

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

Действие

M x,y

M ±n, ±m

At

Cn

Sn

Dn

Ln

Rn

En

Fn

Gn

Hn

Команда
Переместиться в точку с координатами x, y
Переместиться по отношению к текущей позиции на ±n точек по оси Х и на ±m точек по оси У. Знаки плюс и минус проставлять обязательно
Поворот изображения против часовой стрелки вокруг точки, с которой начиналось рисование на 90°хt ( t Программы бейсика на радиусы и окружности0, 1, 2, 3). Действует во всех дальнейших командах до нового назначения
Задание нового цвета. Действует во всех дальнейших команда до нового назначения
Расстояние, указанное в командах перемещения, умножается на n/4 ( 0

Un

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

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

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

Пример использования команд:
SCREEN 9
CLS
COLOR , 11
LINE (0, 200) – (650, 350), 2, BF
DRAW «c6 bm200,150 e20 r100 nf20 nm320,160 u20 m360,70 d25 f20 r20 d10»
DRAW «m360,150 l20 d20 m320,160 d15 f20 r10 d8 l20»
DRAW «m300,180 u10 l60 g20 d6 r15 d8 l30 u20 m215,170»
DRAW «l10 g20 l70 h20 e20 m200,150 br5 p6,6 bm321,160 p15,6 bm350,110 p6,6»
CIRCLE (353, 110), 5, 8
PAINT (350, 110), 1, 8

Результат:

Программы бейсика на радиусы и окружности

Заключение:

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

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

Выполнение старых программ на FreeBasic

Из-за монополии языка программирования Бейсик на микрокомпьютерах восьмидесятых и девяностых годов, на нём было написано множество программ. Некоторые из них представляют интерес и сейчас. Например, не имеет большого смысла переписывать грамотно составленную, отлаженную и протестированную программу для выполнения инженерно-технических или научных расчётов. Так как же запустить программу, предназначенную для старой версии Бейсика, на современном компьютере? FreeBasic может решить эту задачу.

Видео:Радиус описанной окружностиСкачать

Радиус описанной окружности

Предположим, что нам требуется произвести вычисления длины окружности и площади круга по такой программе:
10 REM ================================================
20 REM Вычисление длины окружности L и площади круга S
30 REM по формулам: L=2*Pi*R, S=Pi*R^2, где R — радиус.
40 REM ================================================
50 REM
60 REM Ввод радиуса.
70 PRINT «Введите радиус R.»
80 INPUT R
90 IF R > 0 THEN 120
100 PRINT «Радиус должен быть положительным числом!»
110 GOTO 10
120 REM Вычисление по формулам.
130 LET P = 3.1416
140 LET L = 2 * P * R
150 LET S = P * R * R
160 REM Вывод результата.
170 PRINT «Для радиуса R = «; R
180 PRINT «длина окружности L = «; L
190 PRINT «площадь круга S = «; S
200 END

Если набрать её текст и попытаться выполнить в среде FBIde, то мы получим множество повторяющихся сообщений об ошибке компиляции:
«Error 145. Only valid in -lang deprecated or fblite or qb in . «

Это сообщение говорит о том, что мы использовали устаревший стиль программирования на языке Бейсик. Чтобы компилятор FreeBasic смог обработать эту программу, нужно использовать одну из опций компилятора: «-lang deprecated», «-lang fblite» или «-lang qb». В документации по FreeBasic сказано, что опция «deprecated» является устаревшей, и вместо неё рекомендуется использовать опцию «fblite», которая к современному синтаксису языка Бейсик добавляет поддержку устаревших конструкций, например, использование в тексте программы номеров строк. Опция «qb» включает режим максимальной совместимости для обработки текстов программ, созданных в устаревшей среде «QuickBASIC».

Чтобы задать опцию совместимости в среде FBIde, нужно выбрать пункт меню «View — Settings», открыть закладку «FreeBasic» и заменить значение параметра «Compiler command» на » » -lang qb » » . После этого по клавише [F9] произойдёт успешная компиляция и запуск на выполнение программы.

Однако вместо текста на русском языке в открывшемся консольном окне будет отображаться странная смесь символов. Так произошло из-за того, что среда разработки FBIde использует для текстов программ кодировку «Windows» (для русского языка — CP1251), а окно консоли — кодировку DOS (для русского языка — CP866). Чтобы текст сообщений программы стал читаемым, можно пойти двумя путями. Проще всего все сообщения записать латинскими буквами — они отображаются одинаково в обеих кодировках. Перевести ли текст на английский язык, или просто использовать транслитерацию (запись русских слов латиницей) — дело вкуса.

Если программой предполагается пользоваться регулярно и требуется корректное отображение именно русского текста, то придётся для набора текста программы или для его перекодировки воспользоваться каким-нибудь другим текстовым редактором, например, «AkelPad». Запустим этот простой редактор и откроем в нём исходный текст нашей программы (пункт меню «Файл-Открыть» или комбинация клавиш [Ctrl]+[O]). Сразу после этого, не внося никаких изменений, запросим сохранение текста через меню «Файл-Сохранить как. » или комбинацией клавиш [Ctrl]+[Shift]+[S]. В нижней части открывшегося окна ввода имени файла нужно значение поля «Кодировка» изменить на «866 (OEM-русская)» и нажать кнопку «Сохранить».

После перекодировки снова открываем текст программы в FBIde (при этом русские сообщения в тексте будут выглядеть как «иероглифы» и нечитаемая смесь символов), компилируем его и запускаем на выполнение клавишей [F9]. Радуемся тому, что русские сообщения, выдаваемые программой, наконец-то выглядят по-русски.

Но после ввода значения радиуса и нажатия клавиши [Enter] окно консоли, в котором выполнялась программа, почти сразу же закрывается, не позволяя увидеть результаты вычислений. С этим можно бороться тоже двумя способами. Первый — открыть «стационарное» окно консоли, которое не будет автоматически исчезать после завершения работы программы. Для этого можно воспользоваться пунктом меню «Run-CMD prompt» среды FBIde или просто нажать в ней клавишу [F8]. Теперь для запуска программы в открывшемся окне надо вручную набрать имя EXE-файла (если есть сомнения, его можно узнать с помощью команды dir /b *.exe ). После ввода радиуса и завершения работы программы можно спокойно проанализировать полученный результат (оказывается, для радиуса, равного 2, площадь круга численно равна длине окружности!). Чтобы закрыть окно консоли, можно набрать команду exit .

Другой способ борьбы с мгновенным закрытием окна программы требует небольшой модификации её текста. А именно, перед завершающим оператором END нужно вставить оператор SLEEP, приостанавливающий выполнение программы до тех пор, пока не будет нажата какая-нибудь клавиша на клавиатуре. Поскольку в тексте программы могут содержаться переходы на строку с оператором END, лучше всего будет заменить в этой строке END на SLEEP, а оператор END расместить сразу после него. Для нашего примера это изменение будет выглядеть так:
.
200 SLEEP
201 END

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

Видео:Как Найти Радиус Сегмента на Потолке. Радиус Окружности По Хорде И Высоте СегментаСкачать

Как Найти Радиус Сегмента на Потолке. Радиус Окружности По Хорде И Высоте Сегмента

📽️ Видео

Окружность. Как найти Радиус и ДиаметрСкачать

Окружность. Как найти Радиус и Диаметр

КАК НАЙТИ РАДИУС КРУГА (ОКРУЖНОСТИ), ЕСЛИ ИЗВЕСТНА ДЛИНА ОКРУЖНОСТИ? Примеры | МАТЕМАТИКА 6 классСкачать

КАК НАЙТИ РАДИУС КРУГА (ОКРУЖНОСТИ), ЕСЛИ ИЗВЕСТНА ДЛИНА ОКРУЖНОСТИ? Примеры | МАТЕМАТИКА 6 класс

Длина окружности. Математика 6 класс.Скачать

Длина окружности. Математика 6 класс.

начертить окружность. Привести уравнение окружности к стандартному виду. Координаты центра и радиус.Скачать

начертить окружность. Привести уравнение окружности к стандартному виду. Координаты центра и радиус.

Длина окружности. Площадь круга. 6 класс.Скачать

Длина окружности. Площадь круга. 6 класс.

Математика 3 класс (Урок№33 - Круг. Окружность (центр, радиус, диаметр)Скачать

Математика 3 класс (Урок№33 - Круг. Окружность (центр, радиус, диаметр)

Формулы радиусов описанной и вписанной окружностей правильного многоугольника 2Скачать

Формулы радиусов описанной и вписанной окружностей правильного многоугольника 2

Расстояние между центрами вписанной и описанной окружностей треугольника и их радиусами #ShortsСкачать

Расстояние между центрами вписанной и описанной окружностей треугольника и их радиусами #Shorts

Что такое круг окружность радиусСкачать

Что такое круг окружность радиус

Всё про углы в окружности. Геометрия | МатематикаСкачать

Всё про углы в окружности. Геометрия  | Математика

Квадрат в окружности или окружность в квадрате #ShortsСкачать

Квадрат в окружности или окружность в квадрате #Shorts

Геометрия. ОГЭ по математике. Задание 16Скачать

Геометрия. ОГЭ по математике. Задание 16

Основы геометрии #геометрия #окружность #радиус #8классСкачать

Основы геометрии #геометрия #окружность #радиус #8класс

СТОРОНА КВАДРАТА через РАДИУС вписанной и описанной окружностейСкачать

СТОРОНА КВАДРАТА через РАДИУС вписанной и описанной окружностей
Поделиться или сохранить к себе: