Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 2: | Linia 2: | ||
Zaimplementuj funkcję generującą tabele | Zaimplementuj funkcję generującą tabele | ||
prawdy. Pierwszym argumentem tej | prawdy. Pierwszym argumentem tej funkcji ma być wyrażenie logiczne | ||
przyjmujące od 1 do 3 | przyjmujące od 1 do 3 argumentów (zmiennych) logicznych. Drugim argumentem | ||
ma być liczba zmiennych logicznych w wyrażeniu. | ma być liczba zmiennych logicznych w wyrażeniu. | ||
Wersja z 14:39, 12 wrz 2006
Ćwiczenie 1
Zaimplementuj funkcję generującą tabele prawdy. Pierwszym argumentem tej funkcji ma być wyrażenie logiczne przyjmujące od 1 do 3 argumentó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 | -------------
Ćwiczenie 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 | -------------