Você está na página 1de 2

!"#$%&'(&)*(+,-,".#&/01",.#&)#1(,"%"#& 2+.345&6"(7.&8+%9':.& ! ! Q.

1 Escreva uma especificao de tipos abstratos de dados (TAD) para os nmeros complexos, a+ bi, onde abs(a+ bi) sqrt(a2 +b2), (a+ bi) + (c+ di) (a+ c) + (b+ d)i, (a + bi) * (c+ di) (a* c b * d) + (a * d+ b* c)i e (a+ bi) (-a)+(-b)i. Ento, implemente (cm C) nmeros complexos, conforme especificado acima, usando estruturas com partes reais e complexas. Escreva rotinas para somar, multiplicar e negar (inverter) tais nmeros. Q.2 Vamos supor que um nmero real seja representado por uma estrutura em C, como esta: struct realtype { int left; int right; }; onde left e right representam os dgitos posicionados esquerda e direita do ponto decimal, respectivamnete. Se left for um inteiro negativo, o nmero real representado ser negativo. a.Escreva uma rotina para inserir um nmero real e criar uma estrutura representado esse nmero; b.Escreva uma funo que aceite essa estrutura e retorne o nmero real representado por ela. c.Escreva rotinas add, substract e multiply que aceitem duas dessas estruturas e definam o valor de uma terceira estrutura para representar o nmero que seja a soma, a diferena e o produto, respectivamente, dos dois registros de entrada Q.3 Seja uma estrutura para descrever os carros de uma determinada revendedora, contendo os seguintes campos: marca: string de tamanho 15 ano: inteiro cor: string de tamanho 10 preo: real a) Escrever a definio da estrutura carro. b) Declarar o vetor vetcarros do tipo da estrutura definida acima, de tamanho 20 e global. c) Crie um menu para: 1. Definir um bloco de programa para ler o vetor vetcarros. 2. Definir um bloco de programa que receba um preo e imprima os carros (marca, cor e ano) que tenham preo igual ou menor ao preo recebido. 3. Defina um bloco de programa que leia a marca de um carro e imprima as informaes de todos os carros dessa marca (preo, ano e cor).

4. Defina um bloco de programa que leia uma marca, ano e cor e informe se existe ou no um carro com essas caractersticas. Se existir, informar o preo. Q.4 Refaa o item anterior utilizando ponteiros e variveis locais. Q.5 Voc dever implementar um tipo abstrato de dados TConjunto para representar conjuntos de nmeros inteiros. Seu tipo abstrato dever armazenar os elementos do conjunto e o seu tamanho n. Considere que o tamanho mximo de um conjunto 20 elementos e use arranjos de 1 dimenso (vetores) para a sua implementao. Seu TAD deve possuir procedimentos (ou funes quando for o caso) para: a.criar um conjunto vazio; b.ler os dados de um conjunto; c.fazer a unio de dois conjuntos; d.fazer a interseo de dois conjuntos; e.verificar se dois conjunto so iguais (possuem os mesmos elementos); f.imprimir um conjunto;