Skip to content

Commit 4051f3f

Browse files
committed
Ejercicios
1 parent ea230da commit 4051f3f

File tree

15 files changed

+118
-2
lines changed

15 files changed

+118
-2
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Ejercicio 1 - Comparar variables
2+
3+
Escribe un programa que cree al azar tres variables enteras y las compare entre sí, sacando en pantalla cual de ellas es la mayor, la siguiente más grande y la menor.
4+
5+
Hay que tener en cuenta si son iguales, nunca se sabe.

02_ejercicios/02_dia_semana/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Ejercicio 2 - Día de la semana
2+
3+
Pedir al usuario un número comprendido entre el 1 y el 7 e imprimir el día de la semana al que hace referencia.
4+
5+
Por ejemplo, si introducen el `1`, se visualizará `Lunes`.
6+
7+
> Utilizad la clase [JOptionPane](https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html) para pedir datos y mostrar los resultados.
8+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Ejercicio 3 - Lista de números primos
2+
3+
Escribe un programa en el que pidamos al usuario un número y nos muestre los números primos entre 1 y ese número (incluido).
4+
5+
Para conseguirlo, tendrá que llamar a una función `esPrimo()` que nos diga si, en efecto, lo es.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Ejercicio 4 - Buscar mayor y menor
2+
3+
Crea un array de 10 posiciones con números aleatorios.
4+
5+
Escribe y pon a prueba estas funciones:
6+
7+
- `visualizar()`: muestra el array en pantalla.
8+
- `buscarMayor()`: muestra el número más alto que haya en el array.
9+
- `buscarMenor()`: muestra el número más pequeño que haya en el array.
10+
- `existe(n)`: devuelve `true` si el valor buscado existe en el array.
11+
12+
Notas:
13+
14+
- Las funciones deben recibir el array como parámetro.
15+
- Investiga a ver si en Kotlin hay métodos predefinidos que nos ayuden con estas tareas.
16+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Ejercicio 5 - Matriz aleatoria
2+
3+
Pide al usuario dos valores (filas y columnas). Úsalos para generar una matriz de números enteros aleatorios de tamaño FxC.
4+
5+
Cuando esté creada:
6+
7+
- Muéstra la matriz en pantalla.
8+
- Crea un array con el tamaño suficiente para almacenar todos los valores de la matriz y copia en él los datos.
9+
- Muestra el array.
10+
- Muestra el array eliminando los valores repetidos.

02_ejercicios/06_alumno/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Ejercicio 6 - Alumno
2+
3+
Crea la clase alumno con los campos que aparecen en la figura.
4+
5+
![](alumno.png)
6+
7+
- Cuando el programa arranque, carga los datos desde una base de datos `SQLite` a una lista.
8+
- Al terminar, vuelca los datos de la estructura de vuelta a la BD.

02_ejercicios/06_alumno/alumno.png

15.8 KB
Loading
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Ejercicio 7 - Empresas y empleados
2+
3+
Queremos construir una aplicación que permita almacenar la información relevante sobre empresas y sus empleados, tal como aparecen en el siguiente diagrama de clases:
4+
5+
![](empresa_empleado.png)
6+
7+
El programa mostrará un menú como el siguiente:
8+
9+
1. Crear nueva empresa.
10+
2. Añadir empleado a empresa ya existente.
11+
3. Listado de empresas.
12+
4. Listado detallado de empresas y empleados.
13+
5. Salir
14+
15+
El programa principal pedirá al usuario todos los datos necesarios y creará los objetos que hagan falta.
16+
17+
> NOTA: No hay límite en el número de empresas ni de empleados.
Loading
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Ejercicio 8 - Alumnos y asignaturas
2+
3+
Queremos construir una aplicación que permita almacenar la información relevante sobre alumnos y las asignaturas en las que están matriculados, tal como aparecen en el siguiente diagrama de clases:
4+
5+
![](alumno_asignatura.png)
6+
7+
El programa usará un interfaz gráfico creado en Swing y podrá realizar las siguientes acciones:
8+
9+
1. Crear nuevo alumno.
10+
2. Crear nueva asignatura.
11+
3. Matricular alumno en asignatura.
12+
4. Listado de alumnos matriculados en una asignatura.
13+
5. Listado de asignaturas en las que está matriculado un alumno y total de horas.
14+
6. Salir
15+
16+
> NOTA: No hay límite en el número de alumnos y asignaturas que podemos almacenar.
17+
18+
> Opcional: Almacenar los datos en una base de datos SQLite.
Loading

