Ejercicios 2. Arrays, Slice, for, if¶
Puedes organizar todo el código segun el siguiente ejemplo:
package main
import (
"fmt"
)
/**
* Ejercicios 2
**/
// Aqui tipos y variables globales
func main(){
for {
// Mostrar el menú
fmt.Println("\n=== Menú Principal ===")
fmt.Println("1. Ejercicio 1")
fmt.Println("2. Salir")
fmt.Print("Seleccione una opción: ")
// Leer la opción del usuario
var opcion int
fmt.Scanln(&opcion)
// Evaluar la opción seleccionada
switch opcion {
case 1:
ejercicio1()
case 2:
fmt.Println("Saliendo del programa. ¡Hasta luego!")
return // Termina el programa
default:
fmt.Println("Opción no válida. Inténtelo de nuevo.")
}
}
}
/**
* Hacer un programa que inicialice un vector de 20 números con valores aleatorios,
* y posterior ordene los elementos de menor a mayor
**/
func ejercicio1(){
}
Ejercicios cortos de Arrays¶
Ejercicio 1
Hacer un programa que inicialice un vector de 20 números con valores aleatorios, y posterior ordene los elementos de menor a mayor.
En go está el módulo sort que ordena un array:
sort.Ints(numeros)
Ejercicio 2
Programa que declare tres vectores ‘vector1’, ‘vector2’ y ‘vector3’ de cinco enteros cada uno,
pida valores para ‘vector1’ y ‘vector2’ y calcule vector3=vector1+vector2.
Pista:
puedes crear una función que lea vectores, no es imprescindible pero ahorra tiempo.
Ejercicio 3
Queremos guardar los nombres y la edades de los alumnos de un curso.
Realiza un programa que introduzca el nombre y la edad de cada alumno.
El proceso de lectura de datos terminará cuando se introduzca como nombre un asterisco (*)
Al finalizar se mostrará los siguientes datos:
Todos lo alumnos mayores de edad. El alumno de mayor edad
Ejercicio 4
De una empresa de transporte se quiere guardar el nombre de los conductores que tiene, y los kilómetros que conducen cada día de la semana.
Para guardar esta información se van a utilizar dos arreglos:
- Nombre: Vector para guardar los nombres de los conductores.
- kms: Tabla para guardar los kilómetros que realizan cada día de la semana.
Se quiere generar un nuevo vector (“total_kms”) con los kilómetros totales que realza cada conductor.
Al finalizar se muestra la lista con los nombres de conductores y los kilómetros que ha realizado.
Pista:
Aqui en lugar de struct se hace algo parecido con dos arrays de forma que en la posición i
del array de nombres se corresponde con el i de los km
Ejercicio 5
Crear un programa de ordenador para gestionar los resultados de la quiniela de fútbol. Para ello vamos a utilizar dos tablas:
- Equipos: Que es una tabla de cadenas donde guardamos en cada columna el nombre de los equipos de cada partido. En la quiniela se indican 15 partidos.
- Resultados: Es una tabla de enteros donde se indica el resultado.
También tiene dos columnas, en la primera se guarda el número de goles del equipo que está guardado
en la primera columna de la tabla anterior, y en la segunda los goles del otro equipo.
El programa ira pidiendo los nombres de los equipos de cada partido y el resultado del partido,
a continuación se imprimirá la quiniela de esa jornada.
¿Qué modificación habría que hacer en las tablas para guardar todos los resultados de todas las jornadas de la temporada?
Ejercicio 6
Crea un programa que pida al usuario una contraseña, de forma repetitiva mientras que no introduzca “asdasd”. Cuando finalmente escriba la contraseña correcta, se le dirá “Bienvenido” y terminará el programa.
Ejercicio 7
Crea una aplicación que permita adivinar un número. La aplicación genera un número aleatorio del 1 al 100. A continuación va pidiendo números y va respondiendo si el número a adivinar es mayor o menor que el introducido,a demás de los intentos que te quedan (tienes 10 intentos para acertarlo).
El programa termina cuando se acierta el número (además te dice en cuantos intentos lo has acertado), si se llega al limite de intentos te muestra el número que había generado.
s
Ejercicio 8
Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos.
Ejercicio 9
Realizar un algoritmo que pida números (se pedirá por teclado la cantidad de números a introducir). El programa debe informar de cuantos números introducidos son mayores que 0, menores que 0 e iguales a 0.
Ejercicio 10
Escribe un programa que diga si un número introducido por teclado es o no primo. Un número
primo es aquel que sólo es divisible entre él mismo y la unidad.
Nota: Es suficiente probar hasta la raíz cuadrada del número para ver si es divisible
por algún otro número.
Ejercicio 11
Una empresa tiene el registro de las horas que trabaja diariamente un empleado durante la semana (seis días) y requiere determinar el total de éstas, así como el sueldo que recibirá por las horas trabajadas.
Ejercicio 12
Escribe un programa en Go que solicite al usuario ingresar un número entero positivo y luego imprima si cada número desde 1 hasta el número ingresado es par o impar. Debes usar un bucle para recorrer los números y una instrucción if para determinar si son pares o impares.
Ejemplo de salida:
Ingrese un número entero positivo: 10
1 es impar
2 es par
3 es impar
4 es par
5 es impar
6 es par
7 es impar
8 es par
9 es impar
10 es par
Ejercicio 13
Escribe un programa en Go que solicite al usuario un número entero positivo y luego imprima la tabla de multiplicar de ese número desde 1 hasta 10.
Ejemplo de salida:
Ingrese un número entero positivo: 5
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Ejercicio 14
Escribe un programa en Go que modele un coche utilizando una estructura (struct). La estructura debe tener los siguientes campos:
- Marca (string): La marca del coche (por ejemplo, "Toyota", "Ford").
- Modelo (string): El modelo del coche (por ejemplo, "Corolla", "Mustang").
- Año (int): El año de fabricación del coche.
- Kilometraje (int): El kilometraje actual del coche.
- EnVenta (bool): Indica si el coche está en venta o no.
El programa debe permitir al usuario:
- Crear una lista de coches (slice de struct).
- Agregar coches a la lista ingresando los datos desde la consola.
- Mostrar todos los coches disponibles en la lista.
- Filtrar y mostrar solo los coches que están en venta.
- Permitir actualizar el kilometraje de un coche específico.
Ejemplo de salida:
Ingrese la cantidad de coches que desea añadir: 2
Ingrese la marca del coche 1: Toyota
Ingrese el modelo del coche 1: Corolla
Ingrese el año del coche 1: 2018
Ingrese el kilometraje del coche 1: 50000
¿Está en venta el coche 1? (true/false): true
Ingrese la marca del coche 2: Ford
Ingrese el modelo del coche 2: Mustang
Ingrese el año del coche 2: 2020
Ingrese el kilometraje del coche 2: 20000
¿Está en venta el coche 2? (true/false): false
Coches ingresados:
Marca: Toyota, Modelo: Corolla, Año: 2018, Kilometraje: 50000, EnVenta: true
Marca: Ford, Modelo: Mustang, Año: 2020, Kilometraje: 20000, EnVenta: false
Coches en venta:
Marca: Toyota, Modelo: Corolla, Año: 2018, Kilometraje: 50000, EnVenta: true
Ingrese el nombre del coche para actualizar el kilometraje (o 'salir' para terminar): Toyota
Ingrese el nuevo kilometraje: 55000
Coches actualizados:
Marca: Toyota, Modelo: Corolla, Año: 2018, Kilometraje: 55000, EnVenta: true
Marca: Ford, Modelo: Mustang, Año: 2020, Kilometraje: 20000, EnVenta: false