Conceptos básicos

Objetivos: Que los alumnos sean capaces de escribir expresiones aritméticas enteras o reales y que puedan declarar variables.

Temas:


Expresiones aritméticas

Una expresión aritmética se escribe realizando operaciones aritméticas entre variables y constantes numéricas. Por ejemplo:

    2*PI*radio
    (dist1+dist2)/difTiempo
    5
    3.14159
(Obs. PI es una constante predefinida.)

Los operadores más usados son:

Obs. 1: Las expresiones se escriben en una sola línea.

Obs. 2: Existe una parentización implícita como en el álgebra matemática:

Parentice explícitamente cuando la parentización implícita no es la adecuada o cuando tenga dudas:

    a-(b-c);

Tipo de una expresión

Una expresión puede ser entera (int en Java) o real (double). Por ejemplo, las siguientes son expresiones enteras:

   5
   5 + 2 * 20   // expresión compuesta
   5/2
   -2
Estas otras son reales:

   3.14
   3.14 * 8.5 / 2.0
   5.                 // 5.0
   1. + 1             // 2.0
Esto se puede resumir en:

Ejemplo:

    (4 - 1) * 5. / (5 / 2)
     |   |    |     |   |
    int int double int int
      \ /    /      \  /
      int   /        int
       \   /          /
       double        /
           \        /
            \      /
             \    /
             double
Propuesto: ¿Cuanto valen 1/2*2.0 y 2.0*1/2?


Ejercicio: Cálculo de porcentajes en un plebiscito.

Se requiere un programa que establezca el siguiente diálogo:

    Votos SI ? 80
    Votos NO ? 120
    Total de votos= 200
    SI= 40.0 %
    NO= 60.0 %
(8 minutos para que los alumnos traten de hacerlo.) Programa:

    println("Calculo de porcentajes de un plebiscito");
    print("Votos SI ? ");
    int si= readInt();
    print("Votos NO ? ");
    int no= readInt();
    print("Total de votos= "); println(si+no);
    print("SI= "); print(100.0*si/(si+no)); println(" %");
    print("NO= "); print(100.0*no/(si+no)); println(" %");
(El programa completo se encuentra en Plebiscito.java.)

Observaciones:


Declaración de variables

Cuando una expresión se repite una y otra vez, su valor se puede almacenar en una variable. Por ejemplo:

    int total= si+no;
    println(100.0*si/total);
    println(100.0*no/total);
La primera instrucción es una declaración. Introduce la variable total. Una declaración tiene la sintaxis:

`tipo' `identificador' = `expresión' ;

En donde `identificador' es el nombre de la variable y `expresión' es el valor inicial que se le da a esa variable.

El `tipo' puede ser int o double. Si es int, la variable sólo puede almacenar un valor entero. Si es double, solo puede almacenar un real (Ej. 2.5, -1.2, 1.0). Ejemplo:

  double perimetro= 2*PI*radio;
(Obs. a los profesores: por simplicidad no introduzcan el tipo float. Hace que en muchos caso se necesite los horrendos casts. En todo caso, con double se puede hacer todo y mejor.)


El operador %

Calcula el residuo de la división entre enteros. Por ejemplo:

En general se tiene la siguiente igualdad:

i % j <=> i - i/j*j <=> i - (i/j)*j

Ejercicios: