Autor Tema: CU00158A Ejercicio resuelto usar contadores en bucle pseudocódigo  (Leído 4526 veces)

berres

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 14
    • Ver Perfil
He hecho el ejercicio y por supuesto... lo he hecho mal. :-[. Pero bueno, para eso estamos, para aprender.
El caso es que despues de repasarlo me queda una duda que me gustaria que me aclararais:
El punto 2 es Desde i=1 hasta i=35 hacer
y el 2.1 es Leer nota(i)

¿No deberia ser al contrario? ¿No seria mas logico que el ordenador leyera la nota i para despues comprobar que cumple los requisitos?
A mi me dá la sensacion de que tal y como está, el ordenador recibe una instruccion que no puede interpretar aun.

Por supuesto, el error debo tenerlo yo, pero me gustaria que me comentarais porque se escribe de esta forma o si de la forma que digo yo podria ser correcto.

Gracias.
« Última modificación: 12 de Septiembre 2014, 16:51 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Cu00158A Ejercicio resuelto uso de contadores en bucle.
« Respuesta #1 en: 31 de Enero 2013, 22:23 »
Llegado a este punto, ya habrás visto que recomendamos que empieces con Visual Basic para ir aplicando los conceptos, no sé si ya lo estás haciendo, eso te ayudará a comprender mejor. La idea sería que vayas en paralelo con Visual Basic (aquí tienes el enlace: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61).

Con la cuestión que comentas, la instrucción

Desde i = 1 hasta 35
...
Siguiente

Lo que hace es: toma la variable i y le va asignando sucesivamente valor i=1, i=2, i=3 ... así hasta i=35. Lo que haya dentro de la instrucción se va a repetir 35 veces. Supongamos que tuvieras:

Desde i = 1 hasta 35
Mostrar "Hola"
Siguiente

El ordenador lo que va a hacer es mostrar 35 veces Hola, algo así:

Hola
Hola
Hola
....
así hasta 35 veces.

Ahora de lo que se trata es de aprovechar que la variable i va cambiando de valor para poder hacer cosas interesantes, como leer un dato (por ejemplo desde un fichero de excel).

El algoritmo es:

1. Inicio [Algoritmo Notas de clase]

2. Desde i = 1 hasta 35 Hacer
2.1 Leer Nota(i)
2.2 Si Nota(i) >= 5 Entonces
Aprobados = Aprobados + 1
SiNo
Suspensos = Suspensos + 1
FinSi
2.3 Si Nota(i) = 10 Entonces
Dieces = Dieces + 1
FinSi
2.4 Si Nota(i) = 0 Entonces
Ceros = Ceros + 1
FinSi
Siguiente
3. Mostrar “% de aprobados es”, (Aprobados / 35) * 100
4. Mostrar “% de suspensos es”, (Suspensos / 35) * 100
5. Mostrar “Obtienen un 10 un total de”, Dieces, “alumnos”
6. Mostrar “Obtienen un 0 un total de”, Ceros, “alumnos”
7. Fin

Lo que hacemos es lo siguiente: entramos en un bucle que repite 35 veces la secuencia de instrucciones. En la primera pasada i = 1. Leemos el dato 1 que se encuentra en la variable Nota(1). Según su valor contamos un aprobado o suspenso, y en caso de ser un cero o un diez contamos un cero o un diez. A continuación llegamos a la repetición del bucle. Ahora i vale 2. Leemos la segunda nota que se encuentra en Nota(2). Según su valor contamos un aprobado o suspenso, y en caso de ser un cero o un diez contamos un cero o un diez. A continuación llegamos a la repetición del bucle. Ahora i vale 3. ... etc etc hasta que leemos la nota 35.

Al llegar a i=35 se produce la última pasada del bucle y la ejecución continúa en la siguiente instrucción. Con el número de aprobados, que se encontrará en la variable Aprobados, obtenemos el porcentaje de aprobados. Igual para los suspensos. El número de dieces lo tendremos en otra variable y el de cero en otra. Mostramos los resultados y ¡se acabó!

Las notas tienes que irlas leyendo dentro del bucle, así lees la nota 1, la procesas y extraes la información necesaria, lees la nota 2, la procesas y extraes la información necesaria, lees la nota 3... Hay una cosa que también podrías hacer: tener un bucle primero para leer las notas y otro después para procesarlas, pero ¿para qué tener dos bucles cuando solo necesitas uno?

berres

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 14
    • Ver Perfil
Re:Cu00158A Ejercicio resuelto uso de contadores en bucle.
« Respuesta #2 en: 01 de Febrero 2013, 11:10 »
Gracias por la explicacion.
Mas o menos suponia que debia ser como me lo explicas, pero me quedaba la duda de saber si al contrario se podia hacer. Ya veo que queda mas limpio y claro de esta forma.

En cuanto a lo del curso en paralelo de visual basic no tenia ni idea. No sé si lo he leido en algun momento pero no lo recuerdo. Ya sabiendolo, empezaré con el curso tambien para ir poniendo en practica lo aprendido en este otro.

Gracias.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".