Título: Podrían revisar este pseudocodigo ne busca de errores? Publicado por: sexyser 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
a a
FINPARA FINPARA FINPROCEDIMIENTO Variables Locales = X, aux : entero Precondiciones = par>=0 Pos Condiciones = Se compara a con a
Título: Re: Podrían revisar este pseudocodigo ne busca de errores? Publicado por: sexyser 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 |