Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste programy (pomoc)
Forum PHP.pl > Forum > Gotowe rozwiązania
grad
Witam. Jestem bardzo slaby z php a jutro pisze poprawe z kolokwium. Nie wiem czy to jest odpowiedni dzial ale sam sobie nie poradze ze skryptem. Mam wielka prosbe o napisanie mi chociaz 2 zadan ponizej zebym mogl na czym bazowac jak na poprawie bedzie cos podobnego. Btw cos w stylu podstawy php malo mi pomagaja (nie nadaje sie do tego) jestem grafikiem i w zyciu mi sie to raczej nie przyda a zaliczyc musze. Za pomoc bylbym mega wdzieczny:

1. Napisać program wyświetlający wynik dodawania kolejnych liczb całkowitych od 0 do 1000 jednocześnie
parzystych i podzielnych przez 7.

2. Stworzyc klase zwierze ze zmiennymi: waga, wiek, gatunek, nazwa.
Funkcja wypelnia od razu zmienne danymi. Funkcja zmieniajaca wiek o wartosc dana w parametrze.
Funkcja zwiekszajaca wage o jeden.

3. Napisać funkcję pobierającą 3 argumenty i wyliczającą pierwiastki równania kwadratowego.
Wyświetlajace je i zwracającą pierwszy pierwiastek.

4. Napisać prostą grę w kości. Użytkownik podaje jaką liczbę obstawia o 1 do 6. Podaje stawkę ile stawia po czym następuje
losowanie. Jeśli wygra to ta stawka X 6. Jak nie to traci to co obstawił. Gra ma się skończyć w wypadku straty całej gotówki
vokiel
To gdzie Ty się uczysz? Może zamiast na informatykę z elementami grafiki było iść na ASP ze specjalizacją: projektowanie stron www. Jeśli się do tego nie nadajesz to po co się męczyć?

1. Pętla for, w pętli sprawdzenie liczby if, reszta dzielenia modulo %, operator AND &&. Modulo ma być dla 2 (parzyste) i dla 7 (podzielne przez 7)
2. Klasę definiuje się słowem class{}, zmienne w klasie definiuje poprzez słowa private, public, protected. Funkcja w klasie (wbrew temu co tam masz napisane), to metoda. Metody definiuje się przez słowa kluczowe function (stąd ta zmyłka). Edycja zmiennych klasy poprzez $this->nazwa_zmiennej lub self::nazwa_zmiennej (w zależności, które z tych trzech słów na 'p' zostało użyte). Zmiana o jakąś wartość to po prostu +wartość. Nie ma związku bezpośredniego z php.
3. Funkcja pobierająca 3 argumenty to po prostu function($arg1,$arg2,$arg4){}. Na pierwiastek stopnia drugiego (kwadratowy) jest gotowa funkcja sqrt. Zwracanie wyniku to po prostu return $wynik -> $wynik jest zmienną przechowującą wynik.
4. Pobranie zmiennych od użytkownika najlepiej przeprowadzić przy pomocy formularza. Odebranie zmiennych z formularza albo przez zmienną tablicową $_POST, albo przez $_GET (w zależności od tego jak został przesłany formularz). Losowanie robi gotowa funkcja rand. Zapisywanie w zmiennej aktualnego stanu punktów. Sprawdzenie warunkiem czy pkt <=0 w celu zakończenia gry. Przetrzymywanie ilości punktów albo na sesji, albo nawet w ciasteczku bądź w ukrytym polu formularza.

Pozdrawiam
Mephistofeles
Cytat(vokiel @ 11.01.2010, 22:26:31 ) *
private, public, protected. Funkcja w klasie (wbrew temu co tam masz napisane), to metoda. Metody definiuje się przez słowa kluczowe function (stąd ta zmyłka). Edycja zmiennych klasy poprzez $this->nazwa_zmiennej lub self::nazwa_zmiennej (w zależności, które z tych trzech słów na 'p' zostało użyte).

