Escolar Documentos
Profissional Documentos
Cultura Documentos
2 Data
DECivil Departamento de Engenharia Civil e Arquitectura 10 de Fevereiro de 2003
1 PROBLEMA (5 valores)
Uma empresa de transportes pretende criar uma base de dados com informaes 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 necessrio armazenar o n de matrcula, a capacidade, a data da aquisio. Sobre os motoristas a informao 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 informao registada. necessrio tambm saber que camionetas foram ou esto 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 situao dada. b) (1,5 valores) Apresente o esquema das tabelas que seria possvel criar a partir do diagrama da alnea 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 operaes aritmticas de acordo com a expresso matemtica apresentada em baixo. Sendo n dado pelo utilizador.
1+
1 1 1 1 1 + + ... 2 4 6 8 10
a) (2 valores) Faa o diagrama de Michael Jackson do programa pretendido. b) (3 valores) Escreva em C# o cdigo desse programa. c) (2 valores) Indique justificando um caso teste que usaria para testar o programa da alnea anterior por condies de contorno.
3 PROBLEMA (4 valores)
Considere a funo 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 composio do vector resultante da funo ter sido invocada com n igual a 4 e a composio inicial do vector igual a [3,63,27,338,56,6]? b) (1 valor) Esta funo recursiva? Justifique. c) (1 valor) Redefina a funo em C#, para que mantenha exactamente o mesmo comportamento, mas sem utilizar o primeiro comando for.
2/3
1. Um mtodo recursivo tem que conter pelo menos um comando de repetio. ______ 2. Os parmetros de uma funo tm 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 construdo utilizando um editor de texto (exemplo: Notepad ou Bloco de Notas) no pode ser alterado por um programa desenvolvido em C#. ______ 5. A utilizao de frames em HTML permite mostrar vrias pginas numa janela do navegador Web (browser), mesmo que as pginas no sejam provenientes do mesmo computador (isto , servidor de Web). ______ 6. Para ser possvel editar um programa em C# necessrio que o seu cdigo fonte tenha sido previamente compilado. ______ 7. Os programas desenvolvidos em C# para a Web podem produzir pginas HTML visualizveis em qualquer navegador Web (browser). ______ 8. A definio de um mtodo no pode conter invocaes ao prprio mtodo. ______ 9. Um mtodo definido dentro de outro designa-se por local. ______ 10. A clusula FROM de um SELECT em SQL serve para impor restries aos valores procurados dentro das tabelas. ______
3/3