import Foundation

/* Im Folgenden werden drei Variablen, für den Dividenden, den Divisor und den
 Rest, mit den entsprechenden Bezeichnungen, deklariert. Dabei muss aber 
beachtet werden, dass die hier gezeigt Form der klassischen Modulo Funktion nur
 für ganze positive Zahlen definiert ist.*/
// Für den Dividenden wird die Variable dividend deklariert.
var dividend : Int

// Für den Divisor wird die Variable divisor deklariert.
var divisor : Int

// Für den Rest, der übrig bleibt, wird die Variable rest deklariert.
var rest : Int

print("Geben Sie den Dividend an:")
dividend = Int(readLine()!)!

/* Wie eingangs bereits erwähnt, ist die klassische Variante der Modulo 
Berechnung, die hier verwendet wird, nur für ganze positive Zahlen definiert, 
daher muss sichergestellt werden, dass der Dividend eine positive Zahl ist. 
Dies erfolgt in einer while Schleife, die im Fall, dass der Dividend keine 
positive Zahl ist, den Nutzer auffordert eine neue Zahl einzugeben.*/
while dividend < 0 {
    print("Bitte geben Sie einen positiven Dividenden an: ")
    dividend = Int(readLine()!)!
}
print("Geben Sie den Divisor an:")
divisor = Int(readLine()!)!

/* Um zu verhindern, dass der Versuch unternommen wird durch null zu teilen, 
wird der Divisor in einer while-Schleife daraufhin überprüft, ob er gleich null
 ist. Und falls der Divisor gleich null ist, wird der Nutzer dazu aufgefordert 
eine Zahl, die ungleich null einzugeben.*/
while divisor == 0 {
    print("Bitten geben Sie eine Zahl die ungleich null ist als Divisor an: ")
    divisor = Int(readLine()!)!
}
print("Rest: ")

/* Der Divisionsrest wird ausgehend von der üblichen Formel 
rest = ( dividend / divisor - INT (dividend / divisor)) * divisor berechnet. 
Dazu wurde die Formel umgeschrieben in 
rest = dividend - INT (dividend / divisor) * divisor */ 
rest = dividend - floor(Double(dividend) / divisor) * divisor
print(rest)
        
        
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