<?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);
}

# Für die Zahl, von der die Quersumme berechnet, werden soll, wird die Variable zahl deklariert.
# Für das Ergebnis und Zwischenwerte der Quersumme wird die Variable quersumme deklariert.
# Die Variable r ist eine Hilfsvariable, die dazu dient, die einzelnen Ziffern der mehrstelligen Zahl zwischenzuspeichern.
# Eine Zahl, die kleiner als 10 ist, entspricht bereits ihrer Quersumme. Zum Beispiel die Zahl 5 hat die Quersumme 5. Daher wird hier nach einer Zahl gefragt, die größer als 10 ist.
echo "Geben Sie ein Zahl, die größer als 10 ist, ein: " . PHP_EOL;
$zahl = input();

# Es ist auch möglich, Quersummen von negativen Zahlen zu berechnen.  Dazu wird hier die boolesche Variable negativ deklariert und mit dem Wert false initialisiert.
$negativ = False;

# In der Fallunterscheidung wird geprüft, ob die eingegebene Zahl kleiner als 0 ist, falls ja, wird der Wert der Variable negativ auf true gesetzt und die eingegebene Zahl mit -1 multipliziert. Die Zahl ist dann positiv, nach der Berechnung der Quersumme wird das Ergebnis später wieder mit -1 multipliziert.
if ($zahl < 0) {
    $negativ = True;
    $zahl = $zahl * -1;
}
if ($zahl > 10) {
    $quersumme = 0;
    while ($zahl > 0) {
        
        # Mithilfe der Modulo Funktion (MOD) kann die letzte Stelle der Zahl abgeschnitten werden.
        $r = $zahl % 10;
        
        # Die Zahl wird jetzt durch 10 geteilt.
        $zahl = $zahl / 10;
        $quersumme = $quersumme + $r;
    }
} else {
    
    # Wenn die Zahl kleiner als 10 ist, entspricht die Zahl der Quersumme. Daher ist keine weitere  Rechnung nötig.
    $quersumme = $zahl;
}
echo "Die Quersumme der gebenen Zahl ist: " . PHP_EOL;

# Hier wird geprüft, ob die ursprünglich Zahl negativ war, falls ja, wird die berechnete Quersumme mit -1 multipliziert.
if ($negativ) {
    $quersumme = $quersumme * -1;
}
echo $quersumme . 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