Enero 16, 2018, 04:07:34 am

Autor Tema: Duda con algoritmo facil  (Leído 2303 veces)

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

Desconectado NachoEx

  • Me das tu IP?
  • *
  • Mensajes: 30
  • Sexo: Masculino
  • Me gustaria saber el misterio de los ETs :|
    • Ver Perfil
Duda con algoritmo facil
« en: Febrero 28, 2013, 05:57:53 pm »
Hola !
Estoy leyendo el libro en pdf Metodología de programación a través de pseudocodigo
Estoy por el capitulo cuatro , hay un ejercicio con el que tengo duda y el enunciado es el siguiente:

Citar
Imprimir los múltiplos de 3 que hay entre dos números determinados de una forma alternativa, es decir uno si y otro no.

En estos ejercicios se propone el uso de un switch o interruptor para el flujo del algoritmo, Y lo que hice hasta ahora es lo siguiente - cabe mencionar que el algoritmo lo hice en PSeInt -

Código: You are not allowed to view links. Register or Login
Proceso Multiplosde3
nmenor<-0
nmayor<-0
sw<-0
aux<-0
Imprimir 'Primer numero: '
Leer nmenor;
Imprimir 'Segundo numero: '
Leer nmayor;
Si nmenor > nmayor Entonces
aux<-nmenor
nmenor<-nmayor
nmayor<-aux
FinSi
Mientras nmenor < nmayor Hacer
Si nmenor MOD 3 = 0 Entonces
Si sw=0 Entonces
Imprimir nmenor
FinSi
sw<-1
nmenor<-nmenor+1
Sino
nmenor<-nmenor+1
FinSi
sw<-0
FinMientras
FinProceso

Nota :
sw: switch o interruptor.
Estas lineas de codigo las puse por si el primer numero ingresado es mayor que el segundo !

Código: You are not allowed to view links. Register or Login
Si nmenor > nmayor Entonces
aux<-nmenor
nmenor<-nmayor
nmayor<-aux

El problema que tengo es que en vez de imprimir un multiplo si , otro no. Me imprime todos! Y estuve intentando saber a donde poner el switch para que no pase eso , pero no puedo.
Espero que me ayuden . Gracias!
« Última modificación: Abril 18, 2013, 07:17:57 am por kicasta »
El mago hizo un gesto y desapareció el hambre, hizo otro gesto y desapareció la injusticia, hizo otro gesto y se acabo la guerra. El político hizo un gesto y desapareció el mago

Desconectado Solid Water

  • Yo vivo en CPH
  • ***
  • Mensajes: 1072
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re:Duda con algoritmo facil
« Respuesta #1 en: Marzo 01, 2013, 06:08:55 am »
Lo que tienes que hacer es que lo imprima una vez si y otra no.. hay muchas formas de hacerlo una podría ser cada vez que es múltiplo sumas 1 a X, luego solo si X es impar lo muestrás..

También podrías probar alguna otra forma de algoritmo para el problema, por ej: una vez que obtienes el primer múltiplo, solo vás sumando de a 6 dentro del rango para encontrar el alterno.

Código: You are not allowed to view links. Register or Login
Proceso Multiplosde3
nmenor<-0
nmayor<-0
sw<-0
aux<-0
Imprimir 'Primer numero: '
Leer nmenor;
Imprimir 'Segundo numero: '
Leer nmayor;
Si nmenor > nmayor Entonces
aux<-nmenor
nmenor<-nmayor
nmayor<-aux
FinSi
Mientras nmenor < nmayor Hacer
Si nmenor MOD 3 = 0 Entonces
sw<-sw+1
Si sw MOD 2 = 1 Entonces
Imprimir nmenor
FinSi
FinSi
nmenor<-nmenor+1
FinMientras
FinProceso

Saludos.
« Última modificación: Marzo 01, 2013, 06:25:28 am por Solid Water »

Not for the money, not for the fame. Not for the power, just no more games.

Desconectado kicasta

  • Moderador
  • *****
  • Mensajes: 578
    • Ver Perfil
Re:Duda con algoritmo facil
« Respuesta #2 en: Marzo 01, 2013, 02:39:57 pm »
imprimir alternamente los n|3: a<n<b

