3°Lezione esempi di programmazione: Un po’ di matematica

3°Lezione esempi di programmazione: Un po’ di matematica

In questa terza puntata faremo alcuni calcoli matematici che permetteranno di famigliarizzare un po’ di più con il linguaggio C. Il primo programma svolgerà il ruolo di “calcolatrice”. In fatti il suo compito è quello di calcolare la somma di due numeri che inseriamo di tastiera attraverso la funzione scanf. Ecco il main di questo programma.

/*Programma che effettua la somma di due numeri che vengono inseriti direttamente dall’utente attraverso la funzione scanf*/

 

#include <stdio.h>

int main (void)

{

//Dichiaro due variabili, che conterrano i valori inseriti dall’utente

int primo_numero = 0;

int secondo_numero = 0;

 

//Chiedo all’utente di inserire i due numeri

printf(“Inserisci il primo numeron”);

scanf(“%d”,&primo_numero);

 

printf(“Inserisci il secondo numeron”);

scanf(“%d”,&secondo_numero);

 

//Dichiaro una variabile in cui sommare i due risultati per comodità

int somma = 0;

somma = primo_numero + secondo_numero;

 

printf(“La somma dei due numeri è %dn”,somma);

 

 

return0;

}

Il programma è già commentato di per se ( come buona norma è conviene commentare i programmi ), ma analizziamo la nuova funzione “scanf”. Essa prende da standard input ( la tastiera ) due numeri che vengono inseriti nella variabili primo_numero e secondo_numero . Una volta ottenuti questi due dati, viene dichiarata una variabile di tipo intero, che conterrà la somma dei numeri. Si noti il “prototipo” della scanf. Con il termine %d, si vuole indicare che il numero che si sta per inserire è di tipo intero e con il termine &d si indica l’indirizzo di dove copiare il valore del numero.

Nel prossimo programma verrano utilizzati dei costrutti di controlli, molti importanti. Essi permettono di stabilire se una preposizione è falsa, oppure stabilire se un numero è positivo o negativo. I costrutti più importati sono if, while e do-while. Ecco un esempio in cui viene utilizzo il costrutto if per stabilire se un numero è pari o dispari.

/*Programma che stabilisce se un numero è pari o dispari attraverso l’opetore di controllo if*/

 

#include<stdio.h>

 

int main (void)

{

//Dichiaro una variabile in cui verrà inserito il numero da tastiera

int numero;

printf(“Inserisci un numeron”);

scanf(“%d”,&numero);

 

//Controllo attraverso un if se il numero è divisibile perfettamente per due oppure o no

if ( ( numero%2 )==1 )

{

 

printf(“Il numero %d è disparin”,numero);

}

else

{

printf(“Il numero %d è parin”,numero);

}

return0;

}

Da notare il costrutto if. Nella parentesi viene effettuata una valutazione, cioè se il numero inserito non è divisibile perfettamente per 2, allora è un numero dispari, mentre in tutti gli altri casi sarà considerato pari. In realtà nella condizione viene confrontato il resto della divisione per 2.  Dopo la parentesi in cui si controlla la veridicità della condizione, si apre un blocco con le parentesi graffa, in cui viene stampato il numero a schermo.

 

Il terzo e ultimo esempio di questa lezione riguarda la verifica del massimo tra due numeri inseriti sempre con la scanf. Anche in questo caso il controllo della verifica viene effettuato attraverso un if.

/*Programma che stabilisce quale sia il massimo tra due numeri inseriti*/

 

#include <stdio.h>

 

int main (void)

{

 

//Dichiaro due variabili in cui inserisco i numeri

int primo_numero;

int secondo_numero;

 

//Inserisco i dati con la scanf

printf(“Inserisci il primo numeron”);

scanf(“%d”,&primo_numero);

printf(“Inscerisci il secondo numeron”);

scanf(“%d”,&secondo_numero);

 

//Controllo quale dei due sia il maggiore con un if

 

if ( primo_numero > secondo_numero ) {

printf(“Il primo numero digitato (%d) è maggiore del secondo (%d)n”,primo_numero,secondo_numero);

}

 

else {

//Notare la differenza tra l’operatore = e ==. Il primo assegna una valore, l’altro lo compara

if ( primo_numero == secondo_numero ) {

printf(“Hai inserito due numeri uguali !n”);

}

 

else {

printf(“Il secondo numero digitato (%d) è maggiore del primo (%d)n”,secondo_numero,primo_numero);

}

}

return0;

}

Come da commento, da notare la differenza tra = e ==. Il primo viene utilizzo quando si vuole assegnare ad una variabile un valore, mentre il secondo serve per verificare l’uguaglianza tra due numeri. Spero che con questa puntata, abbiate familiarizzato maggiormente con il linguaggio C.

Ecco gli esempi già scritti in estensione .c

somma

paridispari

massimo

Blogger