diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-05-01 14:37:59 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-05-01 14:37:59 +0200 |
| commit | a9b65defc975675c6146b80f6b7b54d22fda82ad (patch) | |
| tree | 24cb341bcc05230b374481a59987ef44b56b3bbf | |
| parent | 52b74f13ccbb990f11a10add77fc75ff34c42721 (diff) | |
| download | unterricht-a9b65defc975675c6146b80f6b7b54d22fda82ad.tar.gz unterricht-a9b65defc975675c6146b80f6b7b54d22fda82ad.zip | |
cleanup template and add blinking cursor
17 files changed, 70 insertions, 71 deletions
diff --git a/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md index a337a7f7..fd7ad4a0 100644 --- a/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md +++ b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md @@ -13,10 +13,10 @@ Vergiss nicht das Arbeitsblatt: %section% herunterzuladen. Auf unserem Weg durch das Geröllfeld liegt manchmal direkt vor uns ein Hügel. Wir müssen diese Situationen erkennen und die Berge umfahren. Dazu verwenden wir eine **bedingte Anweisung**. -_ +[_]{.blink} ::: -#### Schritt 5.1 +#### Schritt 5.1.1 ::::{.tipp style="margin-top: 1em;"} Unser Ausbildungsteam hat einen Learningsnack dazu erstellt: Learningsnack: Bedingte Anweisung. @@ -52,7 +52,7 @@ if([Bedingung]{color="magenta"})<br> :::: ::: -:::{.aufgabe data-class="Aufgabe 5.1"} +:::{.aufgabe data-class="Aufgabe 5.1.1"} ::: {.columns} :::: {.column width=50%} Der Rover soll nur dann fahren, wenn vor ihm kein Hügel ist. @@ -75,12 +75,12 @@ Mit dem Methodenaufruf `huegelVorhanden("vorne")` kannst du prüfen, ob vor dem :::: ::: -#### Schritt 5.2 +#### Schritt 5.1.2 Der Rover kann Gesteine aufheben. Um Energie zu sparen, soll er jedoch nur danach greifen, wenn auch wirklich Gestein unter ihm liegt. -:::{.aufgabe data-class="Aufgabe 5.2"} +:::{.aufgabe data-class="Aufgabe 5.1.2"} Implementiere die neue Methode `nimmGesteinFallsVorhanden()` der Klasse `Rover`. Dabei soll der Rover nur dann versuchen Gestein aufzuheben, wenn unter ihm wirklich welches ist. @@ -89,7 +89,7 @@ Dabei soll der Rover nur dann versuchen Gestein aufzuheben, wenn unter ihm wirkl :::: ::: -#### Schritt 5.3 +#### Schritt 5.1.3 ::: {.columns} :::: {.column width=65%} @@ -103,7 +103,7 @@ Ist dies der Fall, soll er sich nach rechts drehen und den Hügel umfahren. :::: ::: -:::{.aufgabe data-class="Aufgabe 5.3"} +:::{.aufgabe data-class="Aufgabe 5.1.3"} :::: {.columns} ::::: {.column width=70%} Vervollständige die entsprechende Methode `huegelUmfahren()` in der Klasse `Rover`. @@ -120,10 +120,10 @@ Vervollständige die entsprechende Methode `huegelUmfahren()` in der Klasse `Rov :::{.terminal} Unserem Wissenschafts-Team ist eben aufgefallen, dass es praktisch wäre, wenn man einfach gerade ausfahren kann, wenn *kein* Hügel vor dem Rover ist. Die Technik-Abteilung meint aber der Rover und du ihr bekommt das schon hin. -_ +[_]{.blink} ::: -#### Schritt 5.4 +#### Schritt 5.1.4 :::{.merke data-class="Merke: Bedingte Anweisung mit Alternative"} Mit einer **bedingten Anweisung mit Alternative** (*if-else-Anweisung*) werden im Gegensatz zur bedinten Anweisung im *else*-Teil alternative Anweisungen ([Anweisungen 2]{color="orange"}) ausgeführt, falls die [Bedingung]{color=Magenta} **falsch** ist. @@ -158,7 +158,7 @@ else<br> ::: ::: -:::{.aufgabe data-class="Aufgabe 5.4"} +:::{.aufgabe data-class="Aufgabe 5.1.4"} Der Rover soll nur dann fahren, wenn kein Hügel vorhanden ist. Ansonsten soll er außenrumfahren. @@ -206,14 +206,11 @@ Dann fahre am Hügel vorbei! :::: ::: -:::{.page-break} -::: - -#### Schritt 5.5 +#### Schritt 5.1.5 ::: {.columns} :::: {.column width=50%} -:::::{.aufgabe data-class="Aufgabe 5.5"} +:::::{.aufgabe data-class="Aufgabe 5.1.5"} Beschreibe nebenstehende bedingte Anweisungen mit Alternative (Code 1 und Code 2). Verwende folgende Begriffe: *if-Teil*, *else-Teil*, *Methode*, *Bedingung*, *wahr*, *falsch*. ::::: @@ -228,7 +225,7 @@ Verwende folgende Begriffe: *if-Teil*, *else-Teil*, *Methode*, *Bedingung*, *wah ::: {.columns} :::: {.column width=50%} -:::::{.aufgabe data-class="Aufgabe 5.6"} +:::::{.aufgabe data-class="Aufgabe 5.1.6"} Analysiere die Methode `wastueich()` und skizziere, wie die abgebildete Welt nach Aufruf der Methode aussieht. ::::: @@ -240,10 +237,10 @@ Analysiere die Methode `wastueich()` und skizziere, wie die abgebildete Welt nac :::: ::: -#### Zusatzaufgabe 5.1 +#### Zusatzaufgabe 5.1.1 :::{.aufgabe} -Zeichne die Struktogramme zum **Code aus Aufgabe 5.5 und 5.6**. +Zeichne die Struktogramme zum **Code aus Aufgabe 5.1.5 und 5.1.6**. Verwende dazu das Online-Tool, der Uni Dresden: <https://ddi.education/struktog/> ::: diff --git a/Info/9/3/Planet/algorithmik/if/todo.md b/Info/9/3/Planet/algorithmik/if/todo.md index 1699762b..4bdf0510 100644 --- a/Info/9/3/Planet/algorithmik/if/todo.md +++ b/Info/9/3/Planet/algorithmik/if/todo.md @@ -7,10 +7,10 @@ Doch was machen wir wenn wir unterwegs eine Entscheidung treffen müssen. Hier im hinteren Teil des Geröllfeldes lernst du: -* Wie man logische Aussagen mit einander verknüpft. * Wie du Sequenzen nur in bestimmten Situationen ausführen kannst. * Wie du eine Entscheidung in Code, als Ablaufplan und als Struktogramm darstellst. +* Wie man logische Aussagen mit einander verknüpft. -Viel Erfolg! Wir zählen auf dich! -_ +Viel Erfolg! Wir zählen auf dich! +[_]{.blink} ::: diff --git a/Info/9/3/Planet/algorithmik/if/wastueich.md b/Info/9/3/Planet/algorithmik/if/wastueich.md index 8a256a98..cbe7457d 100644 --- a/Info/9/3/Planet/algorithmik/if/wastueich.md +++ b/Info/9/3/Planet/algorithmik/if/wastueich.md @@ -6,7 +6,7 @@ section: Bedingte Anweisung :::: {.column width=70%} :::{.terminal} Skizziere die Auswirkungen der Methode `wastueich()` auf die abgebildete Welt. -_ +[_]{.blink} ::: :::: diff --git a/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md b/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md index 96f51646..6ad3c7b1 100644 --- a/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md +++ b/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md @@ -13,7 +13,7 @@ Das ist nicht nur der Name einer indonesischen Insel, sondern gleichzeitig auch Der Rover befolgt einzelne Befehle, sogenannte **Anweisungen**. **Anweisungen** können in einer nacheinander abgearbeitet werden. Eine Abfolge von **Anweisungen** nennt man eine **Sequenz**. -_ +[_]{.blink} ::: :::{.no-print} @@ -62,7 +62,7 @@ Schreibe eine Sequenz von Anweisungen, um den Rover auf die grüne Markierung zu :::{.terminal} Im Canyon angekommen, verzweigt sich der Weg. Das letzte Team hat bereits die richtige Abzweigung markiert. -_ +[_]{.blink} ::: {.center} @@ -90,7 +90,7 @@ Schreibe eine Sequenz von Anweisungen, um den Rover auf die grüne Markierung zu Sehr gut der Canyon liegt fast hinter uns. Du hast gelernt wie du den Rover durch eine **Sequenz** von **Anweisungen** kontrollierst. Im letzte Stück des Canyons müssen wir einige Kurven fahren. -_ +[_]{.blink} ::: :::{.aufgabe data-class="Aufgabe 1.3"} diff --git a/Info/9/3/Planet/algorithmik/sequenzen/todo.md b/Info/9/3/Planet/algorithmik/sequenzen/todo.md index e09801c4..e7bd6bdb 100644 --- a/Info/9/3/Planet/algorithmik/sequenzen/todo.md +++ b/Info/9/3/Planet/algorithmik/sequenzen/todo.md @@ -5,5 +5,5 @@ Hier lernst du: * Was eine Anweisung und eine Sequenz ist. * Wie du den Rover programmieren kannst. -_ +[_]{.blink} ::: diff --git a/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md b/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md index f6531bd3..5e4ff2f3 100644 --- a/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md +++ b/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md @@ -14,7 +14,7 @@ Um unser gesuchtes Mineral zu finden, wollen wir Gesteinsproben untersuchen. Der Rover kann Gestein unter sich aufnehmen, damit es später genauer analysiert werden kann. Es ist deine Aufgabe eine **Methode** zu schreiben, mit der der Rover auf das Gestein vor ihm fährt und es aufsammelt. Das letzte Team hat die folgenden Vorschläge gemacht. -_ +[_]{.blink} ::: ::: {.columns} @@ -97,7 +97,7 @@ while([Bedingung]{color="magenta"})<br> Der letzte Vorschlag unseres Teams sieht schon nicht schlecht aus. Leider ist der vorgeschlagene Code noch kein korrektes Java Programm. In Java kann das **kein** in "*kein Gestein*" durch ein Ausrufezeichen `!`{.java} ausgedrückt werden. -_ +[_]{.blink} ::: :::{.aufgabe data-class="Aufgabe 4.1"} @@ -130,7 +130,7 @@ Vergiss nicht einen Screenshot deiner Lösung abzugeben unter Planet: Aufgabe 4. :::{.terminal} Nun bist du auf dich selbst gestellt. Schaffst du die unterschiedlichen Aufgaben auf der Planetenoberfläche? -_ +[_]{.blink} ::: #### Schritt 4.1 diff --git a/Info/9/3/Planet/algorithmik/while/todo.md b/Info/9/3/Planet/algorithmik/while/todo.md index 24971e9f..a7236ddf 100644 --- a/Info/9/3/Planet/algorithmik/while/todo.md +++ b/Info/9/3/Planet/algorithmik/while/todo.md @@ -14,5 +14,5 @@ Hier im Geröllfeld lernst du: Legen wir los! -_ +[_]{.blink} ::: diff --git a/Info/9/3/Planet/karten-beschreibung.md b/Info/9/3/Planet/karten-beschreibung.md index 585d38b1..3b241723 100644 --- a/Info/9/3/Planet/karten-beschreibung.md +++ b/Info/9/3/Planet/karten-beschreibung.md @@ -1,5 +1,5 @@ :::{.terminal} Das ist die Karte des roten Planeten. Bahne dir deinen Weg von der Landung bis zur Höhle auf der anderen Seite, um die seltenen Mineralien zu bergen und die Mission abzuschließen. -_ +[_]{.blink} ::: diff --git a/Info/9/3/Planet/modellierung/landung/datentypen-quiz.md b/Info/9/3/Planet/modellierung/landung/datentypen-quiz.md index da6546f9..3d0fb4fc 100644 --- a/Info/9/3/Planet/modellierung/landung/datentypen-quiz.md +++ b/Info/9/3/Planet/modellierung/landung/datentypen-quiz.md @@ -4,7 +4,7 @@ section: Landung :::{.terminal} Kannst du dich noch an die Datentypen von Datenbanken erinnern? -_ +[_]{.blink} ::: Zurück zu TODO: %section% diff --git a/Info/9/3/Planet/modellierung/landung/modellierung.md b/Info/9/3/Planet/modellierung/landung/modellierung.md index 0411f430..c7815e57 100644 --- a/Info/9/3/Planet/modellierung/landung/modellierung.md +++ b/Info/9/3/Planet/modellierung/landung/modellierung.md @@ -4,7 +4,8 @@ title: Modellierung --- :::{.terminal} -Bevor wir los legen, müssen wir uns kurz damit beschäftigen, welche Dinge auf dem roten Planeten existieren und wie die YASA damit umgeht. +Bevor wir los legen, müssen wir uns kurz damit beschäftigen, welche Dinge auf dem roten Planeten existieren und wie die YASA damit umgeht. +[_]{.blink} ::: :::{.no-print} diff --git a/Info/9/3/Planet/modellierung/landung/online-ide.md b/Info/9/3/Planet/modellierung/landung/online-ide.md index 8b0c91d4..e94e77fa 100644 --- a/Info/9/3/Planet/modellierung/landung/online-ide.md +++ b/Info/9/3/Planet/modellierung/landung/online-ide.md @@ -53,6 +53,8 @@ Die YASA hat dir einen Zugang für die Online-IDE angelegt. :::: Bitte ändere dein Passwort per Klick auf die kleine Figur neben deinem Namen im <span style="border: solid 1px #00B2FF">Controls-Fenster</span> und notiere dir deine Login-Informationen! + +[_]{.blink} ::: #### Aufbau der Seite diff --git a/Info/9/3/Planet/modellierung/landung/todo.md b/Info/9/3/Planet/modellierung/landung/todo.md index 535dd56b..4c5d7ceb 100644 --- a/Info/9/3/Planet/modellierung/landung/todo.md +++ b/Info/9/3/Planet/modellierung/landung/todo.md @@ -4,6 +4,6 @@ Schön dass du uns auf dem roten Planeten unterstützt! Pro Bereich auf der Planetenoberfläche hast du gewissene Aufgaben zu erledigen. Diese Aufgaben werden in einer Übersicht "*TODO: \<Bereich\>*" zusammengefasst. Wenn du genug Aufgaben eines Bereiches erledigt hast, gelangst du zum Nächsten. -Eine ausführliche Einführung in die Abläufe auf dem roten Planet findest du unter: Willkommen. -_ +Eine ausführliche Einführung in die Abläufe auf dem roten Planet findest du unter: Willkommen. +[_]{.blink} ::: diff --git a/Info/9/3/Planet/modellierung/landung/welcome.md b/Info/9/3/Planet/modellierung/landung/welcome.md index 53f2676a..1ee1c93e 100644 --- a/Info/9/3/Planet/modellierung/landung/welcome.md +++ b/Info/9/3/Planet/modellierung/landung/welcome.md @@ -43,6 +43,8 @@ Wichtige Information sind als Merksätze markiert. Übertrage sie **handschriftl Die YASA verlangt oft bei Missionen, dass ein Nachweis für die Erledigung von Aufgaben eingereicht wird. Dazu reicht ein Bild/Screenshot deiner Notizen. + +[_]{.blink} ::: << Zurück zu TODO: %section% diff --git a/Info/9/3/Planet/modellierung/zwischenlager/methoden-sortieren-quiz.md b/Info/9/3/Planet/modellierung/zwischenlager/methoden-sortieren-quiz.md index d548d9f5..d9c11dab 100644 --- a/Info/9/3/Planet/modellierung/zwischenlager/methoden-sortieren-quiz.md +++ b/Info/9/3/Planet/modellierung/zwischenlager/methoden-sortieren-quiz.md @@ -3,7 +3,7 @@ section: Zwischenlager --- :::{.terminal} Welche Methoden verändern den Zustand der Welt und Welche prüfen etwas und geben das Ergebnis zurück? -_ +[_]{.blink} ::: << Zurück zu TODO: %section% diff --git a/Info/9/3/Planet/modellierung/zwischenlager/methoden-testen-quiz.md b/Info/9/3/Planet/modellierung/zwischenlager/methoden-testen-quiz.md index dd858554..a9f8596e 100644 --- a/Info/9/3/Planet/modellierung/zwischenlager/methoden-testen-quiz.md +++ b/Info/9/3/Planet/modellierung/zwischenlager/methoden-testen-quiz.md @@ -4,7 +4,7 @@ section: Zwischenlager :::{.terminal} Hast du den Rover unter Kontrolle? Dann kannst du sicher folgende Fragen zu seinem Verhalten beantworten. -_ +[_]{.blink} ::: << Zurück zu TODO: %section% diff --git a/Info/9/3/Planet/modellierung/zwischenlager/todo.md b/Info/9/3/Planet/modellierung/zwischenlager/todo.md index a2aa5636..4865f3f3 100644 --- a/Info/9/3/Planet/modellierung/zwischenlager/todo.md +++ b/Info/9/3/Planet/modellierung/zwischenlager/todo.md @@ -17,5 +17,5 @@ Hier im Zwischenlager lernst du: Aber lass uns zuerst einmal ausprobieren was der Rovers schon kann, indem wir die Methoden Testen. -_ +[_]{.blink} ::: diff --git a/Info/9/3/Planet/planet-mebis-page-template.html b/Info/9/3/Planet/planet-mebis-page-template.html index 3e4547e2..aeb79a02 100644 --- a/Info/9/3/Planet/planet-mebis-page-template.html +++ b/Info/9/3/Planet/planet-mebis-page-template.html @@ -34,12 +34,11 @@ .page-break { break-after: page; } .no-print { display: none; } .only-print { display: initial; } - + .solution { color: white; font-size: 20pt; padding: 0 5px} div.completion-info { display: none; } } - body { max-width: 80%; margin: 0 auto; @@ -145,16 +144,6 @@ code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} div.columns{display: flex; gap: min(4vw, 1.5em);} div.column{flex: auto; overflow-x: auto;} -div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} -/* The extra [class] is a hack that increases specificity enough to - override a similar rule in reveal.js */ -ul.task-list[class]{list-style: none;} -ul.task-list li input[type="checkbox"] { - font-size: inherit; - width: 0.8em; - margin: 0 0.8em 0.2em -1.6em; - vertical-align: middle; -} .display.math{display: block; text-align: center; margin: 0.5rem auto;} html { -webkit-text-size-adjust: 100%; } pre > code.sourceCode { white-space: pre; position: relative; } @@ -165,31 +154,33 @@ code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @media screen { -div.sourceCode { overflow: visible; } + div.sourceCode { overflow: visible; } } @media print { -pre > code.sourceCode { white-space: pre-wrap; } -pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } -} -pre.numberSource code -{ counter-reset: source-line 0; } -pre.numberSource code > span -{ position: relative; left: -4em; counter-increment: source-line; } -pre.numberSource code > span > a:first-child::before -{ content: counter(source-line); -position: relative; left: -1em; text-align: right; vertical-align: baseline; -border: none; display: inline-block; --webkit-touch-callout: none; -webkit-user-select: none; --khtml-user-select: none; -moz-user-select: none; --ms-user-select: none; user-select: none; -padding: 0 4px; width: 4em; -color: #aaaaaa; + pre > code.sourceCode { white-space: pre-wrap; } + pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code { counter-reset: source-line 0; } +pre.numberSource code > span { + position: relative; + left: -4em; + counter-increment: source-line; +} +pre.numberSource code > span > a:first-child::before { + content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + color: #aaaaaa; } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode { } @media screen { -pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } + pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } code span.al { color: #ff0000; font-weight: bold; } code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } @@ -220,7 +211,6 @@ code span.st { color: #4070a0; } code span.va { color: #19177c; } code span.vs { color: #4070a0; } code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } - .terminal { border: 3px solid #c8c8c8; border-radius: 8px; @@ -251,11 +241,10 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } pointer-events: none; } } - .terminal > p:first-child { margin: 0 0; } - +.solution { border-bottom: 1.5px solid black; } ::selection { background: #0080FF; text-shadow: none; @@ -303,6 +292,14 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } border-radius: 8px; background: magenta; } +.blink { + animation: blinker 1s step-start infinite; +} +@keyframes blinker { + 50% { + opacity:0; + } +} </style> </head> <body> |
