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

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 transportes pretende criar uma base de dados com informações sobre os clientes, as camionetas do seu parque de viaturas e os motoristas dessas camionetas. Sobre os clientes precisa armazenar o nome, o nº de contribuinte, e a morada. Sobre as camionetas é necessário armazenar o nº de matrícula, a capacidade, a data da aquisição. Sobre os motoristas a informação mais importante é o nome, o nº de contribuinte e a morada. Sabe-se que cada camioneta é sempre dirigida pelo mesmo motorista e pretende-se ter essa informação registada. É necessário também saber que camionetas foram ou estão sendo usadas para transportes solicitados pelos clientes, a data e quais os locais de origem e destino desses transportes.

  • 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 os nomes dos motoristas e a datas dos transportes efectuados para o cliente de nº de contribuinte 12345678.

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 +

 

+

+

 

...

 

2

4

  • 6 8

10

  • 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 4 e a composição inicial do vector igual a [3,63,27,338,56,6]?

  • 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 o primeiro comando for.

2 / 3

4º PROBLEMA (4 valores)

Nº _______

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

  • 1. impedem que um programa possa ser compilado com sucesso.

Os erros

  • 2. em C# são terminadas com um ‘;’.

As

 
  • 3. permite definir tabelas em HTML.

O elemento

  • 4. permite interromper um ciclo em C#.

O comando

  • 5. da classe

O método

permite escrever uma cadeia de caracteres

  • 6. Os tipos de dados

e

permitem representar valores reais em C#.

  • 7. As chavetas permitem definir um

_________

composto.

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

A

  • 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.

Um método recursivo tem que conter pelo menos um comando de

repetição.

______

2.

Os parâmetros de uma função têm que ser todos do mesmo tipo de

dados.

______

3.

int é um exemplo de uma palavra reservada na sintaxe da linguagem

C#.

______

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

C#.

______

  • 5. A utilização de frames em HTML permite mostrar várias páginas numa janela do navegador Web (browser), mesmo que as páginas não sejam provenientes do mesmo computador (isto é, servidor de

Web).

______

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

compilado.

______

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

(browser).

______

  • 8. A definição de um método não pode conter invocações ao próprio

método.

______

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

local.

______

10. A cláusula FROM de um SELECT em SQL serve para impor restrições aos valores

procurados dentro das

tabelas.

______

3 / 3