Hi,
ich habe eine komplizierte Aufgabe von meinem Lehrer bekommen:
ich find's eher trivial, aber dem Urteil liegt natürlich eine gewisse Erfahrung zugrunde. ;-)
Erzeugen Sie mit nur einer for-Schleife und keiner Zweiten Variablen folgende Ausgabe:
01 - 02 - 03 - 04 - 05
06 - 07 - 08 - 09 - 10
11 - 12 - 13 - 14 - 15
16 - 17 - 18 - 19 - 20
Mal aufmerksam und analytisch hinsehen:
* Zahlen von 1 bis 20
* Zahl immer zweistellig
* dann eine Trennsequenz " - " oder eine neue Zeile
Hier mein Anfang:
<?
Kritik: Gewöhne dir bitte die ausführliche Schreibweise <?php an. Die Kurzform, die du verwendest, ist je nach PHP-Konfiguration (Stichwort: short_open_tags) nicht überall vefügbar.
for ($i = 1; $i <= 20; $i++)
Klar, da gibt es nicht viel dran zu überlegen.
{echo
$i," - ";
Die Ausgabe einer Zahl mit einer festen Stellenzahl und führender Null, wie hier in der Aufgabe, kann man entweder mit der Holzhammermethode machen (wenn kleiner 10, eine Null vorne dran ausgeben), oder elegant, indem man die Ausgabe mit printf() formatiert.
Und dann kommt die Unterscheidung, ob die Trennsequenz " - " oder ein Zeilenumbruch folgen soll. Wovon ist das abhängig? Ich weiß nicht, wie es dir geht - aber für mich ist das offensichtlich: Immer wenn $i durch 5 teilbar ist, wird danach eine neue Zeile begonnen. Ob eine Zahl ohne Rest durch einen bestimmten Divisor teilbar ist, überprüft man am einfachsten mit dem Modulo-Operator. Der Rest ist eine einfache if-Abfrage (dass mir jetzt keiner was von einer if-Schleife faselt!), die entweder die Trennsequenz oder einen Zeilenumbruch ausgibt. Bedenke dabei, wenn die Ausgabe in HTML erfolgt, dass auch der Zeilenumbruch dem HTML-Kontext entspricht.
Ich hoffe, das hilft dir etwas weiter.
So long,
Martin
--
Lieber eine Fliege im Porzellanladen
als ein Elefant in der Suppe.