Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Programmieraufgabe » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Programmieraufgabe
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Peter01
Grünschnabel


Dabei seit: 26.04.2018
Beiträge: 1

Programmieraufgabe Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
26.04.2018 18:36 Peter01 ist offline E-Mail an Peter01 senden Beiträge von Peter01 suchen Nehmen Sie Peter01 in Ihre Freundesliste auf
InformaticFreak InformaticFreak ist männlich
Grünschnabel


images/avatars/avatar-81.png

Dabei seit: 06.12.2018
Beiträge: 2
Herkunft: Deutschland

RE: Programmieraufgabe Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von InformaticFreak: 06.12.2018 23:18.

06.12.2018 23:14 InformaticFreak ist offline Homepage von InformaticFreak Beiträge von InformaticFreak suchen Nehmen Sie InformaticFreak in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » Programmieraufgabe