From edc3abedfa2b2479aa976caa4564f88566290056 Mon Sep 17 00:00:00 2001 From: 3p01 Date: Wed, 29 Oct 2025 09:29:54 +0100 Subject: [PATCH] 29.10 --- Zadania/Z74 - ułamki i piętra/index.php | 68 ++++ Zadania/Z74 - ułamki i piętra/style.css | 291 +++++++++++++++++ .../Z75 - liczby fibonacciego iter/075.png | Bin 0 -> 3194 bytes .../Z75 - liczby fibonacciego iter/index.php | 53 +++ .../Z75 - liczby fibonacciego iter/style.css | 291 +++++++++++++++++ Zadania/Z76 - Od A do B/index.php | 8 +- Zadania/Z76 - Od A do B/style.css | 307 ++++++++++++++++-- 7 files changed, 981 insertions(+), 37 deletions(-) create mode 100644 Zadania/Z74 - ułamki i piętra/index.php create mode 100644 Zadania/Z74 - ułamki i piętra/style.css create mode 100644 Zadania/Z75 - liczby fibonacciego iter/075.png create mode 100644 Zadania/Z75 - liczby fibonacciego iter/index.php create mode 100644 Zadania/Z75 - liczby fibonacciego iter/style.css diff --git a/Zadania/Z74 - ułamki i piętra/index.php b/Zadania/Z74 - ułamki i piętra/index.php new file mode 100644 index 0000000..8e2a7d2 --- /dev/null +++ b/Zadania/Z74 - ułamki i piętra/index.php @@ -0,0 +1,68 @@ + + + + + + + Z74 - Ułamki i piętra + + + +
+

Zadanie Z74

+

Autor: Jakub Grzegorczyk

+
+
+

+ Napisz program, który dla danej liczby całkowitej N wyświetla ciąg liczb w postaci ułamka zwykłego i dziesiętnego, prezentując wynik w specyficzny sposób. Na przykład dla N=3 program powinien wyświetlić: +
+ Piętro 1 > 1/1 - 1.000000
+ Piętro 2 > > 1/2 - 0.500000
+ Piętro 3 > > > 1/3 - 0.333333
+ > > > > Koniec wspinaczki wracamy < < < <
+ Piętro 3 > > >
+ Piętro 2 > >
+ Piętro 1 >
+ Program powinien przyjmować N z formularza i weryfikować, czy jest to liczba całkowita dodatnia. +

