[PHP] script-battle - warmup: fibonacci-reihe

Dieses Thema im Forum "Webentwicklung" wurde erstellt von teh_boiiingerrr, 24. Mai 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. Mai 2007
    script-battle - warmup: fibonacci-reihe

    so, mal schauen, ob wir das auf die reihe kriegen. hab was überschaubares zum anfang rausgesucht.

    folgende aufgabenstellung:
    es soll die fibonacci-reihe aufgestellt werden. aufbau der reihe: 2 hintereinander stehende zahlen ergeben die summe der nächsten zahl usw., beginnend bei 0 sieht's so aus:
    außerdem gibt's folgende definitionen:
    der benutzer gibt den maximalen index ein. z.b. 6, das ergebnis ist dann die reihe von 0 bis 8.

    bedingungen:
    - eine php-datei (sonst nix)
    - keine grafiken (weder jpg/gif noch gdlib o.ä.)
    - nur php+html, kein js/css (denn darum geht's hier nicht)

    als testoberfläche benutze ich den XAMPP 1.6.1 mit PHP 4.4.6 (ist standardinstallation und demnach das einfachste).

    einsendeschluß: sonntag, 18:00. bis dahin möchte ich PNs mit links zu xup, um das script dort runterzuladen. bitte schreibt euren nick (unter berücksichtigung von sonderzeichen) in den dateinamen sowie in kommentarzeichen an den anfang des scripts, das erleichtert mir die sortierung. wer das verpeilt, wird rausgeworfen, ätsch
    nach einsendeschluß werd ich die dinger mit verschiedenen zahlenwerten ein wenig ausprobieren und mir die laufzeit anschauen. die ressourcen sind mir da weitestgehend egal.

    ob's danach weitergeht, kann ich noch nicht sagen, weil ich nicht weiß, wieviel anklang die sache findet. rangliste kommt dann aber auch.

    also: haut rein

    p.s.:
    Fibonacci-Folge – Wikipedia - fragen dazu hier im thread.

    //edit
    für die zeitmessungen werde ich diese klasse benutzen (wurde in meinem studiengang benutzt):
    Spoiler
    PHP:
    class  c_Timer  {
            var 
    $t_start  0 ;
            var 
    $t_stop  0 ;
            var 
    $t_elapsed  0 ;
            
            function 
    start () {  $this -> t_start  microtime (); }
            function 
    stop ()  {  $this -> t_stop   microtime (); }

            function 
    elapsed () {
                    if (
    $this -> t_elapsed ) {
                            return 
    $this -> t_elapsed ;
                    } else {
                            
    $start_u  substr ( $this -> t_start , 0 , 10 );  $start_s  substr ( $this -> t_start , 11 , 10 );
                            
    $stop_u   substr ( $this -> t_stop , 0 , 10 );   $stop_s   substr ( $this -> t_stop , 11 , 10 );
                            
    $start_total  doubleval ( $start_u ) +  $start_s ;
                            
    $stop_total   doubleval ( $stop_u ) +  $stop_s ;

                            
    $this -> t_elapsed  $stop_total  $start_total ;

                            return 
    $this -> t_elapsed ;
                    }
            }
    };
    ?>

            $timer = new c_Timer;
            $timer->start();
    // verarbeitung
            $timer->stop();
            echo $timer->elapsed();
    ich lass eure codes 10 mal die gleiche berechnung durchführen und ermittle dann die durchschnittszeit.
     
  2. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    um erlich zu sein hör ich das zum ersten mal aber habs verstanden und bis sonntag schaff ich das
     
  3. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    wen ich mir mal eine Frage erlauben dürfte:
    du bewertest also nur die Script laufzeit, also die Geschwindigkeit und die richtigkeit des Scripts.
    Aber nicht sowas wie Sicherheit, Quellecode, ....
     
  4. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Ähm Standardinstallation ist PHP 5! Nix 4!!!! Also ich werde leider nicht PHP4 kompatibel sein.
     
  5. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    @maken: 5 ist dabei, muss aber umgeschaltet werden (geht laut apachefriends mit ner mitgelieferten batch-datei). solang man das ganze nich in OOP aufzieht, sollte das abwärtskompatibel sein

    @terrorbeat: richtig, geht mir erstmal nur um die aufmachung des battles an sich. ist wie gesagt nur ein testlauf.
     
  6. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Dann bitte ich dich noch einmal zu informieren, denn PHP 5 ist Standard! Aber soll jetzt auch kein Streipunkt werden, denn wie du sagst, beim prozeduralen Programmieren, was eigentlich ja hierfür vollkommen reicht, sollte es nicht allzuviele Kompatibilitätsprobleme geben.
     
  7. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Würde da dann nicht 0, 1, 1, 2, 3, 5 rauskommen? Die 8 würde doch nur rauskommen wenn der index 7 ist oder nicht?
     
  8. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    wegen php5, ich habs umgeschalten und es läuft auch so ohne probleme. wenns dann schwerer wird wäre php5 als standard besser find ich.
     
  9. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Sagen wir einfach menschlichen rechnend bis 6, die null also inbegriffend.
     
  10. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    @callboy: f0=0;f1=1;f2=1;...f6=8

    Erklärt sich hoffentlich damit von selbst, warum beim maximalen Index n+1 Ziffern ausgegeben werden sollen, da es noch ein nulltes Glied gibt...
     
  11. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Ich beobachte dabei etwas ganz komisches auf meinem lokalen System,

    ich habe zwei Berechnung, beide führen zum selben Ergebnis. Um zu sehen welche besser ist, mache ich eine Zeitmessung über microtime(true); So die zweite Berechnung, die im PHP - Script unten steht, ist schneller. Deutlich schneller. Lösche ich die erste, die langsamere Berechnung, aus dem Script. Ist die schnellere plötzlich genauso langsam, wie die, die ich gelöscht habe .... hallo!?

    EDIT: Zeit wird natürlich beides mal seperat gemessen.
    EDIT2: Und bei einer Seite Script werd ich kein Templatesystem verwenden, ich hoffe ihr könnt mir verzeihen
     
  12. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    versuchs nochmal mit dem timer, den ich in mein 1. posting editiert habe.
     
  13. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Jo alles klar, mit dem läufts besser! Aber ist schon ein bißchen unfair weil du das dann bestimmt schonmal ordentlich machen musstest ... kriegst gleich mein script.
     
  14. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    So schonmal ein paar Kommentare zu meinen Script:
    - XML Deklaration mit Namespace für xHTML werden ich außen vor lassen, da der XML - Tag im PHP Script stört.
    - Formatierung würde von CSS übernommen werden, deswegen sieht es ein bißchen "flach" aus.
    - kein TemplateSystem da nur ein Script.
    - Formularfelder und Variablen haben Prefixe welches den Typ den Inhaltes markieren soll und für Typensicherheit etc. hilfreich ist
    - der button-Tag bekam das Attribut "type", mit dem Wert "submit" zugewiesen, da manche Browser das sonst nicht verstehen. ....
    - boings timer klasse wird mehrmals initalisiert weil sonst die selben timings herauskommen.
    - Werte die nur einmal benötigt werden, werden nicht in einer Variable gespeichert um nicht unnötig Speicher zu verbrauchen.
    - Versuche mich Strikt an PEAR - Coding Standard zu halten.
     
  15. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    ich mach ja nicht mit aber hast recht, hab's gerade erst (mal wieder) im studium gehabt, deswegen überhaupt die idee.
     
  16. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    ich bin mal richtig gespannt auf maken's lösung und auf die von boinger^^ meine is ja mal wieder ne einfache lösung, hauptsache es funktioniert xD

    hoffendlich machen noch mehr mit, is wie gesagt optimal um den horizont zu erweitern
     
  17. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Pf, was denkst du denn mensch? Ich kann auch nur PHP, ist ja nicht so als würde ich eigene C-Module schreiben und einbinden ... also ich halte meine scripte echt nicht für was besonderes und bei manchen dingen muss ich auch erstmal schlucken, also RUHISCH BLEIBEN... BAM ...
     
  18. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    hehe

    aber du kannst besser php als ich und lernst es sicher in der schule/studium, ich nicht, ich bring mir dat alles selber bei - learning by doing und sowas hier
     
  19. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    das, was ich im studium in sachen php beigebracht gekriegt habe, wusste ich 3,5 jahre zuvor. in der schule hab ich mal n referat über php gehalten (10 minuten), mein lehrer hatte keinen plan, wovon ich da rede
     
  20. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    PS.: Zeile 42 ist mir eine Leerzeile aus Versehen reingerutscht.

    @Murdoc, naja also meine Berufsschulzeit mit C++, C# etc. profitierten davon dass ich mich selbst in PHP reingehangen habe, stammt im Endeffekt alles aus Selbststudium! Und der Rest aus der Schule ist da nur ein marginal kleiner Teil, aber danke für das, im Endeffekt, Lob.
     
  21. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Hab irgendwie immer "INF" wenn ich in die höheren Regionen abtauche, liegt das an meinem Rechner oder ist das PHP bedingt?
     
  22. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    php bedingt, wie beim taschenrechner der hat auch irendwann ne grenze
     
  23. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    jo hab ich auch^^

    was ist denn eig ne gute zeit?
    hab mal schnell was geschrieben, läuft eig ganz gut.

    kann ja eigentlich net sein, dass du dir nur die laufzeit anschaust. nur weil ich zb meine if clauses so schreib:
    PHP:
    if()
    {

    }
    ein andrer dann so:
    PHP:
    if() {

    }
    läuft mein script länger ^^

    bei dem hier solltest du acuh mit php3 zu streiche kommen
     
  24. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Also meine Werte sind:

    Meine Rechnung: 4.91142272949E-005 s
    Formel von Wiki: 5.60283660889E-005 s
     
  25. 24. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    naja gut mein script braucht noch n bissel länger, liegt wohl daran, dass ich die eingebenen werte noch mit zwei if schleifen mit empty() und is_numeric() überprüfe.

    ist das überhaupt notwendig? also zählt der sicherheitsaspekt?
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.