• Publicidad

¿Cómo introducir el número pi en Perl?

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

¿Cómo introducir el número pi en Perl?

Notapor mparrado8 » 2013-04-10 13:08 @589

Hola, soy nueva en el foro y también una novata en lo que se refiere a la utilización de Perl.
Planteo mi primera pregunta, aunque tengo la sensación de que mis preguntas van a ser muy frecuentes.

¿Hay algún comando concreto que permita introducir este valor sin tener que escribirlo a mano con todos sus decimales?

El programa consiste en calcular el área de un círculo, una vez dado el radio y que no funcione si el valor introducido para el radio es negativo. Sólo necesito saber cómo introducir pi para calcular el área.

Gracias
mparrado8
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-04-10 12:58 @582

Publicidad

Re: ¿Cómo introducir el número pi en Perl?

Notapor explorer » 2013-04-10 13:46 @615

Bienvenido a los foros de Perl en Español, mparrado8.

Se podría definir en forma de variable global:

my $PI = 3.141592625;

O en forma de constante:

use constant => PI = 3.141592625;

Si haces un perldoc constant, incluso usa PI como ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.            use constant PI    => 4 * atan2(1, 1);
  2.            use constant DEBUG => 0;
  3.  
  4.            print "Pi equals ", PI, "...\n" if DEBUG;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: ¿Cómo introducir el número pi en Perl?

Notapor mparrado8 » 2013-04-10 14:54 @663

Muchas gracias, eso ya está solucionado, pero ahora tengo otro problema. Cuando leí el enunciado parecía muy fácil, pero realmente no lo es.

Mi código es el siguiente. Se ejecuta, aparentemente está bien, pero calcula otra cosa, y no sale bien el resultado. Creo que tiene algo que ver con cómo introducir y declarar las variables, pero no averiguo qué es:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print "Introduce el valor del radio:\n";
  2. $a = <STDIN>;
  3. chomp ($a);
  4.  
  5. while ($a < 0)
  6. {
  7. print " El valor introducido no es correcto.\n Introduce un nuevo valor:\n";
  8. $a = <STDIN>;
  9. }
  10. $Pi = 3.141592625;
  11. $b = ($a^2)*$pi;
  12. print "El área del circulo es $b";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
mparrado8
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-04-10 12:58 @582

Re: ¿Cómo introducir el número pi en Perl?

Notapor explorer » 2013-04-10 15:56 @705

Pues porque en tu programa, hay dos variables distintas: una es $Pi y otra es $pi (Perl es sensible a las mayúsculas/minúsculas en el nombre de las variables).

Cuando se empieza con Perl, lo recomendable es activar el modo estricto y las advertencias, para que Perl nos avise de estos fallos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. print "Introduce el valor del radio:\n";
  6. my $a = <STDIN>;
  7. chomp ($a);
  8.  
  9. while ($a < 0) {
  10.     print " El valor introducido no es correcto.\n Introduce un nuevo valor:\n";
  11.     $a = <STDIN>;
  12.     chomp ($a);
  13. }
  14.  
  15. my $PI = 3.141592625;
  16.  
  17. my $b = ($a**2) * $PI;
  18.  
  19. print "El área del círculo es $b\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: ¿Cómo introducir el número pi en Perl?

Notapor mparrado8 » 2013-04-10 16:34 @732

¡¡Cierto!!, parece realmente que no he hecho ni un solo programa, así me daba 0, pero una vez corregido el error, si por ejemplo primero introduzco el número -1, y luego el 5, el área me da 21.9911483.. en lugar de 78.53981634 que es lo qué debería salir. ¿Por qué ocurre eso?
mparrado8
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-04-10 12:58 @582

Re: ¿Cómo introducir el número pi en Perl?

Notapor explorer » 2013-04-10 16:45 @739

El operador de exponenciación es '**', no '^', que es el operador de or-exclusivo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 17 invitados