Búsqueda de Google

Google

domingo, 27 de abril de 2008

Estructuras de Control en Java



















EstructuraEn Java es...
Selección Simpleif
Selección Múltipleswitch
Iteración con control previo (Mientras)while
Iteración con control posterior (Repetir)do while
Iteración por sub rangos (Para Cada)for

Selección Simple
if (condición)
{
 instrucciones
}
else
{
 instrucciones
}


Selección Múltiple
switch (expresión)
{
 case valor1:
  instrucciones
  break;
 case valor2:
  instrucciones
  break;
 ...
 case valorN:
  instrucciones
  break;
 default:
  instrucciones
  break;
}


Iteración con Control Previo (mientras)
while (condición)
{
 instrucciones
}


Iteración con Control Posterior (repetir)
do
{
 instrucciones
}
while (condición);


Iteración por Sub Rangos (para cada)
for (inicialización; continuación; desplazamiento)
{
 instrucciones
}

miércoles, 23 de abril de 2008

Primeros Ejercicios en Java

Explica con tus propias palabras las diferencias entre un archivo con extensión .java y un archivo con extensión .class y describe cómo es el proceso de compilación y ejecución de un programa.

¿Cuál de los siguientes no es un comentario válido?
/** comentario */
/* comentario */
/* comentario
// comentario


Cambia la aplicación Hola Mundo presentada antes para que ahora despliegue en pantalla tu nombre y tu apellido.

Elimina alguna de las palabras reservadas del encabezado del método main y compila el programa. Trata de analizar el mensaje de error desplegado y entender su significado.



¿Cuáles de estos Identificadores son válidos?
  • int
  • unEntero
  • temperatura Maxima
  • un_int
  • puntaje-minimo
  • puntaje_minimo
  • void

Declarar las siguientes variables:
  • Un entero con identificador cantidadGoles.
  • Un carácter con identificador primeraLetra.
  • Un entero corto de valor 2 e identificador diasPorSemana.
  • Un real con identificador masaCritica y valor 250.35.
  • Un real con identificador volumen y valor 1.5

Escribir un programa en Java que realice las siguientes acciones:
  • Declare una constante entera llamada TOTAL con valor 20.
  • Declare dos variables enteras llamadas num1 y num2.
  • Asigne a num1 el doble del valor de TOTAL.
  • Asigne a num2 la suma de num1 + TOTAL.
  • Despliegue en la salida estándar todos los valores usados.




¿Cuál es el resultado de las siguientes operaciones?
100 + 50
100 - 50
100 * 5
100 / 50
10 % 5
10 % 4
100++
100--
100 <>
100 >= 50
100 >= 100
50 <= 10
50 != 100
50 != 50
100 == 100
true && true
true && false
true && true && false
true || true
true || false
!false
true && true && (true && false)
!false || (true && (false || !false))
(5 <>
(2 == 2) && ((2 != 2) || false)

¿Cuál es el valor final de las variables al ser ejecutado todo el trozo de código? Realiza este ejercicio sin usar la computadora, sino ejecutando manualmente cada instrucción y anotando los resultados de las mismas.

int x;
int y = 1;
boolean b;
boolean c = true;
boolean a = false;
x = 0;
x ++;
y = x + y;
b = x <>
x = 5 * y;
c = (!b);
x = y % 3;
y = x;

Para comprobar el resultado del ejercicio anterior, escribe un programa que ejecute toda la secuencia de instrucciones anteriores y posteriormente despliegue en pantalla los valores de todas las variables utilizadas. No olvides que todas las instrucciones deben ser escritas dentro del método main.

Escribe un programa en Java que realice las siguientes acciones.
  • Declare dos variables enteras.
  • Genere un entero al azar y lo asigne a una de ellas.
  • Asigne a la otra variable el resto de dividir el primer número entre 5.
  • Sume los resultados de ambas cuentas y lo asigne nuevamente a la primera variable.
  • Emita por pantalla los valores finales de las variables.

Nota: Para generar un entero al azar entre 0 y 100 puedes usar una operación predefinida por Java denominada random de la siguiente manera:

int numero = (int) (Math.random() * 100);
En este curso, los programas que escribamos trabajarán mayoritariamente con valores generados al azar, para simular los datos que un posible usuario pudiera ingresarle al programa.

Escribe pequeños programas en Java que den solución a los siguientes problemas. Determina con claridad cuándo conviene usar variables y cuándo constantes simbólicas.

  • Generar al azar el precio de un artículo, calcularle el IVA, sumárselo y desplegar un mensaje emitiendo el precio con el IVA correspondiente.
  • Generar al azar el radio de un círculo (número real entre 0 y 50) y calcular su área mediante la clásica fórmula (PI * radio2). Luego desplegar el área por pantalla.
  • Generar al azar dos números enteros y guardarlos en dos variables llamadas alfa y beta. Luego, intercambia el contenido de las mismas (o sea, el valor de alfa debe pasar a beta y viceversa). Debes desplegar por pantalla los valores de las variables antes y luego del intercambio.

lunes, 21 de abril de 2008

Ejercicios Adicionales

Ejercicios adicionales de Estructuras de Control.
Click aquí para descargarlos.

domingo, 20 de abril de 2008

Primera Aplicación en Java

Pasos para programar una aplicación
  1. Crear un archivo fuente.
  2. Compilar el archivo para generar el bytecode.
  3. Ejecutar el programa contenido en el bytecode.
Archivo Fuente

Programa sencillo que despliega un mensaje "Hola Mundo" por pantalla (también conocida como salida estándar).

/* Programa que despliega el mensaje "Hola Mundo" en la salida estándar. */
public class HolaMundo
{
   public static void main(String[] args)
   {
      //aquí va el mensaje
      System.out.println("Hola Mundo");
   }
}

