Resultados 1 al 6 de 6

Tema: Ayuda!! con qbasic

  1. #1 Ayuda!! con qbasic 
    Iniciado
    Fecha de ingreso
    Nov 2008
    Mensajes
    2
    Descargas
    0
    Uploads
    0
    Hola mi nombre es Iván y soy nuevo en el foro.
    estoy en la secundaria y estamos aprendiendo programacion por medio del qbasic, y estoy bastante perdido.
    necesitaria si alguien puede hacerme como sería un programa en el cual, el usuario ingresaría 10 valores, y estos imprimirlos en pantalla de mayor a menor, menor a mayor e indicar el numero de pares. esto me seria de gran ayuda, para saber como hacerlo.
    Muchas Gracias
    Iván
    Citar  
     

  2. #2  
    Iniciado
    Fecha de ingreso
    Aug 2007
    Mensajes
    25
    Descargas
    1
    Uploads
    0
    hola ,yo antes programaba mucho en qbasic, esta tarde te hago el programa, y te lo envio, dame por privado tu correo.
    saludos
    Citar  
     

  3. #3  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    juanvarp, no se responden las cosas por privado.

    Uff, yo no recuerdo ya el qbasic... que tiempos!!! bueno intentaré ayudarte...

    Primero debes definirte un array (vector), de 10 elementos, que será en donde almacenes cada valor que ingrese el usuario... si mal no recuerdo sería algo así como:

    DIM valores (1 TO 10)

    Ahora para cada uno de los elementos, guardas el valor que introduzca el usuario. Creo recordar que era con INPUT. Puedes hacerlo uno a uno, aunque lo correcto es utilizar un bucle (menos lineas de código y más elegante):

    FOR i=1 TO 10
    INPUT "", valores(i)
    NEXT

    Con ésto ya tendrías el vector inicializado a todos los valores que introduzca el usuario.

    Ahora quedaría simplemente hacer un algoritmo de ordenación. Te recomiendo usar un método directo, puesto que éstos, a pesar de tener cotas de complejidad O(n^2), se comportan mejor que los métodos rápidos, (Como MergeSort, con cota O(n*log n)), cuando el número de elementos a ordenar es pequeño.

    Puesto que se trata de 10 elementos, yo me decantaría por selección o inserción. Y más concretamente por éste último si es que buscas eficiencia.

    Echale un vistazo a esos algoritmos, y sólo sería cuestión de traducirlo a QBasic.

    Una vez ordenado, haces un bucle que recorra el vector y lo muestre por pantalla desde 1 hasta 10. Con ésto mostrarás los resultados de menor a mayor. Si haces lo mismo pero en sentido inverso 8desde 10 hasta 1, los mostrarás de mayor a menor.

    Si buscamos eficiencia, en vez de tener que recorrer el array dos veces (sin contar las pasadas mientras se ordena), puedes hacer que en el mismo bucle se muestre la posición i, y la posición N-i+1. Si aún así, buscas una mejora, puedes aprovechar el mismo algoritmo de ordenación y mostrar el elemento que ya está en su posición.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  4. #4  
    Iniciado
    Fecha de ingreso
    Aug 2007
    Mensajes
    25
    Descargas
    1
    Uploads
    0
    REM borramos la pantalla
    REM con screen 12 ponemos la pantalla con letras peque¤as
    REM puedes usar simplemente cls si lo deseas
    SCREEN 12

    REM creamos la zona de memoria donde guardar los 10 valores
    DIM datos(10)



    REM pedimos al uauario que ingrese los valores
    FOR c = 0 TO 9
    INPUT "introduzca datos "; datos(c)
    NEXT c


    REM calculamos de menor a mayor
    REM primero miramos cual es el mayor ,
    REM una vez averiguado cambiamos su posicion por la del numero menor,
    REM damos las pasadas necesarias hasta tenrlos todos calculados


    elmayor = 0

    FOR c2 = 0 TO 8
    FOR c = c2 + 1 TO 9
    IF datos(c2) > datos(c) THEN elmayor = datos(c2): datos(c2) = datos(c): datos(c) = elmayor

    NEXT c
    NEXT c2

    CLS

    PRINT " DE MENOR A MAYOR"
    PRINT "=================="

    FOR t = 0 TO 9
    PRINT datos(t)
    NEXT t

    PRINT " DE MAYOR A MENOR"
    PRINT "=================="

    FOR t = 9 TO 0 STEP -1
    PRINT datos(t)
    NEXT t

    PRINT "LOS PARES SON"
    PRINT "============="
    FOR t = 0 TO 9
    a = datos(t) MOD (2)
    IF a = 0 THEN PRINT datos(t)
    NEXT t
    Citar  
     

  5. #5  
    Iniciado
    Fecha de ingreso
    Nov 2008
    Mensajes
    2
    Descargas
    0
    Uploads
    0
    ya lo aprendí yo, pero me parece que serie bueno dejarlo aca resuelto para futuras consultas, gracias por responder, me sirvio bastante, y encontre una forma ams resumida de hacerlo aca la dejo, y espero que sea util para quien necesite de esto

    cls
    dim v(9) as integer
    x=0
    do while x < 9
    x=x+1
    input "ingrese un numero";v(x)
    loop
    for x= 0 to 9
    for y= x+1 to 9
    if v(x) < v(y) then [NOTA: el > define si lo quieren ordenar de menor a mayor o viceversa]
    swap v(x), v(y)
    end if
    next y
    next x
    for x = 0 to 9
    print v(x)
    next x
    print "los pares son"
    for x = 0 to 9
    if v(x) mod 2 = 0 then
    print v(x)
    end if
    next x
    print "los impares son"
    for x = 0 to 9
    if v(x) mod 2 <> 0 then
    print v(x)
    end if
    next x
    end
    un saludo y gracias a todos espero que esto les sea de ayuda
    Última edición por ivanuhry; 05-04-2009 a las 04:40
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Mar 2002
    Ubicación
    México ©
    Mensajes
    863
    Descargas
    0
    Uploads
    0
    Pufff si ya no me acuerdo de Pascal y de C puro (afortunadamente Java se parece mucho en cuestión de sintaxis claro), menos del QBasic, pero me pareció bueno pasar a recordar cositas que ya estaban en el server del olvido dentro de mi cerebro jajaja... Gracias por permitirme echarme un chapusón en la nostalgia.

    Saludos
    ¡Abur!
    "La indiferencia hace sabios y la envidia ignorantes"
    Den Diderot
    Atte: .Jok3R.
    Citar  
     

Temas similares

  1. ayuda en QBASIC
    Por jbarr90 en el foro PROGRAMACION DESKTOP
    Respuestas: 2
    Último mensaje: 18-05-2009, 02:57
  2. Necesito ayuda para un programa en QBASIC
    Por Senohiper en el foro PROGRAMACION DESKTOP
    Respuestas: 2
    Último mensaje: 08-04-2009, 16:51
  3. Variables en qbasic
    Por Cypress en el foro PROGRAMACION DESKTOP
    Respuestas: 12
    Último mensaje: 18-10-2006, 20:05
  4. qbasic
    Por gellidyuz en el foro PROGRAMACION DESKTOP
    Respuestas: 1
    Último mensaje: 05-03-2006, 20:53
  5. Qbasic
    Por cristup en el foro PROGRAMACION DESKTOP
    Respuestas: 4
    Último mensaje: 23-10-2002, 20:46

Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •