Вы находитесь на странице: 1из 44

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ МОЛДОВЫ

Энергетический факультет

Кафедра теплотехники и менеджмента в энергетике

ИНФОРМАТИКА

СБОРНИК ЗАДАЧ
и методические указания
к выполнению лабораторных работ

ЧАСТЬ 2

Кишинэу
ТУМ
2007

1
В данном пособии содержатся варианты последующих
пяти лабораторных работ по курсу Информатика и
методические указания для их выполнения.
Методические рекомендации предназначены для
студентов дневной и заочной форм обучения специальностей
523.2 Termoenergetică, 521.8 Inginerie şi Management în
Energetică.

Разработала: старший преподаватель Л.И. Ткач


Ответственный редактор: конференциар Н.Ф. Бабой
Рецензент: конференциар Н.Ф. Бабой

ТУМ, 2007

CОДЕРЖАНИЕ
Порядок выполнения лабораторной работы 4
2
ЛАБОРАТОРНАЯ РАБОТА №5.
Символьные типы данных Char и String 5
ЛАБОРАТОРНАЯ РАБОТА №6.
Графические возможности Turbo Pascal 12
ЛАБОРАТОРНАЯ РАБОТА №7.
Вычисление бесконечной суммы с
заданной точностью 17
ЛАБОРАТОРНАЯ РАБОТА №8.
Численные методы решения нелинейных 20
уравнений
ЛАБОРАТОРНАЯ РАБОТА №9.
Численное интегрирование 24
ЛИТЕРАТУРА 27
ПРИЛОЖЕНИЕ 1.
Указания к выполнению лабораторной
работы №5. 28
ПРИЛОЖЕНИЕ 2.
Указания к выполнению лабораторной
работы №6. 31
ПРИЛОЖЕНИЕ 3.
Указания к выполнению лабораторной
работы №7. 37
ПРИЛОЖЕНИЕ 4.
Указания к выполнению лабораторной
работы №8. 38
ПРИЛОЖЕНИЕ 5.
Указания к выполнению лабораторной
аботы №9. 43

ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ


1. Внимательно прочитать и уяснить условие задачи,
которую предстоит решить.
2. Ознакомиться с необходимым теоретическим материалом
3. Изучить нужное приложение для соответствующей
лабораторной работы. Подготовить свой вариант решения,
3
алгоритм, текст программы и попробовать решить задачу
с помощью компьютера. Отредактировать и проверить
программу на наличие логических ошибок, выполнив, при
необходимости, ручной счёт.
4. Представить преподавателю свой вариант решения задачи
на компьютере
5. Сделать отчет (пояснительную записку).

Cодержание пояснительной записки


1. Титульный лист
2. Постановка задачи
3. Описание алгоритма решения задачи (в виде блок-
схемы);
4. Перечень аномалий и допустимых значений входных
данных (тестовые примеры) или ручной счёт;
5. Листинг программы;
6. Результаты выполнения программы.

ЛАБОРАТОРНАЯ РАБОТА № 5

Тема: СИМВОЛЬНЫЕ ТИПЫ ДАННЫХ CHAR И STRING


ЦЕЛЬ РАБОТЫ. Преобразовать заданную строку
символьных данных (текст) в формате STRING так, как
требуется в задаче.
Под группой букв (цифр, знаков) в условиях задачи
подразумевается такая совокупность последовательно
расположенных букв (цифр, знаков), которой непосредственно
не предшествует и за которой непосредственно не следует буква
(цифра, знак).
Под словами подразумеваются группы символов,
разделённые пробелами (одним или несколькими) и не
содержащие пробелов внутри себя.
Исходные данные должны вводиться с клавиатуры
согласно контексту задачи (прил. 1).
4
Варианты
1. Дан текст. Если в тексте нет символа *, то оставить этот
текст без изменения, в противном случае каждую из
латинских букв, предшествующих первому вхождению
символа *, заменить на цифру 3.
2. Даны символы s1, s2, …. Известно, что символ s1 отличен от
восклицательного знака и что среди
s2, s3, … есть, по крайней мере, один восклицательный знак.
Пусть s1 ,…, sn – символы данной последовательности,
предшествующие первому восклицательному знаку (n
заранее неизвестно). Выяснить, имеется среди s1 ,…, sn пара
соседствующих одинаковых символов.
3. Даны натуральное число n, символы s1 ,…, sn. Удалить из
данной последовательности все группы букв вида abcd.
4. Даны натуральное число n, символы s1 ,…, sn. Известно, что
среди s1 ,…, sn есть, по крайней мере, одна запятая. Найти
такое натуральное i, что si есть последняя по порядку
запятая.
5. Даны натуральное число n, символы s1 ,…, sn. Известно, что
среди s1 ,…, sn есть, по крайней мере, одна запятая. Найти
такое натуральное i, что si есть первая по порядку запятая.
6. Дан текст. Если в тексте нет символа +, то оставить текст без
изменения, иначе каждую из цифр, предшествующую
первому вхождению символа + следует заменить символом
-.
7. Для каждого из слов данного текста указать, сколько раз оно
встречается среди всех слов, образованных символами
данного текста.
8. Для данного текста найти все слова, содержащие наибольшее
количество гласных латинских букв (а, е, i, o, u).
9. Найти все слова данного текста, в которых доля букв a, b
максимальна.
10. В тех словах, которые оканчиваются сочетанием букв ing,
заменить это окончание на ed.
11. Выяснить, встречается ли в данном тексте группа букв one.

5
12. Выяснить, верно ли, что в данном тексте больше групп
букв, чем групп знаков.
13. Если в данном тексте имеется не менее двух групп букв,
то каждый знак +, встречающийся между двумя первыми по
порядку группами букв, заменить цифрой 1, знак – заменить
цифрой 2, а знак * - цифрой 3. Иначе оставить текст без
изменений.
14. Подсчитать число вхождений буквы f в первые три группы
букв (в предположении, что текст содержит не менее трёх
групп букв).
15. Найти число таких групп букв, которые начинаются и
кончаются одной и той же буквой.
16. Найти все такие группы букв, в которые буква а входит не
менее двух раз.
17. Найти номер первой по порядку группы цифр,
начинающейся цифрой 2.
18. Найти число тех групп букв, которые заканчиваются той же
буквой, что и первая группа букв.
19. Если в данном тексте есть группа знаков, начинающаяся
знаком *, то удалить первую по порядку из них и в
следующей группе знаков (если таковая имеется) заменить
каждый из знаков знаком *.
20. Определить, являются ли два первых символа текста
цифрами. Если да, то установить, является ли число,
образованное этими цифрами, чётным.
21. Даны две последовательности символов. Получить третью
последовательность, в которой символы первой
последовательности остаются с сохранением порядка их
следования, а символы второй – записываются в обратном
порядке.
22. Дан текст. Записать его компоненты в обратном порядке
23. Даны две последовательности символов. Определить,
совпадают ли их компоненты. Если нет, то получить номер
первой компоненты, в которой последовательности
отличаются между собой.

