Supponiamo infatti di voler calcolare la distanza D tra due punti (a,b) e (x,y), la formula che ci permette questo è
Per fare somme, divisioni e quadrati non abbiamo alcun problema, ma nel fare la radice quadrata si! A questo proposito, o inventiamo un algoritmo bello complesso e lo scriviamo tutto, oppure vediamo se esiste una qualche funzione in una qualche libreria che fa al caso nostro.
Utilizzo di una funzione.
Supponendo che la funzione
funz()
sia nella libreria lib.h
, allora per poterla sfruttare dovremo richiamare tale libreria, ovvero dovremo scrivere all'inizio del nostro codice #include <lib.h>
(ecco perchè utilizzavamo alcuni include sempre, servivano a farci usare cout, endl ecc...).Dobbiamo ora capire come utilizzare la funzione funz(). All'interno delle parentesi (spesso) va inserito un argomento (o più di uno) del quale dobbiamo conoscere in precedenza la natura (ad esempio una funzione può richiedere un intero, o un double, o un intero ed un double!).
Supponiamo che la nostra funzione funz() richieda un intero, allora possiamo farla “funzionare” scrivendo
Supponendo invece che una seconda funzione funz2() presente sempre in lib.h richieda un intero ed un double (è importante l'ordine) allora andrà scritto qualcosa del tipoint a = 7;
funz(a);
Alcune funzioni, infine, restituiscono come risultato un valore: supponendo ad esempio che la funzione funz3() richieda un intero e dia come risultato un double possiamo scriveredouble b = 30.0;
funz2(6, b);
E la variabile risultato prenderà il valore corrispondente.double risultato;
int a = 4;
risultato = funz3(4);
Applichiamo ciò che sappiamo al problema precedente. Vogliamo conoscere la radice quadrata di un dato numero, sappiamo che nella libreria math.h esiste la funzione sqrt() che richiede un double e da come risultato un altro double che è la radice quadrata dell'argomento immesso. Possiamo allora trovare la radice quadrata di un numero inserito da tastiera in questo modo:
Comprendere il funzionamento del codice è estremamente elementare: la variabile res prende il valore tornato dalla funzione sqrt().#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double numero;
cout << "Inserire un numero" << endl;
cin >> numero;
double res = sqrt(numero);
cout << "La radice di " << numero << " e' " << res << endl;
cin.get();
return 0;
}
Alcuni errori frequenti sono il mancato inserimento della libreria necessaria (in questo caso la mancata scrittura di
#include <math.h>
).Un altro errore che spesso accade è nell'inserime
Esercizi.
1.
Sfruttare la funzione time() presente nella libreria ctime, dandogli 0 (zero) come argomento, per conoscere il tempo del vostro orologio di sistema (La funzione restituisce il tempo trascorso, in secondi, dal 1 gennaio 1970.)2.
Sfruttare la funzione abs() (che da il valore assoluto di un numero, accetta come argomento interi, float e double) presente nella libreria cstdlib per trovare il numero con il valore assoluto maggiore tra 5 numeri inseriti da tastiera.3.
Far calcolare ad un programma la distanza euclidea tra due punti con la formula vista in apertura dell'articolo4.
Difficile. Scrivere un programma che calcoli le due soluzioni di un equazione di secondo grado con coefficienti a, b e c dati da tastiera. La formula risolutiva di un equazione di secondo grado è Suggerimento: Fare attenzione: quando il discriminante (l'argomento sotto radice) è minore di zero la radice non si può fare e quindi non ci sono soluzioni; quando è uguale a zero invece le due soluzioni sono coincidenti, ovvero c'è una sola soluzione. Sfruttare molto l'if
Ti è piaciuto questo articolo? Collegati ai feed RSS per restare sempre aggiornato sugli ultimi articoli pubblicati. Se hai suggerimenti o idee lascia un commento
0 commenti:
Posta un commento