<?php

# Die folgende Funktion wird immer dann aufgerufen, wenn in ihr Programm Daten eingegeben werden..
# Sie können sie ändern, um andere Quellen zu verwenden.
function input() {
    return fgets(STDIN);
}

# 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.
# Für den Divisor wird die Variable divisor deklariert.
# Für den Rest, der übrig bleibt, wird die Variable rest deklariert.
echo "Geben Sie den Dividend an:" . PHP_EOL;
$dividend = input();

# 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) {
    echo "Bitte geben Sie einen positiven Dividenden an: " . PHP_EOL;
    $dividend = input();
}
echo "Geben Sie den Divisor an:" . PHP_EOL;
$divisor = input();

# 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) {
    echo "Bitten geben Sie eine Zahl die ungleich null ist als Divisor an: " . PHP_EOL;
    $divisor = input();
}
echo "Rest: " . PHP_EOL;

# 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($dividend / $divisor) * $divisor;
echo $rest . PHP_EOL;
?>
        
        
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