6
24. Дан текст. Записать с сохранением порядка их следования те
группы, которые начинаются с буквы z.
25. Дан текст. Записать с сохранением порядка их следования те
группы, которые оканчиваются буквой z.
26. Удалить из данного текста однобуквенные слова и
лишние пробелы.
27. Найти самое длинное слово данного текста среди слов,
вторая буква которых есть е, если слов с наибольшей
длиной несколько, то найти последнее.
28. Определить количество слов в данном тексте.
29. Определить, сколько в тексте имеется слов, состоящий из
четырёх символов.
30. Дан текст. Заменить все символы 0 на символ 1 и
наоборот.
31. Дан текст и слово. Определить, сколько раз встречается
данное слово в тексте.
32. Дан текст. Добавить в его конец символы е, n, d.
33. Дан текст. Добавить в его начало символы b,e, g, i,n.
34. Даны натуральное число n, символы s1 ,…, sn, среди которых
есть двоеточие. Получить все символы, расположенные
между первым и вторым двоеточием. Если второго
двоеточия нет, то получить все символы, расположенные
после единственного имеющегося двоеточия.
35. Даны натуральное число n, символы s1 ,…, sn. Подсчитать
наибольшее количество идущих подряд пробелов.
36. Даны натуральное число n, символы s1 ,…, sn. Заменить в
последовательности s1 ,…, sn каждую группу букв child
группой букв children.
37. Дан текст. Исключить из него группы символов,
расположенные между скобками ( ). Сами скобки так же
должны быть исключены. Предполагается, что внутри
каждой пары скобок нет других скобок.
38. Даны натуральное число n, символы s1 ,…, sn, среди которых
есть хотя бы одна точка. Преобразовать данную
последовательность, удалив из неё все запятые,

7
предшествующие первой точке, заменив знаком + все
цифры 3, встречающиеся после первой точки.
39. Даны натуральное число n, символы s1 ,…, sn. Преобразовать
данную последовательность, заменив в ней все
восклицательные знаки точками.
40. Даны натуральное число n, символы s1 ,…, sn. Преобразовать
данную последовательность, заменив в ней каждую точку
многоточием (то есть, тремя точками).
41. Преобразовать данную последовательность, заменив в ней
каждую из групп стоящих рядом точек одной точкой.
42. Даны натуральное число n, символы s1 ,…, sn. Выяснить,
имеются ли в данной последовательности такие члены
последовательности si, si+1, что si – это запятая, а si+1 – тире.
43. Даны натуральное число n, символы s1 ,…, sn. Преобразовать
данную последовательность s1 ,…, sn, заменив запятыми все
двоеточия, встречающиеся среди s1 ,…, s[n/2], заменив
точками все восклицательные знаки, встречающиеся среди
s[n/2+1] ,…, sn.
44. Дан текст и группа символов. В тех словах текста, которые
оканчиваются сочетанием букв ied, заменить это окончание
на данную группу символов.
45. Выяснить, встречается ли в данном тексте группа букв letter.
46. Даны натуральное число n, символы s1 ,…, sn, среди которых
есть хотя бы одна точка. Преобразовать данную
последовательность, удалив из неё все цифры 0,
предшествующие первой точке, заменив цифрой 1 все
вопросительные знаки, встречающиеся после первой точки.
47. Преобразовать данную последовательность, заменив в ней
каждую из групп стоящих рядом точек вопросительным
знаком.
48. Даны натуральное число n, символы s1 ,…, sn. Подсчитать,
сколько раз среди данных символов встречается буква х.
49. Даны натуральное число n, символы s1 ,…, sn. Выяснить,
имеются ли в данной последовательности такие члены
последовательности si, si+1, si+2, что si – это вопросительный
знак, si+1 , si+2 – восклицательные знаки.
8
50. Дан текст. Исключить из него группы символов,
расположенные между скобками [ ]. Сами скобки не
исключать.
51. Определить, сколько в тексте имеется слов, состоящих из
трёх символов.
52. Определить, являются ли три первых символа текста
буквами.
53. Найти все такие группы букв, в которые буква i входит не
менее трёх раз.
54. Для данного текста найти все слова, содержащие наибольшее
количество согласных латинских букв s, f, g, k, m.
55. Найти самое длинное слово данного текста.
56. Даны натуральное число n, символы s1 ,…, sn. Известно, что
среди s1 ,…, sn есть по крайней мере одна запятая. Найти
такое натуральное i, что si первое по порядку тире после
первой запятой. Если такого нет, должно выводиться
значение 0.
57. Выяснить, встречается ли в данном тексте группа букв
turbina.
58. Удалить из данного текста все цифры и скобки.
59. Преобразовать данную последовательность, заменив в ней
каждую из групп стоящих рядом точек словом insert.
60. Дан текст и одна цифра. Если в тексте нет символа %, то
оставить этот текст без изменения, в противном случае,
каждую из латинских букв, предшествующих первому
вхождению символа %, заменить на данную цифру.

ЛАБОРАТОРНАЯ РАБОТА № 6

Тема: ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ TURBO PASCAL


ЦЕЛЬ РАБОТЫ. Получить на экране неподвижное
графическое изображение согласно варианту задания (прил.2).

9
Варианты
1. Секторная диаграмма- это круг, площади секторов которого
пропорциональны соответствующим числовым величинам,
взятым из некоторой совокупности (рис. 1). Для большей
наглядности секторы диаграмм закрашивают в разные цвета.
Даны семь действительных положительных чисел а1, а2,
…, а7. Построить секторную диаграмму для этих значений.

З В

Рис. 1
Ю

2. Даны натуральные v1, v2, …, v8, задающее


Рис. 2 число дней в году, в
которых преобладало соответственно северное, северо-
восточное, восточное, юго-восточное, южное, юго-западное,
западное или северо-западное направления ветра. Построить
розу ветров (рис. 2)
3. Столбчатая диаграмма (гистограмма) представляет собой
набор прямоугольников, основания которых равны, а высоты
пропорциональны числовым величинам, взятым из некоторой
совокупности (рис. 3).
Даны семь действительных положительных чисел а1, а2,
…, а7. Построить гистограмму для этих значений.
y

10 x

Рис. 3 Рис. 4
4. Построить оси координат (рис. 4). Начало координат следует
поместить вблизи левого нижнего угла экрана, полуоси Ox и Oy
разместить, как показано на рис.4.
5 - 20. Рис. 5, a – и, рис.6 к - п составлены из простейших
геометрических фигур: треугольников, квадратов, окружностей,
точек и т. п. . Цыпленок (рис.5, a) состоит из эллипса (тело
цыпленка), окружности (голова), трех треугольников (нос, хвост
и крыло цыпленка) и двух прямых (лапы). Дом (рис. 5, б)
состоит из двух
а квадратов (дом и окно), прямоугольника (дверь)
, треугольника (крыша) и ломаной (труба). б Грузовик (рис. 5, в)
состоит из двух прямоугольников (кабина и кузов) , квадрата
(окно) и двух окружностей (колеса). Елка (рис. 5, г) состоит из
трех треугольников (ветви) и прямоугольника (ствол) и т. п.
Получить на экране рис. 5, a – и, рис.6 к - п.

в г д

е ж

11
з и

Рис.5
12
к л

м н

21. Дано натуральное число n ( n≥999999).


Рис. 6 Записать его шестью
цифрами, используя девятисегментный шаблон (как на
почтовых конвертах).
13
22 – 50. Составить шаблоны рукописных букв алфавита:
а, б, в, г, д, е, ж, з, и, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, щ, ы, э,
ю, я.
Шаблон рукописной буквы г см. на рис. 7.

Рис.7
51-60. Составить шаблоны арабских цифр: 1, 2, 3, 4, 5, 6, 7, 8, 9
по аналогии с предыдущей задачей.

ЛАБОРАТОРНАЯ РАБОТА № 7

Тема: ВЫЧИСЛЕНИЕ БЕСКОНЕЧНОЙ СУММЫ С


ЗАДАННОЙ ТОЧНОСТЬЮ
ЦЕЛЬ РАБОТЫ. Вычислить бесконечную сумму с
заданной точностью ε (ε > 0).
Недостающие исходные данные задаются
самостоятельно (прил. 3).

14
Варианты


1
1. ∑

; 1
i =1
i +
1 2 2. ∑i! ;
i =1
x
∞ ∞
x 1
3. ∑
i =1 ( 2 + i )!
; 4. ∑ ( 2i + 1)
i =1
2
;


( −1) i ∞
( −1) i +1 ;
5. ∑( 2i +1)i
i =1
; 6. ∑
i =1 i ( i +1)

x
8. ∑ 1

( −1) i ( i +1) ; ;
7. ∑i =1 i! i =1 1
+ + +
1
2 3 i +1


xi 1 
9. ∑ ; 10. ∑ + x  ;
i =1 i! i =1  i! 

x + cos ( ix ) ∞
1
11. ∑ ; 12. ∑ 2 ;
i =1 2i i =1 i ( i +1)

( − 2) i ∞
( −1) i +1 ;
13. ∑
i =0i!
; 14. ∑i =1 i ( i +1)( i + 2 )

15. ∑ i

1
; 16. ∑

( −1) i x 2i +1 ;
i =0 i!( 2i +1)
i +2
i =0 4 + 5

( −1) i x 4i +1 ; ∞
( −1) i x 4i +1 ;
17. ∑i =0 ( 2i + 1)!( 4i + 3)
18. ∑
i =0 ( 2i )!( 4i +1)

( −1) i  x 2( i +1) ; ∞
( −1) i  x 2i +1 ;
19. ∑ 2 
i =0 ( ( i + 1)!)  2 
 20. ∑  
i =0 i!( i +1)!  2 


( −1) i +1  x 4i ; ∞
( −1) i +1 x 2i −1 ;
21. ∑   22. ∑
i =0 ( 2i )!  3  i =0 ( 2i −1)( 2i +1)!

x 2i ∞
( −1) i  x 2i +y ;
23. ∑ i
i =1 2 i!
; 24. ∑  
i =0 i!( i + y )!  2 

15
∞ ∞
1 1
25. ∑ 3 2
i =1 x i
; 26. ∑x i =1
2
+ i3
;


x2 1
27. ∑ 3 / 2 ; 28. ∑ x +i 2
;
i =1 i
i =1


x x
∑i

;
29. ∑i
i =1
3
; 30.
i =1
3
+i x +1

( −1) i x i ; ∞
( −1) i +1  x 4i +2 ;
31. ∑i =1 i
32.∑  
i =1 ( 2i +1)!  3 

( − x ) 2i ; ∞
( −1) x i +2
i

33. ∑
i =0 2i!
34. ∑
i =0 ( i +1)( i + 2 )!
;


( −1) i ( i +1) x i ; ∞
( −1) i x i ;
35. ∑ 36. ∑
i =0 ( i + 1)
2
i =0 3i

xi ∞
( −1) i x 2i ;
37. ∑
i =0 ( 2i )!
; 38. ∑
i =1 i ( i + 1)( i + 2 )

x x 2i sin ( x i )

39. ∑ ; 40. ∑ ;
i =1 i ( i + 2 )! i =1 i2
x 2i +1 cos ( x i )

i ∞
41. ∑ 2 ; 42. ∑ ;
i =1 i +1 + i 2 −1 i =1 i 2 + i!



x2 ∞
( −1) i x
43.
i =1 x +i!
; 44. ∑
i =1 i 2
i
;

( −1) i ⋅ x ; ∞
i
45. ∑ 46. ∑i!+x −1 ;
i =1 ( 2i +1) ⋅ i! i =1


x −1 i
1
47. ∑ ; 48. ∑( 2i +1) i −1
;
i =1 i! x i =1

x ∞
( −1) i x 2i +1 ;
49. ∑ i ; 50. ∑
i =0 10 + 2
i +3
i =0 ( 4i + 3)!

16

i −1
51.


x
; 52.
∑1 1 1
;
x +5 +i i +1 i =1
+ + +
( i +1)!
i =1
2! 3!

x ∞
x + cos ( i )
53. ∑i (
i =1
2
i +1
;
) 54. ∑
3i
;
i =1

( −1) i
x
2 +iy ∞
x
55. ∑  
i =0 ( i + y ) !  4 
; 56. ∑8
i =0
i +1
+ i!
;

x x x
∑i

