Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
nel C++
4
Il concetto di scelta e di selezione.
L’istruzione if e la sua sintassi.
Un esempio pratico.
L’istruzione if/else.
Come visto in precedenza, l’istruzione di selezione if/else ci permette di
operare una scelta logica fra due opzioni; un esempio può essere la
domanda a è maggiore di b?
Questa domanda può avere solo due risposte: si se a è effettivamente
maggiore di b, no se a è effettivamente minore o uguale di b. Questo è
quindi un quesito «logico» ovvero una domando con soltanto due
possibilità di risposta, così come lo è l’istruzione if/else.
Nei diagrammi di flusso, come detto già, è rappresentato da un rombo che
dirama il flusso delle istruzioni in due parti a seconda del risultato della
selezione.
In un diagramma di flusso possono trovarsi molte istruzioni di selezioni che
diramano in più percorsi il flusso delle istruzioni. In questo caso si suole dire
che si hanno più istruzioni if nidificate.
Un esempio di algoritmo. Inizio
Fine
Codice in C.
Questo blocco è l’intera istruzione di selezione. In molti casi il comando else può essere omesso, ma in questo
caso, è parte integrante dell’algoritmo: se si elimina il software potrà anche non fornire il risultato richiesto.
Come si può facilmente verificare per confronto, la sintassi è quasi la stessa del C.
Operatori aritmetici.
Il C e il C++ ammettono molti operatori matematici. Gli operatori aritmetici sono +, -, x, / e %, dove % indica il
resto di una divisione tra interi (int).
Va posta molta attenzione al segno di uguale: in C e in C++ l’uguale non indica un’uguaglianza ma una
assegnazione ovvero un valore è assegnato a una cella di memoria. Infatti, è normale trovare nei listati dei
programmi l’operazione 𝑖 = 𝑖 + 1 che in matematica sarebbe impossibile. Qui invece equivale ad assegnare
alla cella i il valore che conteneva in precedenza sommato di uno.
Esistono anche gli operatori logici che servono per confrontare valori, come abbiamo visto nei codici
precedenti. Avremo quindi gli operatori logici di confronto :
• = = uguale
• != diverso
• < minore
• >Maggiore
• <= minore o uguale
• => maggiore o uguale
Fate voi un vostro codice.
Come primo codice potete provare a scrivere e
implementare il seguente algoritmo:
Dati due numeri interi si valuti se il primo è un divisore Scegliete un linguaggio fra
del secondo.
C e C++ e scrivete
Il problema può sembrare semplice (sempre che vi algoritmo e codice.
ricordiate il significato di divisore) ma la stesura
dell’algoritmo presenta delle insidie da non
sottovalutare.
Un piccolo aiuto: fate una ricerca sulla sintassi del
comando if e cercate il significato degli operatori logici
&& e ==.