Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaLinia 1: | Linia 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Zadanie 1 ''' Zaimplementuj funkcję generującą tabele | '''Zadanie 1 ''' Zaimplementuj funkcję generującą tabele | ||
prawdy. Pierwszym argumentem tej fnkcji ma być wyrażenie logiczne | prawdy. Pierwszym argumentem tej fnkcji ma być wyrażenie logiczne | ||
Linia 11: | Linia 6: | ||
<nowiki> bool and(bool q,bool r) {return q && r;} | <nowiki> bool and(bool q,bool r) {return q && r;} | ||
− | table(and,2) ; | + | table(and,2) ;</nowiki> |
− | </nowiki> | ||
powinno wygenerować : | powinno wygenerować : | ||
− | <nowiki> ------------- | + | <nowiki>------------- |
| 0 | 0 || 0 | | | 0 | 0 || 0 | | ||
| 0 | 1 || 0 | | | 0 | 1 || 0 | | ||
Linia 25: | Linia 19: | ||
'''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ć | ||
− | z powyższym szablonem <code><nowiki> table</nowiki></code>. | + | z powyższym szablonem <code><nowiki>table</nowiki></code>. |
<nowiki> First q; | <nowiki> First q; | ||
Second r; | Second r; | ||
− | table(q && r,2); | + | table(q && r,2);</nowiki> |
− | </nowiki> | ||
− | Zaimplementuj operatory <code><nowiki> &&</nowiki></code>(i), <code><nowiki> | + | Zaimplementuj operatory <code><nowiki>&&</nowiki></code>(i), <code><nowiki>||</nowiki></code>(lub), <code><nowiki>!</nowiki></code>(zaprzeczenie), |
− | <code><nowiki> >></nowiki></code> (implikacja) i <code><nowiki> | + | <code><nowiki>>></nowiki></code> (implikacja) i <code><nowiki>==</nowiki></code>(równoważność). |
− | <nowiki> table(q >> r,2); | + | <nowiki> table(q >> r,2);</nowiki> |
− | </nowiki> | ||
generuje: | generuje: | ||
− | <nowiki> ------------- | + | <nowiki>------------- |
| 0 | 0 || 1 | | | 0 | 0 || 1 | | ||
| 0 | 1 || 1 | | | 0 | 1 || 1 | |
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 | -------------