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

Лабораторная работа №8

.doc
Скачиваний:
22
Добавлен:
22.02.2015
Размер:
50.69 Кб
Скачать

Лабораторная работа № 8

Процедуры и функции.

Вариант 1.  Описать функцию Min2(A,B) вещественного типа, находящую минимальное из двух вещественных чисел A и B. С помощью этой функции найти минимальные из пар чисел A и B, A и C, A и D, если даны числа A, B, C, D.

Вариант 2.  Описать функцию Max2(A,B) вещественного типа, находящую максимальное из двух вещественных чисел A и B. С помощью этой функции найти максимальные2 из пар чисел A и B, A и C, A и D, если даны числа A, B, C, D.

Вариант 3. Описать процедуру Minmax(A,B), записывающую в переменную A минимальное из значений A и B, а в переменную B — максимальное из этих значений (A и B — вещественные параметры, являющиеся одновременно входными и выходными). Используя четыре вызова этой процедуры, найти минимальное и максимальное из чисел A, B, C, D.

Вариант 4.  Описать процедуру Minmax(A,B), записывающую в переменную A минимальное из значений A и B, а в переменную B — максимальное из этих значений. Используя эту процедуру описать функцию Min3(A,B,C) вещественного типа, находящую минимальное из трех вещественных чисел A, B и C. С помощью этой функции найти минимальные из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.

Вариант 5.  Описать процедуру Minmax(A,B), записывающую в переменную A минимальное из значений A и B, а в переменную B — максимальное из этих значений. Используя эту процедуру описать функцию Max3(A,B,C)2 вещественного типа, находящую максимальное из трех вещественных чисел A, B и C. С помощью этой функции найти минимальные из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.

Вариант 6.  Описать функцию Min2(A,B) вещественного типа, находящую минимальное из двух вещественных чисел Aи B. Используя эту функцию описать функцию Min4(A,B,C,D) вещественного типа, находящую минимальное из четырех вещественных чисел A, B, C и D. С помощью этой функции найти минимальные из наборов (A,B,C,D), (A,B,C,E), (A,C,D,E), если даны числа A, B, C, D, E.

Вариант 7.  Описать функцию Max2(A,B) вещественного типа, находящую минимальное из двух вещественных чисел Aи B. Используя эту функцию описать функцию Max4(A,B,C,D) вещественного типа, находящую максимальное из четырех вещественных чисел A, B, C и D. С помощью этой функции найти максимальные из наборов (A,B,C,D), (A,B,C,E), (A,C,D,E), если даны числа A, B, C, D, E.

Вариант 8.  Описать функцию Fact(N) целого типа, вычисляющую значение факториала N! = 1·2·...·N (N > 0 — параметр целого типа). С помощью этой функции вычислить факториалы 10 данных чисел.

Вариант 9.  Описать функцию Fact2(N) целого типа, вычисляющую значение "двойного факториала": N!! = 1·3·5·...·N, если N — нечетное, N!! = 2·4·6·...·N, если N — четное (N > 0 — параметр целого типа). С помощью этой функции вычислить двойные факториалы десяти данных чисел.

Вариант 10.  Описать процедуру SumDigit(N,S), находящую сумму цифр S целого числа N (N — входной, S — выходной параметр). Используя эту процедуру, найти суммы цифр пяти данных чисел.

Вариант 11.  Описать функцию Exp1(x,eps) вещественного типа (параметры x, eps — вещественные, eps > 0), находящую приближенное значение функции exp(x): exp(x) = 1 + x + x2 / 2! + x3 / 3! + ... + xn / n! + ... . В сумме учитывать все слагаемые, большие eps. С помощью Exp1 найти приближенное значение экспоненты для данного x при шести данных eps.

Вариант 12.  Описать функцию Sin1(x,eps) вещественного типа (параметры x, eps — вещественные, eps > 0), находящую приближенное значение функции sin(x): [sin(x) = x – x3 / 3! + x5 / 5! – ... + (–1)n x2n+1 / (2n+1)! + ...]. В сумме учитывать все слагаемые, большие по модулю eps. С помощью Sin1 найти приближенное значение синуса для данного x при шести данных значениях eps.

Вариант 13.  Описать функцию Cos1(x,eps)2 вещественного типа (параметры x, eps — вещественные, eps > 0), находящую приближенное значение функции cos(x): [cos(x) = 1 – x2 / 2! + x4 / 4! – ... + (–1)n x2n / (2n)! + ...]2. В сумме учитывать все слагаемые, большие по модулю eps. С помощью Cos1 найти приближенное значение синуса1|косинуса2 для данного x при шести данных значениях eps.

