Universidad Galileo
Programación III

Tarea 3: Expresiones y Sentencias

  1. Indique si lo que aparece a continuación es una expresión, una sentencia o es ilegal. Si es expresión, indique su valor y tipo. Si es sentencia indique su efecto (si se sabe) y la secuencia de ejecución. Asuma que x es int y b es boolean.
    1. int x = 5
    2. boolean b;
    3. x + 3
    4. x = x + 3
    5. x = x + 3;
    6. x == 3
    7. x == 3;
    8. b = x == 3;
    9. {
      Console.print( "Cual es tu nombre?: " );
      String name = Console.readln();
      String cap = name.toUpperCase();
      }

  2. Asuma que las siguientes sentencias son ejecutadas en secuencia. Responda a las preguntas que se hacen en las líneas de comentarios.
    {
    double d = 3.5;
    // a. Cuanto vale d?

    d = d * 3;
    // b. Cuanto vale d?

    if ( d < 8 )
    {
    Console.println( "d is pretty small" );
    }
    // c. Cuanto vale d?
    // d. Si se imprimió algo en la pantalla indique que,
    // sino indique por que no.

    d = 2.0;
    // e. Cuanto vale d?

    Console.println("Valores del ciclo...");
    while ( d < 30 )
    {
    Console.print("d: " + d + "\t");
    d = d * 2;
    }
    // f. Cuanto vale d?
    // g. Suponga que al principio del programa, la pantalla
    // estaba limpia, Que hay ahorita en la pantalla?
    }


  3. En Java todas las expresiones tienen un tipo. Asuma que existen las siguientes declaraciones:

    int i, j, c;
    double d;
    short s;
    long l;
    float f;
    boolean b;

    Indique el tipo (No el valor) de cada una de las siguientes expresiones. Si no es valida (error de sintaxis), indique porque.

    a. 6 g. i m. i / 0 s. 'c' y. b || true ae. l++
    b. 24L h. i+3 n. 4 * 3.2 t. "Algo entre comillas" z. i += s af. (long) s
    c. +3.5 i. i+3.0 o. i = 0 u. "Una cosa" + "otra cosa" aa. s += i ag. s
    d. 3.5f j. i+s p. i == 0 v. "6" + 3 ab. i += f ah. (short) l
    e. 2e-16 k. l+d q. b = 0 w. !b ac. l = i = s ai. l
    f. -25b l. f+s r. b == 0 x. !i ad. i = l += s


  4. Cual es el valor de las siguientes expresiones? Cuales producen errores de sintaxis? Talves deba revisar la precedencia de operadores de Java. Asuma que i es de tipo int y b es de tipo boolean, ambos predefinidos (o sea ya tienen valor).
    1. 2.0 + 3.5 * 7
    2. i > 0 && i < 100
    3. ! (i == 0) && 100 / i
    4. b = i < 0
    5. 0 > b = i
    6. 0 > i = 5
    7. i = 5 < 0
    8. (i = 5) < 0
    9. ("pies " + "a " + "cabeza").toUpperCase()
    10. "La respuesta es:" + 6 * 7
    11. "La respuesta es:" + 6 + 7
    12. 4 + 6 + " es " + 10
    13. 10 + " es " + 4 + 6

    Nota: Recuerde que el operador + (mas) es asociativo por la IZQUIERDA y que existe la presedencia de operadores.

Que debo entregar?

Debe escribir sus respuestas en un archivo de texto (puede ser texto simple o un archivo de Word, etc.) Puede omitir las preguntas, pero debe especificar el numero de ejercicio y la letra de inciso para cada respuesta. Debera imprimir el archivo en hojas tamaño carta, incluyendo su informacion personal (nombre, carnet, seccion) o una caratula.

La tarea sera entregada el dia Martes 6 de Febrero -- antes de las 8:00 a.m. -- (A esta hora estoy saliendo de la seccion "A" (aula 504); si usted es de la seccion "B" puede dejar la tarea antes de las 8:00 a.m. en uno de los escritorios de atras del aula 504; la seccion "A" entregará la tarea en clase)

No se aceptará la tarea mas tarde de las 8:00 a.m., si no puede llegar a la universidad antes de esa hora, mande la tarea por email a progra3@galileo.edu el dia Lunes o el Martes antes de las 8:00 a.m.

Sería saludable que imprima una copia de su tarea, para revisarla juntos en clase el dia Martes, a la hora de clase.