Appunti sul C++

I miei appunti collezzionati durante lo studio di questo linguaggio

Double e Float

Fino ad ora abbiamo utilizzato variabili di tipo intero (int). Questo tipo naturalmente non è che uno dei tipi di variabile che C++ ci offre. Nondimeno è insufficiente per la maggior parte delle operazioni di cui necessitiamo durante la programmazione.

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:
double numero = 3.0;
Stessa cosa se inseriamo i numeri da tastiera.
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 come
double a=10.0;
double
b;

b = a/2;
if
(b == 5) cout << “B vale 5;
Non 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.

2. Scrivere
int a = 5;
double
b = a/2;
Non 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).

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
#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;
}
Adesso sarete sicuramente in grado di svolgere questi esercizi.

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

Stampa il post

0 commenti:

Posta un commento

Blog Widget by LinkWithin

Lettori fissi