A tal proposito introduciamo le variabili a virgola mobile, float (a precisione singola) e double (a precisione doppia). Questi sono ottimi per rappresentare numeri con precisione (specialmente il tipo double). Nel dare un valore ad uno di questi due tipi però dobbiamo stare attenti a ricordare di specificare anche la parte con la virgola (che si scrive usanto di punto :P), ad esempio per avere un double chiamato numero che vale 3 dobbiamo scrivere:
Stessa cosa se inseriamo i numeri da tastiera.double numero = 3.0;
Bisogna ricordare un paio di cose quando si utilizzano questi tipi di variabili:
1.
Sono sconvenienti quando si vogliono fare confronti del tipo ==
, in quanto (per via della loro natura) si tratta di numeri approssimati, e quindi scrivere qualcosa comeNon farà comparire la scritta “B vale 5”, in quanto b non vale esattamente 5, ma un numero che per approssimazione si può pensare uguale a 5.double a=10.0;
double b;
b = a/2;
if(b == 5) cout << “B vale 5”;
2.
ScrivereNon darà a b il valore 2.5 ma il valore 2, in quanto l'operatore di divisione è stato utilizzato su di un numero intero e quindi ha prodotto una divisione intera col resto. Impareremo poi come trasformare un intero in un numero a virgola mobile (e non solo).int a = 5;
double b = a/2;
Proviamo, a titolo illustrativo, a scrivere un programmino che trasforma i gradi sessaggesimali in radianti.
Sappiamo (ad esempio) che , quindi possiamo dire per un generico angolo x in gradi sessaggesimali, il suo equivalente r in radianti sarà dato da . Infine, wikipedia ci dice che .
Possiamo quindi scrivere il nostro programma
Adesso sarete sicuramente in grado di svolgere questi esercizi.#include <iostream>
#include <stdlib.h>
using namespace std;
//Resto incremento e decremento
int main()
{
double gradosess;
cout << "Inserire l'angolo in gradi sessaggesimali:";
cin >> gradosess;
cout << "L'equivalente in radianti e':"
<< (3.14159*gradosess)/180 << endl;
cin.get();
return 0;
}
Esercizi:
1. Scrivere un programma che trasforma una data temperatura in gradi celsius (C), nell'equivalente in gradi Kelvin (K) e Farenith (F). Suggerimento: K=C+276,15; F=(9/5)*C + 32
2. Scrivere un programma che calcoli la velocità di un satellite geostazionario a distanza x (inserita da tastiera) dalla terra (raggio terrestre = 19.000km, velocità di una particella sulla superficie terrestre 1,38 km/s)
3. Scrivere un programma che crei un menù (del tipo sotto), e permetta (a seconda della scelta): di calcolare il valore medio tra due punti x e y, di trovare le soluzioni x di un equazione del tipo ax + b = c (con a, b e c inseriti da tastiera) o di sommare due numeri a e b inseriti da tastiera.
### Benvenuto nel programma di analisi dati ###
Inserisci 1 per calcolare la media di due valori
Inserisci 2 per calcolare le soluzioni di un equazione ax + b = c
Inserisci 3 per sommare due numeri
Scelta: _
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