Está en la página 1de 4

Repartido 3

1) Construir un método llamado potencia que reciba dos números a y b, y multiplique el


número a cuantas veces como b lo diga por si mismo.

Entero función potencia (entero a, entero b)


resultado = 1
Para i=1 hasta b
resultado = resultado . a

Fin para

Retornar resultado
Fin función

2) Construir un método llamado factorial que reciba un numero entero y que devuelva su
factorial.
Entero función factorial (entero a)
resultado = 1
Para i=1 hasta a
resultado = resultado . i
Fin para
retornar resultado

Fin función

3) Los dos métodos anteriores realizarlos de forma recursiva

Entero función potencia (entero a, entero b)


Si b=0 entonces
retorna 1

sino

retorna a*potencia ( a, b-1)

Fin si

Fin función

Entero función factorial (entero a)


Si a=0 entonces
retorna 1

sino

retorna a*factorial( a-1)

Fin si

Fin función
4) Declarar el tipo de dato lista en C. Con las siguientes operaciones: crear lista, esvacia,
agregar_en_inicio, mostrar_lista.

Definir tipo de dato


estructura nodo

entero dato
nodo *siguiente

Fin estructura

Typedef nodo *TipoLista

TipoLista función crear_lista ()


retornar NULL
Fin función

Función bool es_vacia (TipoLista Lista)

retornar (Lista ==NULL)

Fin función

insertar_inicio (TipoLista Lista, entero valor)

TipoLista = aux

aux = nuevo nodo

aux->dato = valor

Si Lista == NULL

aux->siguiente = NULL

Lista = aux

Sino

aux->siguiente = Lista

Lista = aux

Fin si

Fin

mostrar_lista (TipoLista Lista)

mientras Lista /= NULL

mostrar Lista->dato

Lista=Lista->siguiente

Fin mientras

Fin
1)
int potencia (int a, int b){

int resultado = 1;

for ( int i = 1 ; i <= b ; i++ ){

resultado = resultado * a;

return resultado;

2)
int factorial (int a){

int resultado = 1;

for ( int i = 1 ; i <= a ; i++ ){

resultado = resultado * i;

return resultado;

3)
int potencia (int a, int b){

if (b == 0) {

return 1;

} else {

return a*potencia(a , b-1);

int factorial (int a){

if (a == 0) {

return 1;

}else{

return a * factorial (a-1);

}
4)
struct nodo{

int dato;

nodo *siguiente;

}; typedef nodo *TipoLista;

TipoLista crear_lista(){

return NULL;

bool es_vacia(TipoLista Lista){

return (Lista==NULL);

void insertar_inicio(TipoLista &lista, int valor)

TipoLista aux;

aux = new nodo;

aux->dato = valor;

if (lista==NULL){

aux->siguiente = NULL;

lista = aux;

} else {

aux->siguiente = lista;

lista = aux;

void mostrar_lista(TipoLista lista)

while(lista != NULL)

printf ("%d ",lista->dato);

lista = lista->siguiente;

También podría gustarte