Alternate 4

PHP Wie am bestern lernen

Shakall

Banned
Registriert
Juni 2010
Beiträge
147
Hallo ,
in der Schule werde ich mein Abitur über Php schreiben müssen.
Habe probleme diese Sprache zu beherschen obwohl wir damit erst angefangen haben.
Machen zb solche sachen wie Tabellen oder Formulare und dazu mit vielen Variablen.
Ich finde das viel zu krass alles auswendig zu lernen und habe öfters keine Ahnung wenn er Lehrer etwas fragt.
 
Abwählen ist nicht mehr drin? Tabellen und Formulare sind HTML, das hat noch nichts mit Programmieren zu tun. Ab Variablen wird es interessant, aber das ist ja wirklich dermaßen simpel, dass ich mir gar nicht vorstellen kann, wo da für jemanden der Abi macht das Problem sein soll. Ist doch Mathe sehr ähnlich. Da gibt es auch Variablen, die für Werte stehen. Wo ist denn das konkrete Problem?
 
@Tumbleweed:

Ich glaube einfach, dass der TE vollständig (von hinten bis vorne) ist, wenn ich das so lesen muss und er einfach keinerlei Grundkenntnisse in dem Bereich hat. Auch nichts wegen der "optischen" Darstellung.

Er brauch so etwas wie ein "How To Php (+ HTML/CSS or wie auch immer)." von Anfang an, damit er überhaupt versteht, was er da tut und wieso.
 
Es ist mein Leistungskurs also abwählen geht nicht.
Ich hatte früher Spaß an HTML aber das PHP schwerer für mich wird , hätte ich nicht gedacht.

<?php
$diff_array=array();
for($a=0;$a<10;$a=$a+1)
{
$g=0;
$u=0;
for($y=0;$y<100;$y++)
{
$x=mt_rand();
if($x % 2==0)
{
$g=$g+1;
}
else
{
$u=$u+1;
}
}
echo 'Gerade: '.$g.'Ungerade: '.$u;
$diff=$g-$u;
echo 'Differenz:' .$diff.'<br> /><br />';
$diff_array[]=$diff;
$diffsumme=0;
for($b=0;$b<=10;$b++)
{
$diffsumme=$diffsumme+$diff;
}
}
echo 'Differenzensumme: '.$diffsumme;
?>

sowas machen wir zb
Der Lehrer malt was auf die Tafel bzw will ein Programm haben zb das jeder dritte zahl von 1-100 "Hallo" anzeigt.
Ich habe dann einfach keine Idee wie sowas gehen soll aber würde es gerne können.
 
Deinem Code und deiner Beschreibung nach würde ich sagen, dass du Modulo (%-Operator) nicht verstanden hast. Kann das sein? Ich gehe mal davon aus, dass du for-Schleifen und if-Verzweigungen verstanden hast. Viel mehr ist in dem Code ja nicht drin. Einige der Bezeichnungen der Variablen sind übrigens denkbar schlecht, wenn man eh schon Verständnisprobleme hat.
 
Dann scheint nicht PHP das Problem zu sein sondern deine Abstraktionsfähigkeiten, die Logik dahinter, die Fähigkeit Dinge in Anwendungsfolgen zu verpacken (Algorithmierung).

Programmieren kann man mit Autofahren vergleichen. Man kann die Bedienungsanleitung des Autos lesen und wissen, was welcher Knopf macht usw... aber das heißt noch lange nicht, dass man deshalb Auto fahren kann... Das Auto ist mit der Sprache vergleichbar. Man lernt das Fahren an einem Auto, aber man lernt nicht unbedingt das Auto sondern man lernt Fahren.
 
der code war eine lösung einer aufgabe.
Ich verstehe wenn ich ehrlich bin sogut wie gar nix weder IF noch Modulo oder so.
Jetzt habe ich ferien und brauche wirklich hilfe das zu verstehen.
 
Bitte Code in [ code][/code ] tags einschließen (ohne Leerzeichen) - dient der Übersichtlichkeit ;).

Was meinst du mit "das jede dritte zahl von 1-100 "Hallo" anzeigt."? Ich würde schnell versuchen einen erklärenden Code dazu zu schreiben bei Bedarf, als Starthilfe ;)
 
