lunes, 30 de noviembre de 2015

Tablas de multiplicar

Pamela aprende a multiplicar

Pamela llega de la escuela contenta porque aprendió que la multiplicación le ahorra tiempo cuando tiene que sumar varias veces el mismo número. Se lo explica a su hermano mayor, David, y le pregunta dónde puede encontrar las tablas de multiplicar. David lo piensa dos veces y se le ocurre que es una buena oportunidad para llamar a su primo Vladimir. Vladimir llega con su netbook y su lenguaje de programación favorito y juntos planean cómo imprimir las tablas de multiplicar.

Objetivo

Desarrolle un programa que imprima la tabla de multiplicar del número elegido.
Por ejemplo, si se elige el número 9, la salida del programa debe ser:

9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
9 x 10 = 90

Solución en Perl


#!/usr/bin/perl
use strict;
use warnings;

print "Ingresar el factor: ";
my $factor = <stdin>;
chomp($factor);
if (! $factor){ die; }

foreach my $i (1..10){
  my $producto= $i*$factor;
  print "$factor x $i = $producto \n";
}

lunes, 23 de noviembre de 2015

Resolver una ecuación cuadrática

Ecuación cuadrática


Desarrolle un programa que resuelva la ecuación cuadrática ax2+bx+c=0.

La entrada del programa serán a, b y c. La salida serán las soluciones reales de la ecuación.

Por ejemplo, si la entrada son los valores 1, 2 y —8, la salida del programa debe ser:

-4.0
2.0

Si la entrada son los valores 4, 4 y 1, la salida del programa debe ser:

-0.5

Si la entrada son los valores 3, —3 y 1, la salida del programa debe ser:

no hay soluciones reales

Solución


Resolveremos la ecuación reemplazando a, b y c en la fórmula cuadrática:
x= (-b ± √(b2- 4ac) )/ 2a

El discriminante de la fórmula determina cuántas soluciones reales hay, es decir la cantidad de valores de x que satisfacen la ecuación. Si el discriminante es cero hay una solución, si es mayor a 0 hay dos soluciones y si es negativo no hay soluciones reales. El discriminante se calcula como Δ= b2 - 4ac

Cuando el discriminante es cero, la fórmula cuadrática  que queda es x= -b/2a
Cuando el discriminante es mayor a cero nos quedan dos soluciones:
x= (-b + √Δ) / 2a
x= (-b - √Δ) / 2a

Solución en Javascript


function cuadratica(){
  var a;
  var b;
  var c;

  a= prompt( 'Ingresar el valor a: ', 1 );
  // si a es cero o vacio no es una función cuadrática
  if (! (a*1)) return;

  b= prompt( 'Ingresar el valor b: ', 1 );
  c= prompt( 'Ingresar el valor c: ', 1 );

  var discriminante= b*b - 4*a*c;
  if (discriminante < 0){ 
    alert( 'No hay soluciones reales' );
    return;
  }

  if (discriminante){ 
    alert( 'Hay dos soluciones:' ); 
    var solucion = (-b + Math.sqrt(discriminante))/(2*a);
    alert( solucion ); 
    var solucion2 = (-b - Math.sqrt(discriminante))/(2*a);
    alert( solucion2 ); 
  }else{
    var solucion = -b/(2*a);
    alert( 'La unica solucion es ' + solucion );
  }
  return;
}
cuadratica();
cuadratica();
cuadratica();

Solución en Perl


#!/usr/bin/perl
use strict;
use warnings;

print "Ingresar el valor a: ";
my $a = <stdin>;
chomp($a);
if (! $a){ die; }

print "Ingresar el valor b: ";
my $b = <stdin>;
chomp($b);

print "Ingresar el valor c: ";
my $c = <stdin>;
chomp($c);

my $discriminante= $b*$b - 4*$a*$c;
if ($discriminante < 0){ 
  print "No hay soluciones reales \n";
  exit;
}

if ($discriminante){ 
  print "Hay dos soluciones: \n"; 
  my $solucion = (-$b + sqrt($discriminante))/(2*$a);
  print $solucion."\n"; 
  my $solucion2 = (-$b - sqrt($discriminante))/(2*$a);
  print $solucion2."\n"; 
}else{
  my $solucion = -$b/(2*$a);
  print "La unica solucion es $solucion \n";
}


