next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Práctica: Postfijo y Subrutina Sup: Subrutinas Ant: Práctica: Máximo Err: Si hallas una errata ...


Práctica: Polares a Cartesianas

Escriba una función p2c que permita pasar de coordenadas Polares a Cartesianas y de Cartesianas a Polares. Las fórmulas de conversión de Polares a Cartesianas son:

$x = $r*cos($angle); $y = $r*sin($angle)
y de Cartesianas a Polares son
$r = sqrt($x*$x+$y*$y); $angle = $atan($y/$x)
Vea perldoc perlfunc o man perlfunc para mas información sobre las funciones disponibles. Utilice el método de los argumentos con las claves (x, y, r, angle) para determinar el tipo de conversión requerida. La función retorna a su vez un hash con el mismo convenio de claves. Así, si se llama a la función con otra combinación de argumentos como: p2c(x=>1, r=>1) devolverá un hash con los valores de y y angle.

Es un error llamar a la función con menos de dos argumentos.

La función atan2(Y,X) devuelve la arcotangente de Y/X en radianes en el rango $ [-\pi, \pi]$. Para calcular la tangente puede usar la función Math::Trig::tan o simplemente sub tan { sin($_[0]) / cos($_[0]) }. Por ejemplo:

DB<1> p (atan2 1, 0)*2
3.14159265358979
DB<2> Math::Trig::tan(3.14159265358979/4)
Undefined subroutine &Math::Trig::tan called at (eval 9)[/usr/share/perl/5.8/perl5db.pl:619] line 2.
DB<3> use Math::Trig
DB<4> p Math::Trig::tan(3.14159265358979/4)
0.999999999999998


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Práctica: Postfijo y Subrutina Sup: Subrutinas Ant: Práctica: Máximo Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21