Problema con For

Iniciado por danipena78, 22 Mayo 2016, 21:32 PM

0 Miembros y 1 Visitante están viendo este tema.

danipena78

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.

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danipena78

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


engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danipena78

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

engel lex

por que modificas el código en (cambiando i por r)? -.- no tiene sentido
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danipena78


engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danipena78

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

engel lex

#9
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)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.