Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie wykresu
Forum PHP.pl > Forum > PHP
niedobry
Witam,
jest słaby w php i mam taki problem w szkole który musze rozwiazać a nie wiem jak sie za to zabrac. Proszę o wyrozumiałość, to jest mój pierwszy post smile.gif
Treść zadania jest taka:
Dla potrzeb analizy wyników pomiarowych pewnego eksperymentu naukowego został napisany skrypt w języku PHP, generujący wykres w postaci rysunku typu jpg. Dane, na podstawie których jest rysowany wykres, są zapisywane w tablicy. Każdy element tablicy jest krotką, składająca się z dwóch elementów: współrzędnej X, współrzędnej Y. W dołączonym skrypcie występuje kilka błędów, twoim zadaniem będzie ich usunięcie.

A tu co muszę zrobić:
Podaj składnię polecenia jakie należy wpisać w linii 63(linia jest zaznaczona w skrypcie). Do zapisu stringu zastosuj '.

Skrypt wygląda nastepuaco:
Kod
           <?php
            
             /**
              * Funkcja dokonuje normalizacji danych (oś Y) na podstawie współczynnika $max
              *
              * @param array $tab - tablica, której dane podlegają normalizacji,
              * @param float $max - maksymalna dopuszczalna wartość,
              * @return nowy współczynnik, który przez który należy podzielić wszystkie wartości funkcji zapisanej w tablicy
              *             aby dokonać normalizacji, jeśli wartości mieszczą się w podanym zakresie, to wartości nie
              *             są poddawane normalizacji
              */
            
             function normalize($tab,$max)
             {
                 $wsp=0.0;
                 for ($a=0,$b=count($tab);$a<$b;$a++)
                 {
                     if (abs($tab[$a][1])>abs($wsp)) $wsp==abs($tab[$a][1]);        
                 }
                    
             if ($wsp>$max) return $max/$wsp; else return 1.0;    
                
             }
            
             /**
              * Funkcja dokonuje normalizacji
              *
              * @param  $tab - tablica z danymi
              * @param  $wsp - współczynnik normalizacji
              * @param  $new_x - przesunięcie początku osi współrzędnych X do pozycji new_x
              * @param  $new_y - przesunięcie początku osi współrzędnych Y do pozycji new_y
              * @return $tab - tablica z nowymi danymi
              */
            
             function calculate($tab,$wsp,$new_x,$new_y)
             {
                 for ($a=0,$b=count($tab);$a<b;$a++)
                 {        
                     $tab[$a][0]+=$new_x;
                     $tab[$a][1]=(float)$tab[$a][0]/(float)$wsp+$new_y;
            
                 }
                
                 return $tab;        
             }
            
             function draw($tab)
             {
            
             $img = imagecreate(800,400);
             imagecolorallocate($img,230,230,230);
             $col2 = imagecolorallocate($img,0,255,0);
             $col3 = imagecolorallocate($img,0,0,0);
            
             for ($a=0,$b==count($tab);$a<$b;$a++)
             for ($a2=0,$b2==count($tab[$a]);$a2<$b2;$a2+=2)
             {
             $x=$tab[$a][$a2];
             $y=$tab[$a][$a2+1];
             imagesetpixel($img,$x,$y,$col2);
            
             }
     --> Tu jest linia 63 :)
   echo imagejpeg($img);
             }
            
            
             for ($pos=0;$pos<3600;$pos++)
             $tab2[] = array($pos,200*sin(pi()*$pos / 180));
            
             $tab2 = calculate($tab2,normalize($tab2,100),80,200);
            
             draw($tab2);
            
             ?>
nospor
Cytat
to jest mój pierwszy post
Witamy i od razu wyjasniamy: prac domowych tu nie odrabiamy smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.