Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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!
-
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
-
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?
-
¿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!
-
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!!!