Informatica 2 Liceo Scientifico Scienze Applicate/Operatori Logici: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Gian BOT (discussione | contributi)
m Bot: Correggo errori ortografici comuni
Riga 4:
Quando si devono scrivere delle condizioni logiche possiamo usare gli operatori di confronto <,<=,>,>=,==,!= per poter però costruire delle condizioni logiche piu' complesse dobbiamo usare gli operatori logici AND,OR,NOT.<br />
 
Pensiamo alla situazione di dover trovare un fidanzato, Maria dice io voglio un fidanzato bello, Elena interviene e dice io voglio un fidanzato bello ma anche intelligente , Mattia dice invece io la fidanzata la voglio carina o simpatica ( mi va bene anche se e' carina e simpatica contemporaneamente ,e i compagni ridono), Luca dice io la fidanzata non la voglio bassa perche'perché io sono alto un metro e 90, francesco che interviene per ultimo dice io la voglio bella ricca e famosa e stefano ribatte dicendo guarda che Belen e' gia' impegnata con me .<br />
 
Ora se analizziamo le singole condizioni troviamo che<br />
Riga 14:
* per Francesco deve essere aspetto == carina e contemporaneamente statosociale == ricca e contemporaneamente popolarita'== famosa
 
Ora queste condizioni risultano piu' complesse perchèperché date dall'unione di piu' condizioni logiche o dalla negazione di una condizione logica.
'''L'operatore AND''' serve per congiungere piu' condizioni logiche fra loro, imponendo che tutte siano verificate perche'perché la condizione complessiva sia verificata.<br />
 
'''L'operatore OR''' serve per disgiungere piu' condizioni logiche fra loro, imponendo che basta che una delle condizioni sia verificata perche'perché la condizione complessiva sia verificata.<br />
 
'''L'operatore NOT''' serve per negare una condizione , la condizione negata ribalta la condizione di partenza (se e' true diventa false e viceversa)<br />
Riga 26:
* per Elena visto che ci sono 2 condizioni che devono essere verificate contemporaneamente uso l'operatore di congiunzione , e ho (aspetto=="bello") && (cervello=="intelligente")
* per Luca la condizione e' singola e negata allora ho !(statura=="bassa")
* per Mattai le condizioni sono 2 ma basta che una sola delle 2 sia verificata perchèperché la condizione complessiva sia accettata (vera) allora ho (aspetto=="carina") || (carattere=="simpatica")
* per Francesco le condizioni sono 3 e si vuole che tutte siano vere , allora scrivo (aspetto="carina") && (statosociale=="ricca") && (popolarità=="famosa")
Riga 55:
<br />
 
nelle prime 2 colonne si sono scritte tutte le possibili condizioni che possono capitare, si nota che perche'perché sia verificata la condizione complessiva A&&B bisogna che entrambe le condizioni A e B siano verificate, o detto in modo diverso basta che una delle due sia falsa perche'perché la condizione complessiva sia false.Quando c'e' da valutare 2 o piu' condizioni unite fra loro dall'operatore && (AND) il C si ferma alla prima delle condizioni che trova falsa , senza valutare le successive. Qualche volta si congiungono anche piu' di 2 condizioni con l'operatore &&, si parla allora di AND multiplo e visto che basta che una condizione sia falsa perche'laperchéla condizione complessiva sia falsa, se devo calcolare A && B && C && D il linguaggio C procede in questo modo : guarda prima A se questa risulta falsa non valuta le condizioni successive perche'perché sa gia' che il risultato complessivo sarà falso, se invece A e' vero non puo' ancora stabilire il risultato complessivo e deve andare a valutare anche la condizione B e se questa e' vera anche la condizione successiva C e così via.Nel caso quindi di and multiplo il C si ferma alla prima condizione falsa che trova non valutando quelle successive . Questo risulta utile se dobbiamo verificare se n/m sia maggiore di 5, la divisone n/m e' calcolabile infatti solo se m e' diverso da zero e allora io scrivo (m!=0)&&(n/m>5) perche'perché per poter dividere per m devo prima assicurami che sia diverso da zero, se lo fosse non voglio calcolare n/m perche'perché l'operazione non e' possibile e se eseguita produce un errore Division By zero che comporta l'immediata interruzione del programma.<br />
 
 
Riga 79:
 
 
nelle prime 2 colonne si sono scritte tutte le possibili condizioni che possono capitare, si nota che perche'perché sia verificata la condizione complessiva A||B basta che almeno una delle conzioni sia verificata perche'perché sia la condizione complessiva true, e viceversa bisogna che tutte le condizioni siano false perche'perché la condizione complessiva sia falsa.
<br />
 
Riga 97:
 
 
L'operatore ! (NOT) inverte la condizione logica cioe' la nega, si puo' scrivere la stessa condizione in modi diversi ad esempio la condizione la fidanzata deve essere alta la posso anche scrivere come la fidanzata non deve essere bassa , state attenti generalmente che e' preferibile la prima espressione perche'perché più chiara.
Tutti i circuiti elettronici al loro interno contengono migliaia di componenti detti porte logiche che individualmente realizzano la funzione AND ,OR,NOT. Gli eletttronici studiano una particolare matematica detta algebra di Bool (L'inventore della notazione e delle sue proprieta') che permette data una funzione (con variabili di tipo binario) di trovarne l'equivalente circuitale mediante port AND, porte OR e porte NOT
Gli elettronici che per rappresentare il valore true usano il numero binario 1 e per rappresentare false usano lo 0, pensano all'and come a un prodotto e pensano all'or come a una addizione (binaria).Le tabelle AND OR NOT le potete trovare anche nei libri di elettronica scritte nella seguente forma:<br />