+ Wskazówki dla ucznia: + +
+
+
+
+ Liczba pięter + + +
+ +
+
+'; + if (is_numeric($n) && $n > 0) { + for ($i = 1; $i <= $n; $i++) { + $dzielenie = 1 / $i; + $dzielenie = sprintf("%.6f", $dzielenie); + echo "Piętro $i " . str_repeat('> ', $i) . " 1/$i - $dzielenie
"; + } + echo '>>>> Koniec wspinaczki wracamy <<<<
'; + for ($i = $n; $i >= 1; $i--) { + echo "Piętro $i " . str_repeat('> ', $i) . '
'; + } + } else { + echo "$n nie jest liczbą całkowitą lub nie jest większe od zera"; + } + echo ''; +} +?> + + diff --git a/Zadania/Z74 - ułamki i piętra/style.css b/Zadania/Z74 - ułamki i piętra/style.css new file mode 100644 index 0000000..3eadf95 --- /dev/null +++ b/Zadania/Z74 - ułamki i piętra/style.css @@ -0,0 +1,291 @@ +/* === UNIVERSAL SCHOOL TEMPLATE CSS (BLACK & WHITE EDITION) === */ +/* clean, modern, and copy-paste friendly for all projects */ + +/* === RESET === */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +/* === VARIABLES === */ +:root { + --accent: #000; + --border: #000; + --bg: #fff; + --bg-alt: #f7f7f7; + --text: #111; + --shadow: rgba(0, 0, 0, 0.15) 3px 3px 6px; + --radius: 1em; + --max-width: 1300px; +} + +/* === PAGE === */ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Verdana, sans-serif; + background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%); + color: var(--text); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + line-height: 1.6; +} + +/* === HEADER === */ +header { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 20px 30px; + box-shadow: var(--shadow); + background: var(--bg); + width: 95%; + max-width: var(--max-width); + text-align: center; + margin-top: 25px; + transition: box-shadow 0.3s ease, transform 0.2s ease; +} + +header:hover { + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; + transform: translateY(-2px); +} + +header h1 { + font-size: 2.2rem; +} + +header h2 { + margin-top: 0.5rem; + font-weight: 400; + font-size: 1.1rem; + color: #444; +} + +/* === BOX === */ +.box { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 25px 35px; + margin-top: 25px; + background: var(--bg); + box-shadow: var(--shadow); + width: 95%; + max-width: var(--max-width); + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.box:hover { + transform: translateY(-2px); + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; +} + +/* === TEXT ELEMENTS === */ +p { + margin-bottom: 1rem; +} + +h1, h2, h3, h4 { + margin-bottom: 0.5rem; + font-weight: 600; +} + +a { + color: #000; + text-decoration: underline; + font-weight: 500; +} + +a:hover { + opacity: 0.7; +} + +/* === LISTS === */ +ul, ol { + margin: 1rem 0 1rem 1.5rem; +} + +li { + margin-bottom: 0.4rem; +} + +/* === TABLES === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1rem 0; + background: var(--bg); + border: 2px solid var(--border); + border-radius: 0.6em; + overflow: hidden; + box-shadow: var(--shadow); +} + +th, td { + padding: 10px 12px; + border-bottom: 1px solid #ccc; +} + +th { + background: var(--bg-alt); + font-weight: bold; + text-align: left; +} + +tr:hover { + background: #f2f2f2; +} + +/* === FORMS === */ +form { + display: flex; + flex-direction: column; + gap: 1.2rem; + margin-top: 1rem; +} + +fieldset { + border: 2px solid var(--border); + border-radius: 0.8em; + padding: 1.2rem 1.5rem; + background: var(--bg-alt); +} + +legend { + font-weight: bold; + color: #000; + padding: 0 0.4rem; + font-size: 1.05rem; +} + +label { + font-weight: 500; +} + +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="tel"], +textarea, +select { + width: 100%; + font-size: 1rem; + margin-top: 6px; + margin-bottom: 8px; + border: 2px solid var(--border); + border-radius: 0.5em; + padding: 0.4rem 0.5rem; + transition: all 0.2s ease; + background: var(--bg); +} + +textarea { + resize: vertical; + min-height: 100px; +} + +input:focus, +textarea:focus, +select:focus { + outline: none; + border-color: #000; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.4); + background: #f9f9f9; +} + +input[type="radio"], +input[type="checkbox"] { + accent-color: #000; + transform: scale(1.2); + margin-right: 0.3rem; +} + +/* === BUTTONS === */ +button, +input[type="submit"], +input[type="button"], +input[type="reset"] { + padding: 10px 20px; + border: 2px solid var(--border); + border-radius: 0.5em; + font-weight: bold; + font-size: 1rem; + background: linear-gradient(180deg, #fff 0%, #f2f2f2 100%); + cursor: pointer; + transition: all 0.2s ease; + align-self: flex-start; +} + +button { + width: 100%; +} + +button:hover, +input[type="submit"]:hover, +input[type="button"]:hover, +input[type="reset"]:hover { + background: #eaeaea; + box-shadow: rgba(0, 0, 0, 0.25) 3px 3px 6px; + transform: translateY(-2px); +} + +button:active, +input[type="submit"]:active, +input[type="button"]:active, +input[type="reset"]:active { + transform: translateY(0); + box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 3px; + background: #f7f7f7; +} + +/* === HR, CODE, ETC. === */ +hr { + border: 0; + border-top: 2px solid var(--border); + margin: 1.5rem 0; +} + +img { + max-width: 100%; + border-radius: 0.5em; +} + +code, pre { + background: #f4f4f4; + border: 1px solid #ccc; + border-radius: 0.4em; + padding: 0.3em 0.5em; + font-family: "Courier New", monospace; +} + +pre { + padding: 1em; + overflow-x: auto; +} + +/* === RESPONSIVE === */ +@media (max-width: 900px) { + header, .box { + width: 95%; + padding: 20px; + } + + button { + width: 100%; + } + + textarea { + width: 100%; + } +} + +@media (max-width: 600px) { + header h1 { + font-size: 1.7rem; + } + + header h2 { + font-size: 0.95rem; + } +} diff --git a/Zadania/Z75 - liczby fibonacciego iter/075.png b/Zadania/Z75 - liczby fibonacciego iter/075.png new file mode 100644 index 0000000000000000000000000000000000000000..260419c4e388ca2eba160fe360eb0236d64e85f0 GIT binary patch literal 3194 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 a!g;d_V`o8(EceATL1$!OimcXmjr~6i_WAt) literal 0 HcmV?d00001 diff --git a/Zadania/Z75 - liczby fibonacciego iter/index.php b/Zadania/Z75 - liczby fibonacciego iter/index.php new file mode 100644 index 0000000..c833264 --- /dev/null +++ b/Zadania/Z75 - liczby fibonacciego iter/index.php @@ -0,0 +1,53 @@ + + + + + + + + Z75a - Liczby Fibonacciego iteracyjnie + + + +
+