Nie do końca, bo self:: to od statica jest.
grad
Problem polega na tym ze kierunek na ktorym jestem nazywa sie "projektowanie multimedialne" i pierwszy raz w historii tej szkoly kilka osob zdecydowalo sie isc na te specjalizacje liczac na to ze decydujac sie na ten kierunek ide na czysty zakres wiedzy z photoshopa, indiesing'ea, ilustratora, after effects, final cut itd i reszty czysto graficznych spraw. A tu nagle okazuje sie ze musze znac zakres wiedzy z povraya, php pomijacac zaaawansowane skrypty we fashu. Dlatego tez prosze o pomoc. Btw dzieki serdezne za dotychczasowa pomoc. Pzdr
darko
  1. // 1.
  2. $a = range(0,1000);
  3. $b = 0;
  4. foreach($a as $v) {
  5. if($v % 2 == 0 && $v % 7 == 0) {
  6. $b+=$v;
  7. //echo $v."<br/>";
  8. }
  9. }
  10. echo "wynik dodawania kolejnych liczb całkowitych od 0 do 1000 jednocześnie parzystych i podzielnych przez 7 to ". $b;
  11. /////////////////////////////////
  12. // 2
  13. class Zwierze {
  14. protected $waga = 68;
  15. protected $wiek = 3;
  16. protected $gatunek = "lew";
  17. protected $nazwa = "Mruczek";
  18.  
  19. /**
  20. * magiczny getter
  21. */
  22. public function __get($prop_name) {
  23. if(property_exists($this, $prop_name)) {
  24. return $this->$prop_name;
  25. }
  26. }
  27. public function setAge($age) {
  28. $this->wiek = $age;
  29. }
  30.  
  31. public function increaseWeight() {
  32. $this->waga++;
  33. }
  34. }
  35. // użycie:
  36. $kotek = new Zwierze();
  37. // ustawiamy wiek na 4
  38. $kotek->setAge(4);
  39. // zwiekszamy wage:
  40. $kotek->increaseWeight();
  41. sprawdźmy:
  42. echo "wiek kota po zmianie: ".$kotek->$wiek;
  43. echo "kotek waży obecnie: ".$kotek->$waga;
  44. /////////////////////////////////
  45. // nie sprawdziłem kodu poniżej:
  46. // 3.
  47. function xyz($a, $b, $c) {
  48. if($a == 0) {
  49. if($b != 0) {
  50. echo "równanie jest liniowe i ma postać $b * x + $c = 0 <br/>Rozwiązanie to: ".-$c/$b;
  51. }
  52. else {
  53. if($c != 0) {
  54. die("równanie ma postać $c=0 i jest sprzeczne");
  55. }
  56. else {
  57. die("równanie ma postać $c = 0<br/> i ma nieskończenie wiele rozwiązań");
  58. }
  59. }
  60. }
  61. else {
  62. echo "równanie kwadratowe ma postać: $a * x ^ 2 + $b * x + c = 0<br/>";
  63. $delta = ($b*$b - (4*$a*$c));
  64. echo "delta: $delta<br/>";
  65. if($delta < 0) {
  66. die("delta < 0 równanie nie ma rozwiązań");
  67. }
  68. elseif($delta == 0) {
  69. $x0 = -$b / (2*$a);
  70. echo "równanie ma dwa takie same rozwiązania x0=$x0";
  71. }
  72. else {
  73. $x1 = (-$b-sqrt($delta))/(2*$a);
  74. $x2 = (-$b+sqrt($delta))/(2*$a);
  75. echo "Rownanie ma dwa różne rozwiązania: x1 = $x1 i x2 = $x2";
  76. }
  77. }
  78. }
  79. // Ad.4 piątki nie musisz dostać, więc trzy zadania muszą Ci wystarczyć na zaliczenie ;) Kodu nie sprawdzałem, więc mogą być błędy
