М. Э. Абрамян Programming Taskbook


Дополнительные задания на процедуры и функции



Download 0,55 Mb.
Pdf ko'rish
bet16/73
Sana24.02.2022
Hajmi0,55 Mb.
#249225
1   ...   12   13   14   15   16   17   18   19   ...   73
Bog'liq
Abramyan (programmalash)

Дополнительные задания на процедуры и функции
Proc37. Описать функцию Power1(AB) вещественного типа, находящую вели-
чину A
B
по формуле A
B
= exp(ln(A)) (параметры и — вещественные).
В случае нулевого или отрицательного параметра функция возвраща-
ет 0. С помощью этой функции найти степени A
P
B
P
C
P
, если даны
числа PABC.
Proc38. Описать функцию Power2(AN) вещественного типа, находящую ве-
личину A
N
(— вещественный, — целый параметр) по следующим
формулам:
A
0
= 1;
A
N
A·A·. . .·A (сомножителей), если > 0;
A
N
= 1/(A·A·. . .·A) (|N| сомножителей), если < 0.
С помощью этой функции найти A
K
A
L
A
M
, если даны числа AKLM.
Proc39. Используя функции Power1 и Power2 (задания Proc37 и Proc38), опи-
сать функцию Power3(AB) вещественного типа с вещественными па-
раметрами, находящую A
B
следующим образом: если имеет нулевую
дробную часть, то вызывается функция Power2(A, Round(B)); в против-
ном случае вызывается функция Power1(AB). С помощью этой функции
найти A
P
B
P
C
P
, если даны числа PABC.
Proc40

. Описать функцию Exp1(xε) вещественного типа (параметры xε
— вещественные, ε > 0), находящую приближенное значение функции
exp(x):
exp(x) = 1 + x
2
/(2!) + x
3
/(3!) + . . . x
n
/(n!) + . . .
(n! = 1·2·. . .·n). В сумме учитывать все слагаемые, большие ε. С помощью
Exp1 найти приближенное значение экспоненты для данного при шести
данных ε.
Proc41. Описать функцию Sin1(xε) вещественного типа (параметры xε 
вещественные, ε > 0), находящую приближенное значение функции sin(x):
sin(x) = x − x
3
/(3!) + x
5
/(5!) − . . . + (1)
n
·x
2·n+1
/((2·n+1)!) + . . . .
В сумме учитывать все слагаемые, модуль которых больше ε. С помо-
щью Sin1 найти приближенное значение синуса для данного при шести
данных ε.
Proc42. Описать функцию Cos1(xε) вещественного типа (параметры xε 
вещественные, ε > 0), находящую приближенное значение функции cos(x):
cos(x) = 1 − x
2
/(2!) + x
4
/(4!) − . . . + (1)
n
·x
2·n
/((2·n)!) + . . . .
В сумме учитывать все слагаемые, модуль которых больше ε. С помощью


Процедуры и функции
43
Cos1 найти приближенное значение косинуса для данного при шести
данных ε.
Proc43. Описать функцию Ln1(xε) вещественного типа (параметры xε 
вещественные, |x| < 1, ε > 0), находящую приближенное значение функции
ln(1 + x):
ln(1 + x) = x − x
2
/2 + x
3
/3 − . . . + (1)
n
·x
n+1
/(n+1) + . . . .
В сумме учитывать все слагаемые, модуль которых больше ε. С помощью
Ln1 найти приближенное значение ln(1 + x) для данного при шести
данных ε.
Proc44. Описать функцию Arctg1(xε) вещественного типа (параметры xε 
вещественные, |x| < 1, ε > 0), находящую приближенное значение функции
arctg(x):
arctg(x) = x − x
3
/3 + x
5
/5 − . . . + (1)
n
·x
2·n+1
/(2·n+1) + . . . .
В сумме учитывать все слагаемые, модуль которых больше ε. С помощью
Arctg1 найти приближенное значение arctg(x) для данного при шести
данных ε.
Proc45. Описать функцию Power4(xaε) вещественного типа (параметры x,
aε — вещественные, |x| < 1; aε > 0), находящую приближенное значение
функции (1 + x)
a
:
(1 + x)
a
= 1 + a·x (a−1)·x
2
/(2!) + . . . (a−1)·. . .·(a−n+1)·x
n
/(n!) + . . . .
В сумме учитывать все слагаемые, модуль которых больше ε. С помощью
Power4 найти приближенное значение (1 + x)
a
для данных и при шести
данных ε.
Proc46. Описать функцию NOD2(AB) целого типа, находящую наибольший
общий делитель (НОД) двух целых положительных чисел и B, используя
алгоритм Евклида:
НОД(AB) = НОД(Bmod B), если B 6= 0;
НОД(A, 0) = A.
С помощью этой функции найти наибольшие общие делители пар (AB),
(AC), (AD), если даны числа ABCD.
Proc47. Используя функцию NOD2 из задания Proc46, описать процедуру
Frac1(abpq), преобразующую дробь a/к несократимому виду p/(все
параметры процедуры — целого типа, и — входные, и — выходные).
Знак результирующей дроби p/приписывается числителю (т. е. > 0). С
помощью Frac1 найти несократимые дроби, равные a/c/da/e/f,
a/g/(числа abcdefgданы).
Proc48. Учитывая, что наименьшее общее кратное двух целых положитель-