Zadanie Z75a

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla danej liczby całkowitej n wypisuje wyrazy ciągu Fibonacciego według zależności

+ Zależność Fibonacciego +

Dla n=20 program powinien wypisać: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765

+
+
+
+ + + +
+
+'; + if ($n == 0) { + echo 'F(0) = 0'; + } else if ($n == 1) { + echo 'F(1) = 1'; + } else { + $a = 0; + $b = 1; + $out = 0; + + for ($i = 0; $i <= $n; $i++) { + $out = $a; + [$a, $b] = [$b, $a + $b]; + echo 'F(' . $i . ') = ' . $out . '
'; + } + } + echo ''; +} +?> + + diff --git a/Zadania/Z75 - liczby fibonacciego iter/style.css b/Zadania/Z75 - liczby fibonacciego iter/style.css new file mode 100644 index 0000000..3eadf95 --- /dev/null +++ b/Zadania/Z75 - liczby fibonacciego iter/style.css @@ -0,0 +1,291 @@ +/* === UNIVERSAL SCHOOL TEMPLATE CSS (BLACK & WHITE EDITION) === */ +/* clean, modern, and copy-paste friendly for all projects */ + +/* === RESET === */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +/* === VARIABLES === */ +:root { + --accent: #000; + --border: #000; + --bg: #fff; + --bg-alt: #f7f7f7; + --text: #111; + --shadow: rgba(0, 0, 0, 0.15) 3px 3px 6px; + --radius: 1em; + --max-width: 1300px; +} + +/* === PAGE === */ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Verdana, sans-serif; + background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%); + color: var(--text); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + line-height: 1.6; +} + +/* === HEADER === */ +header { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 20px 30px; + box-shadow: var(--shadow); + background: var(--bg); + width: 95%; + max-width: var(--max-width); + text-align: center; + margin-top: 25px; + transition: box-shadow 0.3s ease, transform 0.2s ease; +} + +header:hover { + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; + transform: translateY(-2px); +} + +header h1 { + font-size: 2.2rem; +} + +header h2 { + margin-top: 0.5rem; + font-weight: 400; + font-size: 1.1rem; + color: #444; +} + +/* === BOX === */ +.box { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 25px 35px; + margin-top: 25px; + background: var(--bg); + box-shadow: var(--shadow); + width: 95%; + max-width: var(--max-width); + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.box:hover { + transform: translateY(-2px); + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; +} + +/* === TEXT ELEMENTS === */ +p { + margin-bottom: 1rem; +} + +h1, h2, h3, h4 { + margin-bottom: 0.5rem; + font-weight: 600; +} + +a { + color: #000; + text-decoration: underline; + font-weight: 500; +} + +a:hover { + opacity: 0.7; +} + +/* === LISTS === */ +ul, ol { + margin: 1rem 0 1rem 1.5rem; +} + +li { + margin-bottom: 0.4rem; +} + +/* === TABLES === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1rem 0; + background: var(--bg); + border: 2px solid var(--border); + border-radius: 0.6em; + overflow: hidden; + box-shadow: var(--shadow); +} + +th, td { + padding: 10px 12px; + border-bottom: 1px solid #ccc; +} + +th { + background: var(--bg-alt); + font-weight: bold; + text-align: left; +} + +tr:hover { + background: #f2f2f2; +} + +/* === FORMS === */ +form { + display: flex; + flex-direction: column; + gap: 1.2rem; + margin-top: 1rem; +} + +fieldset { + border: 2px solid var(--border); + border-radius: 0.8em; + padding: 1.2rem 1.5rem; + background: var(--bg-alt); +} + +legend { + font-weight: bold; + color: #000; + padding: 0 0.4rem; + font-size: 1.05rem; +} + +label { + font-weight: 500; +} + +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="tel"], +textarea, +select { + width: 100%; + font-size: 1rem; + margin-top: 6px; + margin-bottom: 8px; + border: 2px solid var(--border); + border-radius: 0.5em; + padding: 0.4rem 0.5rem; + transition: all 0.2s ease; + background: var(--bg); +} + +textarea { + resize: vertical; + min-height: 100px; +} + +input:focus, +textarea:focus, +select:focus { + outline: none; + border-color: #000; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.4); + background: #f9f9f9; +} + +input[type="radio"], +input[type="checkbox"] { + accent-color: #000; + transform: scale(1.2); + margin-right: 0.3rem; +} + +/* === BUTTONS === */ +button, +input[type="submit"], +input[type="button"], +input[type="reset"] { + padding: 10px 20px; + border: 2px solid var(--border); + border-radius: 0.5em; + font-weight: bold; + font-size: 1rem; + background: linear-gradient(180deg, #fff 0%, #f2f2f2 100%); + cursor: pointer; + transition: all 0.2s ease; + align-self: flex-start; +} + +button { + width: 100%; +} + +button:hover, +input[type="submit"]:hover, +input[type="button"]:hover, +input[type="reset"]:hover { + background: #eaeaea; + box-shadow: rgba(0, 0, 0, 0.25) 3px 3px 6px; + transform: translateY(-2px); +} + +button:active, +input[type="submit"]:active, +input[type="button"]:active, +input[type="reset"]:active { + transform: translateY(0); + box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 3px; + background: #f7f7f7; +} + +/* === HR, CODE, ETC. === */ +hr { + border: 0; + border-top: 2px solid var(--border); + margin: 1.5rem 0; +} + +img { + max-width: 100%; + border-radius: 0.5em; +} + +code, pre { + background: #f4f4f4; + border: 1px solid #ccc; + border-radius: 0.4em; + padding: 0.3em 0.5em; + font-family: "Courier New", monospace; +} + +pre { + padding: 1em; + overflow-x: auto; +} + +/* === RESPONSIVE === */ +@media (max-width: 900px) { + header, .box { + width: 95%; + padding: 20px; + } + + button { + width: 100%; + } + + textarea { + width: 100%; + } +} + +@media (max-width: 600px) { + header h1 { + font-size: 1.7rem; + } + + header h2 { + font-size: 0.95rem; + } +} diff --git a/Zadania/Z76 - Od A do B/index.php b/Zadania/Z76 - Od A do B/index.php index a57d665..b440d0d 100644 --- a/Zadania/Z76 - Od A do B/index.php +++ b/Zadania/Z76 - Od A do B/index.php @@ -18,10 +18,10 @@
-
-
-
-