thek
Cytat(grad @ 11.01.2010, 23:24:58 ) *
Problem polega na tym ze kierunek na ktorym jestem nazywa sie "projektowanie multimedialne"(...) A tu nagle okazuje sie ze musze znac zakres wiedzy z povraya, php pomijacac zaaawansowane skrypty we fashu.
Może do tego się odniosę. Koledzy podpowiedzieli co szukać, a ja wyjaśnię dlaczego się pomyliłeś. Czy uważasz, że multimedia to tylko programy graficzne w stylu Photoshopa? A pomyślałeś choćby o Maya lub 3Dstudio? Multimedia to nie tylko "point&click" jak w PS. Dobrym przykładem jest właśnie zdziwienie PovRayem. Przecież to program graficzny do Ray tracingu, który jest po prostu skryptowym opisem sceny. Za jego pomocą można zrobić cuda (jeśli ktoś umie) nie do odróżnienia od zdjęcia! Są graficzne nakładki na niego, ale jak się trochę wysilisz to naprawdę zobaczysz, że ma on kolosalne możliwości. Sam go używałem i przy okazji świąt na zajęciach trzasnąłem taki stół wigilijny, że kobieta prowadząca zajęcia na koniec roku wahając się czy dać mi 4 czy 5 zdecydowała na 5 właśnie za to, że potrafię coś więcej niż klikać. Kumpel zaś tak odwalił animację (Pov-Ray też to umożliwia zrzucając kolejne klatki), że również nie miała ona wątpliwości kto potrafi się posługiwać tym narzędziem.
A co z muzyką lub filmem? To też multimedia. Stąd algorytmy mp3 czy kodowanie filmów w choćby DivX oraz tworzenie filtrów graficznych masz murowane jako materiał. Wiem co mówię bo sam skończyłem specjalizację, gdzie w nazwie było "techniki multimedialne" smile.gif Z głowy mogę Ci podać macierz służącą do wyostrzania krawędzi poziomych, pionowych lub ukośnych w obrazie. Jako informatyk powinieneś znać podstawy leżące u Twej specjalizacji, a nie tylko umieć wszystko wyklikać. Musisz znać różnicę pomiędzy różnymi rodzajami filtrów od strony technicznej, wiedzieć czym różni się choćby format bmp od tga czy gif lub jpg bądź tiff, bo a nuż przyjdzie Ci pisać plugin do tego i znajomość formatu pliku będzie koniecznością. Sam w ten weekend pomagałem kuzynowi pisać program w C (nie C++), który operował na plikach pgm w postaci binarnej. Najpierw jednak musiałem przecież znać jego strukturę by cokolwiek zacząć. Jak myślisz, czy wytłumaczenie mu i pisanie wraz z nim całego kodu, włącznie z filtrami, zajęło mi wiele. A dodam, że musiałem mu przy okazji tłumaczyć co to jest wskaźnik, referencja i rekurencja, bo na zajęciach omówili im to "po łebkach", choć i tak sądzę, że wiele zrozumiał. Tylko głupotą mógłbym nazwać stosowanie wszędzie referencji. Nie wiedział on nawet, bo im nie powiedzieli, że funkcja może zwracać coś returnem.Niby miał przy jednej int, ale na pałę tam wstawiał return 0, "bo tak im kazali". Coś takiego jak walidacja było w szczątkowej formie. Struktury danych kojarzył głównie z ustawianiem flag i późniejsze ich sprawdzanie. Przez to gdy sprawdzałem listę argumentów z linii komend (tak mieli to zadanie zrobić), to zaproponowałem mu -h jako help i zdziwił się, że gdy podesłał mi to jako kolejną flagę w strukturze opcji to mu to wywaliłem i bezpośrednio w switchu dałem. Pewne normalne dla nas programistów rzeczy jak kontrola zwracanych wartości funkcji były dla niego obce jeśli nie było to skopiowane z gotowca. Nie, to nie jest jakaś pipidówa w jakiej go uczą. Jest na 1 roku na Polibudzie Wrocławskiej, która przecież ma dobrą renomę. Nie rozumiem takiego zachowania prowadzących. Czyżby chcieli przejść niemal od razu do obiektówki, gdzie wyjątki większość ludzi wywala wprost do dev/null bo tak prościej?

Dlatego nie dziw się, że uczą Cię czegoś więcej, bo masz obowiązek to znać jako osoba mająca mieć tego mgr inż.
grad
Dziekuje za skrypt ! Teraz siedze na kolokwium i mam zadanie zrobienie w php skryptu obliczajacego sile grawitacji ze wzoru F=G x M x m / r2 (kiepsko go rozpisalem ale mi sie spieszy) jak ktos mi teraz pomoze to stawiam piwo. Pzdr
darko
I co, że niby przyjedziesz do Wrocławia i postawisz jednego browara? winksmiley.jpg Ja nie piszę skryptów za alkohol, lepiej napisz jak poszło to kolokwium?
// edit
użytkownicy mbproject i grad to jedna i ta sama osoba? Nie zaśmiecaj forum!
grad
Juz jakos zaliczylem odziwo na 3 ale slaby jestem z tego wiec sie ciesze. Cos mi przyszlo do glowy i sie udalo ;p ale slaby jestem z tego wiec sie ciesze. Jeszcze raz ogromne dzieki za pomoc w skryptach. EEE Nie jestem mbproject i nie wiem skad takie domysly. Jezeli chodzi o rozprawke theka to chetnie bym podyskutowal z toba na ten temat ale juz tyle razy narzekalismy z naszym kierunkiem w szkole i przerabialismy rozne warianty jak powinien wygladac system nauki ze po prostu mi sie nie chce. Nie chce zeby to zabrzmialo samym narzekaniem bo ta szkola mnie sporo nauczyla ale jak to mowia "najlepiej jest tam gdzie nas nie ma". To co napisales to jest po czesci oczywiste ale w pewnych sprawach sie nie zgodze. Nasz kierunek wyglada tak ze po 2 latach studiow dowiedzielismy sie od rektora ze my nie mamy po tych studiach byc grafikami tylko project managerami - w takim razie nazwa kierunku jest troche zle sformulowana bo mozna nawet zrobic ankiete i prawie 100% zaznaczy ze projektowanie multimedialne kojarzy sie po prostu z grafikiem. 3ds maxa mam ogarnietego bo zajmuje sie animacja. Problem polega na tym ze dobremu grafikowi nie potrzebny jest jakis przestazaly program z 93' do pisania 3d. Zamyslem (podobno) do wprowadzenia tego programu w plan bylo to ze jako project managerzy musimy znac modelowanie 3d od strony technicznej no ale my jestesmy tworczymi osobami i chcemy byc grafikami i to sie kloci. W jakiej pracy uzywaja teraz povraya. Znajdz mi taka oferte pracy w ktorej masz wymagania umiejetnosc obslugi programu pov ray. Ten program grafikowi kompletnie do niczego nie nada bo rynek reklamy i filmu jest bardzo dynamiczny i pewne rzeczy trzeba zrobic czasami w 1 dzien i od tego jest 3ds maxa, cinema 4d ktore sa trudnymi programami ale juz prosciej sie nie da w tej dziedzinie. Jak postawie boxa w povrayu to mi to zajmie 1min a w maxie 5 sek. Kto normalny na codzien w pracy bedzie to pisal i sobie utrudnial zycie z reszta prosze cie "pisanie w 3d" . Jeszcze eksportowanie pojedynczych klatek i montaz w innym programie to juz w ogole no ale czego sie spodziewac po darmowym programie. Znam jego mozliwosci ale nie nudzi mi sie na tyle zeby to pisac jak moge zrobic to lepiej w maxie czy w cinema. Nie jestem informatykiem jak napisales tylko grafikiem kreatywnym a to jest duza roznica.

