Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Programowanie własnych funkcji, pomoc w programowaniu
glazi91
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


Witam,
Jestem studentem I roku i mam problem z podstawami programowania w PHP. Męczę się z tym już ponad 2 tygodnie i dalej mi ciężko to zrozumieć. Więc jak ktoś mógłby spojrzeć na te zadania byłbym bardzo wdzięczny.:-)

zad.1
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 $zakres 1 jest mniejsze lub równe $zakres2- jeśli nie, to należy zamienić między sobą obie liczby (wykorzystać funkcję z Zad 1). Pierwsze zadanie zrobiłem tak:

function ZamienLiczbyJesliTrzeba(&$liczba1, &$liczba2)
{
if($liczba1 > $liczba2)
{
$tmp = $liczba1;
$liczba1 = $liczba2;
$liczba2 = $tmp;
echo "zamienilem ";
}else{
echo "nie zamienilem ";
}
}

zad 3

Napisać funkcję o nazwie ListaLiczb o 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 2
Dodatkowo, jeśli $ilosc nie jest większa od zera, to wyświetlić komunikat o błędzie i przerwać działanie funkcji.
Ostatecznie funkcja wyświetla liczby z tablicy w postaci listy nienumerowanej.

zad 4
Napisać funkcję o nazwie WyswietlLiczby_ObliczSrednia o 4 parametrach($ilosc1 $ilosc2 $zakres1 $zakres2) wczytując do tablicy $tab utworzonej wewnątrz funkcji losową ilość liczb(ilosc elementów od $ilosc1 do $ilosc2).
Każdy element tablicy ma być losową liczbą z zakresu od $zakres1 do $zakres2.
Następnie funkcja ma wyświetlić te liczby w tabeli o grubości linii 1 (tylko pojedyncza kolumna).
Ostatecznie funkcja ma zwrócić średnią arytmetyczną liczb z tej tablicy.

Resztę zadań spróbuje zrobić sam jak pomożecie mi zrobić te, to z resztą powinienem sobie poradzić tylko potrzebuje zobaczyć jak to zacząć.

Z góry dziękuje wam za pomoc.:-)
Pozdrawiam,
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Niestety, nie rozwiązujemy zadań. Jak masz problem z kodem, to zapraszamy.


--------------------
Go to the top of the page
+Quote Post
glazi91
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


jak prześle kody tych zadań jak ja zrobiłem (oczywiscie nie do końca dobrze) to pomożecie?:-)
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Możemy pomóc, ale nikt nie zrobić nic za Ciebie.


--------------------
Go to the top of the page
+Quote Post
glazi91
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


ok. to jutro prześle kody bo mam na innym komputerze.
Pozdrawiam

to zad 1
Kod
<?php
function ZamienLiczbyJesliTrzeba(&$liczba1, &$liczba2)
{    
    if($liczba1 > $liczba2)
    {
         list($liczba1, $liczba2) = array($liczba2, $liczba1);
        echo "zamienilem ";
    }
    else
    {
        echo "nie zamienilem ";
    }
}
?>

zad 2

<?php
function SumaLiczb(&$Zakres1, &$Zakres2)
{
    if($Zakres1<=$Zakres2)
    {
        $suma=$Zakres1+$Zakres2;
        echo "Dodalem";
    }
    else
    {
        ZamienLiczbyJesliTrzeba(&$Zakres1, &$Zakres2);
        $suma=$Zakres1+$Zakres2;
        echo "Zamienilem liczby i dodalem";
    }
    return $suma;
}
?>

zad 3

<?php
function ListaLiczb($Zakres1, $Zakres2, $ilosc)
{
$Zakres1=rand(-10,10);
$Zakres2=rand(-10,10);
$tab[]=array($Zakres1, $Zakres2);
$ilosc=count($tab);
    if($ilosc<0)
    {
        echo" Ilosc elementow w tablicy musi byc wieksza od 0.";
        return;
    }
    else
    {
    //nie wiem jak wywolac liste nienumerowana.
    }
}
?>

zad 4

<?php
function DzielenieTekstow($wyrazenie_zlozone)
{
$wyrazenie_zlozone = 'Komputer,Serwer,Router,Klawiatura,Mysz,Karta sieciowa,Monitor,Zasilacz';
echo "$wyrazenie_zlozone<br/>";
$wyrazenie_zlozone = explode(',', $wyrazenie_zlozone);
for($i = 0; $i < count($wyrazenie_zlozone); $i++)
{
    echo "$wyrazenie_zlozone[$i]";
}
}
?>


I wiem ze to zle...ale nie wiem w czym tkwi problem:)

Ten post edytował glazi91 15.02.2012, 18:30:24
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Temat: Jak poprawnie zatytulowac watek
2) Proszę używać bbcode!
3)
Cytat
I wiem ze to zle...ale nie wiem w czym tkwi problem:)
A czymże się objawia to źle?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
glazi91
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


objawia się tym że nie zaliczyłęm U wykładowcy:P
i przepraszam ze nie napisalem tamtego w BBcode:)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$tab[]=array($Zakres1, $Zakres2);
$ilosc=count($tab);
if($ilosc<0)
Zawsze do tablicy dodajesz dwie liczby i jeszcze robisz warunek, czy przypadkiem tablica nie mniej niż 0 elementów? Logike już miałeś na tych studiach?

