Buscar

Linguagem c ex

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ALGORITMOS E ESTRUTURA DE DADOS 3 
PROVA 2ª ÉPOCA – 2.o SEMESTRE 2012 
NOME: 
 
QUESTÃO 1 (3 PONTOS) 
Dada a árvore binária e o pseudo-código abaixo, qual será o resultado da 
execução da Funcao1 nesta árvore, passando como parâmetro o ponteiro 
raizArvore? 
Obs: A função Imprime envia para a tela um número inteiro. 
 
 
Funcao1(NO *no) 
INICIO 
 Se (no != NULO) 
 INICIO 
 Funcao1 (no->esquerdo) 
 Visita (no) 
 Funcao1 (no->direito) 
 FIM 
FIM 
Visita(NO* no) 
INICIO 
 Se (no->dado%2 == 0) 
 Imprime(no->dado + 3) 
FIM 
 
 
QUESTÃO 2 (3 PONTOS) 
Dado o código fonte a seguir, pede-se: Qual o valor retornado pela função1 
quando o parâmetro de entrada for 6? 
 
int funcao1(int n) 
{ 
 if (n < 1) 
 { 
 return (1); 
 } 
 else 
 { 
 return (funcao1 (n-1) + funcao1 (n-2)); 
 } 
} 
 
QUESTÃO 3 (2 PONTOS) 
Como é definida uma FILA implementada com uma lista ligada simples? (2 PONTOS)
raizArvore 
 
QUESTÃO 4 (4 PONTOS) 
Dados: 
• o código fonte da Funcao1; 
• os elementos que serão carregados na lista ligada que será passada como 
parâmetro (cabeca); 
pede-se: qual será a o valor retornado pela Funcao1. 
Elementos 
Chave Nome Tel Idade 
1 Fulano1 11111111 10 
2 Fulano1 22222222 11 
3 Fulano1 00001111 10 
4 FULANO1 33333333 20 
5 Fulano3 11111111 10 
6 Fulano3 44444444 11 
7 Fulano4 11111111 15 
 
Código Fonte 
//Estrutura do Elemento da Agenda 
typedef struct Item{ 
 int Chave; 
 char Nome[255]; 
 char Tel[10]; 
 int Idade; 
}ELEMENTO; 
 
//Estrutura da celula de uma lista ligada 
typedef struct celula{ 
 ELEMENTO dado; 
 struct celula *prox; 
}CELULA; 
 
int Funcao1(CELULA *cabeca) 
{ 
 CELULA *p; 
 CELULA *q = NULL; 
 int i = 0; 
 
 p = cabeca; 
 
 while(p != NULL) 
 { 
 if (q != NULL) 
 { 
 if ((strcmp(p->dado.Nome, q->dado.Nome) == 0) 
 { 
 if(p->dado.Idade != q->dado.Idade) 
 { 
 i++; 
 } 
 } 
 } 
 
 q = p; 
 p = p->prox; 
 } 
 return (i); 
}

Outros materiais