Curso de Programación Básica en Lenguaje Java IV

Quedaron pendientes de corregir el ejercicio 1 y 6. Vamos a ello:

1. Cambio de una máquina expendedora

El sistema de cambio de las máquinas expendedoras es simple pero no fácil. Nosotros de todas formas supondremos que la máquina tiene un número ilimitado de todas las monedas. Por lo tanto, a la hora de dar cambio, la cantidad insertada menos el valor del producto comprado se va devolviendo empezando con la moneda de mayor valor y bajando en cada paso. La solución:

Este código tiene el problema de que si la persona introduce una moneda de 1 o 2 céntimos, que por Hardware no estaría permitido porque saldría directamente sin contar en el sistema, el sistema devolvería una moneda más de 5 céntimos en la última vuelta del bucle.

También nos dimos cuenta, haciendo una traza del algoritmo, que el sistema siempre devuelve en cada vuelta del bucle las monedas de mayor valor hasta que la cantidad a devolver es menor que esa moneda. Por tanto, llegamos a un algoritmo algo más limpio:

6. Tablas de multiplicar

Este para subir nota: programa que muestra por pantalla las tablas de multiplicar hasta el 10. Tenrá que mostrar por pantalla algo así:

1 X 1 = 1

1 X 2 = 2

A un alumno se le ocurrió que quedaba más curioso poniendo como título “Tabla del …”. Había que saber en qué parte había que ponerlo exactamente, ya sea pensándolo (la mejor forma) o por ensayo/error. Lo importante es aportar soluciones a problemas. Aprovechamos también para mostrar el funcionamiento de un bucle “for”.

 

 

También podría interesarte:

18 de Mayo – Ayer fue el día de Internet No lo dijimos el pasado programa, durante la retransmisión en directo de la inauguración de la Maratón por Sevillanas se conectaron en total unas 20 p...
Aplicaciones de móviles y Fé Católica El miércoles pasado fue Miércoles de Ceniza lo que significa que ya estamos a sólo 33 días para la Semana Santa. Qué mejor momento que esta Cuaresma p...
27 de Abril – Tecnologías Cloud y Jornadas M... Este viernes a las 10 de la mañana en los Servicios Sociales de Rociana del Condado se celebrarán las Jornadas ModernizaTIC, unas jornadas de informac...

Curso de Programación Básica en lenguaje Java III

Y empezamos con las tablas. Las tablas, de una o dos dimensiones, es una forma de almacenar diferentes valores en una misma variable. En Java existe la restricción (no en Python, por ejemplo) de que todos los elementos de la tabla tienen que ser del mismo tipo. Tal vez, en lenguajes de alto nivel (En lenguaje C sí siguen teniendo sentido) estén algo desfasadas, ya que los Objetos y Clases sustituyen las estructuras y tipos elementales de los lenguajes. Aún así, es interesante verlas para ver algunos algoritmos de recorrido y búsqueda de elementos, junto con las técnicas de programación.

Un ejemplo de cómo se declaran tablas lo vemos en el siguiente código, y aprovechamos para trabajar con double, que ya el int lo tenemos trillado:

 

Ejercicios con vectores y matrices en Java

  1. Crear un vector de 10 enteros y rellenarlo con números aleatorios enteros menores que 10. Habrá que usar generador.nextInt(10) en vez de generador.nextDouble(), que te devuelve un número aleatorio entre 0 y 10, con el 10 no incluido. Quiere decir que si usamos nextInt(100), nos devuelve un número entre 0 y 100 pero excluyendo el 100. Y si hacemos nextInt(n), para cualquier n, nos devuelve un número entre 0 y n – 1. A lo que íbamos, mostrar por pantalla el resultado.
  2. Dado el ejercicio anterior, averiguar si entre los valores del vector se encuentra el número 5. Si está, mostrar por pantalla la posición en el vector de dicho elemento.
  3. Crear un vector de 10 elementos tipo double. Calcular la media de los elementos que hay en él y mostrarla por pantalla.
  4. Suponemos el ejemplo de clase, 20 alumnos con 10 asignaturas. Crear una matriz con valores aleatorios menores de tipo double que representa la nota de cada alumno en cada asignatura y calcular la media de cada alumno mostrándola por pantalla.
  5. Y éste, para subir nota. Dado un vector de 10 elementos enteros menores que 10, ordenarlos de menor a mayor… y no, no hay una sola forma de hacerlo, y sí, sí es algo difícil de hacer, pero es posible. Lo importante es que funcione en el folio…
  6. Repetir el ejercicio de las tablas de multiplicar pero guardando los resultados de las multiplicaciones en una matriz y luego mostrarlos por pantalla.
  7. La Máquina Expendedora 2.0: Vamos a considerar ahora que tenemos un vector que nos dice el número de monedas de cada tipo que tenemos, de forma que cuando demos cambio, puede ocurrir que no tengamos suficiente número de monedas de un tipo o incluso no tengamos suficiente para dar cambio. Esto último habrá que avisarlo por pantalla.

