![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam, miałbym prośbę o napisanie króciutkiego skryptu, który:
Liczy średnią arytmetyczną wszystkich dodatnich elementów tablicy. Chciałbym także, by było to napisane prostym językiem, oparte o proste formułki, najlepiej takie znajdujące się w dziale podstawy. http://www.php.rk.edu.pl/w/p/podstawy-php/ - link. Być może wydaje się to banalne, ale lekcje z programowania zacząłem dopiero w tym roku szkolnym, a chciałbym mieć możliwość przeanalizowania tresci takiego prostego skrypciku, który był jednym z kilku na sprawdzianie, który muszę poprawić. |
|
|
![]()
Post
#2
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Witam, miałbym prośbę o napisanie króciutkiego skryptu, który: Liczy średnią arytmetyczną wszystkich dodatnich elementów tablicy. Chciałbym także, by było to napisane prostym językiem, oparte o proste formułki, najlepiej takie znajdujące się w dziale podstawy. http://www.php.rk.edu.pl/w/p/podstawy-php/ - link. Być może wydaje się to banalne, ale lekcje z programowania zacząłem dopiero w tym roku szkolnym, a chciałbym mieć możliwość przeanalizowania tresci takiego prostego skrypciku, który był jednym z kilku na sprawdzianie, który muszę poprawić. Nie odrabiamy zadań domowych, to Forum chcących się czegoś nauczyć. Pracuj samodzielnie a z problemami wróć. Zamykam... EDIT: zmieniam decyzję, otwieram wątek... Ale nie ma tak lekko:
W pętli for brakuje treści, to Twoje zadanie... PS: Jak ktoś da gotowca, ma bana na rok (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
No dzięki, lepsze to niż nic.
Teraz tylko muszę przeglądnąć cały dział podstawy, tak z 2 - 3 godziny i myślę, że dojdę czego tu brakuje. (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No chyba pętlę FOR kumasz?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
No niestety nie.
Nie rozumiem, czym jest zmienna $i, toż to nigdzie nie jest zdefniowane ;/// Jedynym materiałem, w oparciu o który próbuje pojąć tę pętlę jest przykład zawarty tutaj: http://www.php.rk.edu.pl/w/p/instrukcje-warunkowe/ mniej więcej na końcu artykułu jest podobny przykład pętli FOR, ale nie jestem w stanie przerobić go tak, by działało w oparciu o wartości elementów tablicy. Wgl, jak dla mnie, kompletnie zielonego, te przykłady nie są dostatecznie dobrze opisane co, jak, dlaczego i w jaki sposób działa. |
|
|
![]()
Post
#6
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No przecież to proste: wystarczy zsumować w pętli dane z tablicy i podzielić przez ilość elementów tablicy. Jak działa FOR zapewne wiesz. Zawiera 3 składniki: w pierwszym musisz zacząć od czegoś (pewnie od 0); w drugim dać jakiś warunek, żeby pętla liczyła; w trzecim zwiększyć licznik - tak łopatologicznie. Reasumując, pętla powinna wyglądać:
W miejsce [*] musisz coś wstawić, więcej nie dostaniesz... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ale czy to na pewno dobrze liczy? Bo widzę, że count($t) zlicza calkowita ilosc elementów, w tym te, których wartości są ujemne (sam teraz je przemianowałem, bo w Twojej tablicy wszystkie wartosci były dodatnie). Czyli w takim w/w przypadku skrypt dzieliłby sumę wartości przez 4, zamiast 2. (bo w zamyśle skrypt ma liczyć średnią wszystkich elementów dodatnich, czyli w przypadku, gdy tablica ma 4 elementy, w tym 2 o wartościach dodatnich, skrypt sumuje wartości tych 2 dodatnich elementów i ma dzielić przez 2). No chyba, że to ja zle rozumiem w takim wypadku pojęcie sredniej arytmetycznej. No i sprawa druga, jak dla mnie to w miejscu tego znicza [*] powinna stać 0, a sam znak wiekszosci powinien mieć inny zwrot ">" zamiast "<". Na podstawie tego co Napisales wczesniej, dla mnie logicznym jest ze druga formułka powinna wyglądać $i>0, co w moim zamysle ma oznaczac, ze petla wykonuje operacje dla kazdego elementu wiekszego od 0. Jeśli jest inaczej to sam na pewno do tego nie dojdę. :/ Pozdrawiam. |
|
|
![]()
Post
#8
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Źle myślisz. Powinna się tam znaleźć zmienna, która zawiera pewną wartość. No bo przecież kiedyś ta pętla musi się zatrzymać. Widać nie znasz zasady działania pętli FOR... proponuję od tego zacząć.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
No ok, zamiast znicza dalem zmienna $ile.
Tylko w takim wypadku sumuje mi wszystkie elementy, w tym te ujemne i otrzymuje 3. Wtedy dzieli przez 4 i wychodzi wynik -0,75, czyli dalej cos jest nie tak. Ten post edytował Xiviss 15.12.2014, 20:49:48 |
|
|
![]()
Post
#10
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
1 - 3 + 5 - 6 = -3
Otrzymujesz -3 a nie +3. -3 / 4 = -0,75 Co jest źle? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
No to jest zle, ze ten skrypt ma dodawac do siebie tylko dodatnie wartosci tablicy i dzielic przez ilosc tych dodatnich elementów.
Podczas gdy teraz ten skrypt sumuje wszystkie wartosci i dzieli przez ilosc wszystkich elementów, w tym też tych, których wartości są ujemne. A i moj błąd, w poprzednim poscie napisalem 3 zamiast -3 Ten post edytował Xiviss 15.12.2014, 20:57:02 |
|
|
![]()
Post
#12
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No słuchaj, dostałeś niemal gotowca i jeszcze wybrzydzasz? Nie znasz pętli FOR, i jak się okazuje, nie znasz też instrukcji IF... Czy tak trudno dać jeden warunek?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ja na prawde nie wybrzydzam, po prostu dla mnie wplecienie kazdego jednego warunku, funkcji to mordęga.
Tutaj mam jakis warunek, ale to nie dziala, wywala jakis error. Staram się to jakoś ogarnąć, ale dla mnie to wszystko to czarna magia.
|
|
|
![]()
Post
#14
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Podpowiem: Jeżeli element tablicy jest większy od zera... Chyba umiesz napisać to w PHP?
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
No to jest zle, ze ten skrypt ma dodawac do siebie tylko dodatnie wartosci tablicy i dzielic przez ilosc tych dodatnich elementów. Podczas gdy teraz ten skrypt sumuje wszystkie wartosci i dzieli przez ilosc wszystkich elementów, w tym też tych, których wartości są ujemne. A i moj błąd, w poprzednim poscie napisalem 3 zamiast -3
|
|
|
![]()
Post
#16
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
@Rysh, jak się mają uczyć, ja dajesz gotowce?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
O mateczko, w dalszym ciągu to jest zle (IMG:style_emoticons/default/biggrin.gif)
Wynik jest równy 6, kiedy powinien byc 9. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
O mateczko, w dalszym ciągu to jest zle (IMG:style_emoticons/default/biggrin.gif) Wynik jest równy 6, kiedy powinien byc 9. Przejrzyj to, co wysłał Ci Rysh, jeśli znasz odrobinę angielskiego (chodzi mi głównie o magiczne słowo "return") to powinieneś się zorientować, co tam jest nie tak... |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 15.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tak, wychodzi na to, że jestem upośledzony, bo ja nie widze w samym słowie return nic nadzwyczajnego.
Będę musiał po prostu zapytać nauczyciela, jak to powinno wyglądać, bo już nie mam pomysłów |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
@Rysh, jak się mają uczyć, ja dajesz gotowce? Niemogłem wytrzymać (IMG:style_emoticons/default/smile.gif) Pozatym ten przykład można rozwiązać na kilka sposobów, pokazaliśmy mu dwa. Kolega dalej niełapie, więc nie wiem jak mu to prościej wytłumaczyć. Tak, wychodzi na to, że jestem upośledzony, bo ja nie widze w samym słowie return nic nadzwyczajnego. Będę musiał po prostu zapytać nauczyciela, jak to powinno wyglądać, bo już nie mam pomysłów Powinno wyglądać, tak jak Ci napisałem wyżej. Ten post edytował Rysh 15.12.2014, 22:31:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.08.2025 - 10:29 |