Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Skrypty]Matematyka
ShadowD
post
Post #1





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Mam skrypty napisane przeze mnie i chciał bym was prosić o ocenę, a tak naprawdę o wytknięcie błędów. Zmienne są brzydko ponazywane ale to wersja, że tak powiem robocza. Skrypty poruszają bajeczne problemy...

Nie będę pisał dużo niech skrypty mówią same za siebie. ;p

[ANR] Zamiana znaków arabskich na rzymskie:

  1. <?php
  2. function anr($a)
  3.  {
  4.        
  5.    $znakiArabskie=array(1,4,5,9,10,40,50,90,100,400,500,900,1000);
  6.    $znakiRzymskie=array('I','IV','V','IX','X','XL','L','XC','C','CD','D','CM','M');
  7.    
  8.    for($i=12;$i>=0;$i--)
  9.    {    
  10.      while($a>=$znakiArabskie[$i])
  11.      {
  12.        $a=$a-$znakiArabskie[$i];
  13.        $anr=$anr.$znakiRzymskie[$i];
  14.      }
  15.    }
  16.    
  17.    return $anr;    
  18.  }
  19.  
  20. ?>


[RNA] Zamiana znaków rzymskich na arabskie:

  1. <?php
  2. function rna($a)
  3.  {
  4.  
  5.    $znakiRzymskie=array('I','V','X','L','C','D','M');
  6.    $znakiArabskie=array(1,5,10,50,100,500,1000);
  7.  
  8.    for($i=strlen($a)-1;$i>=0;$i--)
  9.    {
  10.      for($j=6;$j>=0;$j--)
  11.      {
  12.        if($a[$i]===$znakiRzymskie[$j])
  13.          $b[$i]=$znakiArabskie[$j];
  14.      }
  15.    }
  16.  
  17.    for($i=0;$i
  18.    {
  19.      $n=$i+1;
  20.  
  21.      if(isset($b[$n]))
  22.      {
  23.        if($b[$i]>=$b[$n])
  24.          $rna=$rna+$b[$i];
  25.         else
  26.          $rna=$rna-$b[$i];
  27.      }
  28.      else
  29.        $rna=$rna+$b[$i];
  30.    }
  31.  
  32.  return $rna;  
  33.  }
  34.  
  35. ?>


[NWD] Największy wspólny dzielnik:

  1. <?php
  2. function NWD($a,$b)
  3.  {
  4.    
  5.    if($a>=$b)
  6.    {
  7.      $A=$a;
  8.      $B=$b;      
  9.    }
  10.    else
  11.    {
  12.      $A=$b;
  13.      $B=$a;
  14.    }
  15.        
  16.    do
  17.    {
  18.      $R=$A%$B;
  19.    
  20.      $A=$B;
  21.      $B=$R;
  22.    }
  23.    while($R!=0);
  24.    
  25.    return $A;
  26.  }
  27.  
  28. ?>


[NWW] najmniejsza wspólna wielokrotność:

  1. <?php
  2. function zna($a,$b)
  3.  {
  4.    $nwd=nwd($a,$b);
  5.  
  6.    $i=$a*$b;
  7.  
  8.    $nww=$i/$nwd;
  9.    
  10.    return $nww;
  11.  }
  12.  
  13. ?>


Niektóre funkcje korzystają z poprzednich więc powiedzmy, że wszystkie są w jednym pliku.

@Administracja/Opiekunowie - Jeśli istnieje lepsze miejsce na poruszenie owego tematu chciał bym prosić o przeniesienie go w to miejsce. Z góry dziękuję.

Ten post edytował ShadowD 19.10.2008, 12:17:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Kod poprawiłem brakowało kawałka linii, nie wiem dlaczego się nie skopiował...

1. Faktycznie można zastosować else. <<-- Poprawione
2. Co do nazw zmiennych są takie ponieważ korzystałem przy tworzeniu algorytmów z książki do matematyki i tak tam było to ponazywane, dla ułatwienia zrozumienia kodu dla nauczycieli zastosowałem podobne nazwy. Gdy tylko stworze stronę na której będą prezentowane te skrypty poprawię nazewnictwo.
3. Prace nad połączeniem funkcji zostały rozpoczęte. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dziękuję za opinie...

Ten post edytował ShadowD 19.10.2008, 12:21:22
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 06:56