57. ∑
i =1 i + x −1
3
; 58.
i =1
i +1
+1
;

x i ∞
( −1) i ⋅ ( x −1) ;
59. ∑
i =1 ( i + 2 )!
; 60. ∑
i =0 i!+3

ЛАБОРАТОРНАЯ РАБОТА № 8

Тема: ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ


УРАВНЕНИЙ
ЦЕЛЬ РАБОТЫ. Вычислить корень заданного
нелинейного уравнения с погрешностью ε, используя
численный метод, указанный в задаче.
Указания к решению задачи приведeны в приложении 4.

Варианты
1-7. Дано действительное положительное число ε. Методом
деления отрезка пополам найти приближённое значение корня
данного уравнения с точностью ε. Рядом с уравнением
дополнительно указан отрезок, содержащий корень.
1. x + ln ( x + 0.5) − 0.5 = 0, [0, 2];
2. x 5 − x − 0.2 = 0, [1, 1.1];
3. x 4 + 2 x 3 − x −1 = 0, [0, 1];
4. x 3 −0.2 x 2 −0.2 x −1.2 = 0, [1, 1.5];

17
2 sin 2 x 3 cos 2 x
5. − = 0, [0, π / 2];
3 4
6. x 4 + 0.8 x 3 −0.4 x 2 −1.4 x −1.2 = 0, [−1.2, −0.5];
7. x 4 − 4.1x 3 + x 2 −5.1x + 4.1 = 0, [3.7, 5].
8 – 14. Дано действительное положительное число ε. Методом
хорд вычислить с точностью ε корень уравнения f(x) = 0
(следом за уравнением дополнительно задан отрезок,
содержащий корень).
8. x ⋅ 2 x −1 = 0, [0, 1];
9. x 2 − sin 5 x = 0, [0.5, 0.6] ;
2 sin 2 2 x 3 cos 2 2 x
10. − = 0, [0, π / 4];
3 4
11. x 3 − 2 x 2 + x − 3 = 0, [2.1, 2.2];
12. ( 4 + x 2 )( e x − e −x ) = 18 , [1.2, 1.3];
13. x 4 + 0.5 x 3 − 4 x 2 − 3 x − 0.5 = 0, [−1, 0];
14. x 2 −1.3 ln ( x + 0.5) − 2.8 x +1.15 = 0, [2.1, 2.5] .
15 – 28. В уравнениях, приведённых в двух предыдущих
задачах, вычислить корень, находящийся в заданном отрезке
(отрезок следует за уравнением), методом деления отрезка
пополам и методом хорд с одной и той же точностью ε.
Сравнить количество шагов, которые нужно сделать для
получения корня этими методами.
29 – 33. Дано действительное положительное ε. Методом
касательных вычислить с точностью ε корень уравнения f(x) =
0, в скобках указано начальное приближение к корню:
29. x 3 − 2 x 2 + x − 3 = 0, (2.2) ;
30. tg x − x = 0, (4.67 );
31. 1.8 x 4 − sin 10 x = 0, (0.22 );
32. x 4 − 3 x 2 + 75 x −10000 = 0, (−11) ;
33. x 3 − 6 x 2 + 20 = 0, (2.31).
34 – 41. Дано действительное положительное число ε. Методом
итераций вычислить с точностью ε корень уравнения f(x) = 0, в
скобках указано начальное приближение к корню:
18
sin x
34. x − − 1 = 0, ( 0 );
2
35. 2 x 3 + 4 x −1 = 0, ( 0.11);
36. x 3 +12 x − 2 = 0, ( 0.95 );
37. 5 x − 8 ln x = 8, ( 4.32 );
38. x 3 + x = 1000 , ( 9.42 );
39. x − sin x = 0.25 , (1.17 );
40. x 3 − 6 x 2 + 20 = 0, ( 2.25 );
41. 5 x 3 +10 x 2 + 5 x −1 = 0, ( 0.6 ).
42 – 46. Сравнить методы деления отрезка пополам, хорд,
касательных и итераций, поочерёдно используя их для решения
одного и того же уравнения (вычислить число потребовавшихся
приближений). Независимо от метода построение приближений
к корню уравнения f(x) = 0 следует заканчивать, как только
будет получено такое приближение x , для которого f ( x ) <ε .
Для метода касательных и итераций в качестве начального
приближения выбирается подходящий конец отрезка. В
качестве уравнения, на котором проводится сравнение методов,
и отрезка, которому принадлежит корень, следует взять:
42. x 3 + x 2 − 3 = 0, [ 0.6, 1.4];
43. x 5 − x − 0.2 = 0, [0.9, 1.1];
44. 5 x 3 − x −1 = 0, [0.6, 0.8];
45. x 3 − 2 x − 5 = 0, [1.9, 2.93 ];
46. x 4 + 2 x 3 − x −1 = 0, [ 0, 1].
47 – 55. Найти с точностью 0.00001 наименьший корень
уравнения:
47. x 3 − 6 x 2 +19 .8 = 0;
48. x 4 + x 3 −10 x 2 − 34 x − 25 = 0;
49. x 3 −1.75 x + 0.75 = 0;
50. x 5 + 5 x 4 − 2 x 3 − 4 x 2 + 7 x − 3 = 0;
51. 3 x −sin x = 7;
52. x 8 − 0.4 x 3 −1.24 = 0;
53. x = cos x +1;
19
54. e −x =0.5 + x ;
55. x 4 + 39 x 3 + 958 x 2 − 1081 x − 1987 = 0.
Использовать какой-нибудь подходящий численный
метод решения уравнений. Для получения отрезка, содержащего
наименьший корень уравнения f(x) = 0, или для получения
начального приближения к этому корню исследовать график
функции y = f ( x ).
56 – 60. Дано действительное положительное число ε. Найти с
помощью подходящих методов все корни уравнения f(x) = 0 с
точностью ε. Для получения отрезков, содержащих по одному
корню уравнения f ( x ) , или для получения начальных
приближений к корням исследовать график функции y = f ( x ).
В качестве f ( x ) рассмотреть:
56. x 3 − 6 x 2 +12 x + 5 = 0;
57. x 6 + x 2 − 2 = 0;
58. x 3 + 3x + 2 = 0;
59. x +1 = cos ( 0.5 x );
60. x 4 − 6 x 3 + 9 x 2 − 16 = 0.

ЛАБОРАТОРНАЯ РАБОТА № 9

Тема: ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ


