Você está na página 1de 3
DECivil Departamento de Engenharia Civil e Arquitectura 2002 / 2003 Programação Licenciatura em Engª Civil

DECivil Departamento de Engenharia Civil e Arquitectura

2002 / 2003

Programação

Licenciatura em Engª Civil Licenciatura em Engª do Território

2ª Data

10 de Fevereiro de 2003

Exame sem consulta (2 horas + 30 minutos).

DESLIGUE O SEU TELEMÓVEL.

RESOLVA OS PROBLEMAS EM FOLHAS SEPARADAS.

NUMERE TODAS AS FOLHAS COM O SEU NÚMERO DE ALUNO(A).

NUMERE A PÁGINA DO ENUNCIADO QUE CONTÉM O 4º PROBLEMA COM O SEU NÚMERO E DEVOLVA-A RESOLVIDA JUNTAMENTE COM O RESTO DA SUA RESOLUÇÃO.

1º PROBLEMA (5 valores)

Uma empresa de projectos de construção civil pretende criar uma base de dados com informações sobre os clientes, os seus trabalhadores e os projectos que produz. Sobre os clientes precisa armazenar o nome, o nº de contribuinte, e a morada. Sobre os projectos é necessário armazenar o código de identificação, o tipo de projecto, a data da conclusão. Sobre os trabalhadores a informação mais importante é o nome, o nº de contribuinte e a morada. Por uma questão de organização cada cliente têm sempre associado um único trabalhador que é responsável pelos contactos com esse cliente mesmo que esse trabalhador não esteja envolvido nos projectos desse cliente, sendo necessário registar essa informação. É também necessário armazenar informação sobre os trabalhadores que trabalharam num projecto e os projectos que foram desenvolvidos para um dado cliente.

a) (1,5 valores) Desenhe o Diagrama de Entidades e Relacionamentos que descreve a situação dada.

b) (1,5 valores) Apresente o esquema das tabelas que seria possível criar a partir do diagrama da alínea anterior.

c) (1 valor) Indique se no seu diagrama existe algum relacionamento que seja total e justifique a sua resposta.

d) (1 valor) Escreva em SQL uma consulta que permita listar o nome e a morada do trabalhador responsável pelo contacto com o cliente do projecto A34.

1/3

2º PROBLEMA (7 valores)

Pretende-se desenvolver um programa que calcule e mostre o resultado das n primeiras operações aritméticas de acordo com a expressão matemática apresentada em baixo. Sendo n dado pelo utilizador.

 

1

1

1

1

1

1+

 

+

+

 
 

3

5

7

9

11

a) (2 valores) Faça o diagrama de Michael Jackson do programa pretendido.

b) (3 valores) Escreva em C# o código desse programa.

c) (2 valores) Indique justificando um caso teste que usaria para testar o programa da alínea

anterior por condições de contorno.

3º PROBLEMA (4 valores)

Considere a função definida em baixo.

void processa( int[] vector, int n )

{

 

int temp, i, j;

 

for (

i

=

1; i <

n; i++ )

for ( j = 0; j < vector.Length - 1; j++ )

if ( vector[j]< vector[j+1])

{

 

temp = vector[ j ]; vector[j]= vector[ j + 1 ]; vector[j+1]= temp;

 

}

}

a) (2 valores) Qual a composição do vector resultante da função ter sido invocada com n igual a 5

e a composição inicial do vector igual a [50,2314,34,22,63]?

b) (1 valor) Esta função é recursiva? Justifique.

c) (1 valor) Redefina a função em C#, para que mantenha exactamente o mesmo

comportamento, mas sem utilizar os comandos for.

2 / 3

4º PROBLEMA (4 valores)

a) (2 valores) Complete as seguintes afirmações de forma a torná-las verdadeiras.

1. As chavetas permitem definir um

2. O comando

3. de uma tabela numa base de dados é composta por um ou mais campos

composto.

permite sair de um ciclo.

A

que permitem identificar univocamente os registos dessa tabela.

4. Para permitir a sua utilização fora da classe de definição, um método tem que ser definido como

5. O elemento

6. Os parâmetros de uma função em C# podem ser passados por

7. Um método

8. Um método que contenha uma chamada a si mesmo designa-se por

9. O

permite definir uma lista ordenada em HTML.

ou

possui o mesmo nome que a classe a que pertence.

é um ambiente visual de programação.

b) (2 valores) Indique quais das afirmações seguintes são verdadeiras (V) ou falsas (F).

Por cada resposta errada serão descontados 0.2 valores.

1. Em HTML uma imagem não pode servir de

2. integer é o exemplo de uma palavra reservada na sintaxe da linguagem

3. Um ficheiro de texto construído utilizando um editor de texto (exemplo: Notepad ou Bloco de Notas) pode ser alterado por um programa desenvolvido em

4. Um atributo multivalorado representa um conjunto de valores

5. Para ser possível compilar um programa em C# é necessário que o seu código fonte tenha sido previamente

6. Os programas desenvolvidos em C# para a Web podem produzir páginas HTML visualizáveis em qualquer navegador Web

7. A definição de um método pode conter várias invocações ao próprio

8. Um método definido dentro de outro designa-se por

9. Uma variável pode ser definida em qualquer parte do

10. A cláusula FROM de um SELECT em SQL serve para identificar as tabelas consultadas.

3 / 3