Нарисовать синусоиду в виде бесконечности - QBasic

Узнай цену своей работы

Формулировка задачи:

Ребята помогите пожалуйста нарисовать синусоиду, рисунок должен быть похожим на бесконечность. 1 рис (на бел фоне) то, что дано. 2 рис (должно получиться, примерно так)

Решение задачи: «Нарисовать синусоиду в виде бесконечности»

textual
Листинг программы
' Построение изображения
CLS 'Очистить экран
SCREEN 12 'Установить графический режим
WIDTH 80, 60 'Высота экрана 60 строк
pi = 3.14 'Значение pi
r = 20 'Значение коэффициента
'
'Организация графического окна 1
VIEW (40, 40)-(260, 160), 8, 8
switch = 0: GOSUB 10 'Уст. ключа и переход в подпр.
LOCATE 3, 8: PRINT 'График функции y = sin x'
LOCATE 22, 4: PRINT '-2pi'
LOCATE 22, 11: PRINT '-pi'
LOCATE 22, 20: PRINT '0'
LOCATE 22, 26: PRINT 'pi'
LOCATE 22, 33: PRINT '2pi'
'
 
'
LOCATE 55, 16
PRINT
DO 'Ожидание нажатия любой клавиши для выхода
LOOP WHILE INKEY$ = "" 'на сообщение QBASIC
END 'Конец программы
'
'Подпрограмма построения изображений функций
10:
WINDOW (-360, 40)-(360, -40) 'Система координат
FOR i = -20 TO 20 'Цикл формирования коор. сетки
    LINE (-360, 10 * i)-(360, 10 * i), 0 'Горизонт. линии
    LINE (-8, 10 * i)-(8, 10 * i), 15 'Шкала оси абсцисс
    LINE (45 * i, -40)-(45 * i, 40), 0 'Верт. линии
    LINE (45 * i, -2)-(45 * i, 2), 15 'Шкала оси ординат
NEXT i 'Следующий
LINE (-360, 0)-(360, 0), 7 'Ось абсцисс
LINE (0, -40)-(0, 40), 7 'Ось ординат
'
FOR g = -180 TO 180 STEP 1.1 'Цикл построения графика
    rn = g * pi / 180 'Пересчет угла в радианную меру
    x = g
    y = r * SIN(rn) 'Расчет y = sin x
    y1 = r * SIN(rn) * -1
 
    PSET (x, y), 15 'Изображение точки кривой
    PSET (x, y1), 15 'Изображение точки кривой
NEXT g 'Следующий
RETURN 'Возврат в программу

Объяснение кода листинга программы

  1. Сначала объявляются переменные:
    • pi = 3.14 (значение числа π)
    • r = 20 (значение коэффициента)
  2. Затем устанавливается графический режим и размеры экрана:
    • SCREEN 12 (установка графического режима)
    • WIDTH 80, 60 (установка размеров экрана: 80 символов в строке, 60 строк)
  3. Далее организуется графическое окно и осуществляется переход в подпрограмму:
    • VIEW (40, 40)-(260, 160), 8, 8 (установка системы координат и размеров окна)
    • switch = 0: GOSUB 10 (переход в подпрограмму с установленным ключом)
  4. В основной программе выводятся метки осей и заголовок графика:
    • LOCATE 3, 8: PRINT 'График функции y = sin x'
    • LOCATE 22, 4: PRINT '-2pi'
    • LOCATE 22, 11: PRINT '-pi'
    • LOCATE 22, 20: PRINT '0'
    • LOCATE 22, 26: PRINT 'pi'
    • LOCATE 22, 33: PRINT '2pi'
  5. В подпрограмме строятся горизонтальные и вертикальные линии координатной сетки, а также линии осей:
    • WINDOW (-360, 40)-(360, -40) (установка системы координат)
    • FOR i = -20 TO 20 (цикл формирования координатной сетки)
      • LINE (-360, 10 i)-(360, 10 i), 0 (горизонтальная линия)
      • LINE (-8, 10 i)-(8, 10 i), 15 (вертикальная линия оси абсцисс)
      • LINE (45 i, -40)-(45 i, 40), 0 (вертикальная линия)
      • LINE (45 i, -2)-(45 i, 2), 15 (вертикальная линия оси ординат)
    • NEXT i (следующий цикл)
    • LINE (-360, 0)-(360, 0), 7 (ось абсцисс)
    • LINE (0, -40)-(0, 40), 7 (ось ординат)
  6. Затем в основной программе начинается цикл построения графика:
    • FOR g = -180 TO 180 STEP 1.1 (цикл построения графика)
      • rn = g * pi / 180 (пересчет угла в радианную меру)
      • x = g (расчет значения переменной x)
      • y = r * SIN(rn) (расчет значения переменной y)
      • y1 = r SIN(rn) -1 (расчет значения переменной y1)
      • PSET (x, y), 15 (изображение точки кривой)
      • PSET (x, y1), 15 (изображение точки кривой)
    • NEXT g (следующий цикл)
  7. В конце программы ожидается нажатие любой клавиши для выхода:
    • DO 'Ожидание нажатия любой клавиши для выхода
    • LOOP WHILE INKEY$ = `` (цикл ожидания нажатия клавиши)
  8. В конце подпрограммы возвращается управление в основную программу:
    • RETURN (возврат в программу)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы