Está en la página 1de 3

algoritmo numero_perfecto

//declaracion de variables
ENTERO n, k, p, d, num[]

INICIO
//entrada de datos
IMPRIMA(“Cantidad de datos del vector”)
LEA (n)
//Entrada parcia
l
PARA k=1; n; 1
IMPRIMA(“Ingrese el dato: “, k)
LEA num[k]
FIN_PARA

//Procesos
PARA k=1; n; 1
//Se invoca el subprograma con retorno para sumar los divisores
d = sumarDivisores(num[k])
SI(num[k] = d)
IMPRIMA (num[k], “ es un numero perfecto”)
SI_NO
IMPRIMA (num[k], “ no es un numero perfecto”)
FIN_PARA

//Salida
IMPRIMA (“Fin del programa”)

FIN_INICIO

//subprograma con retorno

ENTERO sumarDivisores(n)
ENTERO s, k, p
INICIO
PARA k=1; n; 1
SI(n%k=0)
s=s+k
SI_NO
FIN PARA
RETORNO (s)
FIN INICIO
ALGORITMO Potencias
// Declaración de variables
ENTERO a , n , suma, producto
INICIO

// Entrada de datos IMPRIMA( “Numero base: “ )


LEA( a )
IMPRIMA( “Exponente : “ )
LEA( n )
//Se llama al sub programa con retorno
suma = potenciaSuma(a, n)
//Se llama al sub programa con retorno
producto= potenciaProducto(a, n)
// Salida
IMPRIMA( “la suma sucesiva de”, a , “ a la “, n , “ es : “ , suma)
IMPRIMA( “el producto sucesivo de”, a , “ a la “, n , “ es : “ , producto )
FIN_INICIO

ENTERO potenciaSuma(a, n)
INICIO
//Declaracion de variables
ENTERO k , j , pote , sum
PARA k = 1 ; n - 1 ; 1
sum = 0
PARA j = 1 ; a ; 1
sum = sum + pote
FIN_PARA
pote = sum
FIN_PARA
RETORNA (pote)
FIN_INICIO

ENTERO potenciaProdcuto(a, n)
INICIO
//Declaracion de variables
ENTERO k , prod
prod = a
PARA k = 1 ; n -1 ; 1
prod = prod * a
FIN_PARA
RETORNA (prod )
FIN_INICIO
Es lo mismo que tiene solo cambie el procesO 
numMayor = 0 
PARA k = 1; m; 1 
PARA j = 1; n; 1  
Si(ed[k][j]>numMayor) 
numMayor=ed[k][j] 
FIN_SI 
FIN_PARA 
FIN_PARA 
 
numMenor=numMayor 
PARA k = 1; n; 1 
PARA j = 1; m; 1  
Si(ed[j][k]<numMenor) 
numMenor=ed[k][j] 
FIN_SI 
FIN_PARA 
FIN_PARA 

También podría gustarte