Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: vengeance en 26 de Abril 2012, 12:45

Título: ayuda con un ejemplo de pseudocodigo CU00154A bucle for next
Publicado por: vengeance en 26 de Abril 2012, 12:45
Curso: Bases de la programación Nivel I. Pseudocódigo 
Tema: Ejercicios ejemplos resueltos con Desde-Siguiente (for-next) y arrays en pseudocódigo. (CU00154A)

En el primer ejemplo no hay problema por que es muy sencillito, pero el segundo no logro entenderlo, se lo que se busca, y entiendo mas o menos que se intenta hacer con el pseudocodigo, pero no logro entender el codigo en si. Muchas gracias por la ayuda!
Título: Re:ayuda con un ejemplo de pseudocodigo
Publicado por: Mastermind en 26 de Abril 2012, 12:59
Supongo que te refieres al ejercicio "Se ha procedido a realizar un conteo de los coches que han pasado por una vía durante 24 horas..."

Veamos, supón que te colocas en un puente sobre una carretera de forma que ves los coches que pasan por debajo.

Supón que te pones a las 12:00 de la noche (00:00 horaso y que entre las 00:00 y las 00:59, es decir, durante la primera hora, han pasado 87 coches.

Ahora diríamos cocheshora(1) = 87

Supón que desde las 01:00 hasta las 01:59 pasan 34 coches.

Ahora diríamos cocheshora(2) = 34

Si ahora me preguntaran ¿Cuántos coches han pasado en las dos primeras horas?

Podría hacer el cálculo:

total = 0
Desde i = 1 hasta i =2
total = total + cocheshora(i)
Siguiente i

De esta manera obtendría 87 + 34 = 121

Ahora con este razonamiento puedo ir calculando distintas cosas.

Una última cuestión. ¿De dónde salen los datos de los coches que han pasado en cada hora? Se supone que el ordenador los lee desde un fichero o base de datos. Si ves la línea:

2.1 Leer cocheshora(i)

Significa que se extrae el dato de cuántos coches han pasado en la hora i, por ejemplo se obtendría leyendo de un fichero que

cocheshora(1) = 87
cocheshora(2) = 34
cocheshora(3) = lo que sea
...
...
cocheshora(24) = lo que sea

No sé si era esto exactamente a lo que te referías
Título: Re:ayuda con un ejemplo de pseudocodigo
Publicado por: vengeance en 26 de Abril 2012, 13:12
No es eso exactamente, mi duda es a la hora de calcular los coches total, el codigo seria:

Desde i = 1 hasta 24 Hacer
       Leer cocheshora(i)
       Cochestotal = Cochestotal + cocheshora(i)

Pero lo que no entiendo es por que se pone asi: Cochestotal = Cochestotal + cocheshora(i)

Coches hora (i) es el archivo que se lee como base de datos, eso lo entiendo, pero por que se pone cohestotal=cochestotal para calcular la suma?
Título: Re:ayuda con un ejemplo de pseudocodigo
Publicado por: Mastermind en 26 de Abril 2012, 14:07
¿Te has leido las entregas anteriores?

Esto tiene relación con cosas que se explican antes, si no has ido en orden no lo entenderás.

En concreto, cuando se escribe Cochestotal = Cochestotal + cocheshora(i) lo que significa es lo siguiente:

Supón que cocheshora(1)=17, cocheshora(2)=3, cocheshora(3) =10

Ahora empieza el bucle, al empezar Cochestotal=0

Una vez cocheshora(1)=17 se dice
Cochestotal = Cochestotal + cocheshora(i)
Esto significa que Cochestotal = lo que valía antes coches total + cocheshora(1), es decir, ahora Cochestotal vale 17

Luego vuelve a repetir:
cocheshora(2) = 3
Cochestotal = lo que valía antes coches total + cocheshora(2), es decir, ahora Cochestotal vale 20

De esta forma en Cochestotal va acumulando cada vez que pasa le suma la nueva cantidad a lo que ya tenía.


Si no has leído las entregas anteriores te recomiendo que vayas en orden porque si no te vas a perder!
Título: Re:ayuda con un ejemplo de pseudocodigo
Publicado por: vengeance en 27 de Abril 2012, 08:45
si me he leido las entregas anteriores, pero no conseguia verlo. Puede que como tenia la cabeza saturada de cosas no conseguia concentrarme. muchas gracias por la ayuda!!!