lehrkraefte:snr:informatik:glf22:python:if-else

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:python:if-else [2022/09/26 17:38]
Olaf Schnürer [if-(else-)-statements sind Kontrollstrukturen]
lehrkraefte:snr:informatik:glf22:python:if-else [2022/12/01 18:39] (current)
Olaf Schnürer [Bonus-Material]
Line 87: Line 87:
  
 <WRAP center round todo> <WRAP center round todo>
-Ist eine Jahreszahl durch 4 teilbar, so handelt es sich um ein Schaltjahr, es sei denn, die Jahreszahl ist durch 100, aber nicht durch 400 teilbar, +ACHTUNGDie Aufgabe ist von der Logik her relativ kompliziert; der erste Hinweis entschärft dieses Problem.
-vgl. +
-https://de.wikipedia.org/wiki/Schaltjahr#Gregorianischer_Kalender.+
  
-Ersetze die Fragezeichen im folgenden Python-Programm durch einen booleschen Ausdruck, so dass es korrekt ausgibt, ob die Eingabe ein bzw. kein Schaltjahr ist. Teste deine Vermutung durch Eingabe der Jahreszahlen 7, 32, 300, 400.+Ist eine Jahreszahl durch 4 teilbar, so handelt es sich um ein Schaltjahr, es sei denn, die Jahreszahl ist durch 100, aber nicht durch 400 teilbar.  
 + 
 +(Diese komplizerte Regel sorgt grob gesagt dafür, dass die Frühlingstagundnachtgleiche immer am selben Tag des Kalenderjahres stattfindet, nämlich dem 21. März; für genauere Informationen siehe https://de.wikipedia.org/wiki/Schaltjahr#Gregorianischer_Kalender.) 
 + 
 +Ersetze die Fragezeichen im folgenden Python-Programm durch einen booleschen Ausdruck, so dass es korrekt ausgibt, ob die Eingabe ein Schaltjahr ist oder nicht. Teste deine Vermutung durch Eingabe der Jahreszahlen 7, 32, 300, 400.
  
 <code python schaltjahr.py> <code python schaltjahr.py>
Line 148: Line 150:
   * //bedingte Anweisung// statt //if-statement//, da eine Anweisung (oder ein Block von Anweisungen) nur unter einer Bedingung durchgeführt wird;   * //bedingte Anweisung// statt //if-statement//, da eine Anweisung (oder ein Block von Anweisungen) nur unter einer Bedingung durchgeführt wird;
   * //Verzweigung// statt //if-else-statement//, da der Programmablauf verzweigt (zwei mögliche Wege), am Ende kommen sie aber wieder zusammen; vgl. [[https://de.wikipedia.org/wiki/Bedingte_Anweisung_und_Verzweigung|bedingte Anweisung und Verzweigung]] (dort ist auch ein "Aktivitätsdiagramm", das den Begriff //Verzweigung// gut illustriert);   * //Verzweigung// statt //if-else-statement//, da der Programmablauf verzweigt (zwei mögliche Wege), am Ende kommen sie aber wieder zusammen; vgl. [[https://de.wikipedia.org/wiki/Bedingte_Anweisung_und_Verzweigung|bedingte Anweisung und Verzweigung]] (dort ist auch ein "Aktivitätsdiagramm", das den Begriff //Verzweigung// gut illustriert);
-  * //if-Selektion// oder //if-Auswahl// statt if-statement (da ein Codenblock nur dann ausgewählt und ausgeführt wird, wenn die sogenannte if-Bedingung zutrifft);+  * //if-Selektion// oder //if-Auswahl// statt if-statement (da ein Codeblock nur dann ausgewählt und ausgeführt wird, wenn die sogenannte if-Bedingung zutrifft);
   * if-(else-)Anweisung statt if-(else-)statement;   * if-(else-)Anweisung statt if-(else-)statement;
   * etc.   * etc.
Line 351: Line 353:
  
  
-===== Aufgabe: Lineare Gleichungen (in Standardform) am Computer lösen =====+===== Aufgabe: Lineare Gleichungen (in Standardform) vom Computer lösen lassen =====
  
 <WRAP round todo> <WRAP round todo>
-(1) Schreibe ein Programm, dass vom Benutzer zwei Zahlen $a$ und $b$ einliest. Das Programm soll ausgegeben, wie viele Lösungen die (lineareGleichung $ax+b=0$ hat. Danach sollen alle Lösungen ausgegeben werden.+(1) Schreibe ein Programm, dass vom Benutzer zwei Zahlen $a$ und $b$ einliest. Das Programm soll ausgegeben, wie viele Lösungen die lineare Gleichung $ax+b=0$ hat. Danach sollen alle Lösungen ausgegeben werden.
  
 Alle Spezialfälle sind zu behandeln (denke an Fälle wie $0X+2=0$ und $0X+0=0$). Alle Spezialfälle sind zu behandeln (denke an Fälle wie $0X+2=0$ und $0X+0=0$).
Line 380: Line 382:
     print("Die Gleichung hat genau eine Lösung, nämlich " + str(-b/a) + ".")     print("Die Gleichung hat genau eine Lösung, nämlich " + str(-b/a) + ".")
 elif b!= 0: elif b!= 0:
-    print("Die Gleinung hat keine Lösung.")+    print("Die Gleichung hat keine Lösung.")
 else: else:
     print("Die Gleichung hat jede reelle Zahl als Lösung.")</code>      print("Die Gleichung hat jede reelle Zahl als Lösung.")</code> 
Line 403: Line 405:
 Stell dir selbst ein Problem, das du mit den bereits vorhandenen Programmierkenntnissen lösen kannst. Stell dir selbst ein Problem, das du mit den bereits vorhandenen Programmierkenntnissen lösen kannst.
  
-Wenn du es mir mitteilst und es mir gefällt, nehme ich es gerne (mit Angabe des Autors bzw. der Autorin) in diesen Kurs auf!+Wenn du es mir mitteilst und es mir gefällt, nehme ich es gerne (je nach Wunsch mit oder ohne Angabe des Autors bzw. der Autorin) in diesen Kurs auf!
 </WRAP> </WRAP>
  
  • lehrkraefte/snr/informatik/glf22/python/if-else.1664206717.txt.gz
  • Last modified: 2022/09/26 17:38
  • by Olaf Schnürer