Scrivere un programma che accetti come input da tastiera un
carattere e due numeri
reali. Se il carattere è c oppure C i due
numeri reali vanno interpretati come coordinate
cartesiane. Se il carattere è P o p i due
numeri
vanno interpretati come coordiante polari ( r e φ
). In questo contesto ci
interessa solo il fatto che le coordinate polari sono un diverso
sistema per identificare la posizione di un punto del piano dandone la
distanza dall'origine e l' angolo del vettore posizione rispetto
ad una semiretta. In caso di coordinate polari il
programma deve verificare che
il primo dei numeri reali (la distanza) sia maggiore o
uguale a zero.
Qualora tale condizione non sia soddisfatta il
programma deve terminare con un messaggio di errore.
Altrimenti, se l' input è costituito da
coordinate
cartesiane, se ne deve dare la trasformazione in coordinate
polari (viceversa da polari a cartesiane se l' input
è
in coordinate
polari). Per ottenere l' angolo a partire dalle
coordinate x,y senza dover analizzare esplicitamente a
quale quadrante appartiene il punto si suggerisce di usare la
funzione atan2(y,x) che dà il valore dell'
angolo nell' intervallo [-pi_greco, pi_greco].
N.B.La conversione da coordinate cartesiane (x,y) a polari (r,phi) e viceversa si implementa mediante le formule:
r = sqrt(x**2 + y**2)
phi = atan2(y,x)
x=r*cos(phi)
y=r*sin(phi)