Scrivere
il codice sorgente
Cominciamo scrivendo il
codice di un semplice programma che converte temperature in gradi
Fahrenheir in temperature in gradi Celsius, usando la formula C =
(5/9)* (F - 32).
> cd LabProg
> emacs FahrCelsius.c &
/*
Programma per la conversione di temperatura
#include <stdio.h>da gradi Fahrenheit a gradi Celsius*/ main () { int fahr, celsius; int min, max, passo; // inizializzazione min = 0; //minimo valore di temperatura max = 100;//massimo valore di temperatura passo = 10;//passo dei valori stampati // stampa tabella for (fahr=min; fahr <= max; fahr += passo ){ celsius = 5 * (fahr - 32) / 9; printf("%d\t%d\n",fahr,celsius); } }
|
La prima riga è un commento (racchiuso fra /*
e */)
La seconda riga è una direttiva al preprocessore, che dice di includere la libreria stdio.h.
Nella prima parte del corpo del programma principale,
dichiariamo le variabili che utilizzeremo nel programma, che sono tutte
di tipo intero. Abbiamo due variabili che contengono i valori di
temperatura nelle due unita' di misura (fahr
e celsius),
e le variabili necessarie per stampare la tabella (valore minimo e
massimo di temperatura stampato, e passo dei valori stampati).
Nota Bene:
In C e' necessario che le variabili siano dichiarate prima del loro
primo utilizzo. Dunque, potremmo aver messo la dichiarazione della
variabile celsius,
per esempio, all'interno del ciclo for. Tuttavia, e' buona norma
raggruppare tutte le definizioni di variabili all'inizio del programma.
Questa pratica ha, fra l'altro, il vantaggio di migliorare la
leggibilita' del codice.
Dopo la dichiarazione delle variabili, c'e' la parte
di inizializzazione, in cui vengono impostati i valori delle variabili min,
max
e passo.
Nota Bene:
In C e' possibile inizializzare una variabile constestualmente alla sua
dichiarazione. Ad esempio, potremmo scrivere
int
min = 0;
per dichiarare una variabile min
di tipo intero ed inizializzarla a 0. Tuttavia, come nel caso
precedente, per migliorare la leggibilita' del codice e' preferibile
mantenere separate le operazioni di dichiarazione e di inizializzazione
della variabile.
Compilare il
codice
sorgente
Possiamo usare l'opzione -o per ridenominare l'eseguibile.
> gcc
-oTemperature FahrCelsius.c
>
./Temperature
Osservazioni
1. La
divisione che viene effettuata nel programma e' la divisione intera. Per questo motivo,
l'ordine con cui si effettuano le operazioni e' fondamentale.
Esercizio: provare a vedere
cosa succede se l'istruzione per il calcolo della temperatura viene
modificata come segue:
celsius = 5 / 9 *(fahr - 32);
2. Le tabella che stampata non e' ben allineata.
Esercizio: provare ad allineare
meglio la tabella utilizzando l'opzione che specifica la larghezza del
numero stampato nella sequenza %d
.
Esercitazioni
non guidate
Risolvere
il seguente esercizio e spedire il solo
file sorgente
(suffisso .c) all'indirizzo paolo.santi@iit.cnr.it
come all'interno di
un messaggio di posta elettronica con subject: Esercitazione Lezione3-2.