Jak już wiemy, litery w informatyce to wartości liczbowe, gdzie każdy znak posiada odpowiednią wartość. Każda kolejna litera ma wartość większą od poprzedniej. To znaczy, że jedno imię jest mniejsze od kolejnego jeśli zaczyna się na literę o mniejszej wartości liczbowej. W jaki sposób rozwiązać ten problem? Zacznijmy od określenia co wiemy: wiemy, że mamy listę uczestników z imionami, dla uproszczenia oznaczmy ją L i wiemy, że ta lista jest skończona, mamy n uczestników. Co chcemy osiągnąć? Chcemy otrzymać listę, w której każde kolejne imię jest większe od poprzedniego. Tą wyjściową listę nazwijmy PL. Rozwiązanie można opisać w następujący sposób:
Ten bardzo drobiazgowy opis sortowania uczestników opisuje wszystko skrupulatnie poza jedną rzeczą. Zauważ, że punkt piąty w ogóle nie tłumaczy co to znaczy “porównaj imiona”. To tak jakby w przepisie na biszkopt znaleźć informację “ubij białko na sztywno z cukrem”. Niby wiadomo o co chodzi ale jak to zrobić? Dodać cały cukier do białka i zacząć ubijać czy może cukier dodawać stopniowo? Sporo niewiadomych. Rozwiejmy te wątpliwości. Poniżej moja propozycja na rozwiązanie problemu: Czy imię A jest mniejsze od B. Wiemy, że mamy do dyspozycji dwa imiona a wynikiem końcowym ma być informacja tak/nie (oznaczmy wynik jako W, możemy opisać np. tak:
Powyższy algorytm możemy nazwać “podalgorytmem”- niezależnym algorytmem, z którego możemy skorzystać w dowolnym momencie, gdy zechcemy porównać dwa imiona i sprawdzić, które z nich powinno wystąpić pierwsze. A czy możemy ten algorytm użyć z innymi wartościami? Np. nazwami miast? Oczywiście! To jest jedna z cech dobrego algorytmu- uniwersalność.
Opis słowny algorytmu jest bardzo rozległy. W kolejnym rozdziale pokażę inne, bardziej wymowne sposoby opisu algorytmu.
"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość
"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość
System operacyjny, który zarządza uruchomionymi programami, przydziela każdemu porcję czasu procesora, który wykorzystuje ją na wykonanie swojego algorytmu. Program nie może pracować cały czas, bez odpoczynku, jednak istnieje możliwość odłożenia jego pracy w czasie. Czytaj całość
Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.
Bądź pierwszy, podziel się swoją opinią!