Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Uwaga: przekonwertowane latex2mediawiki; prawdopodobnie trzeba wprowadzi� poprawki
{Szablony wyraźeń}
Zadanie 1 Zaimplementuj funkcję generującą tabele prawdy. Pierwszym argumentem tej fnkcji ma być wyrażenie logiczne przyjmujące od 1 do 3 argumengtów (zmiennych) logicznych. Drugim argumentem ma być liczba zmiennych logicznych w wyrażeniu.
bool and(bool q,bool r) {return q && r;} table(and,2) ;
powinno wygenerować :
------------- | 0 | 0 || 0 | | 0 | 1 || 0 | | 1 | 0 || 0 | | 1 | 1 || 1 | -------------
Zadanie 2 Napisz szablony wyrażeń które będzie można użyć
z powyższym szablonem table
.
First q; Second r; table(q && r,2);
Zaimplementuj operatory &&
(i), | |
(lub), !
(zaprzeczenie),
>>
(implikacja) i = =
(równoważność).
table(q >> r,2);
generuje:
------------- | 0 | 0 || 1 | | 0 | 1 || 1 | | 1 | 0 || 0 | | 1 | 1 || 1 | -------------