FechaVersiónDescripción
23/09/20211.0.0Versión inicial.
27/09/20211.0.1Corrección de errores.
14/10/20211.0.2Se añaden ejercicios de matrices
24/09/20242.00Se modifican actividades.

 

Ejercicios Unidad 2 - Programación estructurada. Estructuras de control y repetición

NOTA: Los ejercicios serán resueltos con pseudocódigo, diagramas de flujo o Java. Por ello, al principio de cada uno se indicará de la siguiente forma con qué debe ser desarrollado:

Se podrá indicar varias formas de resolverlo, y hay que resolverlos con TODAS las formas indicadas.

En los ejercicios que no se especifique como introducir algún número este se ha de solicitar por consola.

Ejercicios de repaso

  1. (p, j) Realiza un algoritmo que convierta de pulgadas a centímetros. Pedir las pulgadas por consola.

    1 pulgadas = 2.54 cm.

  2. (p) Escribe un algoritmo que calcule el cubo de un número dado. Pedir el número por consola.

  3. (p, j) Realiza un algoritmo que calcule el área y el volumen de un cilindro cuyas dimensiones, radio y altura, se introducen desde el teclado.

    V = PI * r2 * h

    S = 2 * PI * r * h

  4. (df) Crea un algoritmo que calcule la hipotenusa de un triángulo rectángulo conociendo el valor de sus dos catetos.

    Hipotenusa2 = cateto2 + cateto2

  5. (j) Realiza un algoritmo que permita convertir metros en pies y a pulgadas. Ha de solicitar por teclado cuantos metros se quieren convertir.

    1m = 39,27 pulgadas

    12 pulgadas = 1 pie

  6. (p, df, j) Crea un algoritmo que permita intercambiar el valor de tres variables A,B,C. B toma el valor de A, A toma el valor de C y C toma el valor de B.

     

Ejercicios de estructuras condiciónales.

  1. (df) Algoritmo que determine si un número es par o impar.

  2. (p) Algoritmo muestre los números pares entre dos números naturales introducidos.

  3. (j) Algoritmo que lea 5 valores numéricos positivos y calcule su producto.

  4. (p, j) Ingresar 2 números distintos de cero y mostrar la división decimal entre ellos

  5. (df, j) Ingresar 3 números por teclado e imprimirlos en forma ordenada.

  6. ( j) Suma, producto y división de dos valores tomados del teclado, imprimiendo el resultado. Es necesario que la división no proporcione error si hay una división por cero, sino que informe de la situación.

  7. ( j) Cálculo del área de un rectángulo, tomando los datos necesarios del teclado y presentando el resultado por pantalla.

    a = base*altura.

  8. ( j) Leer un número del teclado y decir por pantalla si es positivo o negativo.

  9. ( j) Un sistema de ecuaciones lineales:

    ax + by = c

    dx + ey = f

    se puede resolver con las siguientes fórmulas:

clip_image002

clip_image004

Diseñar un programa que pidiendo por pantalla a; b; c; d; e; f calcule los valores de x e y.

  1. (j) Una temperatura Celsius (centígrados) puede convertirse en su equivalente Fahrenheit de la siguiente forma:

clip_image006

Escribir un programa que lea una temperatura en grados Celsius y la escriba en Fahrenheit.

  1. ( j) Escribir un programa que determine cuando un año es bisiesto. Un año es bisiesto si es múltiplo de 4. NOTA: Los múltiplos de 100 solo son bisiestos cuando también son de 400 (1800 no es bisiesto, pero 2000 si).

  2. ( j) Escribir un programa que por medio de un switch calcule el número de días de ese mes. No consideramos los años bisiestos.

  3. ( j) Para entrar a un partido de fútbol sala se tienen tres precios en función de la edad:

    • Gratis si es menor de 5 años.

    • 2 euros si es menor de 15 años.

    • 3 euros si es mayor de 15 años.

    Escribir un programa que indique el precio en función de la edad.

  4. (j) Escribir un programa que solicite al usuario la nota de un examen y el sexo del alumno. Según los datos introducidos el programa deberá mostrar: SUSPENSO/SUSPENSA, APROBADO/APROBADA, NOTABLE O SOBRESALIENTE.

  5. (j) Escribir un programa que indique el tipo de un triángulo a partir de sus tres lados.

    • 3 lados iguales = equilátero

    • 2 lados iguales = isósceles

    • ningún lado igual = escaleno

  6. (j) Dadas las cuatro notas de un alumno (solicitarlas por consola), escribir un programa que calcule e informe del promedio de las notas y, además, indique si está aprobado o no. La condición de aprobado es obtener un promedio mayor o igual a 4,5.

  7. (j) De una prueba de nivel realizada a un alumno se conoce la cantidad total de preguntas realizadas y la cantidad de respuestas correctas (por consola se pedirá el número total de preguntas realizadas y de respuestas correctas). Informar el nivel registrado de acuerdo a la siguiente escala :

    • Muy Bueno si el porcentaje es mayor o igual a 90% ;

    • Bueno entre 70% y 90% ;

    • Regular entre 50% y 70% ;

    • Malo si el porcentaje es menor que 50%.

  8. ( j) Programa que lea un número correspondiente a un año y escriba si es o no bisiesto. (Son bisiestos los múltiplos de 4, excepto los que son múltiplos de 100 pero que no sea múltiplo de 400).

  9. (j) Algoritmo que calcule la distancia euclídea entre dos puntos del plano tomando como entrada las coordenadas de los puntos.

    Imagen 4

  10. ( j) Diseñar un algoritmo que examine un carácter introducido indicando el color que tiene asignado dicho carácter:

Ejercicios de estructuras repetitivas.

  1. (j) Leer un número y mostrar su tabla de multiplicar.

  2. (j) Leer una secuencia de números, hasta introducir un número negativo y mostrar la suma de todos ellos.

  3. (j) Leer un número y determinar su factorial.

  4. (j) Presentar por pantalla todos los números positivos leídos de una serie, terminando dicha serie cuando introduces un 0. Se pueden introducir números negativos.

  5. (j) Se leen 30 números del teclado y se pide que se listen sólo los positivos menores de 5 y los negativos mayores de -5.

  6. (j) Programa que calcule e imprima la suma y el producto de los 100 primeros números pares.

  7. (j) Algoritmo que muestre la tabla de multiplicar de los 10 primeros números.

  8. ( j) Introducir una serie indeterminada de números enteros positivos por teclado. El programa terminará en el instante en que se introduzca un número menor o igual a 0 y como resultado mostrará la suma de números pares e impares introducidos hasta ese momento.

  9. ( j) Realizar un programa que calcule la superficie de un triángulo.

Imagen 1

El programa validará que los valores correspondientes a la base y a la altura sean positivos. Una vez calculada la superficie, mostrará el resultado por pantalla y preguntará si se desea repetir. Si la respuesta del usuario es sí, volverá a repetirse la operación y en caso contrario terminará.

  1. ( j) Escribir un programa que permita a un usuario calcular el área de una circunferencia o el volumen de una esfera. Usa un menú.

Imagen 2

Imagen 3

 

  1. ( j) Realizar un algoritmo que encuentre el menor número de billetes de 500,200,100,50,20,10 y 5€ necesarios para pagar una cantidad C asignada.

  2. ( j) Diseñar un algoritmo que permita calcular el área y el perímetro de las siguientes figuras planas: círculo, rectángulo, cuadrado, rombo, triangulo. Utilice un menú donde el usuario pueda elegir la opción deseada pudiendo este realizar varios cálculos sin necesidad de volver a ejecutar el algoritmo. En cada caso pedir los datos necesarios.

    (el perímetro de todas las figuras es igual a la suma de sus lados, excepto el del círculo que es 2*Π*radio.)

  1. (d j) Realizar un algoritmo que muestre el cuadrado y el cubo de todos los números existentes entre dos números introducidos.

  2. (d, j) Diseñar un algoritmo que permita mostrar un menú con las siguientes opciones:

    1. Juegos de salón : cartas, ajedrez, damas, prendas.

    1. Juegos al aire libre:

      a) Individuales: atletismo, senderismo, natación

      b) Colectivos: gimnasia, rítmica, rugby, polo, futbol.

    2. Salir

El algoritmo visualizará un menú con las opciones 1ª y 2ª, y según la opción que indique el usuario, los juegos que hay o el siguiente menú en la opción 2ª.

  1. (d, j) Realizar un algoritmo que calcule la suma de cada tercer entero, comenzando por 2, es decir, calcular la suma de 2+5+8+11+...., para todos los valores menores que 100. Resuelve el problema de tres formas diferentes: utilizando un esquema mientras, un esquema repetir y un esquema para.

  2. (d, j) Escribir un programa que simule LA PRIMITIVA: Pedir 6 números y los almacenará en un array (números entre el 1 y el 49). Despues generará aleatoriamente 6 número entre el 1 y el 49, y no pueden repetirse. Después hallará un numero aleatorio entre 1 y 9 para el reintegro. Esto se almacenará también en un array.

    Por último mostrará los aciertos que han habido y preguntará si se quiere comenzar de nuevo el proceso, pidiendo de nuevo los 6 números con los que se participa y generando el sorteo.

  3. (j) Escribir un programa que simule un BRAIN TRAINING Nivel fácil: De forma aleatoria mostrará al usuario una operación (+,-,*,/) y dos números del 1 al 10, y pida el resultado. Si es correcto le sumará un punto.

    En total se piden 20 operaciones y al final se muestra el porcentaje de aciertos.

  4. (j) Escribir un programa que tenga almacenados 5 títulos de películas y su correspondiente director. Mostrará al usuario un título de forma aleatoria y le pedirá que introduzca el director de la película. Si es el correcto dará el mensaje de acierto, sino le quitará un punto (al inicio tiene 5 puntos). El programa termina si el usuario agota los 5 puntos o cuando el usuario no quiera continuar, se mostrará, al final, el porcentaje de aciertos.

Ejercicios de todo tipo.

  1. ( j) Realizar un programa para una máquina expendedora. La máquina vende un único producto que vale 2´10 euros. A partir de un valor introducido por teclado y que representa la cantidad de dinero que el usuario ha puesto en la máquina, ésta hará lo siguiente:

  1. (d, j) Realizar un algoritmo que permita leer tres números para después ordenarlos de mayor a menor o de menor a mayor. El tipo de ordenación se le pedirá al usuario, pudiendo este volver a introducir nuevos datos sin tener que volver a ejecutar el algoritmo.

  2. (j) Se desea calcular el salario neto semanal de un trabajador en función del número de horas trabajadas y de la tasa de impuestos:

El algoritmo debe obtener a partir de las horas trabajadas, el salario bruto, las tasas descontadas y el salario neto.

  1. (j) Un hotel tiene un sistema para el cobro de las tarifas de sus clientes. Las habitaciones están clasificas en grupos o categorías, cada una con un precio:

Realizar un programa que calcule la tarifa total de un cliente a partir del número total de días que ha permanecido en el hotel y de la categoría de la habitación en la que se ha alojado.

  1. (j) Una persona, consigue un préstamo del banco de p euros. Ese préstamo lo irá amortizando mediante el pago mensual de A euros hasta que complete la cantidad total prestada. Parte el pago mensual serán intereses, calculados como el % de la cantidad aún no pagada. El resto del pago servirá para reducir la cantidad adecuada.

Realizar un algoritmo que permita determinar la siguiente información:

Prueba el algoritmo con los siguientes datos:

P=6000 euros; A=135 euros; %interes= 12% anual.

  1. ( j) Una empresa de alquiler de automóviles tiene un sistema de cobro basado en los kilómetros realizados por sus clientes. Sus tarifas son las siguientes:

Realizar un programa que calcule la factura de un cliente en base a los Km realizados.

  1. ( j) Escribir un programa que permita almacenar una contraseña y acceder al sistema. El programa debe presentar un menú con las siguientes opciones:

La contraseña estará formada por 4 dígitos entre el 0 y el 9.

  1. (d, j) Escribir un programa que muestre un menú con las diferentes categorías de empleados. Cuando se seleccione una categoría, se pedirá el nombre y apellidos del trabajador, la fecha de ingreso en la empresa (año), cantidad de horas trabajadas en el mes y la cantidad de horas extras trabajadas. Con estos datos, el programa deberá informar del apellido, el nombre, el sueldo base, la cantidad de dinero por horas extras si existe, la cantidad por antigüedad, la cantidad de cada descuento y el sueldo total a cobrar.

  1. ( j) Diseña un programa que imite a una calculadora capaz de realizar las operaciones básicas (suma, resta, producto y multiplicación) y dos operaciones complejas como la potencia y la raíz cuadrada, la aplicación debe mostrar inicialmente un menú similar al siguiente:

    Emulador Calculadora

    Elige una opción:

    1.- Operaciones básicas.

    2.- Operaciones complejas.

    3.- Salir.

    En el caso de la opción 1 se deberá mostrar:

    a. Suma.

    b. Resta.

    c. Producto.

    d. División.

    En el caso de la opción 2 se deberá mostrar:

    a. Potencia.

    b. Raíz cuadrada.

    Una vez elegida la opción correspondiente el programa deberá solicitar los datos necesarios y mostrar por pantalla el resultado obtenido en cada caso. El programa deberá controlar los posibles errores que se puedan producir a la hora de elegir la opción y de introducir los datos por teclado de tal forma que si los datos introducidos fueran erróneos los vuelva a solicitar.

 

Ejercicios de matrices.

  1. (d, j) Crear una matriz de 3×3 con los números del 1 al 9. Mostrar por pantalla, tal como aparece en la matriz.

  2. (d, j) Crear una matriz de 5 filas y n columnas (se pide al usuario). Rellenarlo con números aleatorios entre 0 y 10.

  3. (d, j) Crear dos matrices de nxn e implementar la suma de matrices, los resultados se deben almacenar en otra matriz. Los valores y la longitud, seran insertados por el usuario. Mostrar las matrices originales y el resultado.

  4. (d, j) Nos piden crear una matriz de 4×4 de números enteros que inicialmente esta vacía, nos piden hacer un menú con estas opciones:

    • Rellenar TODA la matriz de números. Esto debe pedirse al usuario.

    • Suma de una fila que se pedirá al usuario (controlar que elija una correcta)

    • Suma de una columna que se pedirá al usuario (controlar que elija una correcta)

    • Sumar la diagonal principal (ver ejemplo)

    • Sumar la diagonal inversa (ver ejemplo)

    • La media de todos los valores de la matriz

       

      IMPORTANTE: hasta que no se haga la primera opción, el resto de opciones no se deberán de ejecutar, simplemente mostrar un mensaje donde diga que debes rellenar la matriz.

      Ejemplo:

  5. (j) Generar una matriz de 3×3 con números aleatorios sin repetirse.

  6. (j) Nos piden que implementemos el software para una máquina expendedora de golosinas.

    Cada golosina tiene un nombre y un precio para ahorrar tiempo, os paso los datos que tendrá a continuación (copiar y pegar):

     

También tendrán una cantidad inicial, que en principio será de 5.

Tendremos un pequeño menú con las siguientes opciones: