45 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
C - Strutture di controllo
Sequenza o blocco
{
<istruzioni>
}
{ printf("Immetti un numero intero: ");
scanf("%d", &i);
a = i * 4 + b - c;
printf("%d", a);
} Esempio:
C - Strutture di controllo
Selezione
if (<condizione>)
<istruzione>;
se <condizione> è vera è eseguita <istruzione>
dove <istruzione> è formata da 1 sola istruzione altra forma:
if (<condizione>) {
<istruzioni>;
}
47 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
………
if (i<100) {
a = b - i;
printf(”%f”, a);
} ………
C - Strutture di controllo
Esempi : Selezione
………
if (a>100)
printf(”%f”, a);
………
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf ("immetti base \n");
scanf ("%f" , &base);
printf("immetti altezza \n");
scanf("%f" , &altezza);
if ((base > 0) && (altezza > 0)) { area = base * altezza;
printf("Area= %f \n", area);
} }
Un semplice programma esempio
49 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf ("immetti base \n");
scanf ("%f" , &base);
printf("immetti altezza \n");
scanf("%f" , &altezza);
if ((base > 0) && (altezza > 0)) { area = base * altezza;
printf("Area= %f \n", area);
}
if ((base <= 0) || (altezza <= 0))
printf("Errore: base e/o altezza non maggiori di zero \n");
}
Un semplice programma esempio
Programma esempio in C
#include<stdio.h>
main ( )
{ // calcola il volume di un parallelepipedo float LBase, ABase, H, Area_Base, Volume;
printf ("immetti valore della lunghezza di base \n");
scanf ("%f" , &LBase);
printf("immetti valore altezza di base \n");
scanf("%f" , &ABase);
printf("immetti valore altezza parallelepipedo\n");
scanf("%f" , &H);
Area_Base = LBase* ABase;
... Modificare il programma C del calcolo del volume del parallelepipedo
per verificare il rispetto delle precondizioni ...
51 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
#include<stdio.h>
main ( )
{ // programma per il calcolo del volume di un parallelepipedo float LBase, ABase, H, Area_Base, Volume;
printf ("immetti valore della lunghezza di base \n");
scanf ("%f" , &LBase);
printf("immetti valore altezza di base \n");
scanf("%f" , &ABase);
printf("immetti valore altezza parallelepipedo\n");
scanf("%f" , &H);
if ((LBase>0)&&(ABase>0)&&(H>0)) {Area_Base = LBase* ABase;
Volume=Area_Base*H;
printf ("Volume = %f \n",Volume);
}
if ((LBase<=0)||(ABase<=0)||(H<=0))
printf("\nErrore:almeno una dimensione non maggiore di zero\n");
}
Programma esempio in C
... il programma C del calcolo del volume del parallelepipedo modificato per verificare il rispetto delle precondizioni ...
C - Strutture di controllo
Selezione
if (<condizione>)
<istruzione1>;
else
<istruzione2>;
se <condizione> è vera è eseguita <istruzione1> (è 1 sola istruzione) altrimenti, se <condizione> è falsa, è eseguita <istruzione2> (è 1 sola istruzione)
53 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
C - Strutture di controllo
Selezione altra forma:
if (<condizione>) {
<istruzioni1>;
} else {
<istruzioni2>;
}
se <condizione> è vera sono eseguite le <istruzioni1>
altrimenti se, <condizione> è falsa, sono eseguite le <istruzioni2>
dove <istruzioni1> e <istruzioni1> sono formate da più di 1 istruzione
C - Strutture di controllo
Esempio : Selezione
………
if (numero > 1000) {
a = b * numero;
printf(”%f”, a);
} else
c = b - numero;
55 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
Program area_rettangolo;
// questo programma calcola l’area di un //
// rettangolo
FLOAT base, altezza, area;
begin
write (“immetti base”);
read (“%f” base);
write (“immetti altezza “);
read (“%f” altezza);
if ((base > 0) and (altezza > 0)) then begin
area = base * altezza;
write (“Area= “, “%f” area);
end else
write (“Errore: base o altezza = <0”);
endif end.
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf (“immetti base \n”);
scanf (“%f” , &base);
printf(“immetti altezza \n“);
scanf(“%f” , &altezza);
if ((base > 0) && (altezza > 0)) {
area = base * altezza;
printf(“Area= %f \n”, area);
} else
printf(“Errore: base o altezza = <0 \n”);
}
Un semplice programma esempio
LDP C
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf (“immetti base \n”);
scanf (“%f” , &base);
printf(“immetti altezza \n“);
scanf(“%f” , &altezza);
if ((base > 0) && (altezza > 0)) {
area = base * altezza;
printf(“Area= %f \n”, area);
} else
printf(“Errore: base o altezza = <0 \n”);
Un semplice programma esempio
57 Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf (“immetti base \n”);
scanf (“%f” , &base);
printf(“immetti altezza \n“);
scanf(“%f” , &altezza);
if ((base > 0) && (altezza > 0)) {
area = base * altezza;
printf(“Area= %f \n”, area);
} else
printf(“Errore: base e/o altezza = <0 \n”);
}
… if ( ) … … if ( ) … else …
#include<stdio.h>
main ( )
/* questo programma calcola l’area di un rettangolo */
{
float base, altezza, area;
printf ("immetti base \n");
scanf ("%f" , &base);
printf("immetti altezza \n");
scanf("%f" , &altezza);
if ((base > 0) && (altezza > 0)) {
area = base * altezza;
printf("Area= %f \n", area);
}
if ((base <= 0)||(altezza <= 0)) printf("Errore: base e/o altezza =<0 \n");
}
… confronto tra le due versioni …