Para ello consideramos el vector monedas que tiene en su posición 0 la cantidad de monedas del tipo más pequeño (5 céntimos) y conforme subimos las posiciones las monedas siguientes, de tal forma que:

monedas[0] = nº de monedas de 5 céntimos

monedas[1] = nº de monedas de 10 céntimos

monedas[2] = nº de monedas de 20 céntimos

monedas[5] = nº de monedas de 2 euros

Inicializaríamos el vector como int[] monedas = {40,20,60,45,29,12}

La semana que viene más pistas y los ejercicios resueltos de la anterior, que hoy no me ha dado tiempo… happy coding!

También podría interesarte:

Nueva versión y opciones de Whatsapp Para bien o para mal, desde hace menos de un mes Whatsapp ha añadido una funcionalidad que ha revolucionado la aplicación. El objetivo siempre es el m...
20 de Abril – Guadalinfo pasa a ser de pago.... ATENCIÓN: Avisen a sus hijos y parientes. Por desgracia se ha confirmado la noticia. La Junta de Andalucía está comprobando qué usuarios acuden al cen...
Los equipos de eSports Qué son los ESports Son los deportes electrónicos, ni más ni menos. Un fenómeno que ha ganado tal popularidad en los últimos años que incluso se ha p...

Curso de Programación Básica en lenguaje Java II

Quedaron pendientes de corregir dos ejercicios que los corregiremos hoy. La solución a los ejercicios 2, 3, 4 y 5. No son soluciones únicas, hay varias formas de hacerlo. De hecho, ni siquiera son las mejores soluciones, algunos alumnos aportaron soluciones más claras o rápidas.

2. Imprimir la suma de los n primeros números

Por ejemplo, para n = 3 habría que imprimir por pantalla 6 (el resultado de 3 + 2 + 1). Si n = 6, el resultado sería 21 (6 + 5 + 4 + 3 + 2 + 1). Si n = 1000 el resultado sería… bueno, eso mejor que lo haga la máquina. Tendremos un bucle while y tendremos que disminuir n en cada paso y acumular la suma en alguna otra variable que declaremos.

 

3. Multiplicación de los n primeros números que sean pares

Muy parecido al anterior, pero sólo habría que hacerlo con números pares y en este caso una multiplicación. Por ejemplo: n = 4, el resultado que hay que mostrar por pantalla es 8 (4 x 2). Mucho ojo con el 0, que hace que todas las multiplicaciones sean 0. Si n = 7, el resultado sería 48 (6 x 4 x 2).

 

4. El máximo de 3 números

Dados 3 números, numero1, numero2, numero3, compararlos y mostrar por pantalla el número mayor de esos 3.

 

5. Año bisiesto

Hacer un programa que te diga si un año es bisiesto. Dado un año, por ejemplo, 1992, mostrar por pantalla “1992 es bisiesto” o “1992 no es bisiesto”.

El programa lo ampliamos sobre la marcha para que nos mostrara hasta cierto numero todos los años bisiestos desde el año 0.

 

También podría interesarte:

Seguridad en la compra de Rebajas por Internet Entre los objetivos de Guadalinfo está el fomentar el uso seguro de Internet. Como estamos en temporadas de rebajas, seguro que más de uno/a tiene sus...
14 de Octubre – Qué viene Netflix!! El 20 de octubre se estrenará en España, por fin, tras innumerables intentos y anuncios, el servicio Netflix: actos, alfombra roja, famosos... Preg...
Los equipos de eSports Qué son los ESports Son los deportes electrónicos, ni más ni menos. Un fenómeno que ha ganado tal popularidad en los últimos años que incluso se ha p...

