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:
#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:
#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:
#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