Primi semplici programmi C
Programma che calcola la somma di
due INTERI:
>> concetto introdotto:
assegnazione, variabili e valori, espressioni, come si legge e
scrive dal terminale un intero
#include <stdio.h>
int a,b,c;
main (){
scanf("%d",&a);
scanf("%d",&b);
c=a+b;
printf("%d\n",c);
}
Programma che calcola la media di
due REALI:
>> concetto introdotto:
come si legge e scrive un reale
#include <stdio.h>
float a,b;
float c;
main ()
{
scanf("%f",&a);
scanf("%f",&b);
c= 0.5*(a+b);
printf("%f\n",c);
}
Programma che calcola la media di
due INTERI:
>> concetto introdotto:
reali e interi sono tipi diversi, ci vuole un "cast"
#include <stdio.h>
int a,b;
float c,d;
main ()
{
scanf("%d",&a);
scanf("%d",&b);
c= (float) a+b;
d=c*0.5;
printf("%f\n",d);
}
Programma che calcola il massimo
tra due interi:
>> concetto introdotto: l'istruzione IF, la stampa di
stringhe di caratteri
#include <stdio.h>
int a,b,max;
main()
{
scanf("%d",&a);
scanf("%d",&b);
if (a>b) max=a;
else max=b;
printf("max=%d\n",max);
}
Programma che dato n calcola n
fattoriale:
>> concetto introdotto:
ciclo while come iterazione per un numero di volte noto,
parentesi graffe x sequenza di istruzioni, operatore di
decremento, indentazione
#include <stdio.h>
int n,fatt;
main()
{
scanf("%d",&n);
fatt=1;
while (n>0)
{
fatt=fatt*n;
n--;
}
printf("fatt=%d\n",fatt);
}
Programma che calcola la media di
una sequenza di REALI POSITIVI, terminata da un negativo:
>> concetto introdotto:
assegnazione di valori iniziali, ciclo while come iterazione per
un numero di volte non noto, operatore di incremento, cosa
succede se il primo numero e' negativo?
#include <stdio.h>
float somma,x;
int tot;
main ()
{
scanf("%f",&x);
somma=0.0;
tot=0;
while (x>0.0)
{
somma=somma+x;
scanf("%f",&x);
tot++;
}
somma= somma/ (float) tot;
printf("%f %d\n",somma,tot);
}
Rifacciamo il programma del fattoriale con l' istruzione for:
#include <stdio.h>
int n,i,fatt;
main ()
{
scanf("%d",&n);
fatt=1;
for (i=n; i>0; i--) fatt=fatt*i;
printf("fatt=%d\n",fatt);
}
>> ulteriori concetti da introdurre: l'inserimento di commenti, l'indentazione delle istruzioni di un blocco, l'uso della traccia, programmi "diversi" che danno lo stesso risultato.