Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Beispiel - Promillerechner

Zu viel Alkohol im Blut?

Dialog: Jugendlicher: No problem! Ich habe nur Biermixgetränke getrunken.Polizist: Junger Mann, das sehe ich anders.[1]

Ist man eigentlich noch fahrtüchtig, wenn man 2 Liter eines Biermixgetränks auf einer Party getrunken hat?

Das lässt sich leicht mit einem Promillerechner überprüfen.

Berechnung der Blutalkoholkonzentration

Mit der Blutalkoholkonzentration (BAK) beschreibt man den Anteil des Alkohols im Blut. Dieser Anteil wird üblicherweise in Promille (als Gewichtsanteil g/kg) angegeben. Die Blutalkoholkonzentration spielt u.a. eine große Rolle bei der Beurteilung der Fahrtüchtigkeit, wenn man Alkohol zu sich genommen hat. Ab 0,5 Promille Blutalkoholkonzentration darf man nach der derzeitigen Rechtslage kein Kraftfahrzeug führen. Aber auch schon bei einer geringeren Blutalkoholkonzentration ist die Konzentrations- und Reaktionsfähigkeit eingeschränkt.

Die Blutalkoholkonzentration hängt von zahlreichen Faktoren ab. Sicherlich spielt die Menge an Alkohol, die man getrunken hat, eine entscheidende Rolle. Zu berücksichtigen ist dabei, wieviel (reiner) Alkohol tatsächlich im Getränk vorliegt. Zu berücksichtigen ist auch, auf wieviel Blut sich der Alkohol im Körper verteilt. Letzteres hängt u.a. vom Gewicht der Person ab, die den Alkohol getrunken hat.

Eine groben Schätzwert für die Blutalkoholkonzentration liefert die Widmark-Formel:

Formel

Dabei berechnet man die Masse des aufgenommenen Alkohols mit der folgenden Formel:

Formel

Der Reduktionsfaktor beträgt bei jungen Frauen etwa 0.6, bei jungen Männern etwa 0.7.

Weitere Informationen findet man auf der Webseite Wikipedia - Blutalkoholkonzentration.

Aufgabe 1

Anja hat 2 Liter eines Biermixgetränks zu sich genommen. Auf der Flasche des Biermixgetränks steht, dass dieses Getränk einen Alkoholvolumenanteil von 2.5% hat. Anja wiegt 50 kg.

Berechne mit Hilfe der angegebenen Formeln die Blutalkoholkonzentration in Anjas Körper. Zur Kontrolle: Die Widmark-Formel liefert einen BAK-Wert, der zwischen 1.0 und 1.5 Promille liegt.

Eine Funktion zur Berechnung der Blutalkoholkonzentration

Für die automatsierte Berechnung der Blutalkoholkonzentration soll eine Funktion entwickelt werden:

<Black-Box-Diagramm><Funktionsname>alkoholKonzentration</Funktionsname><Übergaben><Übergabe><Wert>2.0</Wert><Variable>vGetraenk</Variable></Übergabe><Übergabe><Wert>2.5</Wert><Variable>pAlkohol</Variable></Übergabe><Übergabe><Wert>50</Wert><Variable>mPerson</Variable></Übergabe><Übergabe><Wert>'w'</Wert><Variable>geschlecht</Variable></Übergabe></Übergaben><Rückgabe><Text>return</Text><Wert>1.33</Wert></Rückgabe></Black-Box-Diagramm>

Ziel ist es, eine Definition für die Funktion zu entwickeln.

Aufgabe 2

Wir betrachten zunächst die Bestimmung des Reduktionsfaktors. Für diese Bestimmung soll eine Hilfsfunktion benutzt werden. Es stehen einige Vorschläge zur Auswahl.

Vorschlag 1:

def reduktionsfaktor(geschlecht):
    if geschlecht == 'w':
        faktor = 0.6
    else:
        faktor = 0.7
    return faktor

Vorschlag 2:

def reduktionsfaktor(geschlecht):
    faktor = '?'
    if geschlecht == 'w':
        faktor = 0.6
    if geschlecht == 'm':
        faktor = 0.7
    return faktor

Vorschlag 3:

def reduktionsfaktor(geschlecht):
    if geschlecht == 'w':
        faktor = 0.6
    else:
        if geschlecht == 'm':
            faktor = 0.7
        else:
            faktor = '?'
    return faktor

Vorschlag 4:

def reduktionsfaktor(geschlecht):
    if geschlecht == 'w' or geschlecht == 'W':
        faktor = 0.6
    else:
        if geschlecht == 'm' or geschlecht == 'M':
            faktor = 0.7
        else:
            faktor = '?'
    return faktor

(a) Stelle für alle Vorschläge den Verarbeitungsablauf mit einem Flussdiagramm dar. Informiere dich vorab auf der nächsten Seite, wie ein Flussdiagramm aufgebaut ist.

Flussdiagramm - reduktionsfaktor: Übergabe: geschlecht; Rückgabe: faktor

(b) Stelle dann Vermutungen auf, was die Funktion reduktionsfaktor jeweils bei folgenden Daten als Ergebnisse liefern: 'm', 'M', 'weiblich', 'W', '?'.

(c) Überprüfe deine Vermutungen, indem du jeweils geeignete Tests durchführst.

Aufgabe 3: Eine Funktion für die Alkoholkonzentration

Entwickle eine Funktionsdefiniton für die Funktion alkoholKonzentration. Benutze die Hilfsfunktion reduktionsfaktor oder baue analog zur Hilfsfunktion eine passende Fallunterscheidung in die Funktionsdefinition ein.

Getränke zur Auswahl

Oft weiß man nicht so genau, wie hoch der Alkoholgehalt eines Getränks ist. Mit einer weiteren Hilfsfunktion sollen die benötigten Daten zur Verfügung gestellt werden.

Bier:       5.0%
Starkbier:  8.0%
Biermix:    2.5%
Cognac:    38.0%
Wodka:     42.0%

Aufgabe 4: Alkoholgehalt als Fallunterscheidung

(a) Ergänze die Funktionsdefiniton und teste sie anschließend.

def alkoholgehalt(getraenk):
    if getraenk == 'Bier':
        pAlkohol = 5.0
    else:
        if getraenk == 'Starkbier':
            pAlkohol = 8.0
        else:
            ...
    return pAlkohol

(b) Alternativ kann man die Funktionsdefiniton aus so schreiben. Ergänze und teste auch diese Funktionsdefinition.

def alkoholgehalt(getraenk):
    if getraenk == 'Bier':
        pAlkohol = 5.0
    elif getraenk == 'Starkbier':
        pAlkohol = 8.0
    ...
    return pAlkohol

Aufgabe 5: Alkoholkonzentration etwas komfortabler

Ändere die Funktion zur Bestimmung der Alkoholkonzentration so ab, dass man das Getränk und dessen Volumen sowie Masse und Geschlecht der Person zur Verarbeitung übergibt. Entwickle erst ein Black-Box-Diagramm und anschließend eine Funktionsdefinition.

Quellen

X

Fehler melden

X

Suche