Práctica: Area de un Círculo

Escriba un programa que solicite de la entrada un radio de una circunferencia e imprima el área del correspondiente círculo ( $ S = \pi \times r^2$ ). El proceso debe repetirse hasta que el radio contiene una cadena no numérica. Compruebe además que el radio no es negativo.

  1. Escriba la documentación de uso del programa (véase perldoc perlpod).

  2. Encuentre los errores por medio del depurador (véase perldebtut).

  3. Utilice subversion. Cree un repositorio. Añada al repositorio un proyecto practicas_lhp conteniendo la jerarquia

    practicas_lhp
         |
         |-trunk
         |   |
         |   `-area_de_un_circulo 
         |            | 
         |            |- area_de_un_circulo.pl
         |            |- MANIFEST
         |            |- Makefile
         |            |- t- 01area_de_un_circulo.t
         |            `- test.expected
         |-branches
         |
         `-tags
    

  4. Declare todas sus variables. Asegúrese de que usa strict o Modern::Perl.

    Declare las variables mediante la palabra reservada my:

    my $a =4;
    {
      my ($b, $c) = ("a", 9.2);
      $a = $b + 2*$c;
    }
    print $a;
    
    Una variable declarada con my tiene por ámbito el del bloque en que fué declarada o el fichero si esta fuera de bloques.

  5. Constantes: Para definir la constante $ \pi$ use el módulo Math::Trig

  6. Compruebe el comportamiento de su programa contra entradas
    1. Valores normales: 1, 4.5, -3.2
    2. Diferentes formatos de flotante: 1e2, 1.0e-1, etc.
    3. Cero
    4. Negativas
    5. Cadenas de caracteres: la cadena vacía, cadenas de caracteres que contienen números, p. ej. "one 1.0 two 2.0", etc.

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19