1º Concurso

de Informática da Nova

CIN’01

 

 

ENUNCIADO DA PROVA

 

30 de Março de 2001

 

Departamento de Informática

Faculdade de

Ciências e Tecnologia

Universidade Nova de Lisboa

 

P1. Questões de Escolha Múltipla       

P2. Problema Folha de Cálculo Excel

P3. Problema de Programação 1

P4. Problema de Programação 2

P5. Problema de Programação 3

P6. Problema Base de Dados Access

 

VER Instruções nas páginas seguintes

 

(este documento tem 11 páginas)

Instruções Gerais

 

 

A prova tem a duração de 2 horas.

 

Qualquer dúvida deve ser colocada a um dos vigilantes da sala.

 

A prova é composta por seis problemas, de diversos tipos, para contemplar as diferenças existentes na formação dos concorrentes. É natural que nenhuma equipa consiga resolver todos os problemas.

 

Todos os problemas têm a mesma cotação e, por isso, contribuem de igual forma para a classificação final.

 

Os participantes podem resolver os problemas pela ordem que acharem mais conveniente.

 


Instruções de Resolução da Prova

 

 

O enunciado e os ficheiros necessários aos problemas de Excel e Access estão disponíveis na página

http://phoenix/CIN01

·         enunciado.html

·         f1.xls

·         luso.mdb

 

Deve começar a prova:

 

Deve responder:

 

 

 

 

Deve terminar a prova:

 

A disquete pode ser usada para salvaguardar frequentemente o trabalho realizado, de modo a facilitar a recuperação de eventuais situações de erro.

 


P1. Questões de Escolha Múltipla

(Página 1)

 

Deve responder a este problema directamente neste enunciado.

 

 

1.      O disco rígido de um computador:

 

q               Tem normalmente uma capacidade muito inferior à capacidade da memória central (RAM)

q               É bastante mais lento que a memória central

q               Armazena apenas o Sistema Operativo (Sistema de Exploração)

q               Armazena apenas os resultados temporários da execução dos programas

q               É inicializado cada vez que o computador é ligado, com o conteúdo da memória central

 

 

2.      Ao desligar um computador:

 

q               Todos os dados se perdem

q               Apenas se perdem os dados em memória ROM

q               Apenas se perdem os dados em memória ROM e disco rígido

q               Apenas se perdem os dados em memória RAM

q               Todos os dados se mantêm

 

 

3.      Num computador, a dimensão do “bus” mede-se em:

 

q               mm

q               “pixels”

q               polegadas

q               Hz

q               bits

 

 

 

 

 

 

 


P1. Questões de Escolha Múltipla

(Página 2)

 

Deve responder a este problema directamente neste enunciado.

 

 

4.      Que tipo de dados usaria para representar o número de dias que uma pessoa viajou de automóvel durante um ano? Não se esqueça que há pessoas que viajam todos os dias.

 

q               Inteiros (16 bits)

q               Vírgula flutuante (32 bits)

q               String (cadeia de caracteres)

q               Inteiros longos (32 bits)

q               Bytes

 

 

5.      Considere o número 321 em decimal. Qual é a sua representação em octal (base 8)? Qual a sua representação em hexadecimal (base 16)?

 

q               105 ; 141

q               141 ; 105

q               501 ; 32F

q               501 ; 141

q               472 ; 129

 

 

6.      Considere as seguintes instruções em Basic:

A = 0

FOR I:=____ TO ____

   A = ____  + I * ____ + 1

NEXT I

PRINT A

 

Preencha os espaços em branco para que, ao executar essas instruções, seja calculado o somatório dos números ímpares entre 0 e 8.

 

 

 

 

 

 

 

 

 

 

 

P2. Problema Folha de Cálculo Excel

 

Deve responder a este problema directamente no ficheiro f1.xls da directoria CIN01.

 

 

Considere as classificações de alguns pilotos, obtidas no campeonato de Fórmula 1 de 2000 e disponibilizadas no ficheiro Excel f1.xls.

 

a)     Na coluna G calcule, usando uma fórmula apropriada, o número total de pontos que cada piloto obteve no conjunto das provas indicadas.

 

b)     Nas colunas H, I e J, respectivamente, calcule a média, o máximo e o mínimo de pontos obtidos por cada piloto ao longo do campeonato, através de fórmulas apropriadas.

 

c)     Ordene a informação relativa a cada piloto por ordem decrescente do número total de pontos obtidos no conjunto das provas.

 

d)     Na coluna K calcule, usando uma fórmula apropriada, o número de vitórias obtidas por cada piloto (número de pontos igual a 10).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3. Problema de Programação 1

 

Deve responder a este problema no ficheiro capicua.pas, capicua.c ou capicua.bas, guardado na directoria CIN01.

 

 

Escreva um programa que detecte todas as capicuas numa sequência qualquer de números inteiros não-negativos (maiores ou iguais a zero).

 

A sequência termina com o número -1.

 

Uma capicua é um número inteiro que se lê da mesma forma da esquerda para a direita e da direita para a esquerda.

 

O programa pede ao utilizador um número de cada vez e afixa esse número se ele for uma capicua.

 

