Skip to content

Latest commit

 

History

History
300 lines (197 loc) · 7.66 KB

MATERIAL-LEHRKRAEFTE.md

File metadata and controls

300 lines (197 loc) · 7.66 KB

Material für Lehrkräfte

Musterlösung zu den Aufgaben

Bitte schreibe mir - Quinn Li (sie/ihr) - unter [email protected] um die Musterlösung zu Aufgaben im Selbst-Lern-Pfad zu erhalten.

Dokumentation

Eine Übersicht über den Funktionsumfang und die Befehle findest du in der Dokumentation.

Inspiration

Besuche die Galerie freigegebener Aufgaben.

Windows-Installer

Lade dir die aktuellste Robot.Karol.Online_x.x.x_x64_de-DE.msi unter dem neusten Release herunter, um Robot Karol auch offline zu nutzen.

Einstieg mit Python

Es gibt für den Einstieg einen Pythonkurs mit Robot Karol Online mit dem gleichen Funktionsumfang wie die Blöcke.






Karol x Python

grafik

Darüber hinaus stehen im Python Pro Modus viele weitere Standard-Python-Funktionen zur Verfügung. Hier findest du eine Sammlung an Beispielen. Viel Spaß beim Ausprobieren!




Würfel

Gerade kein Würfel zur Hand? Dann lasse dir doch von Karol helfen.

grafik

https://karol.arrrg.de/#QDWY

import random

karol = Robot()

num = random.randint(1, 6)

def kehreZurück():
    < ... >

if num == 1:
    karol.schritt(3)
    karol.linksDrehen()
    karol.schritt(3)
    karol.markeSetzen()
    kehreZurück()
elif num == 2:
   < ... >
elif num == 3:
  < ... >




Burg in Wunschgröße

Wer schon immer einmal mit Karol reden wollte: hier ist die Gelegenheit, mit Karol zusammen eine Burg zu bauen.

grafik

https://karol.arrrg.de/#9U7T

karol = Robot()

seitenlänge = int(input("Wie groß darf die Burg sein? (3 - 13)"))

if seitenlänge < 3 or seitenlänge > 13:
    print("Größe nicht unterstützt :(")
else:
    print("Baue eine Burg der Größe " + str(seitenlänge))
    # Schritt 1: Burg zentrieren
    offset = (15 - seitenlänge) / 2
    karol.schritt(offset)
    karol.linksDrehen()
    karol.schritt(offset - 1)
    # Karol steht jetzt vor dem ersten Feld
    for i in range(4):
        for j in range(seitenlänge):
            karol.hinlegen(2)
            karol.rechtsDrehen()
            karol.schritt()
            karol.linksDrehen()
        karol.schritt()
        if i != 3:
            karol.linksDrehen()




Begrüßung

Jetzt möchte Karol mit dir reden. Sag ihr deinen Namen und dann begrüßt sie dich.

grafik

https://karol.arrrg.de/#6YYK

karol = Robot()

karol.linksDrehen(5)

name = input("Wie heißt du?")

karol.schritt(4)
karol.rechtsDrehen()
karol.schritt(4)
karol.markeSetzen()

print("Hallo " + name + " :)")




Minimum und Maximum

Dieses Beispiel geht mehr in Richtung der "großen" Informatik. Karol sucht in einer Liste mithilfe einer einfachen Iteration das größte und kleinste Element. Die Welt dient als Fortschrittsbalken und zu Veranschaulichung der Iteration.

grafik

https://karol.arrrg.de/#HPHP

karol = Robot()

print("Suche Minimum und Maximum:")

liste = [12, -2, 34, 46, 36, 97, 128, 455, 349, 342]

min = liste[0]
max = liste[0]

for el in liste:
    if el < min:
        min = el
    if el > max:
        max = el
    karol.schritt()

print("Das Minimum ist " + str(min))
print("Das Maximum ist " + str(max))




Uhr

Jede Minute aktualisiert die Marken auf dem Feld, so dass immer die aktuelle Zeit zu sehen ist.

grafik

https://karol.arrrg.de/#SKM3

< ... >

from datetime import datetime

# Store previous digits to update only when necessary
prev_digits = [None, None, None, None]

while True:
    now = datetime.now()
    hour = now.hour
    minute = now.minute

    # Split current time into individual digits: [H tens, H ones, M tens, M ones]
    current_digits = [hour // 10, hour % 10, minute // 10, minute % 10]

    # Only update the digit if it has changed since last drawn
    for pos in range(4):
        if current_digits[pos] != prev_digits[pos]:
            drawDigit(pos, current_digits[pos])
            prev_digits[pos] = current_digits[pos]
    
    # Wait before checking the time again
    karol.markeLöschen()




Wetterfee

Über das Internet kann Karol auf viele Informationen zugreifen - wie z.B. das Wetter!

grafik

https://karol.arrrg.de/#R4TA

import asyncio
from pyodide.http import pyfetch

async def get_weather(location):
    url = f"https://api.openweathermap.org/data/2.5/weather?q={location}&appid=< ... >&units=metric"
    response = await pyfetch(url)
    return await response.json()

< ... >




Mathe-Quiz

Teste deine Mathe-Skills mit diesem kleinen Quiz.

grafik

https://karol.arrrg.de/#TFXV

import random

karol = Robot()

print("Willkommen beim Mathe-Quiz.")

karol.schritt(2)
karol.linksDrehen()

correct = 0

for i in range(7):
    a = random.randint(3, 99)
    b = random.randint(3, 99)
    antwort = int(input("Was ergibt " + str(a) + " + " + str(b) + "?"))
    if a + b == antwort:
        correct += 1
        karol.schritt()
        karol.markeSetzen()
    else:
        karol.hinlegen()
        karol.schritt()
    karol.schritt()

karol.rechtsDrehen(5)

print("Du hast " + str(correct) + " von 7 Aufgaben richtig beantwortet.")




Fernsteuerung

Über das integrierte Modul RobotKarolOnline können Tasten registriert und abgefragt werden - die Grundlage für interaktive Programme!

tasteRegistrieren(taste, beschreibung) muss vor der Verwendung aufgerufen werden und bereitet in der UI alles vor. Die Taste ist ein key-Wert. Die Beschreibung wird beim Rüberfahren der Maus angezeigt. Danach kann mit tasteGedrückt(taste) abgefragt werden, ob die vorher registrierte Taste gerade gedrückt ist.

grafik

https://karol.arrrg.de/#EEZZ

from RobotKarolOnline import tasteRegistrieren, tasteGedrückt

karol = Robot()

tasteRegistrieren("w", "Schritt")
tasteRegistrieren("a", "LinksDrehen")
tasteRegistrieren("d", "RechtsDrehen")
tasteRegistrieren("e", "Hinlegen")
tasteRegistrieren("q", "Aufheben")

while True:
    if tasteGedrückt("w") and not karol.istWand():
        karol.schritt()
    if tasteGedrückt("a"):
        karol.linksDrehen()
    if tasteGedrückt("d"):
        karol.rechtsDrehen()
    if tasteGedrückt("e") and not karol.istWand():
        karol.hinlegen()
    if tasteGedrückt("q") and karol.istZiegel():
        karol.aufheben()




Tetris

Alle Zutaten sind zusammen! Spiele Tetris innerhalb von Robot Karol. Nützlich? Nicht wirklich, hat aber Spaß beim Programmieren gemacht.

grafik

https://karol.arrrg.de/#CDBV