Табулирование функций QBASIC
Формулировка задачи:
Помогите с функцией,
Составить программу для вычисления значений функции F(x) на отрезке [а, b] с шагом h. Результат представить в виде таблицы, первый столбец которой — значения аргумента, второй — соответствующие значения функции.
Заранее спасибо.
Решение задачи: «Табулирование функций QBASIC»
textual
Листинг программы
DECLARE FUNCTION f1! (x!) DECLARE FUNCTION f2! (x!) CLS INPUT "[A, B] = "; a, b INPUT "h = "; h n = (b - a) / h + 1 FOR i = 1 TO n x = a + (i - 1) * h y1 = f1(x) y2 = f2(x) IF i MOD 21 THEN PRINT USING " ##.# ###.#### ###.####"; x; y1; y2 ELSE PRINT USING " ##.# ###.#### ###.####"; x; y1; y2 INPUT "ENTER FOR CONTINUE"; q$ CLS END IF NEXT END FUNCTION f1 (x) IF COS(x) <> 0 THEN f1 = TAN(x) END FUNCTION FUNCTION f2 (x) IF COS(x / 2) <> 0 THEN f2 = 2 * TAN(x / 2) + 1 END FUNCTION
Объяснение кода листинга программы
В этом коде реализованы вычисления функций f1 и f2 на заданном отрезке [A, B] с шагом h.
- DECLARE FUNCTION f1! (x!) - объявление функции f1 с одним аргументом x.
- DECLARE FUNCTION f2! (x!) - объявление функции f2 с одним аргументом x.
- CLS - очистка экрана перед началом работы.
- INPUT
[A, B] =
; a, b - ввод начальных значений для переменной a и b. - INPUT
h =
; h - ввод значения шага h. - n = (b - a) / h + 1 - вычисление количества шагов на отрезке [a, b] и прибавление единицы для включения границы.
- FOR i = 1 TO n - начало цикла по всем шагам на отрезке [a, b].
- *x = a + (i - 1) h** - вычисление текущего значения x на основе номера шага i.
- y1 = f1(x) - вычисление значения функции f1 для текущего значения x.
- y2 = f2(x) - вычисление значения функции f2 для текущего значения x.
- IF i MOD 21 THEN - проверка, является ли номер шага i кратным 21.
- PRINT USING
##.# ###.#### ###.####
; x; y1; y2 - вывод значений x, y1 и y2 с форматированием. - ELSE - если номер шага не кратный 21.
- INPUT
ENTER FOR CONTINUE
; q$ - запрос на нажатие клавиши для продолжения или остановки вычислений. - CLS - очистка экрана после запроса на нажатие клавиши.
- END IF - конец проверки.
- NEXT - переход к следующему шагу цикла.
- END - конец программы.
- FUNCTION f1 (x) - определение функции f1 с аргументом x.
- IF COS(x) <> 0 THEN f1 = TAN(x) - определение выходного значения функции f1.
- FUNCTION f2 (x) - определение функции f2 с аргументом x.
- *IF COS(x / 2) <> 0 THEN f2 = 2 TAN(x / 2) + 1** - определение выходного значения функции f2.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д