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 aluguer de mquinas para a construo civil pretende criar uma base de dados com informaes sobre os clientes, as mquinas do seu parque de mquinas e os operadores dessas mquinas. Sobre os clientes precisa armazenar o nome, o n de contribuinte, e a morada. Sobre as mquinas necessrio armazenar o n de matrcula, o tipo de mquina, a data da ltima reviso e o perodo de validade dessa reviso. Sobre os operadores a informao mais importante o nome, o n de contribuinte e a morada. necessrio armazenar tambm informao sobre os operadores que esto habilitados para manobrar as vrias mquinas e sobre que mquinas foram alugadas aos vrios clientes e quais as datas de incio e fim desse aluguer. 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 o operador e as datas de incio e fim do aluguer da maquina com a matricula AD34.
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 + + ... 3 5 7
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,6,7,8,9,1]? 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 os comandos for.
2/3
1. Um atributo multivalorado pode dar origem a uma tabela. ______ 2. Os programas desenvolvidos em C# para a Web produzem pginas HTML visualizveis em qualquer navegador Web (browser). ______ 3. Um mtodo recursivo pode no conter um comando de repetio. ______ 4. Na clusula WHERE de um SELECT em SQL s podem ser utilizados campos de tabelas referenciadas a seguir a FROM. ______ 5. classe o exemplo de uma palavra reservada na sintaxe da linguagem C#. ______ 6. 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#. ______ 7. Um mtodo definido dentro de outro designa-se por local. ______ 8. Uma base de dados construda num Sistema Gestor de Bases de Dados, SGBD (por exemplo: Access) pode ser alterada atravs de um programa desenvolvido em C#. ______ 9. A utilizao de frames em HTML permite mostrar vrias pginas na mesma janela do navegador Web (browser), desde que as pginas sejam provenientes do mesmo computador (isto , servidor de Web). ______ 10. Para podermos compilar um programa em C# necessrio que o seu cdigo fonte tenha sido executado previamente. ______
3/3