Ajuda1: Para saber se um número é uma capicua, inverta a ordem dos seus algarismos e compare o resultado com o número original.

 

Ajuda2: Para calcular o resto da divisão dum inteiro N por 10 faça assim:

 

                        N % 10           (em C);

N mod 10       (em Pascal);

N MOD 10      (em BASIC).

 

Exemplo

 

Entrada

 

123

12321

456

9

0

2000

2001

2002

1111

4777

-1

 

Saída

 

12321

9

0

2002

1111

 

 

P4. Problema de Programação 2

 

Deve responder a este problema no ficheiro fib.pas, fib.c ou fib.bas, guardado na directoria CIN01.

 

 

A sequência dos números de Fibonacci define-se da seguinte forma:

 

·         O primeiro número da sequência é 0 (zero);

 

·         O segundo número da sequência é 1 (um);

 

·         A partir da terceira posição inclusive, cada número é a soma dos dois números anteriores da sequência.

 

Repare que se trata de uma sequência crescente, cujos primeiros doze números são:

 

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 e 89.

 

Escreva um programa que, dado um número inteiro positivo N, indique o menor número de Fibonacci que é superior a esse número. O programa pede ao utilizador o número N, efectua os cálculos e afixa o resultado.

 

Exemplo 1                            Exemplo 2                            Exemplo 3

Entrada                                 Entrada                                 Entrada

 

1                       10                      63

 

Saída                                     Saída                                     Saída

 

2                       13                      89

 


P5. Problema de Programação 3

 

Deve responder a este problema no ficheiro equacao.pas, equacao.c ou equacao.bas, guardado na directoria CIN01.

 

 

Escreva um programa que, dados três números inteiros, A, B e C, que representam a equação

A x2 + B x + C = 0,

 

e um número real X, descobre a solução da equação que está mais próxima de X. Mais precisamente, se S1 e S2 forem as soluções da equação, o programa:

 

Ø       devolve S1, se |X-S1| < |X-S2|;

 

Ø       devolve S2, se |X-S2| < |X-S1|; e

 

Ø       devolve S1 ou S2, se |X-S1| = |X-S2|.

 

O programa lê três números inteiros e um número real (A, B, C e X, por esta ordem), efectua os cálculos e afixa o resultado. Assuma que a equação tem sempre, pelo menos, uma solução.

 

Exemplo                    (Comentário para ajudar a compreensão do enunciado)

 

Entrada        

                       

2                                 (A)       Equação:       2 x2 + 3 x + (-2) = 0

3                                 (B)       Soluções:      -2  e  0.5

-2                               (C)      

0                                 (X)

 

Saída

 

0.5                 

 

 

 

 

 

 


P6. Problema Base de Dados Access

(Página 1)

 

Deve responder a este problema directamente no ficheiro luso.mdb da directoria CIN01; as consultas pedidas nas questões 1 a 6 devem ter nomes de Q1 a Q6, respectivamente.

 

 

A LusoUniverso possui um sistema informatizado para a gestão das suas salas de cinema. Parte desse sistema encontra-se implementado numa base de dados Access 2000. O seu esquema de tabelas e respectivas associações encontram-se representados na Figura abaixo.

 

 

Cada sala possui vários lugares identificados pelo número de fila e de cadeira. É também guardado no sistema uma descrição sumária das características da sala (dimensão, sistema sonoro, etc.). Numa mesma sala decorrem várias sessões diárias onde são exibidos filmes. Não é mantida qualquer informação histórica de filmes anteriormente em cartaz. Um bilhete é vendido para um lugar de uma sessão de uma sala numa determinada data. Existem vários tipos de bilhete com preços distintos (normal, cartão jovem, preço especial de Segunda-feira, infantil, etc.). Para se gerar automaticamente um panfleto informativo dos filmes em cartaz, regista-se, para além do nome do filme, o seu realizador, o seu género e o seu escalão etário.

 

A partir da base de dados luso.mdb, previamente carregada com alguns dados de exemplo, deverá construir consultas (queries) que permitam responder às seguintes questões. Qualquer delas poderá ser resolvida utilizando apenas a “Design View” ou o “Query Wizard”. Não é necessário conhecimento de SQL. Poderá recorrer a consultas auxiliares.

P6. Problema Base de Dados Access

(Página 2)

 

Deve responder a este problema directamente no ficheiro luso.mdb da directoria CIN01; as consultas pedidas nas questões 1 a 6 devem ter nomes de Q1 a Q6, respectivamente.

 

 

Interrogações a efectuar:

 

 

  1. Listar os nomes dos filmes em exibição, juntamente com o respectivo número de sala, hora e escalão etário. A listagem deverá vir ordenada por hora de início da sessão.

 

  1. Apresentar os nomes dos filmes com sessões nocturnas a partir das 0h15m (inclusive).

 

  1. Determinar a lotação de todas as salas, mostrando o número da sala e o número de lugares.

 

  1. Calcular o resultado de bilheteira (em escudos) no dia 20 de Março de 2001.

 

  1. Mostrar as salas com mais de um filme em exibição.

 

  1. Determinar quais as sessões esgotadas e os nomes dos respectivos filmes.