From 2c9a6ae68c771e6248cb82478c85a336cddc451a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=83=D0=B7=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=9F=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=BE?= <124675990+CrazyDuck192@users.noreply.github.com> Date: Tue, 21 Mar 2023 20:27:43 +0200 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BB=D0=B0=D1=81=D0=BD=D0=B0=20=D1=80?= =?UTF-8?q?=D0=BE=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=9612=20(=E2=84=9616.16(?= =?UTF-8?q?=D0=B0,=D0=B1),=2016.17(=D0=B0))?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classwork12.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 classwork12.py diff --git a/classwork12.py b/classwork12.py new file mode 100644 index 0000000..da1331b --- /dev/null +++ b/classwork12.py @@ -0,0 +1,64 @@ +from math import factorial +# Завдання 16.16(а, б) + +def task_a(k, x, eps): + assert k >= 0, "Число k повинно бути невід'ємним" + for d in range(k+1): + yield (-1)**d * x**(2*d+1)/factorial(2*d+1) + + k = 0 + s = 0 + y = 1 + while abs(y) >= eps: + y = (-1)**k * x**(2*k+1)/factorial(2*k+1) + s += y + k += 1 + yield f'Sum = {s}' + +def task_b(k, x, eps): + assert k >= 0, "Число k повинно бути невід'ємним" + for d in range(k+1): + yield x**(2*d)/factorial(2*d) + + k = 0 + s = 0 + y = 1 + while abs(y) >= eps: + y = x**(2*k)/factorial(2*k) + s += y + k += 1 + yield f'Sum = {s}' + +# Завдання 16.17(а) + +def log(x, eps): + assert abs(x) < 1, '|x| < 1' + y = 1 + k = 1 + while abs(y)>0: + y = (-1)**(k+1)*x**k/k + k += 1 + yield y + + k = 1 + ln = 0 + y = 1 + while abs(y) >= eps: + y = (-1)**(k+1)*x**k/k + ln += y + k += 1 + + yield f'log({1+x}) = {ln}' + +if __name__ == '__main__': + seq = task_a(10, 10, 0.001) + for x in seq: + print(x) + + seq = task_b(20, 5, 0.0001) + for x in seq: + print(x) + + ln = log(0.5, 0.00001) + for x in ln: + print(x) \ No newline at end of file