Buscar

Tvc1-LabII-2011-3

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

UNIVERSIDADE FEDERAL DE JUIZ DE FORA 
INSTITUTO DE CIÊNCIAS EXATAS 
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO 
 
1º TVC de Laboratório de Programação II – 23/09/2011 
ALUNO (A) __________________________________________________________________________ Turma:______ 
ATENÇÃO: A prova deve ser feita na linguagem C. 
 
 
1) Dado o programa abaixo, indique o que será impresso: (30) 
 
int main() 
{ 
 int a = 10, b = 20, c = 30, v[3], *pti, *pti1, *pti2; 
 pti1 = &a; 
 pti2 = &b; 
 *pti1 = c; 
 *pti2 = c; 
 pti = v; 
 *pti = 1; 
 *(pti+1) = 2; 
 *(pti+2) = 3; 
 printf(">> Teste (1) << \n"); 
 printf("A: %d, B: %d, C: %d\n", a, b, c); 
 printf("V: %d, %d, %d\n", v[0], v[1], v[2]); 
 a = *pti + 99; 
 v[0] = *pti1 + *pti2; 
 v[1] = **&pti2; 
 *(v+2) = *pti; 
 (*pti2)++; 
 (*(v+1))--; 
 printf(">> Teste (2) << \n"); 
 printf("A: %d, B: %d, C: %d\n", a, b, c); 
 printf("V: %d, %d, %d\n", v[0], v[1], v[2]); 
 return 0; 
} 
 
 
2) Considerando as definições abaixo de uma matriz M (n x m) de elementos reais onde somente os elementos das linhas 
pares são diferentes de zero, desenvolver as funções cria_matriz (cria uma matriz dadas as quantidades de linhas e 
colunas) e consulta (retorna o valor contido na posição relativa aos índices i e j da matriz). Atenção à paridade de n. 
 
M = 
m0,0 m0,1 m0,2 ... m0,m 
0.0 0.0 0.0 ... 0.0 
m2,0 m2,1 m2,2 ... m2,m 
0.0 0.0 0.0 ... 0.0 
... ... ... ... ... 
 
struct matrizLP 
{ 
 int n, m; 
 float *v; 
}; 
typedef struct matrizLP MatLP; //TAD Matriz Linha Par 
 
a) MatrizLP* cria_matriz(int n, int m); (15) 
b) float consulta(MatrizLP *mat, int i, int j); (15)
 
 
3) Abaixo encontram-se as definições que implementam o TAD Conjunto. Os dados armazenados para representar um 
conjunto de inteiros são um vetor de zeros e uns e o seu tamanho máximo. Cada índice do vetor representa um inteiro. O 
valor 0 representa a ausência desse inteiro no conjunto, e o valor 1 representa a existência do mesmo no conjunto 
(exemplo abaixo). Desenvolver as funções cria_conj_vazio (cria um conjunto vazio de no máximo n elementos), 
insere (insere um elemento no conjunto), pertence (verifica se um elemento pertence a um conjunto) e 
intersecao (cria um conjunto como sendo a interseção de 2 conjuntos). 
 
{1,4,7} = 0 1 0 0 1 0 0 1 0 0 tam = 10 
 0 1 2 3 4 5 6 7 8 9 
 
struct conjunto 
{ 
 int tam; 
 int *v; 
}; 
typedef struct conjunto Conjunto; //TAD Conjunto 
a) Conjunto* cria_conj_vazio(int n); (10) 
b) void insere(Conjunto *c, int x); (10) 
c) int pertence(Conjunto *c, int x); (10) 
d) Conjunto* intersecao(Conjunto *c1, Conjunto *c2); (10)
 
 a b c v[0] v[1] v[2] 
Teste (1) 
Teste (2) 
n

Continue navegando