Curso de Programación Básica en Lenguaje Java I

En la primera clase hemos visto algunos conceptos básicos:

  • Qué es programar
  • Java
  • IDE (Sublime Text)

Instalamos Sublime Text, en nuestro caso la versión tarball de Ubuntu 32 bits, que es la que funciona en el centro. En este IDE, guardamos los archivos de java con extensión .java y nos colorea y compila (Ctrl+B) el código correctamente. Si además queremos que se ejecute, tenemos que seguir los siguientes pasos:

    1. Pinchar en Tools -> Build System -> New Build System
    2. Copiar y pegar el siguiente código:

  1. Guardar como “Ejecutar Java.sublime-build” en la carpeta por defecto que te muestra
  2. Pinchar en Tools -> Build -> Ejecutar Java

Para probarlo creamos nuestro primer programa HolaMundo, aunque le añadimos algunos conceptos más que se han impartido:

  • Variables: TipoDeLaVariable nombreVariable = Valor;
  • Condiciones: If (condicion) instrucciones; else if (condicion) inscrucciones; else instrucciones;
  • Bucles: while (condicion) instrucciones;

El código de ejemplo del archivo HolaMundo.java:

Errores comunes cuando pulsemos Ctrl+B para ejecutar:

  • No he cerrado todas las llaves
  • No he puesto ; al final de la línea
  • El archivo y la clase no se llaman exactamente igual.

Para la próxima clase, que será el miércoles, hay que intentar resolver estos ejercicios. En clase se debatirá la solución (99% es pensar) y se escribirá el código (quien no lo tenga aún).

1. Cambio de una máquina expendedora

El sistema de cambio de las máquinas expendedoras es simple pero no fácil. Nosotros de todas formas supondremos que la máquina tiene un número ilimitado de todas las monedas. Por lo tanto, a la hora de dar cambio, la cantidad insertada menos el valor del producto comprado se va devolviendo empezando con la moneda de mayor valor y bajando en cada paso. Una pequeña ayuda sería tener en cuenta:

2. Imprimir la suma de los n primeros números

Por ejemplo, para n = 3 habría que imprimir por pantalla 6 (el resultado de 3 + 2 + 1). Si n = 6, el resultado sería 21 (6 + 5 + 4 + 3 + 2 + 1). Si n = 1000 el resultado sería… bueno, eso mejor que lo haga la máquina. Tendremos un bucle while y tendremos que disminuir n en cada paso y acumular la suma en alguna otra variable que declaremos.

3. Multiplicación de los n primeros números que sean pares

Muy parecido al anterior, pero sólo habría que hacerlo con números pares y en este caso una multiplicación. Por ejemplo: n = 4, el resultado que hay que mostrar por pantalla es 8 (4 x 2). Mucho ojo con el 0, que hace que todas las multiplicaciones sean 0. Si n = 7, el resultado sería 48 (6 x 4 x 2).

4. El máximo de 3 números

Dados 3 números, numero1, numero2, numero3, compararlos y mostrar por pantalla el número mayor de esos 3.

5. Año bisiesto

Hacer un programa que te diga si un año es bisiesto. Dado un año, por ejemplo, 1992, mostrar por pantalla “1992 es bisiesto” o “1992 no es bisiesto”. ¿Cuándo es bisiesto un año? Seguro que google sabe la respuesta a esa pregunta… 😉

6. Tablas de multiplicar

Este para subir nota: programa que muestra por pantalla las tablas de multiplicar hasta el 10. Tenrá que mostrar por pantalla algo así:

1 X 1 = 1

1 X 2 = 2

Modificarlo para que muestre las 1000 primeras tablas de multiplicar.

 

 

 

También podría interesarte:

400 personas atendidas en el Centro Guadalinfo de ... Durante abril, hemos tenido un número redondo, se han atendido a un total de 400 usuarios, repartidos en 13 actividades diferentes de la siguiente for...
¿Quién inventó el palo selfi? Aunque nosotros lo conocemos por palo selfi, alrededor del mundo y a lo largo de la historia se le ha dado diversos nombres: monopod, palo de auto-fot...
Los equipos de eSports Qué son los ESports Son los deportes electrónicos, ni más ni menos. Un fenómeno que ha ganado tal popularidad en los últimos años que incluso se ha p...