Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo...

14
Selezione - Selezione - approfondimento approfondimento A. Ferrari A. Ferrari

Transcript of Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo...

Page 1: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

Selezione - Selezione - approfondimentoapprofondimento

A. FerrariA. Ferrari

Page 2: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

Strutture Strutture annidateannidate

All’interno di una selezione possiamo All’interno di una selezione possiamo avere altre selezioni.avere altre selezioni.

Per esempio risolviamo il problema:Per esempio risolviamo il problema:Dati tre valori numerici determinare il Dati tre valori numerici determinare il maggioremaggiore

input: tre valori interiinput: tre valori interi

output: il valore maggiore fra i treoutput: il valore maggiore fra i tre

Page 3: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

L’algoritmoL’algoritmo

Page 4: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

Il programmaIl programma

Page 5: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

Il tipo di dato Il tipo di dato caratterecarattere

Page 6: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

I caratteriI caratteriOltre ai tipi int, float e double esiste anche il Oltre ai tipi int, float e double esiste anche il tipo carattere:tipo carattere:

In linguaggio C la dichiarazione di variabili di In linguaggio C la dichiarazione di variabili di tipo carattere è la seguentetipo carattere è la seguente

char lettera, cifra, simbolo;char lettera, cifra, simbolo;

char è una parola chiave del linguaggio, char è una parola chiave del linguaggio, utilizzata per definire le variabili di tipo utilizzata per definire le variabili di tipo carattere (character), che possono contenere carattere (character), che possono contenere valori alfanumerici come lettere dell’alfabeto, valori alfanumerici come lettere dell’alfabeto, cifre decimali, simboli di punteggiatura ecc.cifre decimali, simboli di punteggiatura ecc.

Page 7: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

I caratteri in I caratteri in memoriamemoria

Ad una variabile viene riservato una spazio di memoria per Ad una variabile viene riservato una spazio di memoria per contenere un carattere alfanumerico.contenere un carattere alfanumerico.

Un byte consente di rappresentare 256 caratteri, esattamente Un byte consente di rappresentare 256 caratteri, esattamente quanti ne comprende il codice ASCII (American Standard Code for quanti ne comprende il codice ASCII (American Standard Code for Information Interchange) che include tutti i caratteri delle lingue Information Interchange) che include tutti i caratteri delle lingue latine oltre a molti caratteri speciali.latine oltre a molti caratteri speciali.

Due byte consentono di rappresentare l’Unicode, che comprende i Due byte consentono di rappresentare l’Unicode, che comprende i caratteri di tutte le lingue comprese quelle orientali come il Cinese.caratteri di tutte le lingue comprese quelle orientali come il Cinese.

I codici fanno corrispondere a ogni carattere la loro I codici fanno corrispondere a ogni carattere la loro rappresentazione numerica, quindi i caratteri risultano ordinati ed rappresentazione numerica, quindi i caratteri risultano ordinati ed è possibile confrontarli.è possibile confrontarli.

L’assegnamento a una variabile prevede che il valore sia compreso L’assegnamento a una variabile prevede che il valore sia compreso tra apici singoli:tra apici singoli:

a = ‘F’;a = ‘F’;

b = ‘4’;b = ‘4’;

c = ‘?’;c = ‘?’;

Page 8: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

Operatori sui Operatori sui carattericaratteri

Page 9: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

switch - caseswitch - casePer le scelte multiple Per le scelte multiple un’alternativa agli if-else in un’alternativa agli if-else in cascata è la struttura di cascata è la struttura di controllo switch-casecontrollo switch-case

switch funziona come un switch funziona come un interruttore a posizioni interruttore a posizioni multiple, se il valore di multiple, se il valore di espressione è uguale a espressione è uguale a (case) costante, sono (case) costante, sono eseguite le istruzioni che eseguite le istruzioni che seguono costante. seguono costante.

Se nessuna costante è Se nessuna costante è uguale al valore specificato e uguale al valore specificato e se è presente default sono se è presente default sono eseguite le istruzioni eseguite le istruzioni successive a default. successive a default.

espressione deve restituire espressione deve restituire un valore di tipo int o char.un valore di tipo int o char.

Page 10: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

La struttura di La struttura di switch-caseswitch-case

La struttura è composta dalla parola chiave La struttura è composta dalla parola chiave switch che ha l’effetto di valutare espressione. switch che ha l’effetto di valutare espressione.

Se espressione è uguale a una certa costante Se espressione è uguale a una certa costante sono eseguite tutte le istruzioni del blocco a sono eseguite tutte le istruzioni del blocco a partire da quella posizione.partire da quella posizione.

Se espressione non è uguale ad alcuna Se espressione non è uguale ad alcuna costante, sono eseguite le sole istruzioni della costante, sono eseguite le sole istruzioni della parte opzionale default.parte opzionale default.

Normalmente quel che si desidera è che siano Normalmente quel che si desidera è che siano eseguite le sole istruzioni relative a un case, eseguite le sole istruzioni relative a un case, non tutte quelle che seguono. A tale scopo è non tutte quelle che seguono. A tale scopo è disponibile l’istruzione disponibile l’istruzione breakbreak che provoca che provoca l’uscita dallo switchl’uscita dallo switch

Page 11: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

ProblemaProblemaVisualizzare le note musicali immesse in Visualizzare le note musicali immesse in formato americano (A = la, B= si, C = formato americano (A = la, B= si, C = do, D = re, E = mi, F = fa, G = sol).do, D = re, E = mi, F = fa, G = sol).

Input: una lettera dell’alfabeto.Input: una lettera dell’alfabeto.

Output: visualizza la nota, se non Output: visualizza la nota, se non compresa visualizza “La nota non compresa visualizza “La nota non esiste”.esiste”.

Page 12: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

ProgrammaProgramma

Page 13: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

ProblemaProblemaA seconda della posizione A seconda della posizione dell’interruttore 1, 2 o 3, si desiderano dell’interruttore 1, 2 o 3, si desiderano accendere 1, 2 o 3 lampadine. Tutte le accendere 1, 2 o 3 lampadine. Tutte le altre posizioni non provocano altre posizioni non provocano l’accensione di alcuna lampadina.l’accensione di alcuna lampadina.

Input: un valore numerico intero.Input: un valore numerico intero.

Output: ogni volta che accende una Output: ogni volta che accende una lampadina lo scrive oppure scrive lampadina lo scrive oppure scrive “Buio”.“Buio”.

Page 14: Selezione - approfondimento A. Ferrari. Strutture annidate Allinterno di una selezione possiamo avere altre selezioni. Per esempio risolviamo il problema:

ProgrammaProgramma