02_ejercicios/09_maraton/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Ejercicio 9 - Maratón
2+
3+
La organización del Maratón Martin Fiz nos ha pedido que, para la próxima edición, les desarrollemos una aplicación de gestión de corredores y tiempos de carrera.
4+
5+
Nos han proporcionado una base de datos inicial alojada en el fichero [corredores.sqlite](./corredores.sqlite) que podéis abrir y editar con el programa [DB Browser for SQLite](http://sqlitebrowser.org/).
6+
7+
Puntos a desarrollar:
8+
9+
1. Al iniciar la aplicación, cargar corredores, carreras y registros desde la BD a memoria.
10+
2. Nuevos corredores y carreras: pedir los datos para corredores y carreras y almacenarlos, primero en memoria y después en la BD.
11+
3. Registrar tiempo: crear un formulario que permita seleccionar un corredor, una carrera e introducir el tiempo que ha tardado en completarla.
12+
4. Crear un objeto con el registro de tiempo y almacenarlo en memoria y en la BD.
13+
5. Crear un formulario que permita seleccionar una prueba y muestre el listado con los nombres, dorsales y tiempos de los participantes de la misma.
14+
15+
> En [este repositorio](https://github.com/xerial/sqlite-jdbc) está disponible el driver JDBC para SQLite.
10 KB
Binary file not shown.

02_ejercicios/09_maraton/maraton.png

114 KB
Loading

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,22 @@ Curso para aprender [Kotlin](https://kotlinlang.org/) y, de paso, repasar Java.
77
- Este repositorio contiene las [presentaciones en PDF](./01_presentaciones/) y los [ejercicios](./02_ejercicios/).
88
- Los vídeos con la parte teórica están en esta [lista de reproducción](https://www.youtube.com/playlist?list=PLxL0ASjNO0ggH-k3AeNh9H8E8EXxj-1XC) de YouTube. Son 38 minutos en total, no hay excusa.
99

10-
Pasos a seguir:
10+
## Pasos a seguir
1111

1212
1. Hacer un fork del repositorio para poder subir los ejercicios hechos.
13-
1. Actualizar [IntelliJ IDEA CE](https://www.jetbrains.com/idea/download/) a la versión 2017.1.3 o superior.
13+
1. Actualizar [IntelliJ IDEA CE](https://www.jetbrains.com/idea/download/) a la versión 2017.1.3 o superior. Si pide actualizar plugins, hacerlo antes de seguir.
1414
1. Para repasar, hacer los ejercicios primero en Java y después en Kotlin.
15+
16+
## Ejercicios
17+
18+
- [Ejercicio 1 - Comparar variables](./02_ejercicios/01_comparar_variables/).
19+
- [Ejercicio 2 - Día de la semana](./02_ejercicios/02_dia_semana/).
20+
- [Ejercicio 3 - Lista de números primos](./02_ejercicios/03_lista_primos/).
21+
- [Ejercicio 4 - Buscar mayor y menor](./02_ejercicios/04_buscar_mayor_menor/).
22+
- [Ejercicio 5 - Matriz aleatoria](./02_ejercicios/05_matriz_aleatoria/).
23+
- [Ejercicio 6 - Alumno](./02_ejercicios/06_alumno/).
24+
- [Ejercicio 7 - Empresas y empleados](./02_ejercicios/07_empresa_empleado/).
25+
- [Ejercicio 8 - Alumnos y asignaturas](./02_ejercicios/08_alumno_asignatura/).
26+
- [Ejercicio 9 - Maratón](./02_ejercicios/09_maraton/).
27+
28+
Si os ha sabido a poco, podéis seguir con las *katas de código* de [Kotlin Koans](https://kotlinlang.org/docs/tutorials/koans.html) para seguir mejorando.

0 commit comments

Comments
 (0)