Enrere Mòdul 2
Fonaments de Programació. Llenguatge C/C++---
Pràctica  Resum teòric Exercicis
Pràctica d'ampliació

 
Taules de veritat dels operadors lògics

En aquesta pràctica es coneixeran els operadors lògics: !, &&, ||, també aprendrem a crear constants (MACROS) amb la directiva del preprocessador #define.

 

Desenvolupament de la pràctica

Creeu un nou arxiu del tipus C anomenat m2p05.c i escriviu el següent codi:

//m2p05.c -Taules de veritat dels operadors lògics -

#define V 1
#define F 0

#include <stdio.h>
#include <stdlib.h>

int main(){

system("clear");
printf("Taula de veritat de l'operador lògic !\n");
printf("noF = %d\n",!F);
printf("noV = %d\n\n",!V);

printf("Taula de veritat del connector lògic &&\n");
printf("F i F = %d\n",F&&F);
printf("F i V = %d\n",F&&V);
printf("V i F = %d\n",V&&F);
printf("V i V = %d\n\n",V&&V);

printf("Taula de veritat del connector lògic ||\n");
printf("F o F = %d\n",F||F);
printf("F o V = %d\n",F||V);
printf("V o F = %d\n",V||F);
printf("V o V = %d\n\n",V||V);

printf("Operacions combinades\n");
printf("!((ViF)o(FiF)) = %d\n",!((V&&F)||(F&&F)));
return 0;
}

Captura de l'execució del programa.

Explicació del programa

En aquest programa construirem les taules de veritat dels operadors lògics: no, i, o. Aquests operadors actuen sobre expressions lògiques. En C, una expressió lògica és una expressió numèrica. El valor numèric 0 representa FALS i el valor numèric diferent de 0 representa VERITAT. Si s'avalua una expressió lògica vertadera torna el valor 1. En C++ les paraules true i false corresponen als valors que pot tornar una variable del tipus bool.

Per comoditat s'han creat les constants V i F, que poden ser més fàcils de llegir que 1 i 0. Aquestes constants s'han definit mitjançant la directiva #define del preprocessador. Moltes vegades, a les constants definides d'aquesta forma se li diuen macros. Abans de començar la compilació del codi, es substitueix automàticament totes les V per 1 i totes les F per 0. S'ha de tenir molta cura amb aquestes macros ja que el compilador substitueix totes les aparicions del text que es posa a continuació de la directiva #define. És una pràctica habitual escriure les macros amb majúscules per tal de no confondre aquestes amb les variables pròpies del programa. 

Amb aquest programa podem entendre com actuen els operadors lògics, per exemple, l'operador i, que en C s'expressa com &&, torna el valor 1 només en el cas que els dos operants siguin vertaderes (diferents de 0), en canvi, l'operador o, que en C s'expressa com ||, torna el valor 1 sempre que algun dels dos operants siguin vertaders.

Al final del programa es comprova l'avaluació d'una expressió lògica més complicada.