+ + + +
diff --git a/Zadania/Z76 - Od A do B/style.css b/Zadania/Z76 - Od A do B/style.css index e2be01e..3eadf95 100644 --- a/Zadania/Z76 - Od A do B/style.css +++ b/Zadania/Z76 - Od A do B/style.css @@ -1,50 +1,291 @@ +/* === UNIVERSAL SCHOOL TEMPLATE CSS (BLACK & WHITE EDITION) === */ +/* clean, modern, and copy-paste friendly for all projects */ + +/* === RESET === */ * { box-sizing: border-box; + margin: 0; + padding: 0; } -body { - font-family: Verdana, serif; - background: #ffffff; - margin: 30px; -} -header { - border: 2px solid black; - border-radius: 1em; - padding: 20px; - box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px; - background: #f0f0f0; -} -div { +/* === VARIABLES === */ +:root { + --accent: #000; + --border: #000; + --bg: #fff; + --bg-alt: #f7f7f7; + --text: #111; + --shadow: rgba(0, 0, 0, 0.15) 3px 3px 6px; + --radius: 1em; + --max-width: 1300px; } -input { - margin-top: 10px; - width: 30%; - border: black 2px solid; + +/* === PAGE === */ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Verdana, sans-serif; + background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%); + color: var(--text); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + line-height: 1.6; +} + +/* === HEADER === */ +header { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 20px 30px; + box-shadow: var(--shadow); + background: var(--bg); + width: 95%; + max-width: var(--max-width); + text-align: center; + margin-top: 25px; + transition: box-shadow 0.3s ease, transform 0.2s ease; +} + +header:hover { + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; + transform: translateY(-2px); +} + +header h1 { + font-size: 2.2rem; +} + +header h2 { + margin-top: 0.5rem; + font-weight: 400; + font-size: 1.1rem; + color: #444; +} + +/* === BOX === */ +.box { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 25px 35px; + margin-top: 25px; + background: var(--bg); + box-shadow: var(--shadow); + width: 95%; + max-width: var(--max-width); + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.box:hover { + transform: translateY(-2px); + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; +} + +/* === TEXT ELEMENTS === */ +p { + margin-bottom: 1rem; +} + +h1, h2, h3, h4 { + margin-bottom: 0.5rem; + font-weight: 600; +} + +a { + color: #000; + text-decoration: underline; + font-weight: 500; +} + +a:hover { + opacity: 0.7; +} + +/* === LISTS === */ +ul, ol { + margin: 1rem 0 1rem 1.5rem; +} + +li { + margin-bottom: 0.4rem; +} + +/* === TABLES === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1rem 0; + background: var(--bg); + border: 2px solid var(--border); + border-radius: 0.6em; + overflow: hidden; + box-shadow: var(--shadow); +} + +th, td { + padding: 10px 12px; + border-bottom: 1px solid #ccc; +} + +th { + background: var(--bg-alt); + font-weight: bold; + text-align: left; +} + +tr:hover { + background: #f2f2f2; +} + +/* === FORMS === */ +form { + display: flex; + flex-direction: column; + gap: 1.2rem; + margin-top: 1rem; +} + +fieldset { + border: 2px solid var(--border); + border-radius: 0.8em; + padding: 1.2rem 1.5rem; + background: var(--bg-alt); +} + +legend { + font-weight: bold; + color: #000; + padding: 0 0.4rem; + font-size: 1.05rem; +} + +label { + font-weight: 500; +} + +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="tel"], +textarea, +select { + width: 100%; + font-size: 1rem; + margin-top: 6px; + margin-bottom: 8px; + border: 2px solid var(--border); border-radius: 0.5em; - height: 2em; + padding: 0.4rem 0.5rem; + transition: all 0.2s ease; + background: var(--bg); +} + +textarea { + resize: vertical; + min-height: 100px; +} + +input:focus, +textarea:focus, +select:focus { + outline: none; + border-color: #000; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.4); + background: #f9f9f9; +} + +input[type="radio"], +input[type="checkbox"] { + accent-color: #000; + transform: scale(1.2); + margin-right: 0.3rem; +} + +/* === BUTTONS === */ +button, +input[type="submit"], +input[type="button"], +input[type="reset"] { + padding: 10px 20px; + border: 2px solid var(--border); + border-radius: 0.5em; + font-weight: bold; + font-size: 1rem; + background: linear-gradient(180deg, #fff 0%, #f2f2f2 100%); + cursor: pointer; + transition: all 0.2s ease; + align-self: flex-start; } button { - padding: 5px; - width: 30%; - border: black 2px solid; + width: 100%; +} + +button:hover, +input[type="submit"]:hover, +input[type="button"]:hover, +input[type="reset"]:hover { + background: #eaeaea; + box-shadow: rgba(0, 0, 0, 0.25) 3px 3px 6px; + transform: translateY(-2px); +} + +button:active, +input[type="submit"]:active, +input[type="button"]:active, +input[type="reset"]:active { + transform: translateY(0); + box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 3px; + background: #f7f7f7; +} + +/* === HR, CODE, ETC. === */ +hr { + border: 0; + border-top: 2px solid var(--border); + margin: 1.5rem 0; +} + +img { + max-width: 100%; border-radius: 0.5em; - font-weight: bold; } + +code, pre { + background: #f4f4f4; + border: 1px solid #ccc; + border-radius: 0.4em; + padding: 0.3em 0.5em; + font-family: "Courier New", monospace; +} + pre { - font-family: Verdana, serif; + padding: 1em; + overflow-x: auto; } -.box { - border: 2px solid black; - padding: 20px; - border-radius: 1em; - margin: 10px 0 10px 0; - box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px; +/* === RESPONSIVE === */ +@media (max-width: 900px) { + header, .box { + width: 95%; + padding: 20px; + } + + button { + width: 100%; + } + + textarea { + width: 100%; + } } -.box h3 { - cursor: pointer; +@media (max-width: 600px) { + header h1 { + font-size: 1.7rem; + } + + header h2 { + font-size: 0.95rem; + } } - -