Zasadę działania komputerów można opisać przy pomocy tak zwanego „Systemu iteracyjnego” – czyli powiązanych ze sobą: pamięci i funkcji przejścia. Pamięć wyraża stan aktualny systemu (automatu), a funkcja przejścia determinuje (określa) stan następny. Pamięć zmienia się w takt zegara – przyjmując wartość określoną przez funkcję przejścia na podstawie stanu poprzedniego:
Twórca pojęcia „system iteracyjny”, Zdzisław Pawlak posługiwał się do jego zilustrowania przykładem kostki do gry. Możemy stworzyć zbiór reguł obracania kostką, które składają się na funkcję przejścia. Na przykład:
STAN |
NASTĘPNY |
---|---|
1 |
STOP |
2 |
STOP |
3 |
1 |
4 |
2 |
5 |
1 |
6 |
2 |
Co ten program wylicza? Zatrzymuje się na 1 lub 2 w zależności od tego, czy początkowo była ilość parzysta lub nieparzysta oczek. Pisząc program określamy warunki jego zatrzymania się. Najczęściej jest to zakończenie wykonywania algorytmu (zakończenie obliczeń). Może jednak zdarzyć się, że nasz program (system iteracyjny) nigdy się nie zatrzyma (https://pl.wikipedia.org/wiki/Problem_stopu).
Pamięć systemu iteracyjnego można podzielić na mniejsze elementy. Najmniejszy element pamięci – nazywany bitem – może przechowywać jedynie jedną z dwóch różnych wartości.
Te wartości bitu możemy interpretować na trzy różne sposoby:
-
jako cyfrę 0 lub 1
-
jako wartość logiczną prawda lub fałsz
-
jako informację – z którą z dwóch wartości mamy do czynienia
Jeśli przyjmiemy, że bity pamięci to zmienne logiczne – funkcja przejścia staje się złożoną funkcją logiczną (wyliczającą nową wartość logiczną dla poszczególnych bitów pamięci).
Nie ma możliwości zapamiętania w pamięci komputera nieskończoności. Dlatego informację możemy traktować jako wskazanie na jedną ze skończonego zbioru możliwości. Bit to wskazanie na jedną z dwóch możliwości. Jeśli pamięć składa się z 4 bitów, to mamy 16 różne możliwości (2*2*2*2). Funkcja przejścia wylicza jaka informacja (która z możliwości) pojawi się w pamięci w następnym takcie zegara.
Jeśli zinterpretujemy bity jako cyfry, to możemy z nich zbudować liczbę. Wtedy zbiór możliwych informacji możemy ponumerować tymi liczbami, a co za tym idzie – liczba staje się numerem porządkowym w uporządkowanym zbiorze możliwych wartości informacji.
Skoro mamy w każdym bicie jedynie cyfrę 0 lub 1, to naturalnym jest użycie przy tym systemu dwójkowego. Po uporządkowaniu bitów możemy uznać, że kolejno wskazują one ilość jednostek, dwójek, czwórek (drugiej potęgi liczby 2 itd…).
To co najważniejsze
W działaniu urządzeń „stan” to inaczej położenie, etap działania przez które to urządzenie przechodzi. Automat to urządzenie zmieniające stan bez ingerencji człowieka. Program jako szczegółowy plan działania. Program dla automatu opisuje zmiany jego stanu.
Rozwojowi umiejętności programowania automatów mogą służyć gry internetowe: http://otwartaedukacja.pl/programowanie
Przykłady na Androida:
https://play.google.com/store/apps/details?id=net.kivano.marblemachine
https://play.google.com/store/apps/details?id=com.bitmango.rolltheballunrollme
Gry on-line:
http://www.4j.com/Roll-The-Ball-2-Online
Bawić się w tworzenie maszyn można także w domu. Kilka pomysłów:
http://www.123homeschool4me.com/2016/05/24-simple-machine-projects-for-kids.html
http://littlebinsforlittlehands.com/pvc-pipe-pulley-kids-simple-machines-stem-activity/