Foro de elhacker.net

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
Código:
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)

Código:
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
Código:
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

ninguno de esos... te recomiendo que lo hagas a mano...

has una tabla
Código:
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
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...

Citar
por 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
Código:
a | b | i | r=r*a
2   3   2   r=1*2 -> r=2
2   3   3   r=2*2 -> r=4

r= 4