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 15: | Linia 15: | ||
| 1 | 0 || 0 | | | 1 | 0 || 0 | | ||
| 1 | 1 || 1 | | | 1 | 1 || 1 | | ||
------------- | -------------</nowiki> | ||
</nowiki> | |||
'''Zadanie 2 ''' Napisz szablony wyrażeń które będzie można użyć | '''Zadanie 2 ''' Napisz szablony wyrażeń które będzie można użyć | ||
Linia 37: | Linia 36: | ||
| 1 | 0 || 0 | | | 1 | 0 || 0 | | ||
| 1 | 1 || 1 | | | 1 | 1 || 1 | | ||
------------- | -------------</nowiki> | ||
</nowiki> |
Wersja z 09:30, 3 wrz 2006
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 | -------------