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 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 | -------------