miércoles, 8 de febrero de 2012

Scala… ejemplos sencillos


Variable de entorno
Agregarla al path


Ej 1. Hola mundo
object Hola extends App{
     println("¡Hola mundo, si ves esto ya funciona tu primer programa en Scala!");
  }
Compilar:
scalac Hola.scala
Ejecutar:
scala Hola



Ej 2. Introducir y mostrar datos
//introducir datos y mostrarlos
object Prog01 extends App{
  val nombre=readLine("Escribe tu nombre: ")
println(“”)
  printf("Hola %s",nombre)
  //se puede usar también println("Hola "+nombre)
  println("")
  println("Cuantos anyos tienes: ")
  val edad=readInt()
  println("")
  printf("tienes: %d anyos",edad)
  //se puede usar también println("tienes: "+edad+"anyos")
}
Ej 3. Mostrar variables: enteros, reales, cadenas y caracteres
object Prog02 extends App{
val entero=0; //puedes usar también var si deseas modificar su valor
val real=9.7
val cadena="Esto es una cadena"
val caracter=cadena.charAt(0)
println("entero: "+entero)
printf("entero: %d\n",entero)
println("real: "+real)
printf("real: %f\n",real)
println("cadena: "+cadena)
printf("cadena: %s\n",cadena)
println("caracter: "+caracter)
printf("caracter: %c\n",caracter)
}

Ej 4. Función que muestre la longitud de una cadena
object Prog03 extends App{
def obtenerLongitudMsg(msg: String){
  val ver=msg+"  la longitud es de: "+msg.length
  println(ver)
}
var miMsg="Hola usuario de Scala"
obtenerLongitudMsg(miMsg)
}
Ej 5.  Factorial de un número
object Prog04 extends App{
def obtenerFactorial(x: BigInt): BigInt={
  if(x==0) 1 else x*obtenerFactorial(x-1)
}
var num=5
println("El factorial de "+num+"  es: "+obtenerFactorial(num))
}
Ej 6.  Sumatoria del 1 al 10
object Prog05{
def main(args: Array[String]){
var n=1;
var suma=0;
println("Bucles en Scala");
while(n<=10){
 suma+=n;
 n+=1;
 println("suma: "+suma);
 println("n: "+n);
}
}
Ej 7.  Uso de diccionarios
object Prog10{
   def main(args: Array[String]){
     var diccionario=Map("El Negativo"->"Segun un programador","Jose"->"Psicomantis","Adela"->"Mi hermana","Catalina"->"La gata del hogar");
      println(diccionario("El Negativo"));
      println(diccionario("Jose"));
      println(diccionario("Adela"));
      println(diccionario("Catalina"));
   }
}

Ej 8.  Calcular movimiento
import java.lang.Math;
object Prog11{
  def main(args: Array[String]){
   var mov=0.0;
   var cont=0.0;
   var k2=0.2;
   var dt=0.5;
   var g=9.81;
   while(cont<50){
     cont+=dt;
     mov=Math.sqrt(mov*mov+k2*g*cont);
     println(""+mov+"  -->"+cont);
   }
  }
}
Ej 9.   Sumar caracteres de una cadena numérica
object Prog13{

  def main(args: Array[String]){
    var cadenaNumerica="543";
  
    println("Valor: "+cadenaNumerica+"\n");
    var i=0;
     var suma=0;
    while(i<3) {
        var caracter=cadenaNumerica.charAt(i);
        var cadena=String.valueOf(caracter);
      suma=suma+Integer.parseInt(cadena);
        i+=1;
    }
    println("Suma de los caracteres: "+suma);
    }
}
Ej 10. Clases
object Prog15{
class Persona(nombre: String, edad: Int){
def getNombre()=nombre
def getEdad()=edad
}
def main(args: Array[String]){
   def miObjeto=new Persona("El negativo",30);
   def otroObjeto=new Persona("El Positivo",25);
   println("Mi nombre es: "+miObjeto.getNombre())
   println("tengo: "+miObjeto.getEdad()+" anyos de edad")
   println("Mi nombre es: "+otroObjeto.getNombre())
   println("tengo: "+otroObjeto.getEdad()+" anyos de edad")
}
}

2 comentarios:

  1. Muy buen aporte x estos ejemplos de código, yo se programar perfectamente en java y estaba buscando informacion sobre scala para aprender a programar en ella y como tiene tantisimas similitudes con java esto me ha servido de gran ayuda, muchas gracias.

    ResponderEliminar
  2. Gracias por comentar, me alegra que le haya servido de algo estos ejemplos.

    ResponderEliminar