Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zadania za zal z php
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
Tomarek
Hej
Piszę do was z prośbą o pomoc w ogarnięciu 4 zadań na zaliczenie z php.
Ogólnie studiuje grafikę i nie jest mi potrzebne programowanie(nie wiążę z nim przyszłości).
Mogę liczyć na rozwiązanie problemu wraz z komentarzami?

Jeśli ktoś będzie mieć problem na tle graficznym z chęcią pomogę smile.gif
W razie czego mogę zapłacić. Piszcie na priv.

Pyt:
ćwiczenie 1
Wyobraź sobie, ze jesteś› właścicielem hurtowni. Napisz instrukcję™ warunkową,
która policzy rabat dla klienta w zależności od kwoty, za jaką nabywa towar.
Skrypt ma być napisany w języku PHP.
0-250 zł‚ - rabat 2%
250 - 500 zł‚ - rabat 4%
powyżej 500zt - rabat 6%
np.
if ($kwota>500) $rabat=0.06;
elseif ($kwota>250) $rabat=0.04;
//itd.
$kwota=$kwota*(1+$rabat);

ćwiczenie 2
Napisa㇠funkcją™ o nazwie ZamienLiczbyJesliTrzeba (o 2 parametrach: $liczba1, $liczba2), która
zamienia między sobą…wartości›parametrów $liczba1 i $liczba2, jeśli tylko $liczba1 jest większa od
$liczba2.

ćwiczenie 3
Napisa㇠funkcję™ o nazwie SumaLiczb (o 2 parametrach: $zakres1, $zakres2), która zwraca sumę™
liczb z zakresu od $zakres1 do $zakres2 (włącznie).
Należy przy tym najpierw sprawdzić‡, czy $zakres1 jest mniejsze lub równe $zakres2 - jeęli nie, to
należy zamieni㇠między sobą obie liczby (wykorzysta㇠funkcję™ z Zad. 2).

ćwiczenie 4
Napisa㇠funkcję™ o nazwie ListaLiczb (o 3 parametrach: $zakres1, $zakres2, $ilosc) wczytujący do
utworzonej wewnątrz funkcji tablicy $tab losowe liczby całkowite z zakresu od $zakres1 do
$zakres2 w ilości $ilosc.
Zweryfikowa㇠zmienne $zakres1 i $zakres2 podobnie jak w Zad. 3.
Dodatkowo, jeśli $ilosc nie jest większa od zera, to wyświetli㇠komunikat o błędzie ("Ilość‡
elementów w tablicy musi być większa od 0.") i przerwa㇠działanie funkcji.
Ostatecznie funkcja wyświetla liczby z tablicy w postaci listy nienumerowanej.
rad11
  1. <form method="POST">
  2. <input name="price"/>
  3. <input type="submit" name="calculate_price"/>
  4. </form>
  5. <?php
  6. //ad.1
  7.  
  8. if (isset($_POST['calculate_price'])) {
  9. $price = (int) $_POST['price'];
  10. $kwota = 0;
  11. if ($price > 0 && $price <= 250) {
  12. $rabat = 0.02;
  13. $kwota = $price * (1 + $rabat);
  14. } else if ($price > 250 && $price <= 500) {
  15. $rabat = 0.04;
  16. $kwota = $price * (1 + $rabat);
  17. } else if ($price > 500) {
  18. $rabat = 0.06;
  19. $kwota = $price * (1 + $rabat);
  20. }
  21.  
  22. echo $kwota . '<br />';
  23. }
  24. echo '<br/>------------------------------------------------<br/>';
  25. //ad.2
  26.  
  27. function ZamienLiczbyJesliTrzeba($liczba1, $liczba2) {
  28.  
  29. if ((int) $liczba1 > (int) $liczba2) {
  30. $liczba2 = $liczba1;
  31. }
  32.  
  33. return $liczba2 . '<br />';
  34. }
  35.  
  36. echo ZamienLiczbyJesliTrzeba(3, 2);
  37. echo '<br/>------------------------------------------------<br/>';
  38. //ad.3
  39.  
  40. function SumaLiczb($zakres1, $zakres2) {
  41. $sum = 0;
  42.  
  43. if ((int) $zakres1 >= (int) $zakres2) {
  44.  
  45. $zakres2 = ZamienLiczbyJesliTrzeba($zakres1, $zakres2);
  46.  
  47. for ($i = (int) $zakres1; $i < (int) ($zakres2 + 1); $i++) {
  48. $sum += $i;
  49. }
  50. } else {
  51. for ($i = (int) $zakres1; $i < (int) ($zakres2 + 1); $i++) {
  52. $sum+=$i;
  53. }
  54. }
  55.  
  56. return $sum;
  57. }
  58.  
  59. echo SumaLiczb(15, 10);
  60. echo '<br/>------------------------------------------------<br/>';
  61. //ad.4
  62.  
  63. function ListaLiczb($zakres1, $zakres2, $ilosc) {
  64. $tab = array();
  65.  
  66. if($ilosc <= 0){
  67. return '<br />Ilosc musi byc wieksza niz 0<br />';
  68. }
  69. if ((int) $zakres1 >= (int) $zakres2) {
  70. // $zakres2 = ZamienLiczbyJesliTrzeba($zakres1, $zakres2);
  71. for ($i = 0; $i < (int) $ilosc; $i++) {
  72. $tab[] = rand((int) $zakres2, (int) $zakres1);
  73. }
  74. } else {
  75. for ($i = 0; $i < (int) $ilosc; $i++) {
  76. $tab[] = rand((int) $zakres1, (int) $zakres2);
  77. }
  78. }
  79.  
  80. $list = '<ul style="padding:0; margin:0;">';
  81. foreach($tab as $key => $value){
  82. $list .= '<li style="list-style:none;">'.$value.'</li>';
  83. }
  84. $list .= '</ul>';
  85. return $list;
  86. }
  87.  
  88. echo ListaLiczb(5, 10, 10);
  89. echo '<br/>------------------------------------------------<br/>';

Powinno dzialac z palca pisane piwo dasz przy okazji smile.gif
Pyton_000
  1. function ZamienLiczbyJesliTrzeba($liczba1, $liczba2) {
  2.  
  3. if ((int) $liczba1 > (int) $liczba2) {
  4. $liczba2 = $liczba1;
  5. }
  6.  
  7. return $liczba2 . '<br />';
  8. }

Zamiast pisać takie bzdury to lepiej nie pisz wcale
daWeb
rad11, w pierwszym rozwiązaniu łamiesz zasadę DRY, jak dla mnie słabe 3
Tomarek
O kurczę dzięki!!!

Ja wiem że dla was to banalne i się dopatrujecie tutaj czegoś więcej, ale dla mnie to na prawdę potrzebne jest by zaliczyć.
Sądzę że wykładowca nie będzie się czepiać tego że "łamię zasadę DRY"(sprawdziłem co to znaczy).
Tylko Pyton_000 napisał że w zad.2 jest jakiś duży błąd. Czy mógłbym liczyć na jego poprawienie?

Jak tylko będę w domu sprawdzę wszystkie programy.
ctom
@Tomarek tak z czystej ciekawości ... co Ty odpowiesz gdy dostaniesz pytanie w stylu "dlaczego tak, a nie inaczej" questionmark.gif
Tomarek
każdą linijkę sobie opiszę komentarzem. Zawsze znajdę w necie co jaka komenda znaczy. A jeśli zapyta mnie o coś czego nie wiem to będę lać wodę że kolega mi pomógł troszkę a to coś innego. Wątpię żeby chciał mnie męczyć szczególnie, że tak jak mówiłem ten przedmiot nie jest kierunkiem wiodącym.
Oczywiście dobrze by było się nauczyć phpa szczególnie że znam html5, css'a (stawiam strony na gotowych systemach). Ale puki co wiedz która dysponuje starcza mi.

Dlatego poprosiłem was o taką pomoc, tak jak poniżej kolega zrobił to w 3 min. Ja bym nawet przez tydzień tego nie zrobił, a mam jeszcze przedmioty wiodące takie jak grafika.

Proszę o wyrozumiałość
daWeb
2 jest dobra i tak nie wiemy co ma się stać z tymi zamienionymi wartościami, więc zamiast $liczba2 = $liczba1; daj echo 'zamieniłem wartości liczb'; a linię z return usuń.
kreatiff
To 2 to mi wygląda na jakąś zabawę z global wewnątrz funkcji, bo inaczej jak to zwrócić sensownie.
Ale uczyć czegoś takiego dzisiaj to chyba nie jest już wskazane, więc pewnie się mylę.

No tak, i wszystko jasne poniżej.
redeemer
thumbsdownsmileyanim.gif W zadaniu 2 chodzi o to, żeby argumenty do funkcji były przekazane przez referencje, a nie "globale" czy "co się ma stać z zamienionymi wartościami".
daWeb
Cytat(redeemer @ 23.06.2015, 15:28:02 ) *
thumbsdownsmileyanim.gif W zadaniu 2 chodzi o to, żeby argumenty do funkcji były przekazane przez referencje, a nie "globale" czy "co się ma stać z zamienionymi wartościami".


Nie zgodzę się, bo gdzie masz napisane słowo kluczowe "zmienna" w zadaniu?


co jak wywołam funkcję z referencją na parametrach w taki sposób ZamienLiczbyJesliTrzeba(5, 2) ? error?
buliq
@up:
A w jaki sposób ma zamienić liczby miejscami?
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.