Compilación

Para compilar el archivo fuente y generar el bytecode, desde la línea de comando debemos invocar al compilador de java (javac.exe).

C:\jdk\bin> javac HolaMundo.java

Nosotros trabajaremos con un IDE que nos permitirá invocar el compilador desde el mismo editor.

Ejecución

Para ejecutar el bytecode generado por el compilador, debemos invocar la máquina virtual de java (JVM) que es el programa java.exe

C:\jdk\bin> java HolaMundo

lunes, 14 de abril de 2008

Ejercicios de Variables, Expresiones e Instrucciones

  1. Con la lista pasada en una clase, determinar cuántos alumnos asistieron. Se conoce la cantidad de alumnos que hay en la lista y junto a cada nombre está marcado si asistió o no.
  2. Dado un conjunto de ítems a facturar con el precio de cada uno, determinar cuál es el precio de la factura (IVA incluido). No se sabe la cantidad total de ítems a facturar, pero se sabe que por lo menos hay un ítem para facturar.
  3. Dado un cuadro de fútbol y una cola de hinchas en la boletería principal de la tribuna Olímpica del Estadio Centenario, determinar cuántos hinchas del cuadro hay en la misma. Podría suceder que la cola de hinchas se encuentre vacía.
  4. Dados el puntaje del obligatorio y de la prueba de una materia de la carrera de un alumno cualquiera, determinar el puntaje final. Si no aprueba, el puntaje final será 0. Los puntajes de entrada son valores entre 0 y 100. Los puntajes mínimos de aprobación para la prueba y el obligatorio son 60 puntos. El puntaje final se calcula como el 75% de los puntos de la prueba y el 25 % de los puntos del obligatorio.
  5. Se tiene una urna cerrada con los votos de una elección. Los votos en la urna pueden ser para los partidos A ó B. Se quiere contar la cantidad de votos que obtuvo cada uno de los partidos. Como la elección no era obligatoria, no tenemos idea del número total de votos que puede haber.
  6. Dada una clase, determinar cuántos hinchas hay de Defensor, cuántos de Danubio y cuántos del resto de los equipos. Se conoce la cantidad de alumnos que hay en la clase.
  7. Se tiene una calle con 350 puertas. Sabemos que en cada una de ellas hay una sola persona. Se quiere escribir un mensaje que diga si en esa calle hay por lo menos 10 personas extranjeras o no.
  8. En una ferretería se tiene una bolsa con paquetes de tornillos. No sabemos si la bolsa está vacía o no. Sabemos que los paquetes de tornillos (en caso de haber alguno) no están vacíos, pero no sabemos cuántos tornillos tiene cada uno. Se quiere contar la cantidad de paquetes y la cantidad total de tornillos que hay.
  9. Un grupo de 20 amigos ha hecho una colecta para comprar un regalo. Cada uno de ellos puso lo que pudo, algunos pusieron sólo un billete y otros pusieron varios, pero no sabemos quién puso qué. Todos los billetes recaudados se encuentran dentro de un sobre. Los amigos han decidido que el total recaudado entre los billetes mayores a 50 pesos se destine al regalo y el resto se destine a comprar comida y bebida para la fiesta. Se quiere saber cuánto dinero hay para comprar el regalo y cuánto hay para comprar comida y bebida.
  10. Se tiene una lista con las notas obtenidas por un grupo de 100 alumnos. Cada nota de la lista puede ser 1,2 ó 3. Se desea saber cuál de ellas fue la nota más obtenida.