Shakall schrieb:
Ich verstehe wenn ich ehrlich bin sogut wie gar nix weder IF noch Modulo oder so.
Was hindert dich daran, ein Tutorial zu lesen, in dem if behandelt wird? Und Modulo sollte aus dem Mathekurs bekannt sein.
 
Vielleicht wäre es am Sinnvollsten, dir Tipps anhand deines Unterrichtsmaterials zu geben, anstatt Links auf irgendwelche Tutorials zu posten, die wieder alles ganz anders abhandeln als du es aus dem Unterricht kennst.

Aber PHP im Abi hätte ich wirklich gerne gehabt ...
 
Ich hoffe das Hilft dir ein wenig weiter :D (Ich hoffe das ist nicht zu Ausführlich, aber ich kenne deinen Wissensstand ja nicht.)
Code:
<?php

/*
    for
    "for" ist eine Schleife (= ein Stück Code, das mehrfach durchlaufen wird).

    Der Kopf eines "for" ist (durch zwei ; ) in drei Teile aufgeteilt
    Der erste Teil ist die Zuweisung einer Variable (ein veränderlicher Wert).
    Der zweite Teil ist eine Bedingung. Solange diese zutrifft, wird die Schleife ein weiteres Mal durchlaufen.
    Der dritte Teil ist ein Befehl, der jedes mal ausgeführt wird, wenn die Schleife einmal durchlaufen wurde.

    Beschreibung der folgenden Zeile:
    In $i (= Variable) wird der Wert 1 gespeichert. Nun wird geprüft, ob $i unter oder gleich (<=) 100 ist.
    Trifft dies zu, wird der Schleifeninhalt (alles zwischen { und }) ausgeführt.
    Anschließend wird $i um 1 erhöht (++$i), ist nun also 2.
    Es wird wieder mit 100 verglichen, und da 2 noch unter 100 ist, wird die Schleife nochmal durchgeführt.
    Dies wiederholt sich, bis der Wert in $i über 100 ist.

*/
for($i = 1; $i <= 100; ++$i) {
    
    // Alles hier in den geschweiften Klammern wird 100 mal ausgeführt - 
    // Solange, bis $i einen Wert größer als 100 hat - 
    // Da $i nur um 1 erhöht wird, pro Ausführung.

    /* 
        if

        "if" ist eine Bedingung.

        Der Teil, der in den runden Klammern hinter if steht, wird auf Wahrheit geprüft.
        Trifft dieser Ausdruck zu, wird der Code in den geschweiften Klammern ausgeführt, sonst nicht.

        An dieser Stelle steht "$i % 3 == 0" als Bedingung. 
        Das Modulo (also das %) an dieser Stelle bedeutet: "Der Rest der Division vom Wert in $i durch 3".
        Ist $i z.B. 1, wie bei der ersten Ausführung der Schleife, wäre 1 % 3 der Rest 1.
        Also steht als Bedingung (das zwischen ( und )) an dieser Stelle 1 == 0. 
        (Da ja 1 % 3 eine 1 ergibt - Der Rest der Division 1/3.)

        Dies trifft also NICHT zu, wenn $i wie im ersten Durchlauf 1 ist! 
        Die Bedingung trifft nur zu, wenn $i den Wert 3 oder ein Vielfaches von 3 enthält.
        Denn nur dann bleibt bei einer Division durch 3 kein Rest.
    */

    if($i % 3 == 0) {

        // Dieser Teil wird nur bei zutreffender Bedingung ausgeführt. 
        // Die Abfrage wird also 100 mal geprüft,
        // Aber nur jedes dritte mal trifft sie zu.

        /* 
            Echo ist eine einfache Ausgabe.
            Das $i im String (ein String ist ein Text, eingeschlossen in Anführungszeichen)
            wird durch den in $i gespeicherten Wert ersetzt.
            Da dieser Teil nur ausgeführt wird, wenn $i/3 keinen Rest ergibt,
            sagen nur die Zahlen 3,6,9... Hallo.
        */
        echo "$i sagt Hallo!";

    }
    // Hier ist der Inhalt der Bedingung zu Ende 

}
// Hier ist der Inhalt der Schleife zu Ende

?>

Zur eigentlichen Frage: Schnapp dir ein Tutorial im Internet und programmiere für dich selbst ein paar Anwendungen und Webseiten. Wichtig ist, dass du dir selber kleine Ziele setzt, die du dann mit Recherche und Überlegen löst.
 
Zuletzt bearbeitet:
Zurück
Oben