Pseudocódigo ejemplo de uso de bucles for-next y condicionales if-then. (CU00164A)

Resumen: Entrega nº 63 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00164A

 

 

EJERCICIO

En un complejo industrial se desea incentivar a los encargados de turnos de producción. A cada encargado le corresponde un turno. Hay 18 turnos, y por cada uno de ellos 40 operarios. Para evaluar a los encargados se ha hecho una encuesta entre los trabajadores. Se les ha pedido que evalúen a su encargado de 0 a 10 siendo el 5 el aprobado. Los resultados están almacenados en un array tipo Nota(turno, operario) donde turno indica el número de turno y operario el número de operario dentro del turno.

 

Desarrollar el pseudocódigo y diagrama de flujo para un algoritmo que determine en qué turnos todos los operarios del mismo han aprobado al encargado.

 

 

SOLUCIÓN

Organización de variables:

Variable

Descripción - Uso

i, j

Uso como contadores

Nota(i,j)

Array de variables que almacenan la puntuación otorgada al encargado por el operario nº j del turno nº i

Haysuspensos

Interruptor que vale verdadero si algún operario del turno suspende al encargado y falso en caso contrario

 

 

Pseudocódigo:

1. Inicio [Evaluación de encargados aprenderaprogramar.com]

2. Desde i = 1 hasta 18 Hacer

2.1 Desde j = 1 hasta 40 Hacer

Leer Nota(i,j)

Si Nota(i,j) < 5 Entonces

Haysuspensos = Verdadero

FinSi

Siguiente

2.2 Si Haysuspensos = Falso Entonces

Mostrar “Todos los operarios del turno”, i, “han aprobado al encargado”

FinSi

2.3 Haysuspensos = Falso

Siguiente

3. Fin

 

 

Comentarios: Nótese cómo el uso de un interruptor simplifica una evaluación de múltiples condicionantes.

 

La evaluación propuesta es equivalente a:

Si Nota(i,j) < 5 ó Nota(i,j+1) < 5 ó Nota(i,j+2) < 5 ó ... ó Nota(i,40) < 5 Entonces

Haysuspensos = Verdadero

FinSi

 

 

Obviamente con los recursos que conocemos ya no tiene sentido pensar en este tipo de enumeración de condiciones.

Otro aspecto interesante es que cuando se han extraído las conclusiones derivadas del estado del interruptor y se va a empezar un nuevo ciclo, hay que “apagar” el interruptor. En caso contrario nos enfrentamos a conclusiones erróneas, de las que se pueden derivar los ya consabidos malfuncionamientos, errores, bloqueos, etc. Por tanto, precaución frente a este tipo de olvidos pues es también de los habituales. En un programa largo y complejo, puede hacerse difícil dar con el interruptor que está fallando.

 

Ilustración: Utilizamos una instrucción Desde ... Siguiente cuando el número de iteraciones es definido. A su vez un interruptor nos sirve para obtener información de lo que ha ocurrido durante el proceso de datos.

 

 

Diagrama de flujo aprenderaprogramar.com:

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

MARZO - ABRIL 2017

1. Java / J2EE
2. Entornos Oracle
3. JavaScript, jQuery
4. .NET, C#
5. Entornos SQL Server
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación