Ejercicios de introducción a la programación

En este post os propongo dos ejercicios de introducción a la programación, el primer tema de mis apuntes de Java. Se trata de pensar, plantear una solución al problema propuesto, y plasmarla luego en un diagrama de flujo o/y con pseudocódigo.

Existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Pero desde luego, antes de ponernos a programar, tenemos que plantear la solución al problema que queremos resolver programando.

Aquí podéis ver una solución posible para cada ejercicio propuesto, que por supuesto no es la única posible y que probablemente no sea la más eficiente.

Ejercicio 1:

Dibuja el diagrama de flujo y escribe el pseudocódigo de un algoritmo que calcule el factorial de un número n.

El flujograma de una posible solución sería:

Diagrama de flujo del calculo del factorial

Y el pseudocódigo asociado:

Inicio
   Iniciamos resultado con valor igual a 1.
   Iniciamos contador con valor igual a 1.
   Comprobamos si el contador es menor o igual al número n del que queremos calcular el factorial
      Si verdadero:
         Hacemos resultado igual a su valor actual multiplicado por contador.
         E incrementamos el valor del contador en 1.
      Si falso:
         Acabamos el programa. En resultado tendremos el valor del factorial del número n.
Fin

Ejercicio 2

Dibuja el diagrama de flujo y escribe el pseudocódigo de un algoritmo que ordene de mayor a menor un conjunto de n números.

El flujograma de una posible solución sería:

Diagrama de flujo - ordenar lista de números

Y el pseudocodigo asociado:

Inicio
   Nos colocamos en la primera posición de la lista
   Si el valor siguiente es mayor que el actual:
      Cambiamos los valores de posición y volvemos empezar desde el principio de la lista.
   Si el valor siguiente no es mayor que el valor actual:
      Nos movemos una posición hacia adelante.
      Si esta posición es la última de la lista, ya hemos terminado y tenemos la lista ordenada.
      Si esta posición no es la última de la lista, volvemos al punto de la primera comprobación.
Fin

NOTA:

Este post es parte de la colección “Java” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *