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

Задачник-практикум по основам программирования. Учебное пособие по курсу «Информатика»

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

7.2.Описать функцию для вычисления среднего значение произвольной вещественной функции от одной вещественной переменной на отрезке [a, b], протабулировав ее с заданным шагом h. Считать, что функция на отрезкеопределена инепрерывна. Написать программу, вычисляющую среднее значение функции на отрезке для следующих функций:

y =

2x 1

, [2, 4]

y = x2 cos 3x, [0, π ]

 

x + 5

 

 

7.3. Описать процедуру построения графика произвольной вещественной функцииотоднойвещественной переменной наотрезке[a, b]. Считать, чтофункциянаотрезкеопределенаинепрерывна. Написатьпрограмму, строящую график одной из функций, выбираемой пользователем из предлагаемого списка:

y = sin x ex

y = (2.2x ex ln 2 ) (x2 4)

y= x2 cos 2x + 1

7.4.Описать функцию приближенного вычисления корня уравнения f(x)=0 на отрезке методом половинного деления, если функция f(x) передается как параметр.

Метод половинного деления [8, 9]

Для уточнения корня уравнения F(x) = 0, принадлежащего отрез-

ку [a, b] методом половинного деления, этот отрезок делится пополам:

=a + b

x2 . Если x не является корнем (приближенно), то выбирается та

из половин [a, x] или [x, b], на концах которой функция F(x) имеет проти- воположные знаки. Новый суженный отрезок снова делится пополам, и проводятся те же действия и т.д. В результате на каком-то этапе получается или приближенное значение корня уравнения, или последовательность вложенных друг в друга отрезков [a0 , b0], [a1 , b1], ..., [an , bn] таких, что

F(ai) F(bi) < 0,

1

bi–ai = 2i (b0 – a0 ), i = 0, 1, 2, ..., n

a0=a, b0=b

Если длина отрезка, на концах которого функция имеет противополож- ные знаки, стала меньше заданного числа eps ( 0 < eps <<1), то в качестве

приближенного значения корня уравнения можно принять an 2+ bn .

131

Применить функцию для нахождения корня каждого из следующих уравнений:

1)0.44x + 0.3cos x = 0 на отрезке [–1, 0]

2)3x – lg x –10 = 0 на отрезке [3, 4]

7.5.Описать функцию приближенного вычисления корня уравнения f(x) = 0 на отрезке методом Ньютона, если функция f(x) передается как параметр.

Метод Ньютона (метод касательных)

В качестве приближенного значения корня уравнения F(x) = 0

принимается предел последовательности {xn}, описываемой следующим рекуррентным соотношением:

x

n

= x

n1

F(xn1 )

, n > 0

F (xn1 )

 

 

 

 

Начальное приближение x0 целесообразно выбирать так, чтобы было выполнено условие F(x0) F(x0) > 0. В противном случае сходимость ме- тода Ньютона не гарантируется.

Метод Ньютона неприменим, если на отрезке [a, b] функция имеет экстремум или точку перегиба. Следует проверять значение F(xn–1), чтобы избежать деления на 0.

Использовать функцию для нахождения корня уравнения: –0,0255x2 0,5298x–2,0449 = 0 на отрезках [–16, –15] и [–6, –4]

7.6.Описать функцию приближенного вычисления корня уравнения f(x) = 0 на отрезке методом хорд, если функция f(x) передается как параметр.

Метод хорд [8, 9]

Метод хорд основан на построении сходящейся последовательности {xn} с помощью рекуррентного соотношения:

xn = xn1

F(xn1 )(xn1 X * )

, n > 0

F(xn1 ) F( X * )

x0 = a или b;

X* = соответственно b или a

Выбор значений x0 и X* зависит от вида функции F(x). Если в произ- вольной точке отрезка [a, b], например, в середине, производные F(x) и F(x) имеют один знак, то x0=a, X*=b. Если разный знак, то x0=b, X*=a.

Использовать функцию для нахождения корня уравнения:

2x cos x = 0, [0, π2 ]

132

7.7.Вычислить приближенное значение интеграла используя формулу левых прямоугольников:

b

n1

 

S = f (x)dx hf (a + ih), h = b a

a

i=0

n

7.8.Вычислить приближенное значение интеграла используя формулу правых прямоугольников:

b

n

 

 

 

 

 

 

S = f (x)dx hf (a + ih), h = b a

 

 

 

 

a

i=1

 

n

 

 

 

π/ 3

7.9. Вычислить приближенное значение интеграла S =

формулу трапеций:

 

 

 

 

 

0

 

 

 

 

 

 

b

f (a) + f (b)

n1

 

 

b

a

 

 

 

S = f (x)dx h

 

 

+ f (a + ih)

, h =

 

n

 

2

 

a

 

i=1

 

 

 

2

 

ln x

 

 

S =

 

 

dx ,

(x

2

+ 1)

2

1

 

 

 

0.5

S = 4 cos2 xdx ,

0

dx

cos2 x , используя

Примечание к задачам № 7.10 – 7.12

Если дуга гладкой кривой y = f(x) (a x b) вращается вокруг оси OX, то площадь поверхности вращения вычисляется по формуле

s = 2π b

f (x) 1+ ( f / (x))2 dx

a

 

7.10.Найти площадь поверхности, образованной вращением вокруг оси OX дуги синусоиды y = sin 2x для 0 x ≤ π/2.

7.11.Найти площадь поверхности, образованной вращением вокруг оси OX дуги кривой y = 2ch (x/2) для 0 x 2.

7.12.Найти площадь поверхности, образованной вращением вокруг оси OX дуги кривой y = x3 для 0 x 1/2.

Примечание к задачам №№ 7.13–7.15

Решить совместно два уравнения и найти точки их пересечения. Угол между касательными к двум кривым y=f1(x) и y=f2(x) в точке их пересечения x0

найти по формуле

tgϕ =

 

 

f 2(x0) f 1(x0)

. Угол выразить в градусах.

1

+ f 1(x0) f 2(x0)

 

 

 

7.13.

Найти угол между кривыми y=8 – x2 и y = x2.

7.14.

Найти угол между кривыми y = 2 sin x и y = 2 cos x .

7.15.

Найти угол между кривыми y = x3 и y = 1/x2.

133

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

Задание 1

Вычислить приближенное значение корня уравнения на отрезке ука- занным методом:

 

Уравнение

Отрезок

Метод

 

 

или начальное

 

 

 

приближение

 

 

 

 

 

1)

x2cos 2x + 1 = 0

[0, π/2]

Половинного деления

2)

x3 + x2 + x + 1 = 0

[–2, 1]

Ньютона

3)

x5 – 0.3|x – 1|= 0

[0, 1]

Половинного

 

 

 

деления

 

 

 

 

4)

2x – cos x = 0

[0, π/2]

Ньютона

 

 

 

 

5)

2x2 + 4x = 1

0.11

Итераций

6)

0.9x – sin(x1/2) 0.1 = 0

[0, 1.5]

Ньютона

7)

tg x – (x+1)/2 = 0

[0, π/4]

Половинного деления

 

 

 

 

8)

5(x – 3)2 – 9 = 0

[0, 10]

Ньютона

9)

x + ln(x+0.5) – 0.5 = 0

[0, 2]

Половинного деления

 

 

 

 

10)

5x – 8 ln x = 8

4.3

Итераций

 

 

 

 

11)

x5 x – 0.2 = 0

[1, 1.1]

Половинного деления

12)

x3 – 0.2x2 – 0.2x – 1.2=0

[1, 1.5]

Ньютона

13)

x = 0.06x2 – 0.15x + 0.8

2.5

Итераций

14)

x 2x 1 = 0

[0, 1]

Ньютона

15)

2sin2x/3 – 3cos2x/4 = 0

[0, π/2]

Половинного деления

16)

x2 – sin5x = 0

[0.5, 0.6]

Ньютона

17)

10x = 10 + sin x

1

Итераций

 

 

 

 

18)

(4 + x2)(ex e-x) = 18

[1.2, 1.3]

Ньютона

19)

x3 – 2x2 + x – 3=0

[2.1, 2.2]

Половинного деления

20)

5x3 – 10x2 + 5 x = 1

[0, 1]

Ньютона

21)

2x + lg(2x + 3)=1

0

Итераций

 

 

 

 

22)

ex – 2(1 – x2) =1

[0, 1]

Половинного деления

23)

1 + x2 + 4 sin x = 0

[–1, 0]

Ньютона

24)

(x – 1) sin x – x – 1 = 0

[–π/2, 0]

Половинного деления

 

 

 

 

25)

x3 – sin x = 0

[0.5, 1]

Ньютона

134

Задание 2

Вычислить приближенной значение интеграла, используя указанную квадратурную формулу:

 

 

 

 

 

 

 

 

 

 

Интеграл

 

 

Метод

Ответ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

2

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

Трапеций

0.15

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

( x

2

+ 1)

2

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

1/ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Правых прямоугольников

1.84147098

 

4 cos2

xdx

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3)

π / 3

 

dx

 

 

 

 

 

 

 

 

 

 

 

Симпсона

1.7320508

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos2 x

 

 

 

 

 

 

 

 

 

 

4)

x + 1 dx

 

 

 

 

 

 

 

 

Левых прямоугольников

14.6666

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5)

 

 

 

 

dx

2

 

 

 

 

 

 

 

 

 

 

Трапеций

π/4

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

(1 + x )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6)

 

 

 

 

1 + 2x dx

 

 

 

 

 

Правых прямоугольников

1.39872

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7)

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

Симпсона

0.6931

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1 + x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8)

2.3

 

 

 

 

 

0.3x + 1.2

dx

Левых прямоугольников

0.21

 

 

 

 

 

 

 

 

 

 

1.5 1.6x +

 

 

 

x2 + 0.5

 

 

 

 

 

 

 

 

 

 

 

9)

1.2

 

 

 

sin(0.6x + 0.3)

 

 

 

Трапеций

0.4358

 

0.4

 

 

 

 

 

 

dx

 

 

 

1.7 + cos(x2

+ 1.2)

 

 

10)

1.3

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

Правых прямоугольников

0.404

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x2 + 0.3

 

 

 

 

 

 

 

 

0.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11)

1.6 sin(2x 2.1)

 

 

 

 

Симпсона

0.088278

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

x

2

+ 1

 

 

 

 

 

 

 

 

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12)

3.36

 

 

(1 + 0.4x

2 )

 

 

 

Левых прямоугольников

1.70945

 

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

2 +

 

 

0.5x2

+ 1.3

 

 

 

 

 

 

 

 

 

135

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончание табл.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Интеграл

Метод

Ответ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13)

 

( x + 0.8) dx

 

 

 

Трапеций

1.3438

 

2.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6

 

 

 

x2

+ 1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14)

x2 ln xdx

 

 

 

Правых прямоугольников

177.4836

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15)

4

 

 

 

 

 

dx

 

 

 

Симпсона

0.0533

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(25 x2 )3 / 2

 

 

 

 

 

16)

lg( x2

 

+ 3.5)dx

 

 

 

Левых прямоугольников

5,0861

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17)

3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Трапеций

10.169

 

 

 

 

 

2x2

+ 3 dx

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18)

 

x

 

dx

 

 

 

 

 

 

 

Правых прямоугольников

0.306846

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

(1 + x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19)

e

2 dx

 

 

 

 

 

 

 

Симпсона

2.3925

 

2

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20)

(sin x ln x + ex )dx

Левых прямоугольников

2.4148

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21)

2.8

 

x

 

 

 

 

x

 

Трапеций

2.66666

 

1.2

 

 

 

+

1 sin

 

 

dx

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

22)

 

(

 

 

x + 1 tg (2x)dx

Правых прямоугольников

0.92918

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

0.72

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23)

(2x + 0.5) sin x dx

Симпсона

1.23178

 

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24)

 

tg( x

2

) dx

 

 

 

Левых прямоугольников

0.494359

 

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

 

x + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25)

 

sin( x

2

 

1) dx

 

 

 

Трапеций

0.213079

 

2.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3

 

 

 

2

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

136

Задание 3

Даны две функции f(x) и g(x), графики которых пересекаются в двух точках. Для точек пересечения нужно определить интервал локализации. Для этого построить таблицу значений функции f(x) – g(x) и проанализиро- вать изменение знака функции. Для полученного интервала локализации корня уточнить значение указанным в задании методом. Вычислить пло- щадь фигуры, ограниченной графиками функций, используя указанную в задании квадратурную формулу.

Примечание. Выполнение задания может быть оформлено в виде отдельных программ, соответствующих каждому из этапов, или в виде одной программы.

Для определения интервалов локализации точек пересечения можно использовать процедуру построения графиков функций.

 

Функции

Метод уточнения зна-

Метод численного интег-

 

 

чения корня

рирования

1)

y = x2

Половинного деления

Симпсона

 

y = sin x

 

 

 

 

 

 

2)

y = x3

Ньютона

Трапеций

 

y = sin x

 

 

 

 

 

 

3)

y = 2x

Половинного деления

Левых прямоугольников

 

y = x2

 

 

 

 

 

 

4)

y = lg x

Половинного деления

Симпсона

 

y = 0.1x

 

 

 

 

 

 

5)

y = x2

Ньютона

Трапеций

 

y = lg( x + 2)

 

 

 

 

 

 

6)

y = x3 4x

Ньютона

Левых прямоугольников

 

y = x 1

 

 

 

x > 0

 

 

7)

y = x2

Половинного деления

Симпсона

 

y = 5 x

 

 

 

 

 

 

8)

y = ex

Половинного деления

Трапеций

 

y = 2 x2

 

 

 

 

 

 

137

 

 

 

 

 

 

Продолжение табл.

 

 

 

 

 

 

 

 

Функции

Метод уточнения зна-

Метод численного интег-

 

 

 

 

 

чения корня

рирования

9)

y = x3 4x

 

Ньютона

Правых прямоугольников

 

y =

x3 16x

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

10)

y = sin x

 

Половинного деления

Симпсона

 

y =

1

 

 

 

 

 

 

x

 

 

 

11)

y = x2 cos x

 

Половинного деления

Трапеций

 

y = x2 2x + 1

 

 

 

 

 

 

 

 

 

12)

y =

x + sin x

 

 

Ньютона

Левых прямоугольников

 

 

 

 

 

1 + cos x

 

 

 

 

 

 

 

 

 

y = 1, 5x x2

+ 1

 

 

 

 

 

 

 

13)

y = −2, 5x2 + 1

Половинного деления

Симпсона

 

y = x3ex

 

 

 

 

 

 

 

 

14)

y = − x2 + x + 0, 7

Половинного деления

Трапеций

 

y = ln( x2 + 1)

 

 

 

 

 

 

 

 

 

15)

y = e0,1x + 2

 

Ньютона

Правых прямоугольников

 

y = 5x2

 

 

 

 

 

 

 

 

 

16)

y = cos x2 + 1

 

Половинного деления

Симпсона

 

y = ex2

 

 

 

17)

y = x2 sin2 x

 

Половинного деления

Трапеций

 

y = 1, 5x x2

+ 2

 

 

 

 

 

 

 

 

18)

y = 2x

 

Ньютона

Левых прямоугольников

 

y = 5x2

 

 

 

 

 

 

 

 

 

19)

y = ln(1 + x2 )

 

Половинного деления

Симпсона

 

y = ex2 x

 

 

 

20)

y = x2 2, 5x + 2

Половинного деления

Трапеций

 

y = sin2 x + cos x

 

 

138

 

 

 

 

 

 

 

Окончание табл.

 

 

 

 

 

 

 

 

 

 

Функции

 

Метод уточнения зна-

Метод численного интег-

 

 

 

 

 

 

чения корня

рирования

21)

y = sin( x2 + x) + 2

Ньютона

Правых прямоугольников

 

y = ex2

 

 

22)

y = sin2 x

cos x

 

Половинного деления

Симпсона

 

 

 

 

 

 

2

 

 

 

 

y = −0, 05xex

 

 

 

 

 

 

 

 

 

 

23)

y = sin2 x

cos x

 

Половинного деления

Трапеций

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

y = −0, 05xex

 

 

24)

y =

x2 + 1, 5

Ньютона

Левых прямоугольников

 

y = 2 sin2 x

 

 

25)

y =

x

 

Ньютона

Правых прямоугольников

 

1 + x2

 

 

 

y = x2 ex 0, 5

 

 

 

 

 

 

 

 

 

 

8. РЕКУРСИЯ

Рекурсия это способ описания объектов и вычислительных процессов через самих себя [16].

Описание рекурсивной подпрограммы должно содержать хотя бы одну альтернативу, не использующую рекурсивный вызов. Эта альтернатива завершает последовательность рекурсивных вызовов. В противном случае процесс вычислений будет бесконечным.

Пример 8.1. Используя рекурсивную процедуру, вычислить сумму

S = 1+ 12 + 13 + + n1

program Rec_1; var n: integer;

Sm: real;

procedure SumRec( n:integer; var S: real); begin

if n=1 then S:=1 else

begin

SumRec( n-1, S ); S:=S+1/n

end end; begin

write(‘n=’); readln (n); SumRec( n, Sm );

writeln(‘Сумма =’,Sm:10:8) end.

Можно проследить, как работает процедура SumRec, например, для n = 5.

Оператор процедуры в этом случае будет таким:

SumRec( 5, Sm );

140

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