Ejercicio resuelto con variables booleanas, arrays y condicionales: algoritmos y diagramas de flujo. (CU00163A)

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

 

 

EJERCICIO

Se extraen datos de un archivo en “paquetes” de 100 unidades. Si el número de datos extraídos con valor superior a 600 y menor de 700 es mayor de 100, mostrar el mensaje “Se cumple lo previsto”, indicando el número de datos que se extrajeron cumpliendo frente al total extraído. En caso contrario, continuar extrayendo paquetes de datos (se consideran ilimitados). Plantearlo en pseudocódigo y diagrama de flujo.

 

Nota: Considerar que los datos se encuentran en un array Dato(1), Dato(2), Dato(...)

 

 

SOLUCIÓN

Pseudocódigo:

1. Inicio [Extracción de datos p100 aprenderaprogramar.com]

2. n = 1

3. Mientras Esperado = Falso Hacer

3.1 Desde i = n hasta n + 99 Hacer

Leer Dato(i)

Si Dato(i) > 600 y Dato(i) < 700 Entonces

j = j + 1

FinSi

Siguiente

3.2 Si j > 100 Entonces

Esperado = Verdadero

FinSi

3.3 Si Esperado = Verdadero Entonces

Mostrar “Se cumple lo previsto habiendo extraído”, j, “datos de un total de”, n + 99, “datos”

SiNo

Mostrar “Extracción de un nuevo paquete”

n = n + 100

FinSi

Repetir

4. Fin

 

 

Comentarios: La variable booleana Esperado funciona como interruptor para el control del bucle principal así como para una toma de decisión a través de Si ... Entonces. Si bien su uso no es ineludible, usar expresiones como Esperado = Verdadero siempre será más claro y menos engorroso que el uso de relaciones algebraicas más o menos complejas.

En este algoritmo prescindiríamos del interruptor de la siguiente manera:

Modificamos la línea 3 a: Mientras j <= 100 Hacer

· Modificamos la línea 3.2 a:

Si j > 100 Entoces

Mostrar “Se cumple lo previsto habiendo extraído”, j, “datos de un total de”, n + 99, “datos”

SiNo

Mostrar “Extracción de un nuevo paquete”

n = n + 100

FinSi

 

· Eliminamos la línea 3.3

Esta opción es igual de válida que la anterior, pero más difícil de seguir e interpretar.

 

 

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.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿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
 

JULIO - AGOSTO 2017

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


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