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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
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 |    
-------------