elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Podrían revisar este pseudocodigo ne busca de errores?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Podrían revisar este pseudocodigo ne busca de errores?  (Leído 4,308 veces)
sexyser

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Podrían revisar este pseudocodigo ne busca de errores?
« en: 31 Mayo 2010, 22:41 pm »

NOTA: Si ven espacios vacios es porqe no aparece la asignacion (=  o <--)

Pseudocódigo
Algoritmo Principal:

INICIO
         Asignar.valor.par.impar.CE.suma (par, impar, CE, Suma = entero)
         Revisar.fin.datos (haydatos = bolean)
         MIENTRAS (continuar) HACER
                   Obtener.num (num=entero)
                   SI es.apocaliptico (num) entonces
                             MOSTRAR (num, “es apocalíptico”)
                             SI es.par (num) entonces
                                       Par        par + 1
                                       Llenar.arreglo (a=tarrent)
                             SINO
                                       CE            CE + 1
                   SINO
                               MOSTRAR (num, “no es apocalíptico”)
           Revisar.fin.datos (continuar = bolean)
           FINMIENTRAS
          PROCEDIMIENTO promedio ( suma, promedio: Entero ;  CE: VALOR)
           MOSTRAR (“el promedio de apocalípticos impares es”, promedio)         
          ordenar.arreglo.des (a=tarrent ; i , par=entero)
                 MOSTRAR  ( “los 10 Números pares mayores en forma ascendente son ”)
                   PARA  ( i = 1  hasta  10)
                            MOSTRAR ( a )
                   FINPARA
FIN

PROCEDIMIENTO Revisar.fin.datos (REF haydatos = boleano)
                   REPETIR
                              MOSTRAR (“Desea Ingresar datos? (s/n)”)
                               INGRESAR (respuesta)
                    HASTA QUE (respuesta = “s”) o (respuesta = “n”)
                    SI (respuesta = “s”)  entonces
                                haydatos        verdadero
                    SINO
                                Haydatos         Falso
                    FINSI
FINPROCEDIMIENTO
                               
Variables Locales:  Respuesta (caracter)
Precondiciones: ---- (No hay datos de entrada)
Pos Condiciones: A continuar se le asigna verdadero si el usuario ingresa “s”, sino, si ingresa “n”, continuar se le asigna falso.



PROCEDIMIENTO obtener.num (REF num = entero)
                      MOSTRAR (“Ingrese un número”)
                       INGRESAR (num)
FINPROCEDIMIENTO

Variables Locales: ----
Precondiciones: ----
Pos condiciones: Pide al usuario ingresar un número

PROCEDIMIENTO Asignar.valor.par.impar.CE.suma (REF par, impar, CE, suma = entero)
              Par         0
              Impar        0
              CE           0
              Suma         0
FINPROCEDIMIENTO

Variables Locales: ----
Precondiciones: ----
Pos Condiciones: Se le asigna 0 a las variables Par, Impar, CE y suma
                 


FUNCIÓN es.par (VALOR num = entero) = Booleano
                 SI (num resto 2 = 0) entonces
                             Es         verdadero
                 SINO
                             Es         Falso
                 FINSI
           DEVOLVER (Es)
FINFUNCIÓN

Variables Locales: Es (Booleano)
Pre condiciones: ---
Pos condiciones: Es toma el valor verdadero si el número dividido 2 da resto 0, sino, Es es falso


FUNCIÓN es.epocalíptico (VALOR num = entero) = booleano
             Cont           0
             a          1
             MIENTRAS cont < num HACER
                              a           a * 2
                              Cont            Cont + 1
              FINMIENTRAS
              Cantseis           0
              Res           0
              MIENTRAS (a > 1) o (Cantseis < 3) HACER
                               Res            a resto 10
                               a         a div 10
                               SI(res = 6) entonces             
                                             Cantseis          cantseis + 1
                                SINO
                                              Cantseis         0
                                FINSI
               FINMIENTRAS
               SI ( cantseis = 3 ) entonces
                                Es          verdadero
               SINO
                                Es           falso
               FINSI
               DEVOLVER (Es)
FINFUNCION

Variables Locales:  Cont, Res, Cantseis, a = entero      ;      Es = Boleano
Pre condiciones: ---
Pos condiciones: “Es” toma el valor de verdadero si cantseis llega al valor 3, sino “Es” toma es valor de falso
PROCEDIMIENTO  llenar.arreglo  (REF a=tarrent ;  i=entero ; VALOR num, par=entero)
DIMENSIÓN  a[par]
 a           num         
FINPROCEDIMIENTO

Variables Locales = ---
Precondiciones = par >= 0
Pos Condiciones = Se dimensiona el arreglo a con la cantidad de apocalípticos pares, y después se introduce “num” en el arreglo.



PROCEDIMIENTO  ordenar.arreglo.des ( REF a=tarrent ; i = entero ; par=entero)         
          aux          0
         PARA ( i = 1  hasta  i < par ) HACER
                     PARA (x = 1  hasta   x < par) HACER
                                  SI ( a[i+1]  >  a
  • )  ENTONCES
                                             aux         a
                                             a         a
                                             a
  •             aux
                                  FINSI
                      FINPARA
           FINPARA
FINPROCEDIMIENTO

Variables Locales = X, aux : entero
Precondiciones = par>=0
Pos Condiciones = Se compara a con a
  • , si a es menor a a
    • , se cambian de lugar, sino, se pasa al siguiente elemento y se vuelven a comparar.

    PROCEDIMIENTO Promedio ( REF = suma, promedio : entero ;  VALOR =  CE: entero)
                         suma            suma + num
                         promedio           suma /CE
    FINPROCEDIMIENTO

    Variables Locales = ---
    Precondiciones = ---
    Pos Condiciones = La variable “suma” va tomando el valor de la suma de los “num” impares ingresados, y al final se obtiene el promedio dividiendo a “suma” por la cantidad de elementos impares, y se le asigna el valor a la variable “promedio”

    Gracias


En línea

sexyser

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Podrían revisar este pseudocodigo ne busca de errores?
« Respuesta #1 en: 31 Mayo 2010, 22:45 pm »


OLVIDABA EL ENUNCIADO:

Se pide hacer un programa en el cual se permita el ingreso de números. Se pide que el mismo muestre por pantalla todos aquellos Números apocalípticos.
Por fin de proceso, se pide que se muestre
a)   El promedio de los números apocalípticos impares.
b)   Un ranking de los 10 números apocalípticos pares más grandes ingresados ordenados en forma ascendente.


Numero apocalíptico: todo numero natural que 2^n da como resultado un numero que contiene tres 6 sucesivos, por eejmplo: 2^157=  1.82687704666... por lo tanto, 157, es un número apocalíptico


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
me podrian revisar estos programas « 1 2 »
Programación C/C++
eduardo17445 19 6,972 Último mensaje 7 Mayo 2013, 22:35 pm
por cypascal
(ayuda) me pueden ayudar con el pseudocodigo de este applet
Java
wildercs 1 2,119 Último mensaje 8 Julio 2013, 23:30 pm
por Søra
me podrian revisar este programa de listas m da error en las ultima llave
Programación C/C++
eduardo17445 1 2,132 Último mensaje 29 Abril 2015, 14:49 pm
por eferion
Podrían hacerme favor de Revisar?
Programación C/C++
MarSan 1 1,918 Último mensaje 1 Julio 2015, 02:17 am
por ivancea96
me podrian revisar esto xfa es para hoy
Programación C/C++
eduardo17445 2 1,948 Último mensaje 1 Febrero 2016, 19:58 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines