diff --git a/Template/style.css b/Template/style.css index 271c842..7e91ac8 100644 --- a/Template/style.css +++ b/Template/style.css @@ -174,6 +174,7 @@ input[type="email"], input[type="password"], input[type="number"], input[type="tel"], +input[type="date"], textarea, select { width: 100%; diff --git a/Zadania/Z111 - ramka ze znaków/index.php b/Zadania/Z111 - ramka ze znaków/index.php new file mode 100644 index 0000000..7bada48 --- /dev/null +++ b/Zadania/Z111 - ramka ze znaków/index.php @@ -0,0 +1,67 @@ + + + + + + + Z111 - Ramka ze znaków + + + +
+

Zadanie Z111

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który rysuje ramkę według podanego schematu, gdzie a oznacza szerokość, a b wysokość ramki. Ramka powinna składać się wyłącznie z znaków pionowych (|) dla wszystkich krawędzi, z wypełnieniem spacjami wewnątrz. Użytkownik podaje a i b w formularzu, a program weryfikuje, czy wartości są liczbami całkowitymi dodatnimi. Dla przypadku a=1 i b=1 ramka powinna być pojedynczym znakiem |.

+

Wskazówki dla ucznia:

+ +
+
+
+
+ Wymiary ramki: + + + + +
+ +
+
+'; + echo "

Szerokość (a): $a
Wysokość (b): $b
Rezultat:

"; + echo '
';
+    if ($a > 0 && $b > 0) {
+        if ($a == 1 && $b == 1) {
+            echo '|';
+        } elseif ($b == 1) {
+            echo str_repeat('|', $a);
+        } elseif ($a == 1) {
+            for ($i = 0; $i < $b; $i++) {
+                echo "|\n";
+            }
+        } else {
+            echo str_repeat('|', $a) . "\n";
+            for ($i = 0; $i < $b - 2; $i++) {
+                echo '|' . str_repeat(' ', $a - 2) . "|\n";
+            }
+            echo str_repeat('|', $a);
+        }
+    }
+    echo '
'; +} +?> + + diff --git a/Zadania/Z111 - ramka ze znaków/style.css b/Zadania/Z111 - ramka ze znaków/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z111 - ramka ze znaków/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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/Z112 - ile dni do daty/index.php b/Zadania/Z112 - ile dni do daty/index.php new file mode 100644 index 0000000..9fe7377 --- /dev/null +++ b/Zadania/Z112 - ile dni do daty/index.php @@ -0,0 +1,41 @@ + + + + + + + + Z112 - Ile dni do daty + + + +
+

Zadanie Z112

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla podanej daty wypisuje ile dni dzieli dzisiejszy dzień i tą datę. W przypadku daty z przeszłości podaje wartość z minusem.

+
+
+
+
+ + +
+ +
+
+'; + echo "Wybrana data: $data
"; + echo "Dzisiejsza data: " . date('Y-m-d') . "
"; + echo "Ile dni: " . (strtotime($data) - strtotime('today')) / 86400; + echo ''; + } +?> + + diff --git a/Zadania/Z112 - ile dni do daty/style.css b/Zadania/Z112 - ile dni do daty/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z112 - ile dni do daty/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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/Z113 - diament z cegiełek/index.php b/Zadania/Z113 - diament z cegiełek/index.php new file mode 100644 index 0000000..097ae59 --- /dev/null +++ b/Zadania/Z113 - diament z cegiełek/index.php @@ -0,0 +1,54 @@ + + + + + + + + Z113 - Diament z cegiełek + + + +
+

Zadanie Z113

+

Autor: Jakub Grzegorczyk

+
+
+

Program rysuje na stronie figurę w kształcie diamentu. Danymi wejściowymi są:

+ +
+
+
+
+ + + + +
+ +
+
+'; + echo ''; + for ($i = 0; $i < $mostBricks; $i++) { + echo str_repeat($brick, $i + 1) . '
'; + } + for ($i = $mostBricks - 2; $i >= 0; $i--) { + echo str_repeat($brick, $i + 1) . '
'; + } + echo '
'; + echo ''; +} +?> + + diff --git a/Zadania/Z113 - diament z cegiełek/style.css b/Zadania/Z113 - diament z cegiełek/style.css new file mode 100644 index 0000000..7e67213 --- /dev/null +++ b/Zadania/Z113 - diament z cegiełek/style.css @@ -0,0 +1,298 @@ +/* === 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; +} + +.box > :last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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/Z69 - liczby od a do 100000/index.php b/Zadania/Z69 - liczby od a do 100000/index.php new file mode 100644 index 0000000..650cd3f --- /dev/null +++ b/Zadania/Z69 - liczby od a do 100000/index.php @@ -0,0 +1,55 @@ + + + + + + + Z69 - Liczby od A do 100000 + + + +
+

Zadanie Z69

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla liczby całkowitej A <100.000 podanej przez użytkownika wyświetla liczby od A do 100.000. Program powinien przyjmować dane z formularza, weryfikować, czy A jest liczbą całkowitą mniejszą od 100.000, a następnie wyświetlać wszystkie liczby w zakresie od A do 100.000 w czytelny sposób (np. w pionowej liście lub oddzielone przecinkami).

+

Wskazówki dla ucznia:

+ +
+
+
+
+ Liczba początkowa: + + +
+ +
+
+'; + echo "Liczby od $a do 100000:
"; + echo ''; + echo ''; + } else { + echo "
A jest większe od 100000 lub nie jest liczbą całkowitą!
"; + } +} +?> + + diff --git a/Zadania/Z69 - liczby od a do 100000/style.css b/Zadania/Z69 - liczby od a do 100000/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z69 - liczby od a do 100000/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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/Z72 - liczby A do 100/index.php b/Zadania/Z72 - liczby A do 100/index.php new file mode 100644 index 0000000..14e56b2 --- /dev/null +++ b/Zadania/Z72 - liczby A do 100/index.php @@ -0,0 +1,40 @@ + + + + + + + Z72 - Liczby A do 100 + + + +
+

Zadanie Z72

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla podanej liczby całkowitej A, wyświetla liczby od 1 do A oddzielone średnikami o ile liczba A jest mniejsza od 100 w przypadku liczby większej wyświetla liczby jedynie do 100 i kończy działanie.

+
+
+
+
+ + +
+ +
+
+'; + for ($i = 1; $i <= $a; $i++) { + echo "$i "; + if ($i == 100) { break; } + } + echo ''; +} +?> + + diff --git a/Zadania/Z72 - liczby A do 100/style.css b/Zadania/Z72 - liczby A do 100/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z72 - liczby A do 100/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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/Z73 - parzyste do a/index.php b/Zadania/Z73 - parzyste do a/index.php new file mode 100644 index 0000000..cf5ceca --- /dev/null +++ b/Zadania/Z73 - parzyste do a/index.php @@ -0,0 +1,43 @@ + + + + + + + + Z73 - Parzyste do A + + + +
+

Zadanie Z73

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla podanej liczby A większej od 1 wyświetla liczby parzyste od 1 do A włącznie, oddzielone średnikami.

+
+
+
+
+ + +
+ +
+
+'; + echo "

Liczby parzyste od 1 do $a

"; + echo '

'; + for ($i = 2; $i <= $a; $i += 2) { + echo "$i "; + } + echo '

'; +} +?> + + diff --git a/Zadania/Z73 - parzyste do a/style.css b/Zadania/Z73 - parzyste do a/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z73 - parzyste do a/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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/Z75a - liczby fibonacciego iter/075.png similarity index 100% rename from Zadania/Z75 - liczby fibonacciego iter/075.png rename to Zadania/Z75a - liczby fibonacciego iter/075.png diff --git a/Zadania/Z75 - liczby fibonacciego iter/index.php b/Zadania/Z75a - liczby fibonacciego iter/index.php similarity index 100% rename from Zadania/Z75 - liczby fibonacciego iter/index.php rename to Zadania/Z75a - liczby fibonacciego iter/index.php diff --git a/Zadania/Z75 - liczby fibonacciego iter/style.css b/Zadania/Z75a - liczby fibonacciego iter/style.css similarity index 100% rename from Zadania/Z75 - liczby fibonacciego iter/style.css rename to Zadania/Z75a - liczby fibonacciego iter/style.css diff --git a/Zadania/Z75b - liczby fibonacciego rek/075.png b/Zadania/Z75b - liczby fibonacciego rek/075.png new file mode 100644 index 0000000..260419c Binary files /dev/null and b/Zadania/Z75b - liczby fibonacciego rek/075.png differ diff --git a/Zadania/Z75b - liczby fibonacciego rek/index.php b/Zadania/Z75b - liczby fibonacciego rek/index.php new file mode 100644 index 0000000..1d4052a --- /dev/null +++ b/Zadania/Z75b - liczby fibonacciego rek/index.php @@ -0,0 +1,51 @@ + + + + + + + Z75b - Liczby Fibonacciego rekurencyjnie + + + +
+

Zadanie Z75b

+

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

+
+
+
+
+ + +
+ +
+
+'; + $ciag_fib = array(); + for ($i = 0; $i <= $n; $i++) { + $ciag_fib[] = fib($i); + } + for ($i = 0; $i < sizeof($ciag_fib); $i++) { + echo 'F(' . $i . ') = ' . $ciag_fib[$i] . '
'; + } + echo ''; +} +?> + + diff --git a/Zadania/Z75b - liczby fibonacciego rek/style.css b/Zadania/Z75b - liczby fibonacciego rek/style.css new file mode 100644 index 0000000..271c842 --- /dev/null +++ b/Zadania/Z75b - liczby fibonacciego rek/style.css @@ -0,0 +1,298 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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/Z79 - wzór parzysty/index.php b/Zadania/Z79 - wzór parzysty/index.php new file mode 100644 index 0000000..64e5f22 --- /dev/null +++ b/Zadania/Z79 - wzór parzysty/index.php @@ -0,0 +1,43 @@ + + + + + + + + + + + +
+

Zadanie ---

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który dla parzystej liczby A wyświetla wzór, a dla liczby nieparzystej informację: "Liczba nieparzysta".

+
+
+
+
+ + +
+ +
+
+'; + if ($a % 2 == 0) { + return; + } else { + echo "Liczba $a jest nieparzysta"; + } +} +?> + + diff --git a/Zadania/Z79 - wzór parzysty/style.css b/Zadania/Z79 - wzór parzysty/style.css new file mode 100644 index 0000000..7e91ac8 --- /dev/null +++ b/Zadania/Z79 - wzór parzysty/style.css @@ -0,0 +1,299 @@ +/* === 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; +} + +.box > p:last-child { + margin-bottom: 0; +} + +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.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +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"], +input[type="date"], +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; + } +}