Maszyna Pawlaka

Maszyna Pawlaka; F - taśma, A i S - głowica, D - dane, W - wyniki cząstkowe

Maszyna Pawlaka – teoretyczny automat wykonujący obliczenia podane liniowo zaprojektowany przez Zdzisława Pawlaka.

Budowa automatu

Automat posiada głowicę (A i S) przesuwającą się po taśmie F, która to taśma zawiera informacje o danych (czy dana jest podana na wejściu, czy też jest wynikiem cząstkowym). Poza tym składa się na pamięć danych (D) oraz pamięć wyników cząstkowych (W).

Opis języka

Język uproszczony

Język uproszczony symbolizuje jakie działania mają zostać przez automat kolejno wykonane, bez konieczności wpisywania poszczególnych danych. Δ oznacza daną początkową. * symbolizuje wynik cząstkowy, otrzymany z wcześniejszych obliczeń. +,-,•,/ reprezentują działania, które mają być wykonane przez automat.

Kolejność obliczeń

Zdzisław Pawlak obliczenia przedstawił w formie drzewa, którego węzły reprezentują działania, zaś gałęzie dane i wyniki cząstkowe. Proponowane są dwa porządki przejścia przez drzewo, które nazwane zostały W i P.

porządek W (wzdłużny)

Działania wykonujemy poruszając się wzdłuż gałęzi. Rozpoczynamy od najniższej gałęzi po prawej stronie drzewa i wykonujemy obliczenia. Następnie przesuwamy się w górę drzewa. Jeżeli nie możemy wykonać obliczeń, ponieważ brakuje nam danych, przesuwamy się do dołu gałęzi z lewej strony. Wykonujemy obliczenia aż do uzyskania wyniku końcowego.

porządek P (poprzeczny)

Działania wykonujemy poruszając się poziomami drzewa, zaczynając od najniższego. W wypadku wystąpienia na jednym poziomie drzewa większej ilości zadań rozpoczynamy od lewej strony drzewa. Następnie przechodzimy do poziomu wyższego aż osiągniemy wynik końcowy.

Działanie maszyny

Przykład obliczeń maszyny Pawlaka zapisanych w formie drzewa.

Schemat maszyny jest niezmienny zależnie od porządku obliczeń, jednakże sposób umieszczania i wykorzystywania wyników cząstkowych jest różny.

Działanie dla porządku P

Na początku analizowany jest symbol wykonywanego działania oraz symbole obu argumentów. Kolejne argumenty są pobierane z pamięci danych D lub pamięci wyników częściowych W, w zależności jakim symbolem jest oznaczony argument. Następnie przeprowadzane jest działanie, a wynik zapisywany jest na końcu pamięci wyników częściowych W. Ostatnim uzyskanym wynikiem jest wynik końcowy.

Działanie dla porządku W

Działanie dla porządku W różni się od porządku P jedynie innym sposobem pobierania i zapisywania wyników częściowych. Jeżeli oba argumenty są danymi początkowymi to pobierane są kolejne dane z pamięci danych D, a wynik działania zapisywany jest na pierwszym wolnym miejscu w pamięci wyników częściowych W. Jeżeli jednym argumentem jest dana początkowa, a drugim wynik częściowy, to dana jest pobierana z kolejnego miejsca pamięci danych D, a drugim argumentem jest ostatnio zapisany wynik częściowy. Liczba odczytana z pamięci wyników częściowych jest po odczytaniu zawsze usuwana, więc wynik działania jest zapisywany na miejscu uprzednio odczytanego argumentu. Jeżeli oba argumenty są pobierane z pamięci wyników częściowych W, to pobierane są ostatnie dwie liczby, a wynik zapisywany jest na miejscu przedostatniej.

Przykłady działania

Przykład dla porządku P

10 – 3 = 7

2 • 3 = 6

7 + 7 = 14

1 • 2 = 2

9 – 6 = 3

4 • 8 = 32

14 / 2 = 7

3 + 32 = 35

7 + 35 = 42

Zakładając, że symbol operacji zapiszemy po odpowiadających mu argumentach, obliczenia można zapisać za pomocą liniowego przedstawienia: 10,3,-,2,3,•,7,7,+,1,2,•,9,6,-,4,8,•,14,2/,3,32,+,7,35,+,42 Co w języku uproszczonym ma postać: ΔΔ-ΔΔ•*Δ+ΔΔ•Δ*-ΔΔ•**/**+**+*

Przykład dla porządku W

4 • 8 = 32

2 • 3 = 6

9 – 6 = 3

3 + 32 = 35

1 •2 = 2

10 – 3 = 7

7 + 7 = 14

14 / 2 = 7

7 + 35 = 42

Zakładając, że symbol operacji zapiszemy po odpowiadających mu argumentach, obliczenia można zapisać za pomocą liniowego przedstawienia: 4,8,•,2,3,•,9,6,-,3,32,+,1,2,•,10,3,-,7,7,+,14,2,/,7,35,+,42 Co w języku uproszczonym ma postać: ΔΔ•ΔΔ•Δ*-**+ΔΔ•ΔΔ-*Δ+**/**+*

Bibliografia

Linki zewnętrzne

Media użyte na tej stronie

Maszyna Pawlaka .svg
Autor: JanPielesiak, Licencja: CC BY-SA 4.0
poprawiona grafika maszyny Pawlaka
PrzykladMaszynyPawlaka.svg
Autor: JanPielesiak, Licencja: CC BY-SA 4.0
Przykład obliczeń maszyny Pawlaka zapisanych na drzewie