![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 11.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam forumowiczów
Od dłuższego czasu głowię się nad skryptem z książki(słabo jest tam wyjaśniony), który działa, ale nie rozumiem dlaczego działa. Wygląda on tak:
Analizując drogę skryptu, to działa on tak: dopóki $a i $b są różne, to $a=$a-$b, ale w związku z instrukcją "if" - jesli $a jest mniejsze od $b to $a staje się równe $b (nie rozumiem po co tutaj zmienna pomocnicza $pom). Ale $a jest mniejsze od $b już w momencie gdy $a=8. Ponieważ działanie $a=$a-$b działa tak: 32-12=32 20-12=20 8-12=8 Zatem nie rozumiem dlaczego $a ma być kiedykolwiek równe 4... (nie widzę tego momentu)Czy ktoś mógłby mi jasno i szczegółowo wyjaśnić skąd ta 4, (która jest faktycznie NWD dla tych liczb) i gdzie zrobiłem błąd w mojej analizie tego skryptu ? dzięki za odpowiedź Ten post edytował Jozjasz 17.09.2009, 01:53:11 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 37 Dołączył: 1.05.2008 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Pierwsze przejście pętli:
$a = 32; $b = 12; Warunek $a < $b nie jest spełniony Po odejmowaniu $a = 20; $b= 12; Drugie przejście pętli: $a = 20; $b = 12; Warunek $a < $b nie jest spełniony Po odejmowaniu $a = 8; $b= 12; Trzecie przejście pętli: $a = 8; $b = 12; Warunek $a < $b jest spełniony, następuje odwrócenie liczb $a = 12, $b = 8 Po odejmowaniu $a = 4, $b = 8 Czwarte przejście pętli: $a = 4; $b = 8; Warunek $a < $b jest spełniony, następuje odwrócenie liczb $a = 8, $b =4 Po odejmowaniu $a = 4, $b = 4 Zakończenie pętli (IMG:style_emoticons/default/smile.gif) ale w związku z instrukcją "if" - jesli $a jest mniejsze od $b to $a staje się równe $b (nie rozumiem po co tutaj zmienna pomocnicza $pom). Ten $pom ma na celu pomoc w odwróceniu liczb, gdyby zrobić to tylko tak
to $a otrzyma wartość $b ale $b otrzyma znów swoją wartość zamiast wartości $a (ponieważ $a została wcześniej zmieniona). Do tego przydaje się zmienna $pom która czasowo przechowuje wartość $a aby mogła ona potem zostać prawidłowo zapisana do $b. Ten post edytował Berg 17.09.2009, 02:20:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 02:12 |