ich habe meine Informatikklausur zurück bekommen und habe das Gefühl das mein Lehrer diese falsch korrigiert hat. Leider lässt er da wenig mit sich reden.
Wie er beim Code geschrieben hat, passen mein Programmablaufplan und Struktogramm wohl nicht zum Code. Das sehe ich anders.
Dann meinte er noch das meine Lösung sowieso nicht richtig ist und niemand das so machen würde weil ich ja keine zwei for-Schleifen benutzt habe um die Potenz zu berechnen Mitdenken ist anscheinend also auch nicht gewünscht. Ich habe mir halt ne Hilfsvariable genommen und es über die gleiche Schleife laufen lassen.
Dann hat er bemängelt das ich im Struktogramm und Ablaufplan keine Fußgesteuerte Schleife benutzt habe. Dabei soll mein Struktogramm am Ende doch zum Code passen Naja auch wenn wir im Unterricht mehrfach durchgekaut haben das es diese in Python nicht gibt hat er nie bemängelt wenn ich ne Kopfgesteuerte eingezeichnet habe, außer jetzt in der Klausur.
Weiterhin habe ich noch Punktabzug bekommen weil ich bei Structorizer einfach meine Daten eingetragen habe und nicht den kompletten automatisch erstellten Text geändert habe. Benutzen wir nicht extra dafür so ein Programm ?
Und manche Sachen hat er als falsch angestrichen weil er sie nicht verstanden hat. Wie zb. den Teil am Ende wo ich abfrage ob der Benutzer das Programm beenden möchte und warum ich Basis und Exponent vor der Schleife definiere.
Achso und was das while True: bedeutet hat er auch nicht so ganz verstanden XD.
Da ich mir nicht sicher bin ob die Bilder jetzt laden oder nicht hier nochmal der Ori-Text der Aufgabenstellung:
Code: Alles auswählen
Wichtig: Bewertet werden nur die Dateien! Sorgen Sie also für eine regelmäßige, richtige Speicherung.
allein sie sind für die Speicherung verantwortlich, denn bei Verlust zählt die Arbeit als nicht abgegeben und als ungenügend. Benennen Sie die Dateien mit ihrem Nachnamen Aufgabennummer und speichern Sie auf dem USB-Stick
Sie sollen ein Programm erstellen, mit dem man eine beliebige Potenz aus einer ganzen Zahl berechnen kann. Es wurden schon erste Überlegungen zu den Begrifflichkeiten getätigt Die Zahl, von der die Potenz berechnet werden soll, heißt Basis.
Die Hochzahl, die zeigt, wie oft die Basis miteinander multipliziert wird, heißt Exponent Das Ergebnis wird als Potenz bezeichnet.
Aufgabe 1:
Schreiben sie ein Programmablaufplan und ein Struktogramm für ein Programm, mit dem Sie die n'te Potenz zu einer Zahl X errechnen können.
Zur Ermittlung der Potenz soll eine gezählte Wiederholungsschleife verwendet werden Beachten Sie auch die Besonderheit, wenn eine Zahl hoch 0 gerechnet wird (dann ist das Ergebnis als.1 definiert, egal, wie die Basis ist).
Wenn ich als Exponent eine negative Zahl eingebe, funktioniert die Zahlschleife nicht mehr Man kann aber die Zählschleife rückwärts zählen lassen (in Schleifenbedingung schreiben: Zähler-1
Wie könnte ich das Programm ergänzen, damit auch hier das richtige Ergebnis herauskommt (Achtung negativer Exponent bedeutet potenzieren mit dem positiven Exponenten und dann noch mal 1/Ergebnis rechnen)
Hinweis: Auf dem Taschenrechner sieht die Taste so aus: Yoder oder X^Y
Das Programm soll erst beendet werden, wenn dieses abgefragt und eingegeben wurde
Aufgabe 2:
Schreiben sie das Programm in Python, mit dem Sie die n'te Potenz zu einer Zahl X berechnen können.
(Bedingungen siehe Aufgabe 1).
Code: Alles auswählen
#Begrüßung/Programmstart
print("Willkommen zuu meinem Exponenten-Rechner")
#festlegen von Variablen
basis = 1
exponent = 1
while True: #Programmhauptschleife
#erneutes festlegen von Variablen
potenz = 1
negativer_exponent = False
#Benutzerabfragen
basis = int(input("Geben sie die Basis ein: "))
exponent = int(input("Geben sie den Exponenten ein: "))
#Berechnung der Potenz
if exponent != 0:
if exponent < 0:
exponent *= -1
negativer_exponent = True
for i in range(1, exponent + 1):
potenz *= basis
if negativer_exponent == True:
potenz = 1/potenz
#Ausgabe des Ergebniss
print(potenz)
#Abfrage des Neustarts
if input("Möchten sie das Programm beenden [j/n]? ").lower() == "j":
print("Auf Wiedersehen")
break
#Programm Ende
else:
continue
#Programm wiederholen
Code: Alles auswählen
#Begrüßung/Programmstart
print("Willkommen zuu meinem Exponenten-Rechner")
#festlegen von Variablen
basis = 1
exponent = 1
while True: #Programmhauptschleife
#erneutes festlegen von Variablen
potenz = 1
negativer_exponent = False
#Benutzerabfragen
basis = int(input("Geben sie die Basis ein: "))
exponent = int(input("Geben sie den Exponenten ein: "))
#Berechnung der Potenz
if exponent != 0:
if exponent > 0:
for i in range(1, exponent + 1, 1):
potenz *= basis
else:
for i in range(exponent - 1, -1, 1):
potenz *= basis
potenz = 1/potenz
#Ausgabe des Ergebniss
print(f"Die Potenz ist: {potenz}")
#Abfrage des Neustarts
if input("Möchten sie das Programm beenden [j/n]? ").lower() == "j":
print("Auf Wiedersehen")
break
#Programm Ende
else:
continue
#Programm wiederholen