11
PROVA ESPECÍFICA – Cargo 26
QUESTÃO 26
Considere que, no algoritmo em alto nível a seguir, todas as variáveis sejam inteiras:
1.
2.
3.
4.
5.
6.
7.
X := 1; Y := 1; Z := 2;
while (X < 50) do
X := Y;
Y := Z;
Z := X + Y;
end;
write(Z);
Na execução desse algoritmo, o valor impresso na linha 7 é:
a)
b)
c)
d)
55
89
144
233
QUESTÃO 27
Considere que, no algoritmo em alto nível a seguir, V seja um vetor de inteiros
contendo 100 elementos indexados de 0 a 99, e todas as demais variáveis sejam
inteiras.
1.
2.
3.
4.
5.
6.
7.
C := 0; D := 1;
while (D < 100) do
if V[D] < V[C] then
C := D;
D := D + 1;
end;
write(V[C]);
O objetivo desse algoritmo é:
a)
b)
c)
d)
Imprimir o vetor V em ordem crescente.
Imprimir o vetor V em ordem decrescente.
Imprimir o maior valor armazenado no vetor V.
Imprimir o menor valor armazenado no vetor V.
12
QUESTÃO 28
Considere que no algoritmo em alto nível a seguir, M seja uma matriz de booleanos
contendo 8 linhas, indexadas de 0 a 7, e 3 colunas, indexadas de 0 a 2; X, Y e Z
sejam variáveis inteiras; e todas as demais variáveis sejam booleanas.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
X := 0; Y := 0; Z := 0;
while (X < 8) do
P := M[X][0]; Q := M[X][1]; R := M[X][2];
B1 := (P and Q) or R;
B2 := ((not P) or Q) and R;
B3 := (P or (not Q)) or R;
if B1 or B2 or B3 then
Y := Y + 1;
if B1 and B2 and B3 then
Z := Z + 1;
X := X + 1;
end;
write(Y); write(Z);
Considere ainda que M seja a seguinte matriz:
0
1
2
3
4
5
6
7
0
1
2
true
true
true
true
false
false
false
false
true
true
false
false
true
true
false
false
true
false
true
false
true
false
true
false
Os valores impressos no fim da execução do algoritmo são:
a)
b)
c)
d)
0e5
4e4
7e3
8e8
13
QUESTÃO 29
Considere o seguinte problema: “atribuir zero a todas as posições que contêm
elementos que ocorrem em posições anteriores em um vetor, de modo que cada
valor (diferente de zero) ocorra em uma única posição”.
Suponha que, na solução desse problema, um programador tenha escrito o seguinte
algoritmo em alto nível, no qual V é um vetor de inteiro com 100 posições indexadas
de 0 a 99, e as demais variáveis são inteiras:
1.
2.
3.
4.
5.
6.
i := 1;
while (i < 100) do
if V[i] == V[i – 1] then
V[i] := 0;
i := i + 1;
end
Sobre esse algoritmo, avalie as seguintes afirmativas:
I. O algoritmo produz resultado incorreto sempre que algum valor está
armazenado em mais de duas posições do vetor V.
II. O algoritmo produz resultado incorreto sempre que o primeiro e o último
elementos do vetor são iguais.
III. O algoritmo produz resultado incorreto sempre que todos os elementos do
vetor são diferentes entre si.
As afirmativas CORRETAS são:
a)
b)
c)
d)
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
14
QUESTÃO 30
Considere que, no algoritmo em alto nível a seguir:
•
•
•
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
F seja uma fila contendo inicialmente os valores 1, 2, 3, 4, 5 e 6, nessa ordem;
F1 e F2 sejam filas inicialmente vazias; P1 e P2 sejam pilhas inicialmente vazias;
val seja uma variável inteira;
enqueue(F,x): insere o valor x no fim da fila F; dequeue(F): retira e retorna o
valor da frente da fila F; emptyq(F): retorna verdadeiro se a fila F estiver vazia,
ou falso, caso contrário;
push(P,x): insere o valor x no topo da pilha P; pop(P): retira e retorna o valor do
topo da pilha P; emptys(P): retorna verdadeiro se a pilha P estiver vazia, ou
falso, caso contrário.
while not emptyq(F) do
val := dequeue(F);
push(P1, val);
enqueue(F1, val);
end;
while not emptys(P1) do
push(P2, pop(P1));
enqueue(F2, pop(P1));
end;
while not emptyq(F2) do
enqueue(F1, dequeue(F2));
while not emptys(P2) do
enqueue(F1, pop(P2));
while not emptyq(F1) do
write(dequeue(F1));
O resultado impresso durante a execução desse algoritmo é:
a)
b)
c)
d)
123456531246
642135654321
654321642135
654321123456
15
INSTRUÇÃO: Nas questões 31 e 32, considere que:
•
•
•
•
NIL represente a referência nula;
Node seja um tipo registro que representa um nodo de lista simplesmente
encadeada com os campos value, representando o valor armazenado, e next,
representando um apontador para o nodo seguinte na lista;
List seja um tipo registro que representa uma lista simplesmente encadeada nãocircular com nodo sentinela (ou cabeça); neste registro, o campo sentinel
representa o nodo sentinela da lista;
newNode(x,n) cria um novo nodo cujo campo value contém o valor x e cujo
campo next aponta para o nodo apontado por n; esta função retorna um
apontador para o novo nodo criado.
QUESTÃO 31
Considere que, no algoritmo em alto nível a seguir, L1 e L2 sejam apontadores para
List, e A e B sejam apontadores para Node. Considere também que os valores em
ambas as listas estejam em ordem crescente.
1.
2.
3.
4.
5.
6.
7.
8.
9.
A := L1^.sentinel; B := L2^.sentinel^.next;
while (A^.next
NIL) and (B
NIL) do
if A^.next^.value < B^.value then
A := A^.next;
else if A^.next^.value > B^.value then
B := B^.next;
else
A^.next := A^.next^.next;
end;
O objetivo desse algoritmo é:
a)
b)
c)
d)
Remover da lista L2 todos os elementos que pertencem à lista L1.
Remover da lista L1 todos os elementos que pertencem à lista L2.
Remover da lista L1 todos os elementos que não pertencem à lista L2.
Remover da lista L2 todos os elementos que não pertencem à lista L1.
16
QUESTÃO 32
Considere que, no algoritmo em alto nível incompleto a seguir, L1 e L2 sejam
apontadores para List, de modo que L2 seja inicialmente vazia, e A, B e C sejam
apontadores para Node:
A := L1^.sentinel^.next; B := L2^.sentinel;
while A
NIL do
[código que falta]
end;
Se o objetivo desse algoritmo for “fazer com que L2 seja uma cópia invertida da lista
L1”, então o código representado por [código que falta] deve ser substituído por:
a)
b)
c)
d)
C := newNode(A^.value,
B^.next := C;
A := A^.next;
C := newNode(A^.value,
B^.next := C;
A := A^.next; B := C;
C := newNode(B^.value,
A^.next := C;
A := A^.next;
C := newNode(A^.value,
A^.next := A;
B := C;
B^.next);
B^.next);
B^.next);
A^.next);
QUESTÃO 33
Sobre Tipos Abstratos de Dados (TAD) e a sua implementação em linguagens
orientadas por objetos, considere as seguintes afirmativas:
I. A definição de um TAD deve ser independente da estrutura de dados e da
linguagem de implementação utilizadas.
II. As operações de um TAD devem corresponder a métodos públicos da classe
que o implementa.
III. Todo TAD deve corresponder a uma classe que possui função construtora
sem parâmetros.
As afirmativas VERDADEIRAS são:
a)
b)
c)
d)
I, II e III.
I e II, apenas.
I e III, apenas.
II e III, apenas.
17
QUESTÃO 34
Considere que T1, T2 e T3 sejam tipos abstratos de dados implementados em uma
linguagem orientada por objetos, de modo que T2 é supertipo de T3. Um exemplo de
uso correto de herança e polimorfismo é:
a) T1 possui uma operação F que recebe um argumento do tipo T3; um objeto do
tipo T2 é passado como argumento para a função F.
b) T1 possui uma operação F que recebe um argumento do tipo T2; um objeto do
tipo T3 é passado como argumento para a função F.
c) T1 possui uma operação F que retorna um valor do tipo T2; o resultado retornado
por uma chamada à função F é atribuído a variável do tipo T3.
d) T1 possui uma operação F que retorna um valor do tipo T1; o resultado retornado
por uma chamada à função F é atribuído a variável do tipo T3.
INSTRUÇÃO
Para as questões 35 e 36, considere a modelagem orientada por objetos de um
sistema de informação para uma empresa. Os funcionários dessa empresa estão
organizados de forma hierárquica, tal que cada funcionário, com exceção do
presidente da empresa, é diretamente subordinado a exatamente um funcionário;
este funcionário é o seu supervisor. Funcionários que não são supervisores são
denominados encarregados. O conjunto dos superiores de um funcionário é formado
por seu supervisor, pelo supervisor de seu supervisor, e assim por diante, até se
chegar ao presidente.
Considere, ainda, que o sistema será modelado por meio de um dos dois diagramas
de classe a seguir:
Diagrama 1
Diagrama 2
A relação funcionarios entre as classes Empresa e Funcionario será implementada
por meio de um lista de objetos da classe Funcionario na classe Empresa, e conterá
referências a todos os funcionários da empresa.
18
QUESTÃO 35
Considere que a relação definida no Diagrama 1 seja implementada por meio de um
atributo de nome supervisor na classe Funcionário, de modo que se F1 for
supervisor de F2, então o atributo supervisor do objeto F2 referencia F1.
Considere, ainda, que as seguintes operações devam ser implementadas na classe
Empresa:
I. Dado um funcionário, obter a lista de todos os seus superiores.
II. Obter a lista de todos os encarregados da empresa.
III. Dado um funcionário, obter a lista de todos os seus subordinados.
Dentre essas operações, NÃO podem ser implementadas percorrendo-se uma
única vez a lista de funcionários da classe Empresa:
a)
b)
c)
d)
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
QUESTÃO 36
Considerando-se a relação definida no Diagrama 2, avalie as seguintes afirmativas:
I. Dado um funcionário, é possível obter a lista de todos os seus superiores
percorrendo-se a lista de funcionários da classe Empresa uma única vez.
II. Não é necessário alterar o diagrama para se permitir que um mesmo
funcionário tenha mais do que um supervisor.
III. É possível obter a lista de todos os encarregados da empresa percorrendo-se
a lista de funcionários da classe Empresa uma única vez.
As afirmativas VERDADEIRAS são:
a)
b)
c)
d)
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
19
QUESTÃO 37
Considere as seguintes relações entre classes em um sistema orientado por objetos:
Relação I
Relação II
Relação III
Empresa oferece Serviço
Cliente pode ser Pessoa Física
Serviço possui Etapas
As relações I, II e III são exemplos, respectivamente, de:
a)
b)
c)
d)
Polimorfismo, herança e herança.
Agregação, herança e composição.
Agregação, agregação e composição.
Composição, polimorfismo e herança.
QUESTÃO 38
Analise as seguintes afirmativas sobre modelagem de dados:
I. A normalização do modelo de dados tem o objetivo de eliminar redundâncias
para evitar possíveis inconsistências em bases de dados criadas a partir
desse modelo.
II. Diagramas Entidade-Relacionamento representam os modelos de dados
relacionais e são ferramentas úteis para os administradores de dados, pois
permitem visualizar os esquemas (metadados) dos bancos de dados
implementados.
III. O modelo lógico está intimamente ligado à implementação do banco de
dados, é dependente do SGBD e tem ênfase na eficiência de acesso.
São VERDADEIRAS as afirmativas:
a)
b)
c)
d)
I, apenas.
I e II, apenas.
II e III, apenas.
I, II e III.
20
QUESTÃO 39
Analise as seguintes afirmativas sobre o Diagrama Entidade-Relacionamento:
I. Através do DER podemos expressar todas as restrições de integridade
necessárias de um domínio de aplicação.
II. A cardinalidade mínima indica se a participação das ocorrências de entidades
no relacionamento é obrigatória ou opcional.
III. O DER é um modelo conceitual que independe de detalhes de
implementação, é simples, portanto melhor compreendido por usuários leigos,
e pode ser mapeado para qualquer modelo lógico de banco de dados
relacional.
São VERDADEIRAS as afirmativas:
a)
b)
c)
d)
I, II e III.
I e II apenas.
I e III, apenas.
II e III, apenas.
QUESTÃO 40
Observe os modelos a seguir e identifique
obrigatoriamente uma entidade associativa:
a)
b)
c)
d)
qual
relacionamento
origina
21
QUESTÃO 41
Sobre o comando SQL a seguir, escolha a afirmativa correta:
SELECT depto.nome, funcionario.nome
FROM depto, funcionario
WHERE depto.codigo = funcionário.depto_codigo AND
funcionário.salario > 5000 AND
depto.codigo = ‘Diretoria’ OR depto.codigo = ‘Tenologia’
a) Seleciona os funcionários da Diretoria e da Tecnologia que tenham salário maior
que 5.000.
b) Seleciona os funcionários da Diretoria com salário maior que 5.000 e todos os
funcionários da Tecnologia, independente de salário.
c) Seleciona os funcionários que fazem parte da Diretoria e da Tecnologia,
simultaneamente, e que tenham salário maior que 5.000.
d) Seleciona todos os funcionários com salário maior que 5.000 e ainda os
funcionários da Diretoria e Tecnologia, independente de seus salários.
QUESTÃO 42
Analise as seguintes afirmativas sobre a linguagem SQL:
I. Usando a palavra-chave DISTINCT, podemos evitar que linhas duplicadas
sejam apresentadas no resultado de um comando SELECT.
II. Em um comando SELECT, a cláusula HAVING só poderá ser utilizada em
conjunto com GROUP BY.
III. Expressões aritméticas contendo um valor nulo terão sempre um resultado
nulo. Por exemplo, o comando SELECT saldo + 100 FROM conta resultará
em um valor nulo se a coluna saldo estiver nula.
As afirmativas VERDADEIRAS são:
a)
b)
c)
d)
I e II apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
QUESTÃO 43
São funções agregadas da linguagem SQL padrão, EXCETO:
a)
b)
c)
d)
SUM.
MAX.
DIFF.
AVG.
22
QUESTÃO 44
Observe os comandos SQL a seguir e identifique qual apresentará ERRO ao ser
executado:
a)
SELECT matricula, nome
FROM funcionario
WHERE sal = (SELECT MIN(sal)
FROM funcionario
GROUP BY departamento)
b)
INSERT INTO gerente (matricula, nome, sal)
SELECT matricula, nome, sal
FROM funcionario
WHERE cargo = ‘gerente’
c)
DELETE funcionario
FROM gerente
WHERE funcionario.matricula = gerente.matricula
d)
SELECT nome, cargo, sal as salario
FROM funcionario
QUESTÃO 45
Analise as seguintes afirmativas sobre a modelagem de Casos de Uso:
I. Fluxo de eventos de um caso de uso é composto por um fluxo básico e zero
ou mais fluxos alternativos. Estes descrevem desvios pré-definidos do fluxo
básico.
II. O fluxo básico (principal) descreve a funcionalidade básica do caso em que
tudo corre bem, ou seja, quando nenhum desvio é tomado.
III. Atores são entidades externas ao sistema computacional que participam de
um ou mais casos de uso e que fornecem eventos de entrada ou recebem
alguma resposta do sistema.
São VERDADEIRAS as afirmativas:
a)
b)
c)
d)
I e II, apenas.
I e III apenas.
II e III, apenas.
I, II e III.
23
QUESTÃO 46
São diagramas estruturais da Unified Modeling Language (UML), EXCETO:
a)
b)
c)
d)
Diagrama de objetos.
Diagrama de classes.
Diagrama de componentes.
Diagrama de estados (máquina de estados).
QUESTÃO 47
Marque a alternativa em que a senha do usuário é transmitida de forma criptografada
(codificada) pela rede:
a)
b)
c)
d)
ftp
scp
rlogin
telnet
QUESTÃO 48
Um administrador de rede deseja configurar o programa de correio eletrônico Outlook
Express para acessar as mensagens de sua caixa postal na empresa, a partir de uma
máquina instalada na sua casa, com acesso à internet em banda larga. Ao configurar o
servidor POP3 e SMTP do leitor de e-mail, a ação de enviar um e-mail de teste retorna
o erro: “A mensagem não pôde ser enviada porque o servidor recusou o endereço de email do remetente”. Ele consegue descarregar e ler os e-mails recebidos pelo servidor
da empresa, mas não é capaz de enviar e-mails utilizando o servidor SMTP.
Marque a possível razão do problema:
a) O firewall da empresa recusa acessos via porta 25, utilizada pelo servidor SMTP,
mas libera a porta 110, utilizada pelo servidor POP3.
b) O servidor de proxy da empresa armazena as mensagens recebidas, mas o servidor
de SMTP não pode ser acessado externamente à rede privada da empresa.
c) O servidor da empresa exige autenticação POP3 via SSL para permitir o envio da
mensagem.
d) O filtro IP da empresa não permite que o endereço do remetente não utilize o
domínio da empresa se a mensagem for enviada de uma máquina com IP não
pertencente à empresa.
24
QUESTÃO 49
Sobre segurança de redes, assinale a afirmativa CORRETA:
a) O conjunto de protocolos que implementam segurança em IP, IPSec, quando está
no modo transporte (transport mode), todo o pacote é criptografado e encapsulado
sobre um novo pacote IP.
b) Tunelamento pode ser feito na camada de rede, como no caso do protocolo PPTP
ou na camada de transporte como no caso do VPN/TP.
c) Entre as diretrizes de segurança do LDAP está a possibilidade de se utilizar a pilha
de protocolo TLS/SSL para realizar requisições do tipo BIND.
d) Firewall de proxy (bastion hosts) implementa um protocolo de sessão que filtra os
pacotes baseado em regras pré-estabelecidas, mantendo uma única sessão entre o
remetente e o destinatário.
QUESTÃO 50
Sobre serviços de rede, assinale a afirmativa INCORRETA:
a) NIS (Network Information Service) é um serviço, desenvolvido pela Sun
Microsystems, para distribuição de informações por uma rede, e é muito utilizado
para a implementação de serviços de autenticação e gerenciamento de usuários em
servidores Linux.
b) O DNS (Domain Name System) é um sistema de gerenciamento de nomes
hierárquico e distribuído, que permite resolução de nome de máquina (host name)
para IP e de IP para nome de máquina.
c) O NFS (Network File System) é um sistema de arquivos distribuído que, em
sistemas como o Linux, permite montar automaticamente um diretório remoto na
primeira necessidade de acesso.
d) O IMAP e o POP3 são protocolos de correio eletrônico que têm como recurso
básico a possibilidade de se compartilhar pastas públicas de contas de e-mail entre
grupos de usuários.
ATENÇÃO
COM SUA ESCRITA HABITUAL, TRANSCREVA, PARA O ESPAÇO RESERVADO
PELA COMISSÃO, NA FOLHA DE RESPOSTAS, A SEGUINTE FRASE:
Responsabilidade social: é prioritário que todas as empresas sejam responsáveis pelo
bem-estar de sua comunidade.
Download

11 QUESTÃO 26 Considere que, no algoritmo em alto nível a seguir