jueves, 19 de noviembre de 2015

Número recíproco


Recíproco o Inverso multiplicativo


El recíproco de un número real x se calcula como 1 dividido por x, excepto cuando x=0, ya que el cero no tiene recíproco.

Desarolle un programa que reciba como entrada un número real, y que entregue como salida el recíproco del número. Si la entrada es 0, la salida debe decir: el cero no tiene reciproco.

Solución en Perl

#!/usr/bin/perl
use strict;
use warnings;

print "Ingresar número: ";
my $valor = <stdin>;
chomp($valor);

if (! $valor){ print "El cero no tiene reciproco \n"; }
else{
  my $reciproco = 1/$valor;
  print "El reciproco de $valor es $reciproco \n";
}

Solución en Javascript

var valor= prompt('Ingresar número',0);
if (! valor){ alert('El cero no tiene reciproco'); }
else{
  var reciproco;
  reciproco = 1/valor;
  alert ('El reciproco de ' + valor + ' es ' + reciproco);
}


martes, 17 de noviembre de 2015

Planètes

Calculer la superficie et le volume d'une sphère


Le volume, en sciences physiques ou mathématiques, est une grandeur qui mesure l'extension d'un objet ou d'une partie de l'espace. La superficie d'un espace au sol ou d'une surface physique plane ou gauche est sa mesure physique exprimée avec une unité de mesure. L'unité correspondante du système international est le mètre carré1 ou l'un de ses multiples ou sous-multiples.
Dans cet exercice, nous proposons de développer un programme dont l'entrée est le rayon d'une planète et sa sortie:
  • La superficie de la planète
  • Le volumen de la planète
Les formules qui sont nécessaires:
Le volume d'une sphère est exprimé en termes de son rayon r\, comme:
V = \frac{4 \pi r^3}{3}
La superficie est 4 fois \pi \, fois son rayon au carré:
\ A = 4\pi r^2

Par exemple, si l'entrée est 6351 (le rayon moyen de la Terre en kilomètres), le programme doit fournir les résultats:
  • Superficie: 510064471.90978825
  • Volume: 1083206916845.7535

Perl Solution

#!/usr/bin/perl
use strict;
use warnings;
print "Entrez la rayon: ";
my $rayon = <stdin>;
chomp($rayon);

my $PI = 4.0 * atan2(1.0,1.0);

my $volume;
$volume = ($rayon * $rayon * $rayon * $PI * 4) / 3;
print "Le volume de la planète est $volume\n";

my $superficie;
$superficie = $rayon * $rayon * $PI * 4;
print "La superficie de la planète est $superficie\n";


Javascript Solution

var rayon= prompt('Entrez la rayon',0);
var volume;
volume = (rayon * rayon * rayon * Math.PI * 4) / 3;
alert ('Le volume de la planète est  ' + volume);
var superficie;
superficie = rayon * rayon * Math.PI * 4;
alert ('La superficie de la planète est ' + superficie);

sábado, 7 de noviembre de 2015

Conversión de temperaturas

Convertir de Grados Celsius a Fahrenheit


El grado Celsius o centígrado es la unidad termométrica que Anders Celsius definió en 1742 considerando las temperaturas de ebullición y de congelación del agua. Es muy utilizada para expresar las temperaturas de uso cotidiano. El grado Fahrenheit es una escala de temperatura propuesta por Daniel Fahrenheit en 1724 y se usa en la mayoría de los países anglosajones, aunque está siendo desplazado paulatinamente.
En este ejercicio proponemos desarrollar un programa cuya entrada sea una temperatura en grados Fahrenheit y su salida sea la temperatura en grados Celsius.
La fórmula de conversión es:
C= (F - 32) * 5/9
Por ejemplo, si la entrada es 131, el programa debe entregar el resultado 55.

Solución en Perl

#!/usr/bin/perl
use strict;
use warnings;
print "Ingrese la temperatura: ";
my $fah = <>;
chomp($fah);
my $cel;
$cel = ($fah - 32) * 5/9;
print "Temperatura de $fah grados Fahrenheit es $cel grados Celsius";

Solución en Javascript

var fah= prompt('Ingrese la temperatura',0);
var cel;
cel = (fah - 32) * 5/9;
alert ('Temperatura de ' + fah + ' grados Fahrenheit es ' + cel + ' grados Celsius');