Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: danipena78 en 22 Mayo 2016, 21:32 PM

Título: Problema con For
Publicado por: danipena78 en 22 Mayo 2016, 21:32 PM
Amigos, estoy aprendiendo sobre ciclo for, pero este ejercicio no puedo comprenderlo. le explico:
Las entradas de la variabe a=2 y la variable b=3

calcular (a,b)

a= 2
b=3
begin
r=1
for 1=a to b
r=i*a
next i
return r
end

EN este caso el resultado final cuanto sería.
Gracias.
Título: Re: Problema con For
Publicado por: engel lex en 22 Mayo 2016, 22:08 PM
for 1=a to b

está mal, 1 nunca será a en ese ejercicio... 1 nunca será 2 o 3

debe ser (por el next)

for i=a to b
Título: Re: Problema con For
Publicado por: danipena78 en 22 Mayo 2016, 22:14 PM
Exacto el código es: for i=a to b

Código completo seria::

calcular (a,b)

a= 2
b=3
begin
r=1
for i=a to b
r=i*a
next i
return r
end


El resultado final seria : 1,2,4 o 8
Gracias

Título: Re: Problema con For
Publicado por: engel lex en 22 Mayo 2016, 22:18 PM
ninguno de esos... te recomiendo que lo hagas a mano...

has una tabla
for  | a | b | i | r
     | 2 | 3 | 2 | 4


y así vas hasta que se cumpla la condición
Título: Re: Problema con For
Publicado por: danipena78 en 22 Mayo 2016, 22:28 PM
y si modificamos la linea: r=r*a

El código completo quedaría asi:


calcular (a,b)

a= 2
b=3
begin
r=1
for i=a to b
r=r*a
next i
return r
end


El resultado final seria : 1,2,4 o 8
Gracias
Título: Re: Problema con For
Publicado por: engel lex en 22 Mayo 2016, 22:50 PM
por que modificas el código en (cambiando i por r)? -.- no tiene sentido
Título: Re: Problema con For
Publicado por: danipena78 en 22 Mayo 2016, 23:03 PM
Este es el Código Completo.

Lo subi en Mega.


https://mega.nz/#!24lG2bjJ!qlyRQqbprOCzVEjKDuFBqnbybQ4uCf4QhGwrJqTUpQ4
(https://mega.nz/#!24lG2bjJ!qlyRQqbprOCzVEjKDuFBqnbybQ4uCf4QhGwrJqTUpQ4)

Indicame porfavor.
Título: Re: Problema con For
Publicado por: engel lex en 22 Mayo 2016, 23:10 PM
ok... entonces el codigo correcto es el ultimo

resuelvelo como ya te dije, con lapiz y papel

Cita de: engel lex en 22 Mayo 2016, 22:18 PM
ninguno de esos... te recomiendo que lo hagas a mano...

has una tabla
for  | a | b | i | r
    | 2 | 3 | 2 | 4


y así vas hasta que se cumpla la condición

muestra aquí los pasos que hiciste para ver si están bien
Título: Re: Problema con For
Publicado por: danipena78 en 23 Mayo 2016, 08:36 AM
Hola.

Corrigeme porfavor, la tabla quedaria asi:

a | b | i | r
2   3   2   1
3   3   3   2
4   3   4   6
5   3   5   8


El resultado final seria: 8

Indicame. Saludos
Título: Re: Problema con For
Publicado por: engel lex en 23 Mayo 2016, 08:39 AM
Cita de: danipena78 en 23 Mayo 2016, 08:36 AM
Hola.

Corrigeme porfavor, la tabla quedaria asi:

a | b | i | r
2   3   2   1
3   3   3   2
4   3   4   6
5   3   5   8


El resultado final seria: 8

Indicame. Saludos

mal... a nunca cambia dentro del for y no se porqué llegaste a i=5 si no es la condición del for...  dime, cual es la condición del for? por otro lado estás colocando el estado inicial de r, eso no es relevante, porque nos importa el estado final (ya que en este caso el estado final es 10 y no 8 y si a cambia como muestras allí debería ser diferente)
Título: Re: Problema con For
Publicado por: danipena78 en 23 Mayo 2016, 08:49 AM
La condicion del For es:
for i=a to b

Saludos
Título: Re: Problema con For
Publicado por: engel lex en 23 Mayo 2016, 08:57 AM
traduzcamos esa sentencia a lenguaje común...

for i = a to b

para i desde a hasta b

es decir, i va a ir desde el valor de a y recorrerá todos los valores hasta que toque b y termine con ese

por cuales valores iteraría i sabiendo que a=2 y b=3?
Título: Re: Problema con For
Publicado por: danipena78 en 23 Mayo 2016, 09:11 AM
i seria = 2 , es decir

i=2
Título: Re: Problema con For
Publicado por: engel lex en 23 Mayo 2016, 09:20 AM
casi...

Citarpor cuales valores iteraría i sabiendo que a=2 y b=3?

i va a iterar entre 2 y 3, es decir, en su momento i será 2 y luego será 3... pero solo esos 2, nunca será 1 o 4 o más nadie

Citar
para i desde a hasta b

Título: Re: Problema con For
Publicado por: danipena78 en 23 Mayo 2016, 09:42 AM
Entonces cuanto seria el valor final si me pide
calcular a,b


Título: Re: Problema con For
Publicado por: engel lex en 23 Mayo 2016, 10:04 AM
correlo a lapiz y muéstrame tu... recuerda, coloca el valor final de r, i solo se mueve desde a hasta b
Título: Re: Problema con For
Publicado por: danipena78 en 23 Mayo 2016, 21:25 PM
Hola.
Entonces quedaria asi:

Corrigeme porfavor, la tabla quedaria asi:

a | b | i | r
2   3   2   1
     3   3   2

El resultado final sería: 2

Corrígeme.

Saludos
Título: Re: Problema con For
Publicado por: engel lex en 24 Mayo 2016, 00:30 AM
el i está bien iterado, pero aún vez el estado inicial de r

ya esta vez lo hago yo y creo que se te será más facil verlo colocando la fómula

sabemos que r inicia en 1
a | b | i | r=r*a
2   3   2   r=1*2 -> r=2
2   3   3   r=2*2 -> r=4


r= 4