Programmieraufgabe

Neue Frage »

Auf diesen Beitrag antworten »
Peter01 Programmieraufgabe

Meine Frage:
Hallo,

Ich brauche bei folgender Aufgabe Unterstützung. Ich verstehe leider nicht, wie mein Prof auf seine Lösungen kam. Kann mir bitte jemand gut erklären ?



Aufgabe:

n = Input("Zahl eingeben: ")
z = 1


for i in range (1,n,2):
if i == 6:

z = z-i

else:
z = z * i

print ("Ergebnis: " + str(z))



a)Welches Ergebnis erhalten Sie, wenn der Benutzer die Zahl 8 eingibt ?
b)Welches Ergebnis erhalten Sie, wenn der Benutzer die Zahl 9 eingibt ?
c)Ersetzen Sie die Zählschleife("for...") durch eine while Schleife.



Meine Ideen:
a)Schritte: z=1, n=8, i=1
z=3, n=8, i=3
z=15,n=8, i=5
z=105,n=8,i=7
b)Schritte: siehe a (wegen 2 er Schritten)

c) While Schleife:

i=1
while i<n:
if i ==6:
else:
z=z*i
i=i+2
 
Auf diesen Beitrag antworten »
InformaticFreak RE: Programmieraufgabe

Hallo Peter01,

der gestellte Pseude-Code lässt sich relativ einfach in Python-Code umwandeln. Das sieht dann folgendermaßen aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
n = (AUSGANGSZAHL)
z = 1
for i in range(1,n,2):
        if i == 6:
                z = z - i
        else:
                z = z * i
print("Ergebnis: ", z)


a) n = 8; Ergebnis: 105
b) n = 9; Ergebnis: 11025

Bei Aufgabe c ist die While-Schleife richitg angewendet, nur der Code ist noch ein wenig fehlerhaft. Zum Testen in Python sieht das dann so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
n = (AUSGANGSZAHL)
z = 1
i = 1
while i < n:
        if i == 6:
                z = z - i
        else:
                z = z * i
        i = i + 2
print("Ergebnis: ", z)


Ich hoffe ich konnte dir helfen.
Mehr zu Informatik findest du auf meinem YouTube-Kanal: InformaticFreak.

InformaticFreak
 
Neue Frage »
Antworten »


Verwandte Themen