7° app

Competenza: "La selezione - struttura condizionale" 

APP.: "Insufficiente"

APP.: "Promosso o bocciato"

APP.: "Sottopeso, normopeso o sovrappeso"

1° Problema:

Creare un'app. dal titolo: "Insufficiente" 

..................................................................

Struttura condizionale se ( if ) 

La struttura condizionale se ( if ) mi permette di fornire una solo risposta se la condizione è vera. Nell'esempio si è ipotizzato di inserire il valore del voto e se esso sarà inferiore a 6 sarà insufficiente. Sull'interfaccia dopo aver inserito il voto si preme il bottone e verrà scritto se insufficiente. Questo tipo di struttura può fornire solo una risposta.

Potresti ideare un'app. che ti chieda, prima di accedere la tua età, e se la tua età è superiore a 18 anni non ti faccia accedere e risponda mi dispiace non sei un ragazzo. 

2° Problema:

Creare un'app. dal titolo: "Promosso o bocciato" 

..................................................................

Struttura condizionale se-altrimenti ( if-else )

La struttura condizionale se-altrimenti ( if-else ) mi permette di fornire una risposta se la condizione è vera altrimenti, se la condizione è falsa mi fornirà una risposta diversa dalla prima. 

Nell'esempio si è ipotizzato di inserire il valore del voto e se esso sarà inferiore a 6 sarà bocciato altrimenti sarà promosso, qualora sia 6 o superiore a 6 (cioè non inferiore a 6). 

Sull'interfaccia dopo aver inserito il voto si preme il bottone e verrà scritto se promosso o bocciato. 

Questo tipo di struttura può fornire due risposte.

3° Problema:

Creare un'app. dal titolo: "Sottopeso, normopeso o sovrappeso" 

..................................................................

L' indice di massa corporea ci fornisce l'indicazione se una persona è normopeso oppure sotto o sovra peso.

I parametri di seguito riportati sono valori tabellari per ragazzi dell'età della scuola media, e sono i seguenti:

se l'indice è inferiore a 18 si è nella fascia sottopeso,

se l'indice è compreso tra il valore 18 e 25 si è nella fascia normopeso,

mentre se supera il valore di 25 si è nella fascia sovrappeso.

Il valore dell'indice si ottiene facendo il rapporto tra il peso della persona espressa in kg e l'altezza al quadrato espressa in metri.

Pertanto dal punto di vista informatico dobbiamo pensare che se il valore è inferiore a 18 la persona sara sottopeso, se è maggiore di 25 la persona sarà sovrappeso se invece è un valore intermedio la persona sarà normo peso.

In questo modo posso dire al programma:

se il valore è < di 18 scrivi sottopeso,

se il valore è > di 25 scrivi sovrappeso,

invece se non è nessuna delle due scrivi normopeso.

Quindi le possibilità di risposta sono tre: sottopeso, normopeso e sovrappeso. 

Per poter avere tre azioni devo nidificare due strutture condizionate non mi basterebbe averne una, perché una azione condizionata (if, else) mi permette di avere al massimo due azioni di risposta.

Pertanto con due strutture condizionali una dentro l'altra è possibile soddisfare alle tre azioni cioè alle tre risposte.

La prima struttura condizionata se o altrimenti ci permette di far decidere al programma se il valore è inferiore a 18 scrivi sottopeso, altrimenti (se la condizione è falsa) non scrivere sottopeso ma fai un altra azione (quale?), 

La seconda azione qualora fosse falsa la possibilità è quella di inserire ancora un altra struttura condizionata in questo modo riesco a soddisfare ad altre due azioni di risposta.

Esercitazione.

Eseguire una app. "IBM - indice di massa corporea"

L'app. dovrà richiedere all'utente i due valori peso espresso in kg e altezza espressa in metri.

I due valori verranno inseriti e messi in evidenza nelle caselle corrispondenti.

In fondo all'interfaccia ci sarà la risposta sottopeso, normopeso e sovrappeso. 

La risposta varierà in funzione dell'indice IBM, è sarà:

IBM < 18 sottopeso,

IBM>25 sovrappeso,

se non è ne sottopeso ne sovrappeso sarà per forza normopeso (che matematicamente significa 18<IBM<25 )

if (y < 18) {

  setText("text_area7", "sottopeso");

} else if ((y > 25)) {

  setText("text_area7", "sovrappeso");

} else {

  setText("text_area7", "normopeso");

}