import Foundation

/* Bei den Jahreszahlen handelt es sich um ganzzahlige Zahlen. Zum Speicher der 
   Jahreszahl wird die Variable jahr deklariert. */ 

var jahr : Int

/* Hierbei geht es darum zu entscheiden, ob das Jahr ein Schaltjahr ist oder 
   nicht, daher wird für das Ergebnis eine boolesche Variable verwendet, da 
   diese nur die Werte richtig oder falsch besitzt. Im Folgenden wird daher 
   die boolesche Variable schaltjahr deklariert. */ 

var schaltjahr : Boolean

print("Geben Sie die Jahreszahl an:")
jahr = Int(readLine()!)!

// Im ersten Schritt wird geprüft, ob die Jahreszahl größer gleich 0 ist.
if jahr <= 0 {
    print("Bitte geben Sie nur eine Jahreszahl größer 0 an.")
} else {
    
    /* Um zu bestimmen, ob ein Jahr ein Schaltjahr ist, gibt es folgende 
       Möglichkeiten.
       - Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 4 teilbar, aber 
       nicht durch 100 teilbar ist. 
       - Ein Jahr ist auch ein Schaltjahr, wenn die Jahreszahl durch 400 teilbar
       ist. 
       Das lässt formal so schreiben:
       Wenn die Jahreszahl durch 4 teilbar ist UND nicht durch 100 ODER wenn die 
       Jahreszahl durch 400 teilbar ist.
    */
 
    /* Vereinfacht formuliert, von den Jahrhundert Jahreszahlen abgesehen  
       (teilbar durch 100), ist jedes vierte Jahr (Teilbarkeit durch vier) ein 
       Schaltjahr. Und bei den Jahrhunderten Jahreszahlen ist nur jedes vierte 
       (Teilbarkeit durch 400) ein Schaltjahr. */
    
    // Zum Beispiel war das Jahr 1900 kein Schaltjahr, 2000 hingegen war ein Schaltjahr.

    /* In der nachfolgenden Fallunterscheidung wird die Teilbarkeit mithilfe 
       der Modulo Funktion geprüft. Um eine spätere Verwendung, zum Beispiel als 
       Rückgabewert zu ermöglichen, wird das Ergebnis der Fallunterscheidung in 
       der Variable schaltjahr gespeichert. */ 

    if jahr % 4 == 0 && jahr % 100 != 0 || jahr % 400 == 0 {
        schaltjahr = true
        print("Das angebene Jahr ist ein Schaltjahr.")
    } else {
        schaltjahr = false
        print("Das angebene Jahr ist kein Schaltjahr.")
    }
}
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz