Prima di proseguire...
Potrebbe interessarti la nostra collezione di esercizi C risolti?
Oggi vediamo come fare le semplici operazioni di addizione e sottrazione, in modo iterativo.
Vediamo prima la più semplice e cioè la moltiplicazione:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include<stdio.h> int main(){ //dichiarazioni int i,num1,num2,tot=0; //acquisizione dati printf ( "inserire il primo numero : " ); scanf ( "%d" ,&num1); printf ( "inserire il secondo numero : " ); scanf ( "%d" ,&num2); //calcoli for (i=1;i<=num2;i++){ tot += num1; } //visualizzazione risultati printf ( "%d * %d = %d con solo operazioni di addizione\n" ,num1,num2,tot); } |
Il codice è molto semplice: non faccio altro che acquisire i dati ed sommare num2 volte num1 ad tot, inizializzato precedentemente a 0. Naturalmente non può essere usata con numeri negativi.
Invece ora vediamo la divisione:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include<stdio.h> int main(){ //dichiarazioni int i,num1,num2,quoz,resto; //acquisizione dati printf ( "inserire il primo numero : " ); scanf ( "%d" ,&num1); printf ( "inserire il secondo numero : " ); scanf ( "%d" ,&num2); //calcoli for (i=num2,quoz=0;i<=num1;i+=num2,quoz++) ; resto = num1-(i-num2); //visualizzazione risultati printf ( "%d/%d :\nquoziente = %d\nresto = %d\n" ,num1,num2,quoz,resto); } |
Qui invece continuo a sommare a i num2, incrementando anche quoz, fin quando i non è > di num1, in questo modo quz mi indica il quoziente intero, mentre per il resto basta invece vedere la differenza tra num1 ed il numero multiplo di num2 precedente, che si può ottenere o con num2*quoz o con i-num2. Naturalmente non può essere usata con numeri negativi.
Infine vediamo il calcolo di potenze intere:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include<stdio.h> int main(){ //dichiarazioni int i,num1,num2,tot=1; //acquisizione dati printf ( "inserire il primo numero : " ); scanf ( "%d" ,&num1); printf ( "inserire il secondo numero : " ); scanf ( "%d" ,&num2); //calcoli for (i=1;i<=num2;i++){ tot *= num1; } //visualizzazione risultati printf ( "%d^%d = %d con moltiplicazioni successive\n" ,num1,num2,tot); } |
In pratica non faccio altro che moltiplicare num1 per il risultato precedente num2 volte, il risultato precedente è contenuto in tot, che è inizializzato a 1. Naturalmente non può essere usata con numeri negativi.
operazioni successive : moltiplicazione, divisione e potenza(intera) by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Pingback: moltiplicazioni, divisione e potenza mediante funzioni ricorsive « tutorial programmazione
Pingback: moltiplicazioni, divisione e potenza mediante funzioni ricorsive « tutorial programmazione