Buscar

Tvc1-EDLII-1-11-Tarde

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 Estrutura de Dados e Laboratório de Programação II – 02/05/2011
ALUNO (A) _______________________________________________________________ Turma Lab:_____ ED:_____
ATENÇÃO: 										 
Estrutura de Dados: questões de 1 a 3. Laboratório de Programação II: questões de 3 a 5.
Sempre que necessário, apresentar as definições das estruturas de dados. A questão 5 deve estar em C.
_______________________________________________________________________________________________________________________________________________________________________________________________________________________
1) xxx	(35)
_______________________________________________________________________________________________________________________________________________________________________________________________________________________
2) xxx	 (35)
_______________________________________________________________________________________________________________________________________________________________________________________________________________________
3) Representar vetorialmente uma matriz M (n x n – n par) de elementos reais aonde somente os elementos das diagonais primária e secundária são diferentes de zero e desenvolver as funções cria e consulta para essa representação.	(30)
	M =
	m0,0
	0.0
	...
	0.0
	m0,n-1
	
	0.0
	m1,1
	...
	m1,n-2
	0.0
	
	...
	...
	...
	...
	...
	
	0.0
	mn-2,1
	...
	mn-2,n-2
	0.0
	
	mn-1,0
	0.0
	...
	0.0
	mn-1,n-1
 	 (30)
__________________________________________________________________________________________________________________________________________________________________________________________________________________
4) Dadas as declarações abaixo:	
	int x = 23, *px = &x, **ppx = &px;
	float y = 9.7, *py = &y, **ppy = &py;
�
Quais são os resultados da avaliação das seguintes expressões:	(35)
�
y = 
x++ = 
*px =
py =
&x =
*ppy =
px++ =
(*py)-- = 
**ppx =
&ppy =
*&py =
(**ppy)++ = 
�
_______________________________________________________________________________________________________________________________________________________________________________________________________________________
5) Abaixo encontram-se parte do arquivo triangulo.c e o arquivo triangulo.h que implementam o TAD Triangulo. Os dados armazenados para representar um triângulo são 3 pontos, sendo esses pontos do tipo Ponto (TAD Ponto já implementado). Considerando o TAD Triangulo abaixo, desenvolver as funções, em C, cria_triangulo (cria um triângulo dados os seus 3 pontos), tipo_triangulo (retorna qual o tipo do triângulo – eqüilátero (3 lados iguais) = 0, isósceles (2 lados iguais) = 1, escaleno (todos lados diferentes) = 2) e area_triangulo_eq (calcula e retorna a área de um triângulo equilátero). Considerar que as seguintes funções, do TAD Ponto, estão implementadas: Ponto* cria_ponto(float x, float y) e float distancia_ponto(Ponto *p1, Ponto *p2).	(35)
�
Arquivo triangulo.c
struct triangulo
{
	Ponto *p1, *p2, *p3;
};
Arquivo triangulo.h
typedef struct triangulo Triangulo; //TAD Triangulo
Triangulo* cria_triangulo(Ponto *p1, Ponto *p2, Ponto *p3);
int tipo_triangulo(Triangulo *t); 
float area_triangulo_eq(Triangulo *t); // A = l2 ( √3 ( 4
�

Outros materiais