import Foundation
/* Für den Dividenden, also die Zahl geteilt werden soll, wird die Variable
dividend deklariert.*/
var dividend : Int
/* Für den Divisor, also die Zahl, die der Teiler ist, wird die Variable
divisor deklariert.*/
var divisor : Int
/* Für den Quotienten, also das Ergebnis der Division, wird die Variable
quotient deklariert.*/
var quotient : Int
// Für den Rest wird die Variable rest deklariert.
var rest : Int
/* Als nächsten werden der Dividend und der Divisor eingelesen. Und die Werte
werden den jeweiligen Variablen zugewiesen.*/
print("Geben Sie den Dividenden an:")
dividend = Int(readLine()!)!
rest = dividend
print("Geben Sie den Divisor an:")
divisor = Int(readLine()!)!
/* Um ein Teilen durch null beziehungsweise den Versuch durch null zu teilen,
zu verhindern, wird in der nachfolgenden Fallunterscheidung geprüft, ob der
Divisor gleich null ist. Im Fall, dass die null als Divisor gesetzt wurde,
erfolgt ein entsprechender Hinweis darauf. Falls der Divisor ungleich null ist,
beginnt die Rechnung. */
if divisor == 0 {
print("Eine Division durch Null ist nicht möglich.")
} else {
/*Die Idee hinter der Rechnung ist folgende, solange der Dividend beziehungsweise
der Rest größer gleich dem Divisor ist, wird der Divisor davon abgezogen und
der Quotient um 1 erhöht. Es handelt sich um eine wiederholte Subtraktion.
Wenn der Divisor größer, wird die Berechnung beendet und die Wert des Quotienten
und des Rests werden als Ergebnis ausgegeben.*/
quotient = 0
dividend = rest
while rest >= divisor {
rest = rest - divisor
quotient = quotient + 1
}
print("Der Quotient von " + String(dividend) + " geteilt durch " + String(divisor) + " ist " + String(quotient) + " und der Rest ist " + String(rest))
}