Вариант 14.  Описать функцию Ln1(x,n) вещественного типа (параметры x, eps — вещественные, |x| < 1, eps > 0), находящую приближенное значение функции ln(1+x): [ln(1+x) = x – x2 / 2 + x3 / 3 – ... + (–1)n xn+1 / (n+1) + ...]. В сумме учитывать все слагаемые, большие по модулю eps. С помощью Ln1 найти приближенное значение ln(1+x) для данного x при шести данных значениях eps.

Вариант 15.  Описать функцию Arctg1(x,n) вещественного типа (параметры x, eps — вещественные, |x| < 1, eps > 0), находящую приближенное значение функции arctg(x): [arctg(x) = x – x3 / 3 + x5 / 5 – ... + (–1)n x2n+1 / (2n+1) + ...]. В сумме учитывать все слагаемые, большие по модулю eps. С помощью Arctg1 найти приближенное значение arctg(x) для данного x при шести данных значениях eps.

Вариант 16.  Описать функцию 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. С помощью PowerA найти приближенное значение (1+x)a для данных x и a при шести различных значениях eps.

Вариант 17.  Описать функцию Otr(Ax,Ay,Bx,By) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов: |AB| = sqrt((Ax-Bx)2 + (Ay-By)2) (Ax, Ay, Bx, By — вещественные параметры). С помощью этой функции найти длины отрезков AB, AC, AD, если даны координаты точек A, B, C, D.

Вариант 18.  Описать функцию Otr(Ax,Ay,Bx,By) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов: |AB| = sqrt((Ax-Bx)2 + (Ay-By)2). Используя эту функцию, описать функцию Perim(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую периметр треугольника ABC по координатам его вершин (Ax, Ay, Bx, By, Cx, Cy — вещественные параметры). С помощью этой функции найти периметры треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.

Вариант 19.  Используя функции Otr и Perim из заданий Варианта 17 и Варианта 18, описать функцию Area(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую площадь треугольника ABC по формуле Герона:

SABC = sqrt(p·(p–|AB|)·(p–|AC|)·(p–|BC|)), где p — полупериметр. С помощью этой функции найти площади треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.

Варинат 20.  Используя функции Otr и Area из заданий Варианта 17 и Варианта 19, описать процедуру Dist(Px,Py,Ax,Ay,Bx,By,D), находящую расстояние D от точки P до прямой AB по формуле D = 2SPAB / |AB|, где SPAB — площадь треугольника PAB. С помощью этой процедуры найти расстояния от точки P до прямых AB, AC, BC, если даны координаты точек P, A, B, C.

Вариант 21.  Используя процедуру Dist из задания Варианта 20, описать процедуру Heights(Ax,Ay,Bx,By,Cx,Cy,hA,hB,hC), находящую высоты hA, hB, hC треугольника ABC, проведенные соответственно из вершин A, B, C. С помощью этой процедуры найти высоты треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.

Вариант 22.  Описать процедуру UpCase1(S), преобразующую все строчные буквы строки S в прописные (остальные символы строки S не изменяются). Используя эту процедуру, преобразовать пять данных строк.

Вариант 23.  Описать процедуру TrimL(S), удаляющую в строке S начальные пробелы. Используя эту процедуру, преобразовать пять данных строк.

Вариант 24.  Описать процедуру TrimR(S), удаляющую в строке S конечные пробелы. Используя эту процедуру, преобразовать пять данных строк.

Вариант 25.  Описать процедуру Trim(S), удаляющую в строке S начальные и конечные пробелы. Используя эту процедуру, преобразовать пять данных строк.

Вариант 26.  Описать процедуру Replace(S), заменяющую в строке S пробелы на нижнее подчеркивание. Используя эту процедуру, преобразовать пять данных строк.

Вариант 27.  Описать процедуру Replace(S), заменяющую в строке S символы нижнего подчеркивания на пробелы. Используя эту процедуру, преобразовать пять данных строк.

Вариант 28.  Описать процедуру Trim(S), удаляющую в строке S пробелы. Используя эту процедуру, преобразовать пять данных строк.

Вариант 29.  Описать процедуру Replace(S), заменяющую в строке первые буквы слов на заглавные. Используя эту процедуру, преобразовать пять данных строк.

Вариант 30.  Описать процедуру Replace(S), заменяющую в строке первые буквы слов на строчные. Используя эту процедуру, преобразовать пять данных строк.