Ĺadny brzuch
Poratujcie mnie biednego jakimiś pomysłami. Otóż dostałem zadanko maturalne z informatyki o przecudnym tytule "kłopot z kalkulatorem".
Przedstawie pokrótce o co chodzi. Otóż jest pewien marek który chce sobie obliczyć pierwiastek kwadratowy z liczby 14 i 52. Ma kalkulator z niedziałającym przyciskiem pierwiastka kwadratowego. Wciskał zatem kolejno:
krok 1: 14 / 7 + 7 = / 2 = 4,5
krok 2: 14 / 4,5 + 4,5 = / 2 = 3,81
krok 3: 14 / 3,81 + 3,81 = / 2 = 3,74
krok 4: 14 / 3,74 + 3,74 = / 2 = 3,74
Z pierwaistkiem za 52 poradził sobie w ten sam sposób.
Pytania mam takie:
1. Zapisz w postaci listy kroków algorytm obliczania pierwiastka kwadratowego dowolnej dodatniej liczby całkowitej n którym posługiwał się ten Mareczek
2. Na jaki warunek zakończenia algorytmu zdecydował się Marek (otrzymał w dwóch ostatnich krokach ten sam wynik - chyba o to chodzi)
3. Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
Jeśli jest ktoś na forum kto wie jak wykonać te zadanie to bardzo proszę o pomoc.
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
1. Zapisz w postaci listy kroków algorytm obliczania pierwiastka kwadratowego dowolnej dodatniej liczby całkowitej n którym posługiwał się ten Mareczek
Powinieneś trochę się nad tym pomęczyć :)
Spróbuj sobie rozpisać to na kartce i oznacz liczby odpowiednimi zmiennymi - wtedy dojdziesz do wzoru, który określa sposób postępowania, a tym samym będziesz miał algorytm.
W razie problemów pytaj - ale naprawdę warto, żebyś postarał się samemu to zrobić...
cytat:2. Na jaki warunek zakończenia algorytmu zdecydował się Marek (otrzymał w dwóch ostatnich krokach ten sam wynik - chyba o to chodzi)
Dobrze kombinujesz :)
Chodzi o różnicę pomiędzy wynikami kolejnych iteracji.
cytat:3. Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
Ja znam tą metodę jako Metodę iteracji prostej
ICQ : 245-363-570
Oxi dzięki za rady, jednak do Twoich podpowiedzi będę miał kilka pytań. Trochę zaniedbałem informatykę a z tym przedmiotem wiążę swoja przyszłość (eh). Niestety nauczyciel który z nami pracuje nie potrafi nam przekazać swojej wiedzy. Tak więc nie tylko ja ratuję się podpowiedziami takich osób jak Ty. Jeśli dobrze zrozumiałem mam podstawić jakieś zmienne do działań które wykonał ten Wojtek. Hmm nie pomyślałem o tym, tak na chłopski rozum to będzie:
[ ( n / 0,5n ) + 0,5 n ] / 2 = m, ale to byłby wzór do jednego z kroków a algorytm będzie wykonywany dopóki jak napisałeś " różnica pomiędzy wynikami kolejnych iteracji będzie bliska 0". Tak więc ten wzór jak narazie nic mi nie daje...
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
Trochę zaniedbałem informatykę a z tym przedmiotem wiążę swoja przyszłość (eh).
Właśnie dlatego nie chciałem Ci od razu podawać rozwiązania :)
cytat:
Jeśli dobrze zrozumiałem mam podstawić jakieś zmienne do działań które wykonał ten Wojtek. Hmm nie pomyślałem o tym, tak na chłopski rozum to będzie:
[ ( n / 0,5n ) + 0,5 n ] / 2 = m, ale to byłby wzór do jednego z kroków a algorytm będzie wykonywany dopóki jak napisałeś " różnica pomiędzy wynikami kolejnych iteracji będzie bliska 0". Tak więc ten wzór jak narazie nic mi nie daje...
OK - widzę, że próbujesz coś zrobić a nie czekasz na "kawe na ławe" ;)
To jest metoda iteracyjna - co oznacza, że do rozwiązania dochodzi się w kolejnych iteracjach (krokach), w których wykorzystuje się wynik poprzedniej iteracji i w rezultacie dostaje się coraz lepsze przybliżenie wartości której szukamy.
Potrzebujesz znaleźć wzór postaci x(n) = f[x(n-1)] gdzie n to n-ty krok iteracji.
Oznacz sobie jako a liczbę do spierwiastkowania.
Teraz można spróbować napisać pierwszy wzór (dla ułatwienia dodałem nawiasy):
x(1) = ((14/7)+7)/2 = 4,5
Liczba 14 (którą chcemy spierwiastkować) występuje w każdym kroku więc możemy wpisać w to miejsce naszą zmienną a (która oznacza właśnie tą liczbę do spierwiastkowania). Dostaniemy:
x(1) = ((a/7)+7)/2 = 4,5
Teraz popatrz na tą liczbę 7 - w każdym kolejnym kroku jest ona zastępowana wynikiem wcześniejszego kroku - czyli w kroku nr 2 podstawiany jest wynik wcześniejszego kroku - czyli x(1). Potem do obliczenia x(3) podstawiane jest x(2) itd.
Można więc zamiast liczby 7 napisać x(n-1) gdzie n-1 oznacza wartość wyliczoną w poprzednim kroku.
Teraz zamiast tej siudemki wstaw x(n-1) do poprzedniego wzoru - oraz zamień x(1) na x(n) - bo w n-tej iteracji korzystamy z wyniku z n-1 -tej iteracji.
Dostaniesz wzór:
x(n) = ((a/x(n-1))+x(n-1))/2
Za pomocą tego wzoru możesz obliczyć pierwiastek wybranej liczby.
Potrzebujesz jednak jeszcze wartość x(0) aby obliczyć wartość pierwszej iteracji x(1).
Patrząc na podany przez Ciebie przykład możesz sobie przyjąć, że x(0)=a/2 (ale inne wartości też by doprowadziły do rozwiązania).
Podsumowując:
Masz zmienną a oznaczającą liczbę, którą chcesz spierwiastkować.
Jako wartość "zerową" x(0) przyjmujesz wartość a/2
Podstawiając te zmienne do wzoru:
x(n) = ((a/x(n-1))+x(n-1))/2
i wykonując potem kolejne iteracje dla n=1, n=2, n=3 itd. dostaniesz w końcu rozwiązanie.
PS.
Nie wiem czy dostatecznie jasno to napisałem - ale myślę, że sobie poradzisz :)
Jakby coś było niejasne to pytaj...
ICQ : 245-363-570
Qrcze Oxi Thank You. Lol zasługujesz na miano moderatora, twoje wyjaśnienie jest bardzo dobre i co najważniejsze zrozumiałem. Takiej osoby jak Ty brakuje u nas w szkole (nie szukasz może pracy w zawodzie informatyka? :D) Nie powinienem mieć już kłopotu ze zrobieniem tego zadania, jednak (eh) to było najłatwiejsze z zadań które mnie czeka (zostały jeszcze 3 :(). Bosze domomóż Mi i moim przyjaciołom bo przyszłość nie rysuje się w różowych barwach. Naszczęście istnieją jeszcze na tym świecie istoty tak szlachetne jak Oxi, ogromne pozdro dla ciebie :)
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
twoje wyjaśnienie jest bardzo dobre i co najważniejsze zrozumiałem.
O to chodziło :ok:
cytat:
Takiej osoby jak Ty brakuje u nas w szkole (nie szukasz może pracy w zawodzie informatyka? :D)
Czasem pracuje jako programista, ale narazie nie planuje kariery nauczyciela ;)
cytat:Nie powinienem mieć już kłopotu ze zrobieniem tego zadania, jednak (eh) to było najłatwiejsze z zadań które mnie czeka (zostały jeszcze 3 :(). Bosze domomóż Mi i moim przyjaciołom bo przyszłość nie rysuje się w różowych barwach. Naszczęście istnieją jeszcze na tym świecie istoty tak szlachetne jak Oxi, ogromne pozdro dla ciebie :)
Spoko - poradzicie sobie :)
Kombinujcie a w razie większych problemów próbujcie szczęścia na forum - nie twierdzę, że ja będę umiał Wam pomóc ale na tym forum jest wiele "tęgich głów" i pewnie ktoś będzie umiał coś pomóc...
Pozdrawiam
ICQ : 245-363-570
Aj Oxi w pytaniu:
Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
są trzy możliwości:
1.Metoda newtona-raphsona
2.Metoda połowienia przedziałów
3.Metoda simpsona
Oj oj pomocy, wydaje mi się iż to jest 2 metoda ale nie jestem pewien
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
są trzy możliwości:
1.Metoda newtona-raphsona
2.Metoda połowienia przedziałów
3.Metoda simpsona
Oj oj pomocy, wydaje mi się iż to jest 2 metoda ale nie jestem pewien
Nie - poprawna odpowiedź to 1 - metoda Newtona-Raphsona.
Na 99.9% ;)
Na Simpsona nie stawiam bo kojarzy mi się głównie z metodą całkowania - natomiast z tego co pamiętam to napisałem Ci właśnie Newtona-Raphsona.
ICQ : 245-363-570
cytat:Oxi napisał:
[Ja znam tą metodę jako Metodę iteracji prostej
ICQ : 245-363-570
Oxi ok wydawalo mi sie ze jesli dzielimy za kazdym razem otrzymany wynik to bedzie to metoda połowienia, ale się myliłem. Dzięki i znow mnie poratowałeś :] Zaczynamy teraz php och czarno to widzę z tą kobietą, która mnie uczy. Wypisuje na tablicy teorie a potem dyktuje zadanka do domu oj mam nadzieje że samemu jakoś się nauczę tego php[:/]
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
cytat:Oxi napisał:
[Ja znam tą metodę jako Metodę iteracji prostej
Oxi ok wydawalo mi sie ze jesli dzielimy za kazdym razem otrzymany wynik to bedzie to metoda połowienia, ale się myliłem.
Nazewnictwo czasem jest różne - dlatego wcześniej pisałem o metodzie iteracji prostej. Natomiast metoda połowienia polega z grubsza na tym, że w każdym kroku dzieli się przedział na pół i sprawdza wartość funkcji w tym punkcie - jeśli wynosi 0 to mamy rozwiązanie a jeśli nie to sprawdza się jaki znak ma funkcja na początku i końcu obu przedziałów. Potem bierze się ten przedział dla którego te znaki były przeciwne i znów się go dzieli na pół itd.
PS.
Powodzenia z PHP :)
ICQ : 245-363-570
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Przedstawie pokrótce o co chodzi. Otóż jest pewien marek który chce sobie obliczyć pierwiastek kwadratowy z liczby 14 i 52. Ma kalkulator z niedziałającym przyciskiem pierwiastka kwadratowego. Wciskał zatem kolejno:
krok 1: 14 / 7 + 7 = / 2 = 4,5
krok 2: 14 / 4,5 + 4,5 = / 2 = 3,81
krok 3: 14 / 3,81 + 3,81 = / 2 = 3,74
krok 4: 14 / 3,74 + 3,74 = / 2 = 3,74
Z pierwaistkiem za 52 poradził sobie w ten sam sposób.
Pytania mam takie:
1. Zapisz w postaci listy kroków algorytm obliczania pierwiastka kwadratowego dowolnej dodatniej liczby całkowitej n którym posługiwał się ten Mareczek
2. Na jaki warunek zakończenia algorytmu zdecydował się Marek (otrzymał w dwóch ostatnich krokach ten sam wynik - chyba o to chodzi)
3. Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
Jeśli jest ktoś na forum kto wie jak wykonać te zadanie to bardzo proszę o pomoc.
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
1. Zapisz w postaci listy kroków algorytm obliczania pierwiastka kwadratowego dowolnej dodatniej liczby całkowitej n którym posługiwał się ten Mareczek
Powinieneś trochę się nad tym pomęczyć :)
Spróbuj sobie rozpisać to na kartce i oznacz liczby odpowiednimi zmiennymi - wtedy dojdziesz do wzoru, który określa sposób postępowania, a tym samym będziesz miał algorytm.
W razie problemów pytaj - ale naprawdę warto, żebyś postarał się samemu to zrobić...
cytat:2. Na jaki warunek zakończenia algorytmu zdecydował się Marek (otrzymał w dwóch ostatnich krokach ten sam wynik - chyba o to chodzi)
Dobrze kombinujesz :)
Chodzi o różnicę pomiędzy wynikami kolejnych iteracji.
cytat:3. Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
Ja znam tą metodę jako Metodę iteracji prostej
ICQ : 245-363-570
Oxi dzięki za rady, jednak do Twoich podpowiedzi będę miał kilka pytań. Trochę zaniedbałem informatykę a z tym przedmiotem wiążę swoja przyszłość (eh). Niestety nauczyciel który z nami pracuje nie potrafi nam przekazać swojej wiedzy. Tak więc nie tylko ja ratuję się podpowiedziami takich osób jak Ty. Jeśli dobrze zrozumiałem mam podstawić jakieś zmienne do działań które wykonał ten Wojtek. Hmm nie pomyślałem o tym, tak na chłopski rozum to będzie:
[ ( n / 0,5n ) + 0,5 n ] / 2 = m, ale to byłby wzór do jednego z kroków a algorytm będzie wykonywany dopóki jak napisałeś " różnica pomiędzy wynikami kolejnych iteracji będzie bliska 0". Tak więc ten wzór jak narazie nic mi nie daje...
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
Trochę zaniedbałem informatykę a z tym przedmiotem wiążę swoja przyszłość (eh).
Właśnie dlatego nie chciałem Ci od razu podawać rozwiązania :)
cytat:
Jeśli dobrze zrozumiałem mam podstawić jakieś zmienne do działań które wykonał ten Wojtek. Hmm nie pomyślałem o tym, tak na chłopski rozum to będzie:
[ ( n / 0,5n ) + 0,5 n ] / 2 = m, ale to byłby wzór do jednego z kroków a algorytm będzie wykonywany dopóki jak napisałeś " różnica pomiędzy wynikami kolejnych iteracji będzie bliska 0". Tak więc ten wzór jak narazie nic mi nie daje...
OK - widzę, że próbujesz coś zrobić a nie czekasz na "kawe na ławe" ;)
To jest metoda iteracyjna - co oznacza, że do rozwiązania dochodzi się w kolejnych iteracjach (krokach), w których wykorzystuje się wynik poprzedniej iteracji i w rezultacie dostaje się coraz lepsze przybliżenie wartości której szukamy.
Potrzebujesz znaleźć wzór postaci x(n) = f[x(n-1)] gdzie n to n-ty krok iteracji.
Oznacz sobie jako a liczbę do spierwiastkowania.
Teraz można spróbować napisać pierwszy wzór (dla ułatwienia dodałem nawiasy):
x(1) = ((14/7)+7)/2 = 4,5
Liczba 14 (którą chcemy spierwiastkować) występuje w każdym kroku więc możemy wpisać w to miejsce naszą zmienną a (która oznacza właśnie tą liczbę do spierwiastkowania). Dostaniemy:
x(1) = ((a/7)+7)/2 = 4,5
Teraz popatrz na tą liczbę 7 - w każdym kolejnym kroku jest ona zastępowana wynikiem wcześniejszego kroku - czyli w kroku nr 2 podstawiany jest wynik wcześniejszego kroku - czyli x(1). Potem do obliczenia x(3) podstawiane jest x(2) itd.
Można więc zamiast liczby 7 napisać x(n-1) gdzie n-1 oznacza wartość wyliczoną w poprzednim kroku.
Teraz zamiast tej siudemki wstaw x(n-1) do poprzedniego wzoru - oraz zamień x(1) na x(n) - bo w n-tej iteracji korzystamy z wyniku z n-1 -tej iteracji.
Dostaniesz wzór:
x(n) = ((a/x(n-1))+x(n-1))/2
Za pomocą tego wzoru możesz obliczyć pierwiastek wybranej liczby.
Potrzebujesz jednak jeszcze wartość x(0) aby obliczyć wartość pierwszej iteracji x(1).
Patrząc na podany przez Ciebie przykład możesz sobie przyjąć, że x(0)=a/2 (ale inne wartości też by doprowadziły do rozwiązania).
Podsumowując:
Masz zmienną a oznaczającą liczbę, którą chcesz spierwiastkować.
Jako wartość "zerową" x(0) przyjmujesz wartość a/2
Podstawiając te zmienne do wzoru:
x(n) = ((a/x(n-1))+x(n-1))/2
i wykonując potem kolejne iteracje dla n=1, n=2, n=3 itd. dostaniesz w końcu rozwiązanie.
PS.
Nie wiem czy dostatecznie jasno to napisałem - ale myślę, że sobie poradzisz :)
Jakby coś było niejasne to pytaj...
ICQ : 245-363-570
Qrcze Oxi Thank You. Lol zasługujesz na miano moderatora, twoje wyjaśnienie jest bardzo dobre i co najważniejsze zrozumiałem. Takiej osoby jak Ty brakuje u nas w szkole (nie szukasz może pracy w zawodzie informatyka? :D) Nie powinienem mieć już kłopotu ze zrobieniem tego zadania, jednak (eh) to było najłatwiejsze z zadań które mnie czeka (zostały jeszcze 3 :(). Bosze domomóż Mi i moim przyjaciołom bo przyszłość nie rysuje się w różowych barwach. Naszczęście istnieją jeszcze na tym świecie istoty tak szlachetne jak Oxi, ogromne pozdro dla ciebie :)
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
twoje wyjaśnienie jest bardzo dobre i co najważniejsze zrozumiałem.
O to chodziło :ok:
cytat:
Takiej osoby jak Ty brakuje u nas w szkole (nie szukasz może pracy w zawodzie informatyka? :D)
Czasem pracuje jako programista, ale narazie nie planuje kariery nauczyciela ;)
cytat:Nie powinienem mieć już kłopotu ze zrobieniem tego zadania, jednak (eh) to było najłatwiejsze z zadań które mnie czeka (zostały jeszcze 3 :(). Bosze domomóż Mi i moim przyjaciołom bo przyszłość nie rysuje się w różowych barwach. Naszczęście istnieją jeszcze na tym świecie istoty tak szlachetne jak Oxi, ogromne pozdro dla ciebie :)
Spoko - poradzicie sobie :)
Kombinujcie a w razie większych problemów próbujcie szczęścia na forum - nie twierdzę, że ja będę umiał Wam pomóc ale na tym forum jest wiele "tęgich głów" i pewnie ktoś będzie umiał coś pomóc...
Pozdrawiam
ICQ : 245-363-570
Aj Oxi w pytaniu:
Jak nazywa się metoda obliczenia wartości pierwiastka kwadratowego zastosowana w algorytmie, którym posłużył się Marek.
są trzy możliwości:
1.Metoda newtona-raphsona
2.Metoda połowienia przedziałów
3.Metoda simpsona
Oj oj pomocy, wydaje mi się iż to jest 2 metoda ale nie jestem pewien
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
są trzy możliwości:
1.Metoda newtona-raphsona
2.Metoda połowienia przedziałów
3.Metoda simpsona
Oj oj pomocy, wydaje mi się iż to jest 2 metoda ale nie jestem pewien
Nie - poprawna odpowiedź to 1 - metoda Newtona-Raphsona.
Na 99.9% ;)
Na Simpsona nie stawiam bo kojarzy mi się głównie z metodą całkowania - natomiast z tego co pamiętam to napisałem Ci właśnie Newtona-Raphsona.
ICQ : 245-363-570
cytat:Oxi napisał:
[Ja znam tą metodę jako Metodę iteracji prostej
ICQ : 245-363-570
Oxi ok wydawalo mi sie ze jesli dzielimy za kazdym razem otrzymany wynik to bedzie to metoda połowienia, ale się myliłem. Dzięki i znow mnie poratowałeś :] Zaczynamy teraz php och czarno to widzę z tą kobietą, która mnie uczy. Wypisuje na tablicy teorie a potem dyktuje zadanka do domu oj mam nadzieje że samemu jakoś się nauczę tego php[:/]
Athlon XP 2000, G4 Ti-4800se, 512 DDR :)
cytat:DjMati napisał:
cytat:Oxi napisał:
[Ja znam tą metodę jako Metodę iteracji prostej
Oxi ok wydawalo mi sie ze jesli dzielimy za kazdym razem otrzymany wynik to bedzie to metoda połowienia, ale się myliłem.
Nazewnictwo czasem jest różne - dlatego wcześniej pisałem o metodzie iteracji prostej. Natomiast metoda połowienia polega z grubsza na tym, że w każdym kroku dzieli się przedział na pół i sprawdza wartość funkcji w tym punkcie - jeśli wynosi 0 to mamy rozwiązanie a jeśli nie to sprawdza się jaki znak ma funkcja na początku i końcu obu przedziałów. Potem bierze się ten przedział dla którego te znaki były przeciwne i znów się go dzieli na pół itd.
PS.
Powodzenia z PHP :)
ICQ : 245-363-570