Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика в задачах, примерах, алгоритмах

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
652 Кб
Скачать

7. Циклы

y =

 

10 ln(x + 5)2

+ 5

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

x

 

3

 

 

 

 

 

 

300Sin

 

 

 

+ 5

+ 5 + 2

 

 

 

3

 

 

 

 

 

 

 

 

 

Îêíî (–30, –30) – (30, 30).

Ответ: Ñì. ðèñ. 10.

245. Построить график функции:

Ðèñ. 10

81

Информатика в задачах, примерах, алгоритмах

y =

10 ln(x + 5)2

+ 5

.

 

 

 

 

 

 

 

 

2

 

x

 

 

3

 

 

 

 

 

300Sin

 

 

 

+

5

+ 7

 

 

 

3

 

 

 

 

 

 

 

 

Îêíî (–30, –30) – (30, 30)

Ответ: Ñì. ðèñ. 11.

246. Построить график функции:

Ðèñ. 11

82

7. Циклы

y =

10 ln(x + 5)2

+ 5

.

 

 

 

 

10Sin2

(3x

+ 10)3 + 7

 

 

Îêíî (–10, –10) – (10, 10).

Ответ: Ñì. ðèñ. 12.

247. Построить график функции:

Ðèñ. 12

83

Информатика в задачах, примерах, алгоритмах

y =

10 ln(x + 5)2

+ 5

 

.

 

 

 

 

 

30Sin2

(3x

+ 10)3 +

 

 

7x

Îêíî (–10, –10) – (10, 10).

Ответ: Ñì. ðèñ. 13.

248. Построить график функции:

Ðèñ. 13

84

7. Циклы

y = ± (3a 2 3x 2 )3 .

Îêíî (–10, –10) – (10, 10).

Ответ: Ñì. ðèñ. 14.

Данная фигура носит название Астроида 249. Построить график функции:

Ðèñ. 14

85

Информатика в задачах, примерах, алгоритмах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

+

a

2

− x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = ± a ln

 

 

 

 

 

 

 

 

a

 

− x

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Îêíî (–30, –30) – (30, 30).

Ответ: При a = 10, ñì. ðèñ. 15.

Данная фигура носит название Трактриса 250. Построить график функции:

Ðèñ. 15

86

7. Циклы

y =

1 + log2 (x 2 + x)

 

.

1 + log2x (x + 1)

Îêíî (–9, –9) – (9, 9).

Ответ: Ñì. ðèñ. 16.

Ðèñ. 16

87

Информатика в задачах, примерах, алгоритмах

7.5. Решение уравнений

Приближенные методы решения алгебраических уравнений

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

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

Что же касается процедуры уточнения корней, то она проводится по единой методике, заключающейся в оценке точности найденных корней (для действительных значений) посредством неравенств

a k < x k < bk ,

ãäå ak è bk — начало и конец интервала, в котором располагается k-й корень x k функции f (x).

Тогда в качестве первого приближенного значения для k-го корня можно принять, например, центр интервала (ak , bk ).

Для решения таких уравнений на ЭВМ особенно удобен метод половинного деления (деления пополам).

Приведенная программа обеспечивает алгоритм этого метода. Решение задач сводится к правильной записи уравнения в подпрограмме и вводе точности вычисления. Программу лучше оформлять как макрос к Excel.

'Нахождение корней методом деления пополам

Sub delon2()

Dim Eps As Double, X As Double, VN As Double, Y As Double Dim Z As Double

Dim XN As Double, XV As Double, YN As Double

88

7. Циклы

Dim flag As Boolean

Dim XV1 As Double, k(1 To 5) As Double flag = False

txt$ = “Корней на заданном интервале нет”

Eps = Val(InputBox(“требуемая точность”, , “0.0000001")) XN = Val(InputBox(“Нижняя граница интервала”, , “0.1")) XV = Val(InputBox(“Верхняя граница интервала”, , “0.1")) h = Val(InputBox(“Укажите шаг поиска корней”, , “0.15")) For i = 1 To 5 'Цикл на поиск 5-òè корней

YN = Уравнение(XN) For X = XN To XV Step h Y = Уравнение(X)

If YN * Y > 0 Then

YN = Y

Else

flag = True: Exit For

End If

 

Next X

 

If flag = False Then

 

MsgBox txt$

 

End

 

End If

 

If Y <> 0 Then

 

XN = X - h

'Делаем шаг назад

XV1 = X

'Интервал сузили до ширины шага

X = Корень(XN, XV1, Eps)

End If

 

MsgBox (“Ответ: Х(” + Str(i) + “)=” + Format(CSng(X), _

“ #0.000 ###”))

 

XN = XV1

'сдвигаем нижнюю границу

If flag Then txt$ = “Больше корней на заданном интервале нет”

flag = False

 

Next i

'На поиск очередного корня

End Sub

Function Корень(XN As Double, XV As Double, Eps As Double) As Double

Dim Y As Double, YN As Double, X As Double

89

Информатика в задачах, примерах, алгоритмах

Do

' Начало цикла

X = XN

 

Y = Уравнение(X)

 

YN = Y

 

X = (XV + XN) / 2

 

Y = Уравнение(X)

 

If YN * Y > 0 Then XN = X Else XV = X

Loop While XV - XN > Eps

' Конец цикла

Корень = X

 

End Function

 

Function Уравнение(X As Double) As Double

'Запишите решаемое уравнение в форме выражения Бейсик

Уравнение = 2 * (X ^ 2 + 3 * X + 11) ^ (1 / 2) + X ^ 2 + 3 * X - 4 End Function

Задачи

251. Решить уравнение

22x + 2x = 6.

Ответ: –1.

252. Решить уравнение

4x + 3 2x = 10.

Ответ: 1.

253. Решить уравнение

2x + 5 = x + 2.

Ответ: 4.

254. Решить уравнение

5x 2 7x + 2 = (4x 5)2 4x 2 + x 5 16x 2 25

Ответ: –3.

90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]