44
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
ных чисел и равно (B/НОД(AB)), где НОД(AB) — наибольший
общий делитель и B, и используя функцию NOD2 из задания Proc46,
описать функцию NOK2(AB) целого типа, находящую наименьшее об-
щее кратное чисел и B. С помощью NOK2 найти наименьшие общие
кратные пар (AB), (AC), (AD), если даны числа ABCD.
Proc49. Учитывая соотношение НОД(ABC) = НОД(НОД(AB), C) и исполь-
зуя функцию NOD2 из задания Proc46, описать функцию NOD3(ABC)
целого типа, находящую наибольший общий делитель трех целых поло-
жительных чисел ABC. С помощью этой функции найти наибольшие
общие делители троек (ABC), (ACD) и (BCD), если даны числа A,
BCD.
Proc50. Описать процедуру TimeToHMS(THMS), определяющую по вре-
мени (в секундах) содержащееся в нем количество часов H, минут и
секунд (— входной, Hи — выходные параметры целого типа).
Используя эту процедуру, найти количество часов, минут и секунд для
пяти данных отрезков времени T
1
T
2
. . .T
5
.
Proc51. Описать процедуру IncTime(HMST), которая увеличивает на се-
кунд время, заданное в часах H, минутах и секундах (Hи 
входные и выходные параметры, — входной параметр; все параметры —
целые положительные). Дано время (в часах H, минутах M, секундах S)
и целое число T. Используя процедуру IncTime, увеличить данное время
на секунд и вывести новые значения HMS.
Proc52. Описать функцию IsLeapYear() логического типа, которая возвраща-
ет
TRUE
, если год (целое положительное число) является високосным,
и
FALSE
в противном случае. Вывести значение функции IsLeapYear для
пяти данных значений параметра YВисокосным считается год, делящий-
ся на 4, за исключением тех годов, которые делятся на 100 и не делятся
на 400.
Proc53. Используя функцию IsLeapYear из задания Proc52, описать функцию
MonthDays(M) целого типа, которая возвращает количество дней для
M-го месяца года (1 ≤ M ≤ 12, > 0 — целые числа). Вывести значение
функции MonthDays для данного года и месяцев M
1
M
2
M
3
.
Proc54. Используя функцию MonthDays из задания Proc53, описать процедуру
PrevDate(DM), которая по информации о правильной дате, включа-
ющей день D, номер месяца и год Y, определяет предыдущую дату
(параметры целого типа DMявляются одновременно входными и


Процедуры и функции
45
выходными). Применить процедуру PrevDate к трем исходным датам и
вывести полученные значения предыдущих дат.
Proc55. Используя функцию MonthDays из задания Proc53, описать процедуру
NextDate(DM), которая по информации о правильной дате, включа-
ющей день D, номер месяца и год Y, определяет следующую дату
(параметры целого типа DMявляются одновременно входными и
выходными). Применить процедуру NextDate к трем исходным датам и
вывести полученные значения следующих дат.
Proc56. Описать функцию Leng(x
A
y
A
x
B
y
B
) вещественного типа, находя-
щую длину отрезка AB на плоскости по координатам его концов:
|AB| =
q
(x
A
− x
B
)
2
+ (y
A
− y
B
)
2
(x
A
y
A
x
B
y
B
— вещественные параметры). С помощью этой функции
найти длины отрезков ABACAD, если даны координаты точек ABCD.
Proc57. Используя функцию Leng из задания Proc56, описать функцию
Perim(x
A
y
A
x
B
y
B
x
C
y
C
) вещественного типа, находящую периметр
треугольника ABC по координатам его вершин (x
A
y
A
x
B
y
B
x
C
y
C

вещественные параметры). С помощью этой функции найти периметры
треугольников ABCABDACD, если даны координаты точек ABCD.
Proc58. Используя функции Leng и Perim из заданий Proc56 и Proc57, описать
функцию Area(x
A
y
A
x
B
y
B
x
C
y
C
) вещественного типа, находящую
площадь треугольника ABC по формуле
S
ABC
=

(p−|AB|)·(p−|AC|)·(p−|BC|),
где — полупериметр. С помощью этой функции найти площади тре-
угольников ABCABDACD, если даны координаты точек ABCD.
Proc59. Используя функции Leng и Area из заданий Proc56 и Proc58, описать
функцию Dist(x
P
y
P
x
A
y
A
x
B
y
B
) вещественного типа, находящую
расстояние D(PAB) от точки до прямой AB по формуле
D(PAB) = 2·S
P AB
/|AB|,
где S
P AB
— площадь треугольника PAB. С помощью этой функции найти
расстояния от точки до прямых ABACBC, если даны координаты
точек PABC.
Proc60. Используя функцию Dist из задания Proc59, описать процедуру
Heights(x
A
y
A
x
B
y
B
x
C
y
C
h
A
h
B
h
C
), находящую высоты h
A
h
B
h
C
тре-
угольника ABC (выходные параметры), проведенные соответственно из
вершин AB(их координаты являются входными параметрами). С по-
мощью этой процедуры найти высоты треугольников ABCABDACD,


46
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
если даны координаты точек ABCD.

Download 0,55 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   73




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish