Resultados 1 al 4 de 4

Probema con pseudocódigo

  1. #1 Probema con pseudocódigo 
    Avanzado
    Fecha de ingreso
    Oct 2002
    Ubicación
    Haciendo algún Flip por ahí...
    Mensajes
    330
    Descargas
    10
    Uploads
    0
    Hola a todos tengo este problema y no se solucionarlo, es sólo pseudocodigo y diagrama de flujo, sólo necesito ayuda para resolverlo, estudiarlo ya que comence hace poco a estudiar, 2 meses mas tarde que el resto de la clase, por lo que siento me cuesta ponerme al día...
    He visto arreglos, numeros pares, amigos y primos, ciclos, etc, todo lo inicial. bueno el problema es el siguiente:

    Un negocio tiene tres cajas registradoras (1, 2,3). Se registra el importe facturado por cada una. Al final del día se desea saber el total facturado por cada caja, el promedio de facturación de cada caja y el total general facturado. El final del proceso está dado por el ingreso de número de caja igual a cero.

    Gracias


    Edit: Por favor, no me malinterpreten, sólo necesito una guía de como arrancar porque no sé aquí por donde empezar, no estoy pidiendo que me hagan la tarea!!
    Última edición por half; 30-05-2012 a las 07:03
    "Hoy me escape por la windor... Gracias Billy!!!"
    Citar  
     

  2. #2  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Argentina
    Mensajes
    427
    Descargas
    1
    Uploads
    0
    mira si viste arreglos, podes pensar que cada caja es un arreglo y cada factura es una posicion del arreglo, por lo que entendi al final "El final del proceso está dado por el ingreso de número de caja igual a cero." podriamos decir que la ultima posicion a leer es la que devuelva un 0. Te lo hago con el estilo de seudocodigo que posteaste en el otro post.

    Código:
    Inicio
    
    /* no defino tipos porque vi que vos no los usas en c serian todos int*/
    
    caja1[]
    caja2[]
    caja3[]
    n
    suma1
    suma2
    suma3
    promedio1
    promedio2
    promedio3
    sumatotal
    
    /* Se deberian cargar las facturas antes de procesarlas*/
    
    facturar(caja1,caja2,caja3)
    
    n=0
    suma1=0
    mientras (caja1[n] <> 0) hacer
        suma1= suma1 + caja1[n]
        n = n + 1
    fin mientras
    si (n <> 0) entonces 
    /* Ojo con la division por 0*/
         promedio1 = suma1 / n   
    sino  /* vendria a ser un else sino puede ser un si (n > 0) o (n<0) por la ley de tricotomia*/
         promedio1 = 0
    fin si     
    
    n=0
    suma2=0
    mientras (caja2[n] <> 0) hacer
        suma2= suma2 + caja2[n]
        n = n + 1
    fin mientras
    si (n <> 0) entonces 
         promedio2 = suma2 / n   
    sino 
         promedio2 = 0
    fin si    
    
    n=0
    suma3=0
    mientras (caja3[n] <> 0) hacer
        suma3= suma3 + caja3[n]
        n = n + 1
    fin mientras
    si (n <> 0) entonces 
         promedio3 = suma3 / n   
    sino 
         promedio3 = 0
    fin si  
    sumatotal = suma1 + suma2 + suma3
    
    Imprimir(suma1,suma2,suma3,promedio1,promedio2,promedio3,sumatotal)
    
    Fin
    Ahora esta claro que este codigo es repetitivo y eso no esta bien, lo quedeberias hacer es modularizar y que haya un procedimiento que dado un arreglo te devuelva la suma y el promedio. Pero bueno no quiero adelantarme explicandote algo que aun no te dieron y complicarte. Ojala te sirva.

    Lo del los promedios podrias evitarlo si los arreglos empiezan en 1 y no en 0, pero bueno normalmente empiezan en 0 y te muestro esa manera para que te sea mas didactico.

    saludos
    Última edición por Markitos1024; 30-05-2012 a las 18:16
    <<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
    No llores porque termino, sonrie porque sucedio-.
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Oct 2002
    Ubicación
    Haciendo algún Flip por ahí...
    Mensajes
    330
    Descargas
    10
    Uploads
    0
    Muchísimas gracias!!! Yo al final lo había resuelto de esta manera pero le mande promedio de las tres cajas!!!

    Código:
    
    Inicio
    
    Caj1, Caj2, Caj3
    Promedio = 0
    Mayor = 0
    Leer (Caj1, Caj2, Caj3)
    
    SumaC1 = SumaC1 + Caj1
    SumaC2 = SumaC2 + Caj2
    SumaC3 = SumaC3 + Caj3
    Promedio = SumaC1 + SumaC2 + SumaC3/3
    
    si (SumaC1>SumaC2) entonces
              si (SumaC1>SumaC3) entonces
                   Mayor = SumaC1
              si no 
                   Mayor = SumaC3
              fin si
    si no
              si (SumaC2>SumaC3) entonces
                   Mayor = SumaC2
              si no 
                   Mayor = SumaC3
              fin si
    fin si
    
    imprimir (SumaC1, SumaC2, SumaC3, Mayor, Promedio)
    
    fin

    Sé que no está bien, pero quería que lo vieran para que se den una idea del razonamiento que tuve.

    Ahora pregunto: Acá no sería mejor generar un ciclo para el promedio, determinando que el promedio es cero antes de que se comience a facturar?

    EJ:
    Código:
    facturar(caja1,caja2,caja3)
    
    n=0
    suma1=0
    promedio=0
    mientras (caja1[n] <> 0) hacer
        suma1= suma1 + caja1[n]
        n = n + 1
    fin mientras
    mientras (n <> 0) hacer
         promedio1 = suma1 / n   
    fin mientras
    "Hoy me escape por la windor... Gracias Billy!!!"
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Argentina
    Mensajes
    427
    Descargas
    1
    Uploads
    0
    Cita Iniciado por half Ver mensaje
    Ahora pregunto: Acá no sería mejor generar un ciclo para el promedio, determinando que el promedio es cero antes de que se comience a facturar?

    EJ:
    Código:
    facturar(caja1,caja2,caja3)
    
    n=0
    suma1=0
    promedio=0
    mientras (caja1[n] <> 0) hacer
        suma1= suma1 + caja1[n]
        n = n + 1
    fin mientras
    mientras (n <> 0) hacer
         promedio1 = suma1 / n   
    fin mientras     
    Ese ciclo que marcas primeramente es infinito ya que n nunca cambia por enede si entra nunca saldra, Segundo ponele que corrijas eso solo sumarias n veces la suma que es un numero fijo por ende su promedio seria suma1. No la realidad es que con el primer ciclo sumas los valores de las operaciones del dia y como sabes cuantas operaciones son solo tenes que dividir para sacar el promedio.

    saludos
    <<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
    No llores porque termino, sonrie porque sucedio-.
    Citar  
     

Temas similares

  1. Pseudocodigo Para USB (SOS)
    Por ertmeneses en el foro GENERAL
    Respuestas: 0
    Último mensaje: 06-09-2011, 05:46
  2. probema con los multi 2301
    Por jesulito en el foro DIGITAL+
    Respuestas: 6
    Último mensaje: 05-08-2007, 22:05

Marcadores

Marcadores