Buscar

20120410-A

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

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
Você viu 3, do total de 3 páginas

Prévia do material em texto

Universidade Federal de Minas Gerais 
Instituto de Ciências Exatas 
Disciplinas de Algoritmos e Estruturas de Dados II 
 
Nome: ____________________________________________ Matrícula: ______________ 
 
INSTRUÇÕES: 
 CANETA, LÁPIS, BORRACHA e FOLHAS DE PROVAS são os únicos 
materiais permitidos durante a prova; 
 É PROIBIDO o uso de CALCULADORAS e CELULARES; 
 O material permitido para a prova é PESSOAL e INTRANSFERÍVEL; 
 A prova é INDIVIDUAL e SEM CONSULTA; 
 A FOLHA DE RESPOSTAS deve ser preenchida a CANETA; 
 A prova terá uma duração de 100 MINUTOS; 
 A INTERPRETAÇÃO faz parte da PROVA; 
 
Questão 1: Apresente uma versão recursiva 
para a função. (4 pontos) 
 
void Cubos(int n) { 
 int i; 
 
 for (i = 1; i <= n; i++) 
 printf("%i ",i * i * i); 
} 
int CubosRecursiva(int n) { 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
} 
Questão 2: Complete o código fonte que 
segue implementando a função recursiva 
TamStr que conta o número de caracteres 
que uma sequência de caracteres (string) 
tem. (4 pontos) 
 
int TamStr( ________________________ ) { 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
} 
int main() { 
 printf("\n%i",TamStr("ossos")); 
 printf("\n%i",TamStr("engenharia")); 
} 
 
Questão 3: Suponha que um conjunto 
residencial pode possuir vários blocos de 
apartamentos, cada bloco andares e cada andar 
possui apartamentos. Pode-se muito bem definir 
um tipo de dado ConjuntoResidencial por 
intermédio de uma estrutura. 
 
typedef struct { 
 int n_blocos, n_andares, n_aptos; 
 int ***Conj; 
} ConjuntoResidencial; 
 
Codifique uma função chamada 
AlocarConjuntoResidencial que preenche o tipo 
ConjuntoResidencial e aloca memória 
dinamicamente para o elemento ***Conj. 
A função recebe o endereço de um tipo 
ConjuntoResidencial, o número de blocos, o 
número de andares e o número de apartamentos 
por andar. (4 pontos) 
void AlocarConjuntoResidencial( 
ConjuntoResidencial *CR, int n_blocos, int 
n_andares, int n_aptos) { 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
 
Questão 4: Codifique uma função chamada 
DesalocarConjuntoResidencial que libera a 
memória alocada para o elemento ***Conj do 
tipo ConjuntoResidencial. A função recebe como 
parâmetro um tipo ConjuntoResidencial. (4 
pontos) 
void DesalocarConjuntoResidencial( 
ConjuntoResidencial CR) { 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
Questão 5: Um monitor colorido de um 
computador pode ser representado por uma 
estrutura bidimensional composta de pixels. 
Cada pixel é composto de uma quantidade de 
vermelho, verde e azul, que variam no intervalo 
de [0,255] cada um. Utilizando as formas de 
abstração da linguagem C defina o tipo abstrato 
de dados PIXEL e declare uma variável 
identificada por MONITOR de resolução 
1280x860 pixels, sendo a variável MONITOR do 
tipo PIXEL. Atribua para o PIXEL da 10ª linha e a 
5ª coluna da variável MONITOR os valores de 
60, 130, 215 respectivamente. (4 pontos) 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________ 
____________________________________

Outros materiais