ЦЕЛЬ РАБОТЫ. Вычислить интеграл по формулам
численного интегрирования с точностью ε. Если удаётся с
помощью формулы Ньютона – Лейбница найти точное значение
интеграла, то полезно сравнить с ним результат приближённого
вычисления (прил. 5).

20
Варианты

1.2 3
dx
1. ∫
0
3
x +1
2. ∫
0
4 + x 2 dx

6
dx
2
πx
∫ ∫e
−x
3. 4. cos dx
0 1+ x 4
0
4
π/4 π/6
dx
5. ∫
0 1 − 0.25 sin 2 x
6. ∫ 0
tg x dx

π 7
cos x ex
7. ∫
π/2 x
dx 8. ∫1 x dx
10 π

∫ ( x − 5) (10 − x ) dx ∫
2
9. 10. 1 + cos 2 x dx
0 0
1
( )
5

∫e ∫arccos
3
11.
2x
sin 2 x 2 +1 dx 12. e− 3x
dx
0 0
1 5
dt
13. ∫ (1 + t )( 4 + t )
0
2 2
14. ∫e
x
sin x 2 dx
0
1 1
1 dx
15. ∫
0
ln dt
t
16. ∫1 + x
0
2

2 9
dx dx
17. ∫1 x 2 18. ∫
1
x
π/3 1
dx
19. ∫sin
0
xdx 20. ∫1 + 2x + x
0
2

8 4
ln 2 x
∫ ∫1 x dx
3
21. x dx 22.
0
2, 5 3
1 1 
23. ∫ 2 sin  dx ∫ x (1 + ln ( x ) ) dx
x
24.
1 x x 1

21
π/2 π/2
25. ∫ cos ( x ) dx ∫ sin ( x ) dx
2
26.
0 0

 ln ( x ) 
1 2, 5 2

∫ x ⋅ e ⋅ sin ( x )dx ∫1  x  dx
x
27. 28.
0
3 2
1
29. ∫ x ⋅ arctg ( x ) dx
0
30. ∫
0 9 + x2
dx

π 2
x3
∫ e ⋅ cos ( x ) dx ∫1 3 + x dx
x 2
31. 32.
0

 ln ( x )   e x − e −x 
2 3 2

33. ∫1  x  dx 34. ∫0  2


x 
dx

2 2
x
∫ x sin ( 2 x ) dx ∫x
2
35. 36. dx
1 1
4
+ 3x 2 + 2
2 3 3
x dx
37. ∫1 5 − x dx 38. ∫4 +x
0
3

2 4

39. ∫ 2 ln ( 5t ) dt 40. ∫e
x
sin ( 2 x ) dx
0 0
1 5
dt
41. ∫ (1 + t ) ⋅ t
0
2
42. ∫ ( x − 2)(1 − x ) dx
0
3 2
dx dx
43. ∫
0 1+ x2
44. ∫x 4
+ 3x 2 + 2
1
2 3

45. ∫e
x +1
cos (πx ) dx 46. ∫e
x
sin ( 2 x +1) dx
0 0
6 π /6
dx
∫ x x dx ∫
3
47. 48.
0 0 1 − 3 sin 2 x
2 2
ln 3 x
49. ∫ (1 + ln ( x ) ) dx
1
50. ∫1 x dx

22
5 4
e2x
∫1 3x dx ∫e
3x
51. 52. sin xdx
0
π/4
3
 e x + e −x 
53. ∫   ∫ sin ( x )dx
3

2 dx 54.
0  0
4 π/4

∫ 2 ⋅ arctg ( x )dx ∫e
2 x
55. 56. cos x dx
0 0
3 7

∫ ( x − 4 )(1 − x )dx
 1 
57. ∫ sin  2 dx
2
58.
1 x  0

∫( )
π/4 5

59.
0
tgx +1 dx 60. ∫
0
1 + x 2 dx

ЛИТЕРАТУРА

1. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн


М.И. Задачи по программированию. - М.: Наука, 1988.
2. Constantin Codreanu. Culegere de probleme şi indicaţii
metodice pentru lucrări de laborator la „INFORMATICA”,
partea I. – Chişinău, U.T.M., 2000.

23
3. Л.И. Турчак. Основы численных методов. – М.: Наука,
Главная редакция физико-математической литературы,
1987.
4. Голубь Н.Г., Кириленко Е.Г. Основы программирования и
алгоритмические языки. Методические рекомендации к
выполнению контрольных и лабораторных работ. Часть 1.
- Харьков: ХАИ, 1997.
5. Iu. Tetelea. Tehnica de calcul şi programarea. Indicaţii
metodice pentru lucrările de laborator. - Chişinău, UTM, 1995.
6. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс.
Учебное пособие. М., 1997.
7. Фаронов В.В. Турбо Паскаль 7.0. Практика
программирования. Учебное пособие. М., 1997.

ПРИЛОЖЕНИЕ 1

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ


№5
Тип STRING (строка) в Турбо Паскале широко
используется для обработки текстов. Он во многом похож на
одномерный массив символов ARRAY [0..N] OF CHAR, однако,
в отличие от последнего, количество символов в строке-
переменной может меняться от 0 до N, где N - максимальное
количество символов в строке. Значение N определяется

