Początki informatyki – już przed nasza erą: algorytm Euklidesa na obliczanie NajwiększegoWspólnegoDzielnika:
1.Dane dwie liczby naturalne a i b
2.Porównaj a i b
jeśli równe, wynik jest a
jeśli nie, to przejdź do p.3
3. jeśli a>b to a-b i zastąp a
w przedziwnym wypadku b-a i zastąp b.
4. Wróć do pkt 2.
Nowy termin: iteracja.
Są różne rodzej pętli, np. pętla warunkowa (kończy się, jeśli zostanie spełniony jakiś warunek)
instrukcja warunkowa (jeśli warunek, to coś, w przeciwnym wypadku coś innego)
instrukcja przypisania/zmiany wartości
Najczęściej używanymi w informatyce układami liczb są system dwójkowy i system szesnastkowy.
Dzielenie całkowite: 5 div 2 = 2
Modulo: 5 mod 2 = 1 (daje nam resztę z dzielenia)
Drugie rozwiązanie algorytmu Euklidesa:
1. Dane dwie liczby naturalne a i b
2. Jeśli a=0 lub b=0, wynik = a+b
3. Jeśli a>b to a=a mod b
wpp b=b mod a
4. Wróć do pkt. 2.
Komputer zapisuje wszystko w swojej pamięci w bitach (1 lub 0).
8 bitów to bajt.
Typy zmiennych umożliwiające przechowywanie liczb niecałkowitych są niedokładne, przez co chąc podzielić coś przez bardzo małą liczbę możemy uzyskać błąd dzielenia przez zero.
wrzesień 8, 2007 o 2:55 pm |
Ja rozumiem, że słowo Układ jest ostatnio w Polsce bardzo modny, ale jednak liczbowe to są systemy.
Pętla to nie jest synonim iteracji…
Algorytm Euklidesa zapisany trochę bez sensu. Tak jest chyba o wiele prościej:
NWD(a, b)
jeśli b = 0
zwróć a
wpp
zwróć NWD(b, a mod b)
I nie chodzi mi o sposób zapisu, bo to tylko cukier syntaktyczny.
> Liczby po przecinku zapisywane są w komputerze z pewnym przybliżeniem.
To też nie zupełnie jest prawda. Prawdą jest jedynie, że wbudowane typy umożliwiające przechowywanie liczb niecałkowitych nie są dokładne.
wrzesień 8, 2007 o 8:20 pm |
To są notatki z lekcji. Dziwne, że sam nie zauważyłem tego “układu”
Uściśliłem iterację za pomocą wikipedii.
Jeśi chodzi o zapis algorytmu, powtarzam, że to właśnie pisał nauczyciel (i niestety właśnie jego wersję raczej trzeba umieć).
To z liczbami też poprawiłem.
Dziękuję bardzo za poprawienie mnie (i przy okazji nauczyciela).
wrzesień 8, 2007 o 10:17 pm |
@Jackob:
Hehe… Proszę bardzo
A z tym, że trzeba umieć taką wersję, jaką przedstawił nauczyciel, to akurat nie do końca się zgodzę. Tzn. rozumiem, że czasem nauczyciele mają dziwne “odpały” i jeśli na takiego trafiłeś, to współczuję. Większość nauczycieli przedmiotów ścisłych nie traktuje tego, co mówią, jako niemodyfikowalnej formułki.
Zresztą i tak dobrze wiedzieć, że można to zrobić inaczej/sprytniej…