ps: $tab[]=array
wiesz w ogole po co używa się [] ? Nic dziwnego, że cię oblał. Przecież ty nie znasz totalnych podstaw. Najpierw się uczymy, potem chodzimy na zaliczenia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
glazi91
post
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


Cytat
Dodatkowo, jeśli $ilosc nie jest większa od zera, to wyświetlić komunikat o błędzie i przerwać działanie funkcji.


programowanie dopiero zaczełem a to miało się odności do tej części zadania...przecież wiem że jest źle i właśnie chce się tutaj dowiedzieć co..
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ja sie nie pytalem o programowanie a o logike. To są dwa oddzielne przedmioty smile.gif

Dobra, nie ważne. Napisałem tu tylko dlatego, że miałeś durny tytuł i nadal masz. Proszę na PW poprawny tytuł tematu, w przeciwnym wypadku temat zamknę.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
glazi91
post
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


Cytat
ps: $tab[]=array
wiesz w ogole po co używa się [] ? Nic dziwnego, że cię oblał. Przecież ty nie znasz totalnych podstaw. Najpierw się uczymy, potem chodzimy na zaliczenia


W internecie czytałem ze służy do numerowania tablic czy cos takiego.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #12





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(glazi91 @ 15.02.2012, 17:47:07 ) *
objawia się tym że nie zaliczyłęm U wykładowcy:P

Mnie zawsze zastanawia powód obrania kierunku nauki. Ja wiem, że nie zostałem weterynarzem, bo nie lubię grzebać w zdechłych zwierzach a i w żywych byłoby gdzie pogrzebać - co mnie również nie interesuje...
Cytat(glazi91 @ 15.02.2012, 17:47:07 ) *
i przepraszam ze nie napisalem tamtego w BBcode:)

Istnieje funkcja .

Po za tym, używaj odpowiedniego formatowania kodu (wcięcia, itp). Przypomnę też, że funkcja musi coś zwrócić, nie wszędzie o tym pamiętasz.

Ten post edytował Kshyhoo 15.02.2012, 17:57:25


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
). Przypomnę też, że funkcja musi coś zwrócić, nie wszędzie o tym pamiętasz.
Bo przekazuje parametry przez referencje.... Hehe, studencik okazał się mądrzejszy od starego wygi ;P Za karę rozwiązujesz mu zadania wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kshyhoo
post
Post #14





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Stary to może jestem, ale gdzie tam mi do wygi smile.gif


--------------------
Go to the top of the page
+Quote Post
glazi91
post
Post #15





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


I nie ma nikogo kto może wytłumaczyć jakie robie błędy?
Go to the top of the page
+Quote Post
krzywy36
post
Post #16





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


Po pierwsze wstawiaj kod w bbcode bo strasznie się to czyta, co do zadania z sumowaniem, załóżmy, że $zakres1 = 2 i $zakres2 = 5, jakie liczby masz tu zsumowac? podpowiem: 2, 3, 4 i 5, a Ty sumujesz 2 i 5, widzisz w czym problem? Zupdateuję zaraz post o następne zadania.

Edit: kolejne zadanie - lista, po pierwsze losujesz liczby od -10 do 10 a w zadaniu jest napisane, że ma losować od $zakres1 do $zakres2 (wiesz czym jest zakres?), potem sprawdzasz jaką wielkość ma tablica do której przypisałeś jakieś bzdety. $ilosc ustalasz przekazując parametr do funkcji i Twoja tablica z liczbami losowymi powinna mieć $ilość elementów, rozumiesz? Powinieneś użyć pętli która się wykona $ilość razy, i za każdym wykonaniem umieści w tablicy losową wartość z zakresu $zakres1 do $zakres2. Czytaj uważnie i ze zrozumieniem, te zadania nie są trudne.

Ten post edytował krzywy36 15.02.2012, 18:34:50


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
glazi91
post
Post #17





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


już wiem o co ci chodzi tylko jakiej funkcji mam użyć by dodać zakres od $zakres1 do $zakres2?
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




FOR - patrz manual
http://www.php.net/manual/en/control-structures.for.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
glazi91
post
Post #19





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 14.02.2012

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


Cytat
for ($i = 1; $i <= 10; $i++) {
echo $i;
}


to z tego co rozumiem to mam zrobić coś takigo:

$zakres1 = 1 $zakres1;<=10; $zakres1++

$zakres2 = $zakres1 + $zakres2

?

właśnie to mi ciężko pojąć:/
Go to the top of the page
+Quote Post
krzywy36
post
Post #20





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


wiesz czym są pętle i jak działają? w tym wypadku pętla for. Jestem pewien, że nie wiesz, więc zabierz się najpierw za to. Przeanalizuj poniższy kod:
  1. <?php
  2.  
  3. $zakres1 = 2;
  4. $zakres2 = 7;
  5.  
  6. for($i = $zakres1; $i <= $zakres2; $i++)
  7. {
  8. echo $i . ' ';
  9. }
  10.  
  11. ?>


w php nie ma jako takiej struktury definiującej zakres, ale powyższy kod wyświetla wszystkie liczby z podanego zakresu, poczytaj o pętlach.


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 18:42