
- •5. Задания для курсового проетирования
- •Задача 5.1. Задачи по разработке алгоритмов и программ с использованием разветвляющихся процессов
- •Задача 5.2. Задачи по разработке алгоритмов и программ с использованием циклических процессов
- •Задача 5.3. Задачи по разработке алгоритмов и программ для обработки матриц
- •Задача 5.4. Задачи по разработке алгоритмов и программ для вычислений сложных сумм
- •Задача 5.7. Методы численного интегрирования и дифференцирования функции
- •Задача 5.8. Решение дифференциальных уравнений
Задача 5.2. Задачи по разработке алгоритмов и программ с использованием циклических процессов
Постановка задачи 5.2. Разработать алгоритм и программу вычисления функции С(x1, x2, x3, x4), зависящей от четырех переменных x1, x2, x3, x4, которые изменяются по различным законам. Значения переменных x1, x2, x3, x4 задаются на основе формул
x1 = 5n; 25n (0,5n);
x2 = n + 1; n + 10 (0,1n);
x3 = 8 + n; n2; n2 + 3; n2 + 0,4;
x4 = n – 1; (n – 2)2; n + 0,8; n + 20;
где n – вариант задания.
Вид функции С(x1, x2, x3, x4) выбирается из табл. 5.1 (i – вариант) при условии a = 1, b = 1, c = 1, d = 1, где каждое из слагаемых зависит от своей переменной. В программе необходимо предусмотреть вычисление значений С(x1, x2, x3, x4) для всех комбинаций x1, x2, x3, x4. Обязательно предусмотреть полный перебор x1, x2, x3, x4. Вычислить сумму всех С(x1, x2, x3, x4) и вывести ее на монитор. В программе организовать вывод x1, x2, x3, x4> для которых выполняется условие
–(20n
+ 1)
С(x1,
x2,
x3,
x4)
(20
+ 1).
Таким образом, для 4-го варианта необходимо написать программу по вычислению функции
С(x1,
x2,
x3,
x4)
=
,
где x1 = 5·4; 25·4 (0,5·4) = 20; 100 (2);
x2 = 4 + 1; 4 + 10 (0,1·4) = 5; 14 (0,4);
x3 = 8 + 4; 16; 16 + 3; 16 + 0,4 = 12; 16; 19; 16,4;
x4 = 4 – 1; (4 – 1)2; 4 + 0,8; 4 + 20 = 3; 9; 4,8; 24.
Переменные
и
заданы с равномерными шагами 2 и 0,4, а
и
– массивами
из четырех значений. Вывод С(x1,
x2,
x3,
x4)
при условии
–(20·4 + 1) С(x1, x2, x3, x4) (20·42 + 1).
Внимание. Если значение функции С(x1, x2, x3, x4) неопределено при какой либо комбинации x1, x2, x3, x4, то на экран монитора вывести x1, x2, x3, x4, при которых С(x1, x2, x3, x4) не определена, и вывести фразу «C – не определена».
Задача 5.3. Задачи по разработке алгоритмов и программ для обработки матриц
Постановка задачи 5.3. Разработать алгоритм и программу для нахождения максимального и минимального элементов матрицы Z размером 30 × 30 и их индексов (i, j). Экстремальные значения Z следует искать среди элементов, для которых выполняются условия
Элементы матрицы zij формируются исходя из условий
где n – номер варианта;
,
– функции, взятые из табл. 5.1 в соответствии
с вариантом n.
Функция
зависит от x,
a,
b,
c,
d
(табл. 5.1), которые определяются как x
=
n(i
+
j),
a
=
n·i,
b
=
n(i
+
1), c
=
n·j,
d
=
n(j
+
1), где n
–
номер варианта. Если значение
(x)
не определено при заданных x,
a,
b,
c,
d
, то zij
= 0.
Таким образом, для 4-го варианта задача конкретизируется следующим образом. Разработать алгоритм и программу нахождения максимального и минимального элементов матрицы Z:
x = 4(i + j), a = 4i, b = 4(i + 1), c = 4j, d = 4(j + 1).
В программе организовать вывод максимального и минимального элементов, а также их индексов i и j в файл a.lst.
Задача 5.4. Задачи по разработке алгоритмов и программ для вычислений сложных сумм
Постановка
задачи 5.4.
Разработать алгоритм и программу
вычисления функции Z(x)
= sin[SF(x)]
в интервале x[–100,
100] с шагом x
= 0,5. Величина
S
определяется как сумма, заданная в табл.
5.3, а
.
Функция F(x)
берется из табл. 5.1 в соответствии с
вариантом задания. Значения a,
b,
c,
d
определяют
как a
= nx,
b
= (n
+ 1)x,
c
= cos(nx),
d
= sin(nx).
В программе организовать вывод x,
Z(x)
в соответствии с условиями, накладываемыми
на Z(x).
Если выполняется условие
1 – cos(n) < Z(x) < sin(n
+
1), то x
и Z(x)
выводятся в файл An.lst
(n
– вариант
задания). Если выполняется условие 2 –
cos(
)
< Z(x)
< sin(
+ 1), то x
и Z(x)
выводятся в файл Bn.lst.
Если выполняются одновременно оба
условия, то вывод x
и Z(x)
производится в файл Сn.lst.
Если не выполняется ни одно из условий,
то вывод x
и Z(x)
происходит в файл Dn.lst.
При выводе можно ограничиться двадцатью
значениями x
и Z(x)
в каждом из файлов.
Таким образом, для 4-го варианта необходимо вычислить функцию
,
где a = 4x, b = 5x, c = cos(4x), d = sin(4x).
Величина S определена как
,
где
.
Определить Z(x) в интервале x = –100; 100 (0,5). Запись Z(x), x в файлы по условиям
cos(4) < Z(x) < sin(5) An.lst;
cos(16) < Z(x) < sin(18) Bn.lst;
cos(4) < Z(x) < sin(5) и cos(4) < Z(x) < sin(5) Cn.lst;
невыполнение условий Dn.lst.
Если функция Z(x) не определена для данного x, то принять Z(x) = 1.
Таблица 5.3
Вариант |
Вид функции |
Вари-ант |
Вид функции |
1 |
2 |
3 |
4 |
0 |
|
14 |
|
1 |
|
15 |
|
Окончание табл. 5.3
1 |
2 |
3 |
4 |
2 |
|
16 |
|
3 |
|
17 |
|
4 |
|
18 |
|
5 |
|
19 |
|
6 |
|
20 |
|
7 |
|
21 |
|
8 |
|
22 |
|
9 |
|
23 |
|
10 |
|
24 |
|
11 |
|
25 |
|
12 |
|
26 |
|
13 |
|
|
|
Задача 5.5. Методы решения нелинейных уравнений
Постановка
задачи 5.5. Разработать алгоритм и
программу для решения нелинейного
уравнения с параметрами методом
половинного деления. С помощью программы
вычислить все корни уравнений в
соответствии с указанным вариантом и
заданной точностью
.
Параметр a задать
самостоятельно методом перебора.
Определить для каких a
уравнение имеет 1,2,3,4,5 действительных
корней.
Таблица.5.5.1
Варианты уравнений
номер варианта |
Уравнение |
1 |
2 |
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
Окончание таблицы.5.5.1
1 |
2 |
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
Для отчета по заданию необходимо представить: 1) постановку задачи; 2) алгоритм; 3) программу; 4) результаты решения, включающие таблицы решения уравнения F(x,a)=0 в зависимости от параметра a.
параметр a |
корни уравнения F(x,a)=0 |
число корней уравнения |
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
Эта таблица должна иллюстрировать количество корней уравнения для F(x,а)=0 (ограничиться 5-тью корнями при заданном). Построить график функции F(x,a) от x для параметра a соответствующего наибольшему количеству корней найденных в задании. Если заданное (5) число корней не удалось найти, то следует объяснить “почему”.
Задача 5.6. Аппроксимация табулированных функций по методу наименьших квадратов
Постановка
задачи 5.6. Разработать алгоритм и
программу для выбора аппроксимирующего
многочлена вида
для табулированной функции y=f(x).
Исходные данные для построения многочлена
представлены в таблицах. 5.5.2 и 5.5.3(варианты
заданий).
Таблица 5.5.2
Значения переменных
для построения многочлена y=f(x)
n |
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
0,1 |
2,57 |
0,15 |
2,98 |
3,19 |
6,54 |
7,26 |
2 |
0,3 |
3,87 |
-0,01 |
3,45 |
1,59 |
6,63 |
7,95 |
3 |
0,5 |
5,67 |
0,46 |
3,84 |
0,4 |
6,83 |
8,77 |
4 |
0,7 |
8,39 |
1,71 |
3,87 |
0,22 |
7,34 |
9,72 |
5 |
0,9 |
12,9 |
3,94 |
3,24 |
1,95 |
8,44 |
10,78 |
6 |
1,1 |
20,47 |
7,4 |
1,73 |
6,84 |
10,48 |
12,45 |
7 |
1,3 |
32,84 |
12,41 |
-0,67 |
16,58 |
13,71 |
14,74 |
8 |
1,5 |
52,17 |
19,47 |
-3,78 |
33,4 |
18,7 |
18,18 |
9 |
1,7 |
81,1 |
29,21 |
-7,07 |
60,08 |
25,87 |
23,36 |
10 |
1,9 |
122,68 |
42,49 |
-9,62 |
100,1 |
35,76 |
30,99 |
11 |
2,1 |
180,44 |
60,43 |
-10,04 |
157,67 |
48,93 |
41,97 |
12 |
2,3 |
268,38 |
84,42 |
-6,39 |
237,83 |
65,97 |
57,38 |
13 |
2,5 |
360,93 |
116,18 |
3,89 |
346,5 |
87,52 |
78,45 |
14 |
2,7 |
493,01 |
157,8 |
24,08 |
490,6 |
114,23 |
106,65 |
15 |
2,9 |
660 |
211,78 |
58,21 |
678,09 |
146,8 |
143,64 |
16 |
3,1 |
867,76 |
281,04 |
111,19 |
918,06 |
185,93 |
191,28 |
17 |
3,3 |
1122,64 |
369 |
188,86 |
1220,08 |
232,35 |
251,71 |
Окончание таблицы 5.5.2
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
18 |
3,5 |
1431,43 |
479,59 |
298,07 |
1597,9 |
286,78 |
327,27 |
19 |
3,7 |
1801,46 |
617,3 |
446,74 |
2062,29 |
349,99 |
420,58 |
20 |
3,9 |
2240,52 |
787,21 |
643,99 |
2628,34 |
422,73 |
534,52 |
21 |
4,1 |
2756,88 |
995,04 |
900,13 |
3311,95 |
505,74 |
672,24 |
22 |
4,3 |
3359,35 |
1247,17 |
1226,83 |
4130,59 |
599,78 |
837,2 |
23 |
4,5 |
4057,19 |
1550,71 |
1637,14 |
5103,4 |
705,6 |
1033,14 |
24 |
4,7 |
4860,21 |
1913,5 |
2145,58 |
6251,27 |
823,94 |
1264,13 |
25 |
4,9 |
5778,7 |
2344,18 |
2768,2 |
7596,91 |
955,52 |
1534,54 |
26 |
5,1 |
6823,5 |
2852,21 |
3532,71 |
9164,91 |
1101,05 |
1849,11 |
27 |
5,3 |
8005,85 |
3447,91 |
4428,49 |
10980,87 |
1261,21 |
2212,91 |
28 |
5,5 |
9337,7 |
4142,52 |
5506,72 |
13076,4 |
1436,67 |
2631,36 |
29 |
5,7 |
10831,38 |
4948,19 |
6780,41 |
15479,26 |
1628,06 |
3110,26 |
30 |
5,9 |
12499,79 |
5878,09 |
8274,53 |
18223,42 |
1835,97 |
3665,8 |
31 |
6,1 |
14356,37 |
6946,36 |
10016,04 |
21344,1 |
2060,97 |
4274,55 |
32 |
6,3 |
16415,09 |
8768,24 |
12033,99 |
24878,92 |
2303,59 |
4973,5 |
33 |
6,5 |
18690,45 |
9560,03 |
14359,59 |
28867,9 |
2564,29 |
5760,63 |
34 |
6,7 |
21197,51 |
11139,19 |
17026,29 |
33353,59 |
2843,52 |
6641,98 |
35 |
6,9 |
23951,86 |
12924,34 |
20069,86 |
38381,12 |
3141,65 |
7627,6 |
36 |
7,1 |
26969,66 |
14935,29 |
23528,45 |
43998,25 |
3459 |
8725,62 |
37 |
7,3 |
30267,6 |
17193,14 |
27442,7 |
50255,62 |
3795,83 |
9945,22 |
38 |
7,5 |
33862,96 |
19720,24 |
31855,77 |
57806,5 |
4152,36 |
11296,05 |
39 |
7,7 |
37773,55 |
22540,29 |
36813,46 |
64907,16 |
4528,7 |
12788,24 |
40 |
7,9 |
42017,77 |
25678,32 |
42364,27 |
73416,84 |
4924,93 |
14432,44 |
Таблица 5.5.3
Варианты заданий
номер |
Вид функции |
степень многочлена |
1 |
2 |
3 |
0 |
|
3,5,7 |
1 |
|
2,4,6 |
2 |
|
2,3,4 |
3 |
|
3,4,7 |
4 |
|
3,4,6 |
5 |
|
2,3,5 |
6 |
|
2,7,8 |
7 |
|
3,5,6 |
8 |
|
3,7,8 |
9 |
|
2,5,6 |
10 |
|
3,4,5 |
11 |
|
3,4,7 |
12 |
|
3,6,7 |
13 |
|
2,3,6 |
14 |
|
2,4,5 |
15 |
|
3,4,6 |
16 |
|
3,5,7 |
17 |
|
2,4,6 |
18 |
|
2,3,4 |
19 |
|
3,4,7 |
20 |
|
3,5,7 |
21 |
|
2,4,6 |
Окончание табл. 5.5.3
22 |
|
2,3,4 |
23 |
|
3,4,7 |
24 |
|
2,3,4 |
25 |
|
3,4,7 |
При построении
многочлена для функции
необходимо данные
линеаризовать, прологарифмировав данные
столбца. Вся дальнейшая методика
построения многочлена аналогична
вариантам 1-20.
При разработке
алгоритма и программы можно пользоваться
программой для решения системы линейных
уравнений (раздел 4.1.). При этом каждый
студент решает свою систему линейных
уравнений, которую необходимо составить
на основе данных табл. 5.5. и 5.6. . Например,
для расчета коэффициентов полинома 6
степени
необходимо решить систему уравнений
вида:
где
,
,
,
,
,
,
,
,
,
,
,
,
.
Результаты
решения задачи должны включать найденные
коэффициенты полиномов
и построение графика
вместе с исходными данными. Для 3-х
различных полиномов (степень полинома,
табл. 6.6.) рассчитать среднеквадратичное
отклонение
,
где
-табулированное
значение, y(x)-аппроксимированный
многочлен, по которому нужно оценить
близость полинома к исходным данным
(табл.5.6.) Сделать выводы об лучшей
аппроксимации.
Таким образом, студент, выполняющий 4 вариант должен построить три полинома вида:
и вычислить среднеквадратическое отклонение для каждого полинома.