Symulacja interaktywna
Przeanalizuj prezentację, a następnie zmień program w taki sposób, aby liczby wielocyfrowe były poprawnie wczytywane.
Na schemacie przedstawiono proces obliczania wartości wyrażeń w odwrotnej notacji polskiej z wykorzystaniem stosu. Zwróć uwagę na zaznaczone kolorami elementy stosu.
Na poniższym przykładzie zapoznaj się z przedstawionym schematem procesu obliczania wartości wyrażeń w odwrotnej notacji polskiej z wykorzystaniem stosu.
Odwrotna notacja polska: 2 7 + 3 / 14 3 - 4 * + 2 /
Krok pierwszy: Pozostała sekwencja ONP: 2 (cyfra 2 na czerwono) 7 + 3 / 14 3 - 4 * + 2 / Podgląd stosu: brak.
Krok drugi: Pozostała sekwencja ONP: 7 (cyfra 7 na czerwono) + 3 / 14 3 - 4 * + 2 / Podgląd stosu: cyfra dwa wpisana w kwadrat.
Krok trzeci: Pozostała sekwencja ONP: + (znak plus na czerwono) 3 / 14 3 - 4 * + 2 / Podgląd stosu: Wykonana operacja: 2 + 7 = 9, poniżej tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 7 na niebiesko, w dolnym wpisano 2 na żółto.
Krok czwarty: Pozostała sekwencja ONP: 3 (cyfra 3 na czerwono) / 14 3 - 4 * + 2 / Podgląd stosu: Kwadratowe pole, w które wpisano cyfrę 9.
Krok piąty: Pozostała sekwencja ONP: / (znak / na czerwono) 14 3 - 4 * + 2 / Podgląd stosu: Wykonana operacja: 9 (na żółto) / (na czerwono) 3 (na niebiesko) = 3, poniżej prostokątna tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 3 na niebiesko, w dolnym wpisano 9 żółto.
Krok szósty: Pozostała sekwencja ONP: 14 (liczba 14 na czerwono) 3 - 4 * + 2 / Podgląd stosu: Kwadratowe pole z wpisaną cyfrą 3.
Krok siódmy: Pozostała sekwencja ONP: 3 (cyfra 3 na czerwono) - 4 * + 2 / Podgląd stosu: tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 14, w dolnym wpisano 3.
Krok ósmy: Pozostała sekwencja ONP: - (znak minus na czerwono) 4 * + 2 / Podgląd stosu: Wykonana operacja: 14 (na żółto) - (na czerwono) 3 (na niebiesko) = 11, poniżej prostokątna tablica podzielona w poprzek na trzy kwadratowe pola. W górnym polu wpisano 3 (na niebiesko), w środkowym 14 (na żółto), a w dolnym wpisano 3.
Krok dziewiąty: Pozostała sekwencja ONP: 4 (cyfra 4 na czerwono) * + 2 / Podgląd stosu: prostokątna tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 11, w dolnym wpisano 3.
Krok dziesiąty: Pozostała sekwencja ONP: * (znak * na czerwono) + 2 / Podgląd stosu: Wykonana operacja: 11 (na żółto) * (na czerwono) 4 (na niebiesko) = 44, poniżej prostokątna tablica podzielona w poprzek na trzy kwadratowe pola. W górnym polu wpisano 4 (na niebiesko), w środkowym 11 (na żółto), a w dolnym wpisano 3.
Krok jedenasty: Pozostała sekwencja ONP: + (znak plus na czerwono) 2 / Podgląd stosu: Wykonana operacja: 3 (na żółto) + (na czerwono) 44 (na niebiesko) = 47, poniżej tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 44 (na niebiesko), w dolnym wpisano 3 (na żółto).
Krok dwunasty: Pozostała sekwencja ONP: 2 (cyfra 2 na czerwono) / Podgląd stosu: Kwadratowe pole, w które wpisano liczbę 47.
Krok trzynasty: Pozostała sekwencja ONP: / (znak / na czerwono) Podgląd stosu: Wykonana operacja: 47 (na żółto) / (na czerwono) 2 (na niebiesko) = 23.5, poniżej prostokątna tablica podzielona w poprzek na dwa kwadratowe pola. W górnym polu wpisano 2 (na niebiesko), w dolnym wpisano 47 (na żółto).
Krok czternasty: Pozostała sekwencja ONP: Podgląd stosu: Kwadratowe pole z wpisaną liczbą 23.5. Wynik: 23.5