24
объявлением типа STRING [N] и может быть любой константой
порядкового типа, но не больше 255.
Строка в Турбо Паскале трактуется как цепочка
символов. К любому символу в строке можно обратиться точно
так же, как к элементу одномерного массива ARRAY [0..N] OF
CHAR.
К строкам можно применять операцию «+» - сцепление,
например:
st := ‘а’ + ‘b’;
st := st + ‘с’; {st содержит "abc"}
Если длина сцепленной строки превысит максимально
допустимую длину N, то «лишние» символы отбрасываются.
Все остальные действия над строками и символами
реализуются с помощью описываемых ниже стандартных
процедур и функций.
CONCAT(S1 [,S2, ... , SN] ) - функция типа STRING;
возвращает строку, представляющую собой сцепление строк-
параметров SI, S2, ..., SN.
COPY(ST, INDEX, COUNT) - функция типа STRING; копирует
из строки ST COUNT символов, начиная с символа с номером
INDEX.
DELETE (ST, INDEX, COUNT) - процедура; удаляет СОUNT
символов из строки ST, начиная с символа с номером INDEX.
INSERT (SUBST, ST, INDEX) - процедура; вставляет
подстроку SUBST в строку ST, начиная с символа с номером
INDEX.
LENGTH (ST) - функция типа INTEGER; возвращает длину
строки ST.
25
POS (SUBST, ST) - функция типа INTEGER; отыскивает в
строке ST первое вхождение подстроки SUBST и возвращает
номер позиции, с которой она начинается; если подстрока не
найдена, возвращается ноль.
STR(X [; WIDTH [: DECIMALS] ], ST) - процедура;
преобразует число X любого вещественного или целого типов в
строку символов ST так, как это делает процедура WRITELN
перед выводом; параметры WIDTH и DECIMALS, если они
присутствуют, задают формат преобразования: WIDTH
определяет общую ширину поля, выделенного под
соответствующее символьное представление вещественного или
целого числа X, a DECIMALS - количество символов в дробной
части (этот параметр имеет смысл только в том случае, когда Х-
вещественное число).
VAL(ST, X, CODE) - процедура; преобразует строку символов
ST во внутреннее представление целой или вещественной
переменной X, которое определяется типом этой переменной;
параметр CODE содержит ноль, если преобразование прошло
успешно, и тогда в X помещается результат преобразований, в
противном случае он содержит номер позиции в строке ST, где
обнаружен ошибочный символ, и в этом случае содержимое Х
не меняется; в строке ST могут быть ведущие пробелы, однако
ведомые пробелы недопустимы; например, обращение val
(' 123',k,i) пройдет успешно: k получит значение 123, в i будет
помещен 0, в то время как обращение val (' 123 ' , k, i) будет
ошибочным: значение k не изменится, a i будет содержать 4.
UPCASE (СН) - функция типа CHAR; возвращает для
символьного выражения СН, которое должно представлять
собой строчную латинскую букву, соответствующую заглавную
букву; если значением СН является любой другой символ (в том
числе строчная буква русского алфавита), функция возвращает
его без преобразования.

26
27
ПРИЛОЖЕНИЕ 2

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ


№6
В данной лабораторной работе необходимо использовать
соответствующие процедуры графического модуля Graph.
Процедура InitGraph.
Инициирует графический режим работы адаптера.
Заголовок процедуры:
Procedure InitGraph(var Driver,Mode: Integer; Path: String);
Здесь Driver - переменная типа Integer, определяет тип
графического драйвера; Mode - переменная того же типа,
задающая режим работы графического адаптера; Path -
выражение типа String, содержащее имя файла драйвера и,
возможно, маршрут его поиска.
К моменту вызова процедуры на одном из дисковых
носителей информации должен находиться файл, содержащий
нужный графический драйвер. Процедура загружает этот
драйвер в оперативную память и переводит адаптер в
графический режим работы. Тип драйвера должен
соответствовать типу графического адаптера.
Если тип адаптера персонального компьютера неизвестен
или если программа рассчитана на работу с любым адаптером,
используется обращение к процедуре с требованием
автоматического определения типа драйвера:
Driver := Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');

28
После такого обращения устанавливается графический
режим работы экрана, а при выходе из процедуры переменные
Driver и Mode содержат целочисленные значения,
определяющие тип драйвера и режим его работы.
Функция GraphResult.
Возвращает значение типа Integer, в котором
закодирован результат последнего обращения к графическим
процедурам. Если ошибка не обнаружена, значением функции
будет ноль, в противном случае - отрицательное число
Процедура CloseGraph.
Завершает работу адаптера в графическом режиме и
восстанавливает текстовый режим работы экрана.
Функции GetMaxX и GetMaxY.
Возвращают значения типа Word, содержащие
максимальные координаты экрана в текущем режиме работы
соответственно по горизонтали и вертикали.
Функции GetX и GetY.
Возвращают значения типа Integer, содержащие текущие
координаты указателя соответственно по горизонтали и
вертикали. Координаты определяются относительно левого
верхнего угла окна или, если окно не установлено, экрана.

Процедура MoveTo.
Устанавливает новое текущее положение указателя.
Заголовок:
Procedure MoveTo(X,Y: integer);

29
Здесь X, Y - новые координаты указателя соответственно по
горизонтали и вертикали.
Координаты определяются относительно левого верхнего угла
экрана.
Процедура Rectangle.
Вычерчивает прямоугольник с указанными
координатами углов. Заголовок:
Procedure Rectangle(X1,Y1,X2,Y2: Integer);
Здесь X1... Y2 - координаты левого верхнего (X1, Y1) и
правого нижнего (Х2, Y2) углов прямоугольника.
Прямоугольник вычерчивается с использованием текущего
цвета и текущего стиля линий.
Процедура Circle.
Вычерчивает окружность. Заголовок:
Procedure Circle(X,Y: Integer; R: Word);
ЗдесьX, Y- координаты центра; R - радиус в пикселях.
Окружность выводится текущим цветом. Толщина линии
устанавливается текущим стилем, вид линии всегда SolidLn
(сплошная). Параметр R определяет количество пикселей в
горизонтальном направлении.
Процедура Arc.
Чертит дугу окружности. Заголовок:
Procedure Arc(X,Y: Integer; BegA, EndA, R: Word);
Здесь X, Y - координаты центра; BegA, EndA - соответственно
начальный и конечный углы дуги; R - радиус.

30
Углы отсчитываются против часовой стрелки и
указываются в градусах. Нулевой угол соответствует
горизонтальному направлению вектора слева направо. Если
задать значения начального угла 0 и конечного - 359, то будет
выведена полная окружность. При вычерчивании дуги
окружности используются те же соглашения относительно
линий и радиуса, что и в процедуре Circle.
Процедура Ellipse.
Вычерчивает эллипсную дугу. Заголовок:
Procedure Ellipse(X,Y: Integer; BegA,EndA,RX,RY: Word);
Здесь X, Y - координаты центра; BegA, EndA -
соответственно начальный и конечный углы дуги; RX, RY-
горизонтальный и вертикальный радиусы эллипса в пикселях.
При вычерчивании дуги эллипса используются те же
соглашения относительно линий, что и в процедуре Circle, и те
же соглашения относительно углов, что и в процедуре Arc.

Процедура SetColor.
Устанавливает текущий цвет для выводимых линий и
символов. Заголовок:
Procedure SetColor(Color: Word);
Здесь Color - текущий цвет.
Функция GetMaxColor.
Возвращает значение типа Word, содержащее максимальный
доступный код цвета, который можно использовать для
обращения к SetColor.

31
Процедура SetBkColor.
Устанавливает цвет фона. Заголовок:
Procedure SetBkColor(Color: Word);
Здесь Color - цвет фона.
В отличие от текстового режима, в котором цвет фона может
быть только темного оттенка, в графическом режиме он может
быть любым. Установка нового цвета фона немедленно
изменяет цвет графического экрана.
Процедура FloodFill.
Заполняет произвольную замкнутую фигуру, используя
текущий стиль заполнения (узор и цвет). Заголовок:
Procedure FloodFill(X,Y: Integer; Border: Word);
Здесь X, Y- координаты любой точки внутри замкнутой фигуры;
Border - цвет граничной линии.
Если фигура незамкнута, заполнение «разольется» по всему
экрану.
Процедура Bar.
Заполняет прямоугольную область экрана. Заголовок:
Procedure Bar(X1,Y1,X2,Y2: Integer);
Здесь XJ...Y2 - координаты левого верхнего (X1, Y1) и правого
нижнего (Х2, Y2) углов закрашиваемой области.
Процедура закрашивает (но не обводит) прямоугольник
текущим образцом узора и текущим цветом, которые
устанавливаются процедурой SetFillStyle.
Процедура FillEllipse.
32
Обводит линией и заполняет эллипс. Заголовок:
Procedure FillEllipse(X,Y,RX,RY: Integer);
Здесь X, Y - координаты центра; RX, RY- горизонтальный и
вертикальный радиусы эллипса в пикселях.
Процедура OutText.
Выводит текстовую строку, начиная с текущего
положения указателя. Заголовок:
Procedure OutText(Txt: String);
Здесь Txt - выводимая строка.

Процедура OutTextXY.
Выводит строку, начиная с заданного места. Заголовок:
Procedure OutTextXY (X,Y: Integer; Txt: String);
Здесь X, Y - координаты точки вывода; Txt - выводимая строка.
Отличается от процедуры OutText только координатами вывода.
Указатель не меняет своего положения.

33
ПРИЛОЖЕНИЕ 3

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ


№7
В задаче считать, что требуемая точность достигнута,
если вычислена сумма нескольких первых слагаемых и если
очередное слагаемое оказалось по модулю меньше ε, - тогда это
и все последующие слагаемые можно уже не учитывать.
Задачу решить с использованием операторов цикла for,
repeat или while.

34
ПРИЛОЖЕНИЕ 4

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ


№8
Чтобы решить задачу в данной лабораторной
работе необходимо использовать один из численных методов
решения нелинейных уравнений, теоретическое описание
которых приведено ниже.
Метод деления отрезка пополам (метод бисекции) является
одним из наиболее простых методов нахождения корней
нелинейных уравнений. Допустим, что задан отрезок [a,b], в
котором расположено искомое значение корня x = c, т.е. a<c<b.
В качестве начального приближения корня с0 принимаем
середину этого отрезка, т.е. с0 = (а + b)/2. Далее исследуем
значения функции F(x) на концах отрезков [a, c0 ] и [c0, b], т.е. в
точках а, с0, b. Тот из них, на концах которого F(x) принимает
значения разных знаков, содержит искомый корень; поэтому его
принимаем в качестве нового отрезка. Вторую половину отрезка
[a, b], на которой знак F(x) не меняется, отбрасываем. В
качестве первой итерации корня принимаем середину нового
отрезка и т.д. Таким образом, после каждой итерации отрезок,
на котором расположен корень, уменьшается вдвое. Пусть для
определённости F(a)<0, F(b)>0 (рис.8). В качестве начального
приближения корня примем с0 = (а + b)/2. Поскольку в
рассматриваемом случае F(c0)<0, то c0<c<b, и рассматриваем
только отрезок [c0,b]. Следующее приближение: с1 = (с0 + b)/2.
При этом отрезок [c1, b] отбрасываем, поскольку F(c1)>0 и
F(b)>0, т.е. c0<c<c1. Аналогично находим другие
приближения:
с2 = (c0 + c1)/2 и т.д..

35
Итерационный процесс продолжаем до тех пор, пока
значение функции F(x) после n – й итерации не станет меньшим
по модулю некоторого заданного малого числа ε , т.е. F ( c n ) < ε .
Можно также оценивать длину полученного отрезка: если она
становится меньше допустимой погрешности, то счёт
прекращается.
у
F(b)
y=F(x)

a c0 c2
c c1 b х

F(a)

Метод хорд. Пусть мыРис.8 нашли отрезок [a, b], на котором


функция F(x) меняет знак. Для определённости примем
F(а)>0 и F(b)>0 (рис.9). В данном методе процесс итераций
состоит в том, что в качестве приближений к корню уравнения
F(x)=0 принимаются значения с0, с1,… точек пересечения хорды
с осью абсцисс.
Сначала находим уравнение хорды АВ:
y − F ( a) x −a
= .
F ( b) − F ( a ) b − a
Для точки пересечения её с осью абсцисс (x=c0, y=0)
получим уравнение:
b −a
c0 = a − ⋅ F ( a) .
F ( b) − F ( a )
Далее, сравнивая знаки величин F(а) и F(с0) для
рассматриваемого случая, приходим к выводу, что корень
находится в интервале (а, с0), так как F(а)⋅ F(с0)<0. Отрезок [c0,
36
b] отбрасываем. Следующая итерация состоит в определении
нового приближения с1 как точки пересечения хорды АВ1 с
осью абсцисс и т.д. Итерационный процесс продолжается до тех
пор, пока значение F(cn) не станет по модулю меньше заданного
числа ε. Алгоритмы метода деления отрезка пополам и метода
хорд похожи, однако второй из них в ряде случаев даёт более
быструю сходимость итерационного процесса.

a c1 c0 b
c х
y=F(x) В1

Рис.9

37
Метод Ньютона (метод касательных). Его отличие от метода
хорд состоит в том, что на k-й итерации вместо хорды
проводится касательная к кривой y=F(x) при x=ck и ищется
точка пересечения касательной с осью абсцисс. При этом не
обязательно задавать отрезок [a, b], содержащий корень
уравнения F(x)=0, а достаточно лишь найти некоторое
начальное приближение корня x=c0 (рис.10).
Уравнение касательной, проведённой к кривой y=F(x) в
точке М0 с координатами с0 и F(с0), имеет вид
y − F ( c0 ) = F ′( c 0 )( x − c0 ) .
Отсюда найдём следующее приближение корня с1 как
абсциссу точки пересечения касательной с осью х (у=0):
c1 = c 0 − F ( c 0 ) F ′( c 0 ) .
Аналогично могут быть найдены и следующие
приближения как точки пересечения с осью абсцисс
касательных, проведённых в точках М1, М2 и т.д. Формула для
n+1- го приближения имеет вид:
c n +1 = c n − F ( c n ) F ′( c n ) .
При этом необходимо, чтобы F ′( c n ) не равнялось нулю.
Для окончания итерационного процесса может быть
использовано или условие F ( c n ) < ε , или условие близости
двух последовательных приближений: c n +1 −c n < ε .
На каждой итерации объём вычислений в методе
Ньютона больший, чем в рассмотренных ранее методах,
поскольку
у приходится находить значение не только функции
F(x), но и её производной. Однако, скорость сходимости здесь
значительно выше, чем в других методах.
М0

