4 Zrozumieć Asembler
Wskaźnik podaje jej jedną z dwóch informacji: 1) jest dosyć paliwa, lub 2) jest za mało. Jeśli ma dosyć paliwa, skręca na prawo w kierunku Dempster. Jeśli jest za mało paliwa, skręca w lewo i tankuje na stacji Shella. (Na tej stacji można płacić kartą kredytową.) Potem, z pełnym bakiem, wykonuje dalej program dnia zawracając i kierując się do Dempster.
Każde sprawdzanie składa się z dwóch posunięć:
■ najpierw przyglądasz się czemuś, co może zachowywać się na dwa różne sposoby;
■ następnie wykonujesz jedną z dwóch czynności, zależnie od tego, co zobaczyłeś.
Przy końcu wykonywania swojego programu nasza pani domu wraca do domu, wyjmuje zakupy z samochodu i spogląda na zegar. Jeżeli jest jeszcze za wcześnie na zabranie Nicka z pola golfowego, ma chwilę na odpoczynek w prawie pustym domu. Jeśli już trzeba jechać po Nicka, wraca do auta i jedzie do klubu. Po zakończeniu wykonania całego programu ma czas na odpoczynek (o ile nie zaczyna wykonywać następnego programu).
Możesz zauważyć, że w bardzo wielu przypadkach mamy do wyboru więcej niż dwie możliwości. Ale w tym przypadku mylisz się, nawet jeżeli jesteś całkowicie przekonany, że masz rację.
Z wyjątkiem całkowicie niezrównoważonego zachowania, każda ludzka decyzja sprowadza się do wyboru jednej z dwóch możliwości
Zastanówmy się teraz trochę dokładniej nad sposobem rozumowania przy podejmowaniu decyzji.
Gdy następnym razem wybierzesz się do tej małej chińskiej restauracyjki Moo Foo Goo, przyjrzyj się sobie w momencie przeglądania menu. Na pierwszy rzut oka wydaje się, że wybierasz jedno danie z zapisanych w menu 26 przysmaków kantońskiej kuchni. Ale w rzeczywistości tak nie jest: możesz zamówić dane danie bądź nie. Patrzysz na kurę po kantońsku. Nie, to jest do niczego. To było sprawdzenie. Przesuwasz wzrok do następnej pozycji. Kura z czarnymi grzybami. Nie. To jadłem tydzień temu. To było następne sprawdzenie. Następna pozycja: Kung Pao Chicken. Tak! To jest to! To było trzecie sprawdzenie.
Zauważ, że nic wybierałeś pomiędzy kurą po kantońsku, kurą z czarnymi grzybami czy Kung Pao Chicken. Twoje oczy przez krótką chwilę spoglądały na każde z tych dań, a potem przesuwały się na następne, wyżej lub niżej. Każde z tych dań było analizowane niezależnie od innych. W końcu tylko jedno z tych dań zwyciężyło w grze „jeść albo nie jeść”.
Niektóre z bardziej skomplikowanych decyzji życiowych wynikają z tego, że 99% z nas nie jest nudystami. Otwierasz swoją szafę z ubraniami i zaczynasz wybierać. Sprawdzenia następują błyskawicznie jedno po drugim. Te spodnie? Nie. A może te? Też nie. To może te spodnie? Tak. Powiedzmy, że wziąłeś niebieskie spodnie (jest poniedziałek i kolor niebieski wydaje Ci się odpowiedni). Potem zaczynasz grzebać w skarpetkach. Niestety, nie masz żadnych niebieskich skarpet. To było sprawdzanie. Wówczas wracasz do szafy z ubraniami i odwieszasz niebieskie spodnie na miejsce. Zaczynasz szukać nowych. Może te? Nie. A może te? Tak. Tym razem wybrałeś brązowe. Zabierasz je ze sobą i wracasz do skarpetek. Nie! Nie mam brązowych skarpetek!. Wracasz znowu do szafy z ubraniami...
To, co może wydawać się jedną decyzją czy dwiema związanymi ze sobą (jak wybór spodni i skarpet w tym samym kolorze), jest w rzeczywistości serią drobnych decyzji zawsze o charakterze binarnym: wziąć to, czy nie brać tego. Wybrać to, czy nie. Takie poniedziałkowe epizody z szafą są dobrą analogią do struktury programowej nazywanej pętla. Wielokrotnie powtarzasz wykonanie ciągu czynności do momentu, aż będzie ona wykonana poprawnie i wówczas kończysz działanie. Taki ciąg sprawdzania sprowadza się zawsze do sekwencji kolejnych prostych decyzji: tak albo nie.
Tak jakbym słyszał IWoje myśli: „Pewnie, to jest komputerowa książka i on chce, żebym zaczął myśleć tak jak komputer”. Wcale nie. Komputery myślą tak jak my, w końcu to my je zaprojektowaliśmy, więc jak mogą myśleć inaczej? To co chcę Ci w tej chwili zrobić, to pokazać Ci, jak ty myślisz. Większość czynności życiowych wykonuje-