lab3 Instrukcja P3 id 750620 Nieznany

background image

Zajęcia P3. Kalkulator

1. Cel ćwiczeń

Celem ćwiczeń jest utrwalenie dotychczas poznanych wiadomości i zapoznanie się z mechanizmem

przekazywania wartości pomiędzy analizatorem leksykalnym i składniowym oraz w trakcie tworzenia
drzewa składniowego. Efektem pracy będzie programowy kalkulator naukowy.

2. Zadania do realizacji indywidualnej

Tworzony kalkulator przetwarza dane wejściowe wiersz po wierszu. Poszczególne wiersze mogą zawierać:

- nic (są puste),
- błąd (token ‘error’),
- wyrażenie arytmetyczne z liczbami całkowitymi (Zad.3.1),
- wyrażenie arytmetyczne z liczbami zmiennoprzecinkowymi (Zad.3.2-4),
- wyrażenie arytmetyczne wzbogacone funkcjami (Zad. 3.3-4),
- podstawienie do pamięci wyrażenia arytmetycznego, które może zawierać odwołania do pamięci

(Zad.3.4).

Wiersze danych kończą się znakiem ‘\n’. W związku z tym nie należy go usuwać z wejścia, ale
przekazywać jako token jednoznakowy. Wszystkie pozostałe białe znaki należy usuwać.

Zad. 2.1. Uprzejmy kalkulator dla liczb całkowitych realizujący podstawowe operacje arytmetyczne (+,-
,*,/, neg) oraz grupowanie podwyrażeń (nawiasy). Kalkulator powinien witać użytkownika miłymi
słowami, wyświetlać znak zachęty ‘>’ na początku każdego wiersza, w którym użytkownik może
wprowadzić dane oraz podziękować za współpracę po zakończeniu pracy jedną z komend „Bye”, „Exit” lub
„Quit”.
Zad. 2.2. Kalkulator dla liczb całkowitych i zmiennoprzecinkowych realizujący podstawowe operacje
arytmetyczne (+,-,*,/, neg) oraz grupowanie podwyrażeń (nawiasy).
Zad. 2.3. Wzbogacenie kalkulatora o możliwość wywołania funkcji trygonometrycznych (sin(•), cos(•),
tg(•), ctg(•)), pierwiastka sqrt(•) i kwadratu sqr(•).
Zad. 2.4. Wzbogacenie kalkulatora o możliwość podstawiania wartości wyrażenia do pamięci oraz
wykorzystywania zawartości pamięci w wyrażeniach.
Przykładowa ‘sesja’ kalkulatora:

Witam! Proszę wprowadzić w osobnych wierszach wyrażenia arytmetyczne.

Mo

ci M1..M100:

żna korzystać z pamię

> 11 + 2 * ( 3 + 5 )

/* liczby całkowite */

Wynik = 27

> 12.34 + 45. + .67

/* liczby rzeczywiste */

Wynik = 58.01

> sqr(sin(4.1+0.9))+sqr(cos(5*1))

/* jedynka trygonometryczna */

Wynik = 1
> M1 = sqrt( sqr(3) + sqr(4))

/* podstawienie wyniku wyrażenia do pamięci */

M1 = 5

> M100 = sqrt(121)
M100 = 11

> M100 – M1
Wynik = 6

> Exit
Dziękuję za współpracę ;-)

3. Zadania do samodzielnego wykonania:
Zad. 3.1.
Rozszerzenie kalkulatora o możliwość obliczania wyrażeń logicznych (<, >, <=, >=, =, <>), które
zwracają wartość 1 (true) lub 0 (false).


Document Outline


Wyszukiwarka

Podobne podstrony:
Instrukcja ESRI id 216707 Nieznany
instrukcja laboratoryjna id 216 Nieznany
Instruktaz stanowiskowy id 2176 Nieznany
INSTRUKCJA obserwacja id 217027 Nieznany
Instrukcja 12 id 215508 Nieznany
arkusz p3 id 68810 Nieznany
INSTRUKCJA BHP 4 id 215697 Nieznany
KOS instrukcja 7 TM id 248303 Nieznany
instrukcja DTC id 216677 Nieznany
Instrukcja Lab4 id 216877 Nieznany
INSTRUKCJE Cwiczenie 1 id 71952 Nieznany
5 Instrukcja if id 39694 Nieznany
Instrumenty pochodne id 217770 Nieznany
Instrukcja UV2 id 217242 Nieznany
lab2 Instrukcja P2 C P id 75048 Nieznany
instrukcja 10 id 215506 Nieznany
Instrukcja kolka1 id 217336 Nieznany
Instrukcja cwiczenia 9 id 21649 Nieznany
Instrukcja belka id 215691 Nieznany

więcej podobnych podstron