Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rogoda (dyskusja | edycje)
Rogoda (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
'''Zadanie 1 '''  Zaimplementuj funkcję generującą tabele
{{cwiczenie|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
przyjmujące od 1 do 3 argumengtów (zmiennych) logicznych. Drugim argumentem
przyjmujące od 1 do 3 argumengtów (zmiennych) logicznych. Drugim argumentem
Linia 16: Linia 18:
| 1 | 1 || 1 |     
| 1 | 1 || 1 |     
-------------</nowiki>
-------------</nowiki>
}}
{{cwiczenie|2||


'''Zadanie 2 '''  Napisz szablony wyrażeń które będzie można użyć
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>.


Linia 37: Linia 42:
| 1 | 1 || 1 |     
| 1 | 1 || 1 |     
-------------</nowiki>
-------------</nowiki>
}}

Wersja z 19:08, 10 wrz 2006

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

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