aún cuando la última solución de solid es la más limpia a mi gusto:



Código: You are not allowed to view links. Register or Login
n <- a
mientras MOD n 3 != 0
    n <- n+1
mientras n <= b
    imprimir n
    n <- n+6

no creo que sea el objetivo del libro. La idea es poner un flag, algo que te indique que te toca imprimir o no. La idea de solid water, de ir sumando un número es un truco que te ahorra memoria, pero puede confundirte si estás empezando en la programación (creo, si lo entiendes, perfecto). Esto mismo lo puedes hacer con los Boolean. Debes conocer a estas alturas este tipo de dato en el que una variable solo puede tomar dos valores: TRUE O FALSE, o sea verdadero o falso.

Teniendo esto en cuenta. Sea x una variable de tipo bool.

Código: You are not allowed to view links. Register or Login
n <- a
x = TRUE
mientras n <= b
    si MOD n 3 = 0
        si x = TRUE
            imprime n
            x = FALSE
        sino
            x = TRUE

Esto es exactamente lo mismo que:

Código: You are not allowed to view links. Register or Login
n <- a
x = TRUE
mientras n <= b
    si MOD n 3 = 0
        sw x:
            case TRUE
                imprime n
                x = FALSE
            case FALSE
                x = TRUE

Espero que te sirva de ayuda. Saludos

“When all you have is a hammer, every problem looks like a nail.”

You are not allowed to view links. Register or Login: You are not allowed to view links. Register or Login - You are not allowed to view links. Register or Login

Desconectado NachoEx

  • Me das tu IP?
  • *
  • Mensajes: 30
  • Sexo: Masculino
  • Me gustaria saber el misterio de los ETs :|
    • Ver Perfil
Re:Duda con algoritmo facil
« Respuesta #3 en: Marzo 01, 2013, 06:33:21 pm »
Muchas gracias Solid Water ! Tu idea fue sencilla y clara, mientras que kicasta me ayudaste con los de los booleanos , la verdad que no lo pensé asi.

De cualquier manera, muchas gracias a los dos ! Ahora puedo seguir progresando  ;D


xx
Duda con un algoritmo

Iniciado por lacroquevielle

1 Respuestas
776 Vistas
Último mensaje Junio 09, 2011, 01:12:45 pm
por WaesWaes
xx
Duda con algoritmo

Iniciado por Lolipop3

5 Respuestas
2006 Vistas
Último mensaje Abril 16, 2008, 06:05:45 am
por mycrox
question
duda acerca de posible algoritmo?

Iniciado por riderofthedarksoft

1 Respuestas
1307 Vistas
Último mensaje Julio 12, 2010, 07:49:07 am
por jep
xx
[Solucionado]duda facil

Iniciado por Manel92

4 Respuestas
913 Vistas
Último mensaje Junio 09, 2009, 02:43:22 pm
por RockoX
xx
[Duda Facil] Codigo para victima

Iniciado por Gamesito

12 Respuestas
1745 Vistas
Último mensaje Agosto 05, 2011, 10:08:51 am
por .xAk.
question
Gran duda, facil, lo de internet de Mb, son megabits o megabytes ?

Iniciado por gaduard2

15 Respuestas
3646 Vistas
Último mensaje Diciembre 21, 2011, 06:23:50 am
por .xAk.
xx
UNA DUDA CON "NO-IP" Muy facil!! [SOLUCIONADO]

Iniciado por COMANDOSOFT

1 Respuestas
1403 Vistas
Último mensaje Julio 15, 2007, 12:42:32 pm
por Suikodenman
xx
Uso algoritmo DES

Iniciado por panch0000

1 Respuestas
5093 Vistas
Último mensaje Julio 27, 2006, 09:37:20 pm
por vart001
xx
Algoritmo

Iniciado por JuCemax

1 Respuestas
4579 Vistas
Último mensaje Noviembre 29, 2016, 02:04:22 pm
por DUDA!
question
Algoritmo

Iniciado por Bl@ster25

4 Respuestas
1320 Vistas
Último mensaje Febrero 15, 2011, 02:44:21 pm
por WaesWaes