Ejercicio resuelto para entradas controladas por el usuario. Pseudocódigo y diagrama de flujo. (CU00174A)

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

 

 

EJERCICIO

Modificar el siguiente pseudocódigo de un ejercicio, relativo a una librería y archivo con datos de ISBN, precio y descuento, introduciendo las siguientes mejoras:

 

 

a) El usuario ha de tener opción a salir del menú sin ejecutar otra parte del programa si así lo desea.
b) El usuario ha de poder consultar el precio de un libro tantas veces como desee.


Pseudocódigo:

1. Inicio

2. Mostrar “Elija una opción. 1 = Precio de un libro. 2 = Precio del lote”

3. Pedir E

4. i = 1 : Leer Dato(i)

5. Si E = 1 Entonces

5.1 Mostrar “¿Cuál es el ISBN?” : Pedir ISBN

5.2 Mientras Dato(i) <> -500 Hacer

Si Dato(i) = ISBN Entonces

Leer Dato(i + 1) : Leer Dato(i + 2)

Precio = Dato(i +1)

Si Dato(i + 2) = -66 Entonces

Precio = 0,85 * Precio

FinSi

Si Dato(i + 2) = -99 Entonces

Precio = 0,75 * Precio

FinSi

Mostrar “El precio del libro con ISBN”, ISBN, “es de”, Precio

Encontrado = Verdadero

FinSi

i = i +3 : Leer Dato(i)

Repetir

5.3 Si Encontrado = Falso Entonces

Mostrar “No se ha encontrado el ISBN deseado”

FinSi

FinSi

6. Si E = 2 Entonces

6.1 Mientras Dato(i) <> -500 Hacer

Leer Dato(i + 1)

Leer Dato(i + 2)

Precio = Dato(i + 1)

Si Dato(i + 2) = -66 Entonces

Precio = 0,85 * Precio

FinSi

Si Dato(i + 2) = -99 Entonces

Precio = 0,75 * Precio

FinSi

Valorlote = Valorlote + Precio

i = i + 3 : Leer Dato(i)

Repetir

6.2 Mostrar “El precio del lote es”, Valorlote

FinSi

7. Fin [Pseudocódigo aprenderaprogramar.com]

 


SOLUCIÓN

Los cambios a realizar son pocos por lo que podemos conservar la estructura de programa que teníamos. En primer lugar, que pueda consultar el precio de cuantos libros quiera nos lleva a crear un bucle externo de repetición indefinida mientras el usuario así lo desee. A su vez, no introduciremos una pregunta específica sino que será el menú el que dé opción a salir del bucle e incluso a no entrar en él.

1. Inicio [Pseudocódigo aprenderaprogramar.com]

2. Mientras E <> 3 Hacer

3. Mostrar “Elija una opción. 1 = Precio de un libro. 2 = Precio del lote. 3 = Salir”

4. Pedir E

5. i = 1 : Valorlote = 0 : Encontrado = Falso

6. Leer Dato(i)

7. Si E = 1 Entonces

7.1 Mostrar “¿Cuál es el ISBN?” : Pedir ISBN

7.2 Mientras Dato(i) <> -500 Hacer

Si Dato(i) = ISBN Entonces

Leer Dato(i + 1) : Leer Dato(i + 2)

Precio = Dato(i +1)

Si Dato(i + 2) = -66 Entonces

Precio = 0,85 * Precio

FinSi

Si Dato(i + 2) = -99 Entonces

Precio = 0,75 * Precio

FinSi

Mostrar “El precio del libro con ISBN”, ISBN, “es de”, Precio

Encontrado = Verdadero

FinSi

i = i +3 : Leer Dato(i)

Repetir

7.3 Si Encontrado = Falso Entonces

Mostrar “No se ha encontrado el ISBN deseado”

FinSi

FinSi

8. Si E = 2 Entonces

8.1 Mientras Dato(i) <> -500 Hacer

Leer Dato(i + 1)

Leer Dato(i + 2)

Precio = Dato(i + 1)

Si Dato(i + 2) = -66 Entonces

Precio = 0,85 * Precio

FinSi

Si Dato(i + 2) = -99 Entonces

Precio = 0,75 * Precio

FinSi

Valorlote = Valorlote + Precio

i = i + 3 : Leer Dato(i)

Repetir

8.2 Mostrar “El precio del lote es”, Valorlote

FinSi

Repetir

9. Fin

 


Los cambios introducidos se reducen a:

• Nuevo bucle externo controlado por el usuario.
• Nueva opción del menú (Salir).
• En la línea 5 se han asignado valores para inicio del bucle a aquellas variables susceptibles de causar problemas si no se hace así.
 

 

 

 

 

 

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
 

MAYO - JUNIO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. .NET, C#
5. JavaScript, jQuery
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