Buongiorno ragazzi, benvenuti a questa nuova lezione del linguaggio di programmazione C, siamo arrivati alla 4 lezione, riepiloghiamo quanto detto finora, abbiamo visto come scrivere delle condizioni, gli operatori per poter scrivere una condizione sono detti appunto operatori di confronto.
< minore
> maggiore
!= diverso
== uguale
! negazione
Gli operatori maggiore minore diverso e uguale sono operatori binari, possono essere utilizzati fra 2 numeri o 2 variabili, mentre la negazione è un operatore unario, si può applicare solo ad un numero o espressione, inoltre è possibile usare altri 2 operatori chiamati:
<= minore uguale
>= maggiore uguale.
Ma guardiamo meglio come scrivere delle condizioni, possiamo dire che una condizione può essere semplice o composta, una condizione è detta semplice quando si usa un operatore binario o unario tra due valori o due variabili. esempio:
naturalmente è stato utilizzato l’operatore binario fra 2 variabili una somma e l’altro numero1, è possibile pero complicare l’operazione rendendola più corposa, persinoiam n combinareo altri operatori: Sono chiamati operatori logici: l’operatore logico && (si legge and) l’operatore logico || (si legge or) entrambi gli operatori si usano quando si vogliono combinare una o più condizioni.
Affinché debba essere eseguita questa istruzione devono essere contemporaneamente soddisfatte entrambe le condizioni, ovvero sia somma > numero1 che somma < numero2 devono essere vere, mentre se la condizione risulterà falsa, anche se solo numero1 o numero2, l’intera istruzione risulterà falsa.
L’operatore logico || (or) rende esattamente la stessa cosa dell’operatore logico && (and) ma mentre and esegue l’istruzione se entrambe le condizioni siano vere, per l’operatore logico || (or) basta anche che solo una delle condizioni sia vera. Proviamo una condizione più complessa, attenzione alle parentesi tonde che sono fondamentali.
Questa istruzione cosi complessa può essere risolta come in aritmetica ovvero dobbiamo sempre iniziare dall’ultima istruzione contenuta all’interno delle parentesi, ma vediamo il listato.
Esempio:
- A = condizione1
- B = condizione2
A && B è vera solo quando entrambe le condizioni sono vere.
A && b è falsa quando è falsa almeno una delle due condizioni.
A || B è vera quando almeno una delle due condizioni è vera.
A || B è falsa quando entrambe le condizioni sono false.
Detto questo vediamo come negare una condizione: abbiamo (somma > numero1) può essere negata in due modi o cambiando l’operatore, o mettendo prima della condizione l’operatore unario not.
Ricordo che:
il complemento di < è >= (il complemento di minore è maggiore uguale)
il complemento di > è <= (il complemento di maggiore è minore uguale)
il complemento di == è =! (il complemento di uguale è diverso)
il complemento di =! è == (il complemento di diverso è uguale)
in pratica per negare questa condizione possiamo scrivere (somma <= numero1) oppure (!(somma > numero1)), dove appunto il simbolo ! ci nega la condizione (se vera diventerà falsa), vediamo un altro piccolo esempio di codice:
if ((!(somma > numero1)) || (somma >numero 2) && (somma =< 4))) somma = somma * 2 se somma non è maggiore di numero1 allora se vera non eseguire l’istruzione, viceversa se falsa esegui somma è maggiore di numero2 e somma è uguale minore a 4 moltiplica somma per 2, in questo caso la condizione avviene solo se somma non è maggiore di numero1. quindi la selezione binaria abbiamo considerato i vari casi:
- eseguiamo delle istruzioni sia quando la condizione è vera sia quando la condizione è falsa.
- eseguiamo delle istruzioni quando la condizione è vera e non eseguiamo istruzioni quando la condizione è falsa.
- eseguiamo delle istruzioni quando la condizione è falsa e non eseguiamo istruzioni quando la condizione è vera.
Analizziamo il primo caso, si traduce in:
if(somma > numero1)
somma = somma + 2;
o una serie di istruzioni come:
if(somma > numero1){
somma = somma * 2;
somma++; }
dato che dobbiamo eseguire anche delle istruzioni quando è falsa scriviamo:
if(somma > numero1){
somma = somma * 2;
somma++; }
else{
somma = somma * 2;
somma–; }
il secondo caso si traduce così:
if(somma > numero1)
somma = somma * 2;
non scriviamo l’else, in questo caso non vogliamo eseguire istruzioni quando la condizione è vera.
il terzo ed ultimo caso si traduce così:
if(!(somma > numero1)){
somma = somma * 2;
somma++; }
oppure
if(somma <= numero1){
somma = somma * 2;
somma++; }
Particolare attenzione ad operazioni un po più complesse per l’uso dell’operatore not.
l’istruzione if(!(somma > 1) && (somma > 2) nega solo la prima istruzione if(!((somma > 1) && (somma > 2))) nega entrambe le istruzioni.
n.b. usare sempre le parentesi graffe per blocchi di più istruzioni.
Per oggi è tutto amici, a presto.