From ee9cdab0796cd044f1a554c718b4830dbcda02a3 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Fri, 25 Oct 2019 18:11:32 +0200
Subject: [PATCH] =?UTF-8?q?04:=20Dal=C5=A1=C3=AD=20p=C5=99=C3=ADklady=20z?=
 =?UTF-8?q?=20cvi=C4=8Den=C3=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 04-trideni/odmocnina.py | 21 +++++++++++++++++++++
 04-trideni/rovnice.py   | 18 ++++++++++++++++++
 2 files changed, 39 insertions(+)
 create mode 100755 04-trideni/odmocnina.py
 create mode 100755 04-trideni/rovnice.py

diff --git a/04-trideni/odmocnina.py b/04-trideni/odmocnina.py
new file mode 100755
index 0000000..0977232
--- /dev/null
+++ b/04-trideni/odmocnina.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+# Výpočet celočíselné druhé odmocniny binárním vyhledáváním.
+
+x = int(input())
+
+# Odmocnina se nachazí v intervalu [l, p]
+l = 0
+p = x
+
+while l <= p:
+    stred = (l+p) // 2
+    pokus = stred**2
+    if pokus == x:
+        print("Odmocnina je", stred)
+        break
+    elif pokus < x:
+        l = stred + 1
+    else:
+        p = stred - 1
+else:
+    print("Odmocnina není celé číslo")
diff --git a/04-trideni/rovnice.py b/04-trideni/rovnice.py
new file mode 100755
index 0000000..e967da3
--- /dev/null
+++ b/04-trideni/rovnice.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+# Přibližné řešení rovnice x=cos(x) binárním vyhledáváním
+
+from math import cos
+
+# Udržujeme interval [l,p] takový, že x-cos(x) má na obou
+# krajích intervalu opačná znaménka.
+l = 0
+p = 1
+
+while p-l > 1e-10:
+    x = (l+p) / 2
+    if x-cos(x) < 0:
+        l = x
+    else:
+        p = x
+
+print("Kořen leží mezi", l, "a", p)
-- 
GitLab