Análise de Sistemas
Unsigned long fat (unsigned long n)
{
if (n == 1) return 1;
Else return n*fat (n-1);
}
2- Usando recursividade não de cauda, implemente uma função para converter e exibir um numero decimal em Binario.
Void debin (unsigned n)
{
if (n/2 >0) {debin (n/2);} cout 1
Oper(n) = { Se n>1 -> 3 Oper (n-1) + 5
unsigned long Oper (unsigned long n)
{if (n==1)return 1;
Else return 3* oper (n-1) +5;
}
4 – Para uma lista simplesmente ligada escreva um fragmento de código para cada uma das seguintes situações:
a) Inserir em LSL vazia inicio=fim=aux; b) Inserir antes do 1°
Aux -> Prox = inicio;
Inicio = aux;
c) Inserir após o último fim->prox=aux; Fim=aux;
d) Inserir em outra posição
Busca = inicio; while(busca->prox->ra < aux->ra) busca = busca->prox; aux->prox = busca ->prox; busca->prox = aux;
5 – Idem em LDL
a) Inserir em LDL vazia inicio=fim=aux; b) Inserir antes do 1° aux->prox = inicio; inicio->prev = aux; inicio = aux;
c) Inserir após o último aux->prev = fim; fim->prox=aux; fim=aux;
d) Inserir em outra posição busca=inicio; while(busca->prox->ra ra) {busca = busca->prox;} aux->prev = busca; aux->prox = busca->prox; busca->prox= aux; aux->prox->prev = aux;
6 – para uma lista simplesmente ligada escreva um fragmento de código para cada uma das situações:
a) Excluir o 1° da lista
Aux=inicio->prox;
delete inicio; inicio = aux;
b) Excluir o ultimo da lista
Busca = inicio; while(busca->prox != fim) {busca = busca->prox;} delete fim; fim = busca; fim->prox = 0;
c) Excluir qualquer outro busca = inicio; while(busca->prox != 0 and busca->prox->ra != raexc) {busca=busca->prox;} if(busca->prox->ra == raexc)
{
aux=busca->prox->prox; delete busca->prox; busca->prox=aux; } else {coutprev = 0; inicio = aux;
b) Excluir o ultimo da lista aux=fim->prev; delete fim; aux->prox = 0; fim = aux;
c) Excluir qualquer outro