Pzdr
thek
Wiesz... Nazwa kierunku i jego "zawartość merytoryczna" nawet u mnie były średnio przystające winksmiley.jpg Miałem co prawda Corela, PovRay ale także BGI. Nie zgodzę się jednak ze zwrotem "czego się spodziewać po darmowym programie". Bo niestety ale Maya czy 3Dstudio do ray-tracingu się średnio nadają. Spójrz na tę galerię http://www.povray.org/community/hof/ i powiedz ile z nich w stanie jest nawet najlepszy specjalista wygenerować? O ile jeszcze te futurystyczne czy urbanistyczne są jeszcze proste, o tyle krajobrazy z miękkimi światłocieniami to po prostu masakra dla nich i w wymienionych programach osiągnięcie takich rezultatów jakie Pov-ray automatycznie tworzy są niezwykle trudne do uzyskania. W pov-ray zaś to tylko kilka linii decydujących o stopniu odbicia światła, przepuszczalności (czy paru innych drobiazgów z tym związanych) dla zadanej powierzchni. Jak już wspomniałem, point&click są fajne, ale gdy dochodzimy do drobiazgów to i tak jako grafik wiesz, że klikanie nic nie daje, bo trzeba wtedy modyfikować już wewnątrz struktur. A pov-ray też ma GUI dostępne typu Point&Click i nie trzeba pisać tylko sobie klikniesz a też boxa w kilka sekund postawisz smile.gif
Co do project managerów to macie jako "nadzorcy" znać to także od strony technicznej by móc realnie ocenić czas jaki danemu zadaniu ma być przeznaczony. W nie każdej firmie mają licencję na oprogramowanie jakie Ty akurat znasz, więc powinieneś móc określić realny czas trwania zadania. I tu nie chodzi o "stary program", bo dobry broni się przed takim zarzutem sam. Powiedz programiście w C++, że jest zbędny bo są nowsze języki programowania to Cię wyśmieje winksmiley.jpg
Multimedia to jak wspomniałem nie tylko grafika. To całkowita strona audio-wizualna. Jeśli więc mówisz, że nie chcesz być informatykiem tylko grafikiem to trudno mi się nie zgodzić z przedmówcą. Po co informatyka na politechnice, a nie ASP? Nie żebym był złośliwy, ale z tego co mi wiadomo na ASP trudno się dostać i to chyba zadecydowało winksmiley.jpg Mam znajomych po ASP, jeden naprawdę dobry znajomy się jednak nie dostał bo egzaminy wstępne go przerosły, choć jego prace podniosły by poprzeczkę naprawdę wysoko. Koleś zajmował się na ten czas grafiką już od kilku dobrych lat (graffiti - jeden z lepszych w naszym kraju, akwarele, obrazy olejne, grafika komputerowa) i gdyby nie koszty to wybrałby studia w Paryżu, gdzie jest kierunek związany ze sztuką graffiti. I mam na myśli sztukę, a nie bohomazy na ścianach, byleby zaznaczyć "to mój/nasz teren". Dobre graffiti to takie, którego nikt nie chce zamalować lub po które ludzie zgłaszają się sami by im wykonać 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-2024 Invision Power Services, Inc.