martes, 8 de abril de 2008

Más Ejercicios sobre Algoritmos

  1. Pasar la lista en una clase, indicando la asistencia o no de cada alumno. Para pasar la
    lista, se tiene una lista conteniendo el nombre de cada alumno inscripto. Además, se
    conoce la cantidad de alumnos inscriptos.
  2. Dada una planilla conteniendo los tiempos de cada corredor en una de las etapas de la
    Vuelta Ciclista, determinar el tiempo ganador. Se entiende que el ganador es el que
    tuvo el tiempo menor. Se sabe la cantidad de tiempos que hay en la planilla.
  3. Se tiene una bolsa con cartas que van a Montevideo o Interior. Se quiere apilar en la
    estantería A las que van a Montevideo y en la estantería B las que van al interior. No se
    sabe cuántas cartas puede haber en la bolsa.
  4. En un supermercado se tienen 20 paquetes cerrados con 35 tazas iguales cada uno. Se
    tienen 700 etiquetas con el precio de las tazas (todas valen lo mismo). Se quiere pegar
    a cada taza una etiqueta con su precio y guardarlas en una gran bolsa.
  5. Se tiene una lista con 300 nombres, los cuales no están ordenados alfabéticamente.
    Además, tenemos un papel con un nombre concreto de una persona. Se desea escribir
    un mensaje que diga si en esa lista está el nombre de dicha persona o no.
  6. Un restaurante trabaja solamente los días viernes, sábados y domingos. Los días
    viernes sirven pollo hasta las 15 horas y ensaladas luego de las 15 horas. Los sábados
    sirven carnes hasta las 16 horas y empanadas luego de las 16 horas. Los domingos
    sirven pastas todo el día. Escribir un algoritmo que, dados un día y una hora, diga cuál
    es el menú que corresponde servir.

Ejercicios

  1. Repartir todo el contenido de un termo de café en vasos, llenando cada uno de ellos. Se asume que el termo no está vacío. Los vasos que hay podrían alcanzar para todo el café que hay o a lo mejor se pueden terminar quedando aún café en el termo.
  2. Escuchar todos los mensajes de un contestador telefónico. El contestador cuenta con un botón que permite ir escuchando los mensajes de a uno. Podría suceder que no existan mensajes registrados en el contestador.
  3. Hallar el total de alumnos inscriptos en cursos del IUAS. El mismo está formado por 30 grupos de alumnos, pero la cantidad de alumnos inscriptos en cada uno de ellos puede variar de un grupo a otro.

Material para imprimir

Si alguien quiere imprimirse el material del curso, les dejo una versión que es más cómoda que las diapositivas en formato html.

Parte 1
Parte 2
Parte 3

Bienvenidos!

Buenas y bienvenidos!
La idea de éste blog es colgar materiales del curso, tanto ejemplos como ejercicios. También textos o artículos que considere interesantes.
Fundamentalmente pretendo poner aquí ejemplos que resulten útiles para el desarrollo de las clases, de forma que puedan acceder a él sin que perdamos tiempo copiándolos.
Como siempre, se aceptan comentarios y sugerencias.