y=F(x)
c1 с2 с3
с х
М2

38
М1
Рис.10
Метод простой итерации. Для использования этого
метода исходное нелинейное уравнение записывается в виде
x=f(x).
Пусть известно начальное приближение корня x=c0.
Подставляя это значение в правую часть уравнения x=f(x),
получаем новое приближение:
c1=f(c0).
Далее, подставляя каждый раз новое значение корня в
x=f(x), получаем последовательность значений:
cn+1=f(cn), n=1,2,…
Итерационный процесс прекращается, если результаты
двух последовательных итераций близки:
c n +1 −c n < ε .
Достаточным условием сходимости метода простой
итерации является условие f ′( c n ) < 1 .

39
ПРИЛОЖЕНИЕ 5

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ


№9
Чтобы решить задачу в данной лабораторной
работе необходимо использовать один из численных методов
интегрирования.
Пусть на отрезке [a,b] задана функция у= f(x). С
помощью точек х0, х1, …, хn разобьём отрезок [a,b] на n
элементарных отрезков [хi-1 ,xi] (i=1, 2, …,n), причём х0=а,
хn=b. На каждом из этих отрезков выберем произвольную
точку ξi (xi-1 ≤ ξI ≤ xi) и найдём произведение si значения
функции в этой точке f(ξi) на длину элементарного отрезка
∆xi = xi – xi-1 :
s i = f ( ξ i ) ∆xi .
Составим сумму всех таких произведений:
n
S n = s1 + s 2 + ... + s n = ∑ f ( ξ i ) ∆xi
i =1
Сумма Sn называется интегральной суммой.
Определённым интегралом от функции f(x) на отрезке
[a,b] называется предел интегральной суммы при
неограниченном увеличении числа точек разбиения, при этом
длина наибольшего из элементарных отрезков стремится к
нулю:
b n

∫ f ( x ) dx = lim ∑ f (ξ )∆x i i
max ∆xi →0
a i =1

40
у

y=f(x)

a ξ1 ξ2 ξi ξn b
0 x0 x1 x …x xi…xn-2 x xn х
2 i-1
n-1

Рис. 11
Метод прямоугольников
Этот метод непосредственно использует замену
определённого интеграла интегральной суммой
n
S n = s1 + s 2 + ... + s n = ∑ f ( ξ i ) ∆xi .
i =1
В качестве точек ξi могут выбираться левые (ξi = xi-1 ) или
правые (ξi = xi ) границы элементарных отрезков. В случае,
когда шаг разбиения постоянен и равен ∆xi , обозначая f(xi) =
yi , поучаем следующие формулы метода прямоугольников:
b

∫ f ( x ) dx = ∆x ⋅ ( y
a
i 0 + y1 + ... + y n −1 )

или ∫ f ( x ) dx = ∆x ⋅ ( y
a
i 1 + y 2 + ... + y n ) .

Широко распространённым и более точным является вид


формулы прямоугольников, использующий значения
функции в средних точках элементарных отрезков:
b n

∫ f ( x ) dx = ∆xi ⋅ ∑ f ( xi −1 / 2 ) ,
a i =1

41
где xi −1 / 2 = ( xi −1 + xi ) / 2 = xi −1 + ∆xi 2 .
Метод трапеций
В этом методе используют линейную интерполяцию, то
есть график функции у= f(x) представляется в виде ломаной,
соединяющей точки (xi , yi). В этом случае площадь всей
фигуры (криволинейной трапеции) складывается из
площадей элементарных прямолинейных трапеций (рис.12).
Площадь каждой такой трапеции равна произведению
полусуммы оснований на высоту:
y + yi
у si = i −1 ⋅ ∆xi ,
(хi, yi) 2
i =1, 2,..., n .
Складывая все эти
(хi-1 , yi-1 ) равенства, получаем
формулу трапеций для
yi-1 yi численного ин-
тегрирования, при условии
∆хi постоянства шага
0 x xi разбиения ∆xi:
i-1 х

Рис.12
 y + y n n −1 
b

∫ f ( x)dx = ∆xi  0 + ∑ yi  .
a  2 i =1 

уМетод Симпсона
Разобьём отрезок
Мi+1 интегрирования [a, b] на чётное число
y= ϕ (x
n равных i частей с шагом ∆x. На каждом отрезке [x0, x2], [x2,
Мi-1…) , [xi-1, xi+1], … , [xn-2, xn] подынтегральную функцию f
x4],
(x) заменим Мi интерполяционным многочленом второй
степени:
f ( x ) ≈ ϕi ( x ) = ai x 2 + bi x + ci ,
2∆х xi −1 ≤ x ≤ xi +1 .
0 xi-1 xi+1 42

Рис.13
Для вычисления значения
определённого интеграла
х используется формула
Симпсона:
b

∫ f ( x ) dx ≈
a

∆x
≈ [ y 0 + 4( y1 + y 3 + ... + y n −1 ) + 2( y 2 + y 4 + ... + y n −2 ) + y n ]
3

Сравнив методы прямоугольников и трапеций с методом


Симпсона, отметим, что последний обладает более высокой
точностью. Блок-схема одного из простейших алгоритмов
вычисления определённого интеграла по методу Симпсона
представлена в [3].

43
ИНФОРМАТИКА

СБОРНИК ЗАДАЧ
и методические указания
к выполнению лабораторных работ

ЧАСТЬ 2

Разработала: старший преподаватель Л.И. Ткач

–––––––––––––––––––––––––––––––––––––––––––––––––––––

Bun de tipar 03 .05.07 Formatul hârtiei 60 x 84 1/16
Hîrtie ofset. Tipar RISO Tirajul 100 ex.
Coli de tipar 2,75 Comanda nr.69
–––––––––––––––––––––––––––––––––––––––––––––––––––––
U.T.M., 2007, Chişinău, bd. Ştefan cel Mare, 168
Secţia Redactare şi Editare a U.T.M.
2068, Chişinău, str. Studenţilor, 9/9

44