Построить график y=sin(x)/x - QBasic
Формулировка задачи:
Листинг программы
- REM
- REM Y = SIN(x)/x
- REM
- CLS
- SCREEN 11
- WINDOW (-1.1, 1.1)-(13, -1.1)
- LINE (0, 0)-(13, 0)
- LINE (0, -1.1)-(0, 1.1)
- FOR x = .0001 TO 13 STEP .001
- Y = SIN(x) / x
- PSET (x, Y)
- y1 = 1 / x
- PSET (x, y1)
- PSET (x, -y1)
- NEXT x
- END
Решение задачи: «Построить график y=sin(x)/x»
textual
Листинг программы
- Private Sub Command1_Click()
- Me.Picture1.Scale (-15, 100)-(15, -100)
- x_prev# = -10
- For x# = -10 To 10 Step 0.3
- Me.Picture1.Line (x_prev#, 1 / x_prev#)-(x#, 1 / x#), QBColor(12)
- x_prev# = x#
- Next x#
- Exit Sub
- End Sub
Объяснение кода листинга программы
- При нажатии кнопки Command1 происходит масштабирование изображения на Picture1 на -15 по оси X и на 100 по оси Y (это действие будет выполняться при каждом нажатии кнопки, поскольку оно находится внутри обработчика событий Command1_Click).
- Переменная x_prev# инициализируется значением -10. Эта переменная будет использоваться для хранения предыдущего значения переменной x#.
- Задается диапазон значений для переменной x# от -10 до 10 с шагом 0.3.
- На каждой итерации цикла переменная x_prev# присваивается текущее значение переменной x#, а затем рисуется линия на изображении Picture1 от точки (x_prev#, 1 / x_prev#) до точки (x#, 1 / x#) с использованием цвета QBColor(12).
- После завершения цикла переменная x_prev# присваивается значение x#, чтобы на следующей итерации начать рисование линии с последней нарисованной точки.
- Если во время выполнения цикла какое-либо из значений x# или 1/x# превысит максимальное значение, которое может быть представлено в данном типе данных (что может произойти, если x# станет слишком малым или слишком большим), то выполнение программы завершится (возможно, с генерацией исключения).
- Если отмена масштабирования изображения была вызвана другим событием, не связанным с нажатием кнопки Command1 (например, пользователь щелкнул мышью вне области изображения Picture1), то выполнение программы также завершится.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д