Faculdade de Engenharia da Universidade do Porto
Prova de Avaliação:
2ª Chamada 1998/99 Duração: 2 horas Com Consulta 12/7/1999
Pergunta 2,
[6 valores]
Pergunta 3,
[6 valores]
Pergunta 4,
[3 valores]
Licenciatura em Engenharia Electrotécnica e de Computadores
Algoritmos e Estruturas de Dados, 1998/99
Considere o seguinte programa em C++:
1 #include <iostream.h>
2 #define PI 3.14
3 class Circulo {
4 public:
5 Circulo(double x1, double y1, double r1)
6 { x= x1; y= y1; r= r1; }
7 Circulo(double r2)
8 : x( 0.0 ), y( 0.0 ) { r= r2; }
9 double getArea() const { return PI * r * r; }
10 private:
11 const double x, y; // centro
12 double
r; // raio
13 };
14 main() {
15 Circulo c1(2.5, 3.5, 3.0);
16 cout << c1.getArea() << endl;
17 circulo c2(2.0);
18 cout << c2.getArea() << endl;
19 return 0;
20 }
Averigue se este programa contém erros sintácticos.
Em caso afirmativo identifique-os claramente e corrija-os. Apresente ainda
os resultados da execução do programa juntamente com todas
as contas que necessitar fazer.
Considere o tipo de dados abstracto
Fila e uma sua implementação baseada em fórmula
(array) através da classe Queue estudados
nesta disciplina. Adicione a esta classe uma função-membro
retiraDaFila, que retira da fila os elementos
cujo valor seja diferente de um parâmetro valor
e os coloca noutra fila f passada por referência;
esta função não retorna nada.
Escreva uma função-membro
NoNos para a classe BinaryTree estudada
nas aulas desta disciplina, que percorra a árvore e retorne um inteiro
igual ao número de nós com valor maior do que um parâmetro
v do tipo T.
Pretende-se escrever um programa em C++ para processar
um fluxo de valores de entrada de um dado tipo
T por forma a retirar-lhe todos os duplicados mantendo a ordem relativa
dos valores.
Diga que estruturas de dados e algoritmos estudados nesta
disciplina (ou construídos a partir deles), seriam adequados para
resolver este problema e apresente uma breve justificação
das escolhas efectuadas.
Analise a complexidade temporal do algoritmo que apresentou.
[Página da disciplina]
[J. Pascoal Home page]
[J. Lopes Home page]
João Pascoal de Faria ([email protected]) /
João Correia Lopes (jlopes AT fe.up.pt)
Last modified: Thu Jul 29 20:21:38 1999