Найти наибольшее и наименьшее значение функции - QBasic
Формулировка задачи:
Ребят привет. Я новенький, поэтому могу тупить. В завтра в обед нужна программа для нахождения наибольше и наименьшего значения функции. Нас так учат что ничего не объясняют...((( Помогите плиз...
y=(1+√(1+3x^2 ))/(1+lnx ), x∈[1,3]
Программа нужна на байсике. Может кто уже сталкивался.
Решение задачи: «Найти наибольшее и наименьшее значение функции»
textual
Листинг программы
SUB f(x,y) y=... 'здесь пишется наша функция END SUB min=1 max=3 st=0.1 CALL f(min,d(1)) d(2)=d(1) FOR x=min TO max STEP st CALL f(x,y) IF y>d(2) THEN d(2)=y IF y<d(1) THEN d(1)=y NEXT x PRINT "минимальное значение ="d(1), "максимальное значение ="d(2)
Объяснение кода листинга программы
В этом коде:
- Функция
fпринимает два аргументаxиy. - Переменная
yинициализируется значением, вычисленным в соответствии с постановкой задачи. - Затем, с помощью цикла
FOR, вызывается функцияfс различными значениямиxотminдоmaxс шагомst. - Если значение
yпри вызове функцииfбольше текущего значенияd(2), то обновляется значениеd(2). - Если значение
yпри вызове функцииfменьше текущего значенияd(1), то обновляется значениеd(1). - После выполнения цикла, выводятся значения
d(1)иd(2), которые представляют собой минимальное и максимальное значение функции соответственно. Список действий: - Инициализация переменной
yвнутри функцииf. - Вызов функции
fс аргументамиminиd(1). - Передача значения
d(1)в функциюfдля всех последующих вызовов. - Обновление значения
d(2)при каждом выходе из цикла, если найдено значениеyбольше текущего значенияd(2). - Обновление значения
d(1)при каждом выходе из цикла, если найдено значениеyменьше текущего значенияd(1). - Вывод значений
d(1)иd(2)после выполнения цикла. Таким образом, в этом коде используется методразделяй и властвуйдля поиска минимального и максимального значения функции. Вместо того чтобы искать их одновременно, мы сначала ищем максимальное значение, а затем минимальное значение, используя полученные промежуточные результаты. Это делает алгоритм более эффективным для больших диапазонов значенийminиmax.