Лабораторное занятие 10. Нестандартные функции ( 1648 )

advertisement
Общеинженерная практика
Лабораторное занятие 10
Тема: Нестандартные функции
Примечание. Каждый студент самостоятельно выполняет только свой вариант. После
выполнения задания студент составляет отчет в виде HTML файла.
Написать программу с реализацией в виде функции:
Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
Вариант 10
Вариант 11
Вариант 12
Написать нерекурсивную функцию Fact(N) целого типа, вычисляющую значение
факториала N! = 1·2·...·N (N > 0 — параметр целого типа). При вводе N реализовать
проверку на корректность исходных данных (N > 0).
Написать нерекурсивную функцию Fact2(N) целого типа, вычисляющую значение
"двойного факториала": N!! = 1·3·5·...·N, где N — нечетное (N > 0 — параметр
целого типа). При вводе N реализовать проверку на корректность исходных данных
(N > 0).
Написать нерекурсивную функцию Fact2(N) целого типа, вычисляющую значение
"двойного факториала": N!! = 2·4·6·...·N, где N — четное (N > 0 — параметр целого
типа). При вводе N реализовать проверку на корректность исходных данных (N >
0).
Написать нерекурсивную функцию Fib(N) целого типа, вычисляющую N-е число
Фибоначчи F(N) по формуле: F(1) = F(2) = 1, F(k) = F(k–2) + F(k–1), k = 3, 4, ... .
При вводе N реализовать проверку на корректность исходных данных (N > 0).
Написать функцию SumDigit(N), находящую сумму цифр целого числа N (N входной параметр). При вводе N реализовать проверку на корректность исходных
данных (N > 0).
Написать функцию Exp1(x,eps) вещественного типа (параметры x, eps —
вещественные, eps > 0), находящую приближенное значение функции exp(x):
exp(x)= 1 + x + x2 / 2! + x3 / 3! + ... + xn / n! + ... . В сумме учитывать все слагаемые,
большие eps. При вводе eps реализовать проверку на корректность исходных
данных (eps > 0).
Написать функцию Sin1(x,eps) вещественного типа (параметры x, eps —
вещественные, eps > 0), находящую приближенное значение функции sin(x), где
sin(x) = x – x3 / 3! + x5 / 5! – ... + (–1)n x2n+1 / (2n+1)! + ... В сумме учитывать все
слагаемые, большие по модулю eps.
Написать функцию Cos1(x,eps) вещественного типа (параметры x, eps —
вещественные, eps > 0), находящую приближенное значение функции cos(x), где
cos(x) = 1 – x2 / 2! + x4 / 4! – ... + (–1)n x2n / (2n)! + ... В сумме учитывать все
слагаемые, большие по модулю eps.
Написать функцию Ln1(x, eps) вещественного типа (параметры x, eps —
вещественные, |x| < 1, eps > 0), находящую приближенное значение функции
ln(1+x), где ln(1+x) = x – x2 / 2 + x3 / 3 – ... + (–1)n xn+1 / (n+1) + ...В сумме учитывать
все слагаемые, большие по модулю eps.
Написать функцию Arctg1(x, eps) вещественного типа (параметры x, eps —
вещественные, |x| < 1, eps > 0), находящую приближенное значение функции
arctg(x), где arctg(x) = x – x3 / 3 + x5 / 5 – ... + (–1)n x2n+1 / (2n+1) + ... В сумме
учитывать все слагаемые, большие по модулю eps.
Написать функцию PowerA(x,a,eps) вещественного типа (параметры x, a, eps —
вещественные, |x| < 1, a > 0, eps > 0), находящую приближенное значение функции
(1+x)a, где (1+x)a = 1 + a·x + a·(a–1)·x2 / 2! + ... + a·(a–1)·...·(a–n+1)·xn / n! + ... . В
сумме учитывать все слагаемые, большие по модулю eps.
Написать функцию Otr(Ax,Ay,Bx,By) вещественного типа, находящую длину
отрезка AB на плоскости по координатам его концов: |AB| = sqrt((Ax-Bx)2 + (AyBy)2) (Ax, Ay, Bx, By -вещественные параметры). Используя функцию Otr описать
функцию Perim(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую периметр
треугольника ABC по координатам его вершин (Ax, Ay, Bx, By, Cx, Cy —
1
Общеинженерная практика
Вариант 13
Вариант 14
Вариант 15
Вариант 16
Лабораторное занятие 10
вещественные параметры). Используя функции Otr и Perim, описать функцию
Area(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую площадь треугольника
ABC по формуле Герона: SABC = sqrt(p·(p–|AB|)·(p–|AC|)·(p–|BC|)), где p —
полупериметр.
Написать функцию, обеспечивающую решение квадратного уравнения.
Параметрами функции должны быть коэффициенты и корни уравнения. Значение,
возвращаемое функцией, должно передавать в вызывающую программу
информацию о наличии у уравнения корней: 2 — два разных корня, 1 — корни
одинаковые, 0 — уравнение не имеет решения. Кроме того, функция должна
проверять корректность исходных данных. Если исходные данные неверные, то
функция должна возвращать -1.
Написать функцию Min3(A,B,C) вещественного типа, находящую минимальное из
трех вещественных чисел A, B и C. С помощью этой функции найти минимальные
из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.
Написать функцию Max3(A,B,C) вещественного типа, находящую максимальное из
трех вещественных чисел A, B и C. С помощью этой функции найти максимальные
из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.
Написать функцию Otr(x1,y1,x2,y2) вещественного типа, которая вычисляет длину
отрезка по координатам вершин (x1, y1) и (x2, y2) по формуле: sqrt((x2-x1)2 + (y2y1)2), и функцию Min(A, B), которая вычисляет минимальное из чисел А и В. С
помощью данных функций найти две из трех заданных точек на плоскости,
расстояние между которыми минимально.
2
Download