Blue Flower

Esercizio no.13:soluzione


La formula matematica per eseguire tale calcolo è

noi pensiamo di inserire l'iesima resistenza da tastiera assegnandola ad una variabile chiamata RX, di calcolarne subito l'inverso attribuendo il risultato ad una variabile chiamata XR:

Ci serviremo, poi, di una variabile chiamata sum come accumulatore di ogni nuova XR inserita. Alla fine calcoleremo La RP (resistenza parallelo) come facendo l'inverso di sum.: 

 

Versione C

#include <stdio.h>
main()
{
float Rx,Xr,sum=0;
do
{
printf("Inserisci il valore della resistenza (0 per terminare): ");
scanf("%f",&Rx);
if(Rx)
{
Xr=1/Rx;
sum+=Xr;
}
}
while(Rx);
if(sum)
printf("\nIl valore delle Resistenze e' pari a: %3.2f",1/sum);
}


I valori delle resistenze verranno accettati da tastiera finchè non viene inserita una resistenza nulla di valore zero; in tal caso il programma esce dal ciclo while e stampa l'inverso di sum. Osserviamo la presenza dell'if(RX); cioè le operazioni devono essere eseguite solo se RX!=0

La presenza dell'istruzione if(sum) che verifica che sum sia diverso da zero può anche essere ritenuta superflua, ma si cerca in ogni caso di evitare delle divisioni per 0.