Caderno de Provas SISTEMAS DE INFORMAÇÃO Edital Nº. 04/2009-DIGPE 10 de maio de 2009 INSTRUÇÕES PARA A REALIZAÇÃO DA PROVA Use apenas caneta esferográfica azul ou preta. Escreva o seu nome completo e o número do seu documento de identificação no espaço indicado nesta folha. A prova terá duração máxima de 4 (quatro) horas, incluindo o tempo para responder a todas as questões do Caderno de Provas e preencher as Folhas de Respostas. Ao retirar-se definitivamente da sala, entregue as Folhas de Respostas ao fiscal. O Caderno de Provas somente poderá ser levado depois de transcorridas 3 (três) horas do início da aplicação da prova. Confira, com máxima atenção, o Caderno de Provas, observando o número de questões contidas e se há defeito(s) de encadernação e/ou de impressão que dificultem a leitura. Esta prova contém a seguinte numeração e pontuação de questões: Tipo de questão Discursiva Múltipla escolha Total de questões 02 questões 20 questões Pontuação por questão 15 pontos 3,5 pontos Total de pontuação 30 pontos 70 pontos Confira, com máxima atenção, se os dados constantes nas Folhas de Respostas para as questões discursivas e para as questões de múltipla escolha estão corretos. Em havendo falhas em quaisquer das Folhas de Respostas, dirija-se ao fiscal responsável dentro do prazo destinado previamente. As Folhas de Respostas para as questões discursivas estão identificadas com um código que sinaliza a inscrição do candidato. A capa dessas Folhas de Respostas deverá ser assinada no espaço apropriado e, quando solicitado, deverá ser destacada e entregue ao fiscal de sala. As questões discursivas deverão ser respondidas unicamente no espaço destinado para cada resposta. Respostas redigidas fora do espaço reservado serão desconsideradas. Assine, no espaço apropriado, a Folha de Respostas para as questões de múltipla escolha. As Folhas de Respostas não poderão ser rasuradas, dobradas, amassadas ou danificadas. Em hipótese alguma, serão substituídas. Para cada questão de múltipla escolha, existe apenas uma resposta certa. Transfira as respostas para a Folha de Respostas das questões de múltipla escolha somente quando não mais pretender fazer modificações. Não ultrapassando o limite dos círculos. NOME COMPLETO: DOCUMENTO DE IDENTIFICAÇÃO: _____________________________ CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN QUESTÕES DISCURSIVAS ESTAS QUESTÕES DEVERÃO SER RESPONDIDAS NAS FOLHAS DE RESPOSTAS DAS QUESTÕES DISCURSIVAS, MANTENDO O MEMORIAL DE CÁLCULO, QUANDO FOR O CASO. 1. (15 pontos) O formulário de Requisição de Material ilustrado abaixo é utilizado pelos funcionários de uma dada empresa para solicitação de material junto ao setor de almoxarifado. Supondo que a empresa necessita de um projeto de banco de dados para armazenar, de forma mais eficiente, suas requisições de materiais, utilize um esquema de relação e normalize um projeto de banco de dados, com base no formulário de Requisição de Material apresentado, deixando-o na terceira forma normal. Na área de resposta devem constar, também, a primeira e a segunda forma normal. Código Requisição: Código usuário: Código Setor: Formulário de Requisição de Material Data Requisição: 1200 14780 03 Nome usuário: Nome Setor: 22/03/1890 Pascal Recursos Humanos Itens da Requisição Código do Produto 15 3 9 45 33 2. Descrição do Produto Lápis grafite Caneta Azul Caneta Preta Caneta Vermelha Resma de Papel Quantidade 2 3 2 1 1 (15 pontos) A figura, abaixo, representa um diagrama de classes da UML. Com base nessa figura, codifique na Linguagem de Programação Java, EXATAMENTE, o que é especificado no diagrama de classes ilustrado. Diagrama de classes PROFESSOR_SISTEMAS DE INFORMAÇÃO 1 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN QUESTÕES DE MÚLTIPLA ESCOLHA AS RESPOSTAS DESTAS QUESTÕES DEVERÃO SER ASSINALADAS NA FOLHA DE RESPOSTAS DAS QUESTÕES DE MÚLTIPLA ESCOLHA. 1. (3,5 pontos) O código, abaixo, apresenta a implementação de uma classe na linguagem de programação Java. Com base nessa classe, marque a alternativa verdadeira. public final class Password { private String senha; public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } } a) Esta classe não poderá ser estendida por outras classes, porém seus métodos poderão ser sobrescritos. b) Esta classe não poderá ser estendida por outras classes. c) Esta classe poderá ser estendida por outra classe. d) Esta classe poderá ser estendida por outra classe, porém seus métodos não poderão ser sobrescritos. 2. (3,5 pontos) O código em Java, abaixo, ordena o array a: public static void ordena(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - i - 1; j++) { if (a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } } Assinale a alternativa que representa o método de ordenação utilizado pelo método ordena. a) b) c) d) 3. Bubble sort. Insert sort. Select sort. Merge sort. (3,5 pontos) Em linguagens orientadas a objetos, os conceitos de ligação tardia e sobrecarga de métodos referem-se a: a) b) c) d) Herança. Objetos. Polimorfismo. Encapsulamento. PROFESSOR_SISTEMAS DE INFORMAÇÃO 2 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 4. (3,5 pontos) Analise as afirmações abaixo: I. A linguagem Java é uma clara realização do paradigma imperativo (procedimental). II. As linguagens Java e C++ são linguagens orientadas a objetos e implementam o conceito de herança múltipla. Em Java, isso é feito através das interfaces. III. As linguagens orientadas a objetos utilizam o conceito de mensagem para efetuar a comunicação entre os objetos. Assinale a quantidade de afirmações corretas: a) b) c) d) 5. 0 1 2 3 (3,5 pontos) Esta questão trata dos campos final da Linguagem de Programação Java. Com base nos itens abaixo, marque a alternativa CORRETA. I. Uma variável final é aquela cujo valor não pode ser alterado após ter sido inicializado. Qualquer tentativa de atribuição a esse campo produzirá um erro de compilação. II. Uma variável final é aquela cujo valor não pode ser alterado após ter sido inicializado. Qualquer tentativa de atribuição a esse campo produzirá um erro de execução. III. O compilador Java não compila uma classe se verificar que um campo final não foi inicializado. a) b) c) d) 6. (3,5 pontos) Assinale a alternativa que contém um método de ordenação que se baseia no padrão de projeto divisão e conquista. Esse método utiliza um elemento pivô para realizar a ordenação a) b) c) d) 7. Apenas o item II é verdadeiro. Os itens I e III são falsos. Os itens I e III são verdadeiros. Os itens I, II e III são verdadeiros. Quick sort. Merge sort. Insert sort. Select sort. (3,5 pontos) Com relação à cláusula having da linguagem SQL, marque a alternativa verdadeira: a) A cláusula having pode ser utilizada quando se deseja realizar uma consulta SQL, aplicada a determinado agrupamento de tuplas. Nesse caso, deve sempre vir depois da cláusula order by. b) A cláusula having pode ser utilizada quando se deseja realizar uma consulta SQL, aplicada a determinado agrupamento de tuplas. Nesse caso, deve sempre vir antes da cláusula order by. c) A cláusula having pode ser utilizada quando se deseja realizar uma consulta SQL, aplicada a determinado agrupamento de tuplas. Nesse caso, deve sempre vir depois da cláusula group by. d) A cláusula having pode ser utilizada quando se deseja realizar uma consulta SQL, aplicada a determinado agrupamento de tuplas. Nesse caso, deve sempre vir antes da cláusula group by. 8. um um um um (3,5 pontos) O acesso Público, Privado, Pacote e Protegido em UML é especificado, respectivamente, através dos símbolos: a) b) c) d) +,-,~ e #. +,-,# e ~. +,#,~ e -. #,+,- e ~. PROFESSOR_SISTEMAS DE INFORMAÇÃO 3 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 9. (3,5 pontos) Analise o script SQL, abaixo: CREATE TABLE curso ( id_curso int NOT NULL, nome varchar(100) NOT NULL, PRIMARY KEY (id_curso) ); CREATE TABLE aluno ( matricula varchar(20) NOT NULL, nome varchar(100) NOT NULL, id_curso int, PRIMARY KEY (matricula), FOREIGN KEY (id_curso) REFERENCES curso ); Com relação ao termo FOREIGN KEY, utilizado no script de criação da tabela aluno, marque a alternativa que corresponde CORRETAMENTE ao conceito de integridade que está sendo implementado. a) b) c) d) Integridade Funcional. Integridade Relacional. Integridade Transacional. Integridade Referencial. 10. (3,5 pontos) Com base nos elementos e atributos XHTML, marque a alternativa CORRETA. I. II. III. IV. Todo texto colocado entre as marcas <p></p> forma um parágrafo. O atributo img do elemento src especifica a localização de uma imagem. Cada documento XHTML contém uma marca de abertura <xhtml> e de finalização </xhtml>. O atributo atl torna as páginas Web mais acessíveis aos usuários com deficiências, especialmente aqueles com deficiência visual. a) b) c) d) São verdadeiros os itens I, II, III e IV. São verdadeiros os itens I e III. São verdadeiros os itens I e IV. Apenas o item II é falso. 11. (3,5 pontos) Analise o seguinte código Java, abaixo: 1 2 3 4 5 6 7 8 9 10 11 12 public class test { public static void main(String[] SSn10) { int a[]={1,2,3,4,5}; int b[]={1,2,3,4,5,6,7,8,9,10}; final int tam=a.length; for(int f=0;f<tam;f++) a[f]*=a[f]*f; tam=b.length; for(int f=0;f<tam;f++) b[f]+=a[f/2]%(f+1); } } Assinale a alternativa que contém o número da linha do código acima que promove um erro de compilação. a) b) c) d) 2 7 8 10 PROFESSOR_SISTEMAS DE INFORMAÇÃO 4 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 12. (3,5 pontos) Observe as tabelas, abaixo: Tabela Servidor Tabela Funcao Resultado da Consulta A tabela Resultado da Consulta mostra a soma paga por função aos servidores, não incluída a função Administrador. Assinale a alternativa que mostra a consulta em SQL que foi executada para obter EXATAMENTE o resultado mostrado na tabela Resultado da Consulta. a) SELECT Funcao.codigo_funcao, Funcao.nome, sum (salario) AS TotalPagoPorFuncao FROM Funcao, Servidor WHERE Funcao.nome<>'Administrador' AND Funcao.codigo_funcao=Servidor.codigo_funcao GROUP BY Funcao.codigo_funcao. b) SELECT Funcao.codigo_funcao, Funcao.nome, sum (salario) FROM Funcao, Servidor WHERE Funcao.nome<>'Administrador' AND Funcao.codigo_funcao=Servidor.codigo_funcao GROUP BY Funcao.nome, Funcao.codigo_funcao. c) SELECT Funcao.codigo_funcao, Funcao.nome, sum (salario) AS TotalPagoPorFuncao FROM Funcao, Servidor WHERE Funcao.codigo_funcao=Servidor.codigo_funcao GROUP BY Funcao.nome, Funcao.codigo_funcao. d) SELECT Funcao.codigo_funcao, Funcao.nome, sum (salario) AS TotalPagoPorFuncao FROM Funcao, Servidor WHERE Funcao.nome<>'Administrador' AND Funcao.codigo_funcao=Servidor.codigo_funcao GROUP BY Funcao.nome, Funcao.codigo_funcao. PROFESSOR_SISTEMAS DE INFORMAÇÃO 5 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 13. (3,5 pontos) O código, abaixo, apresenta um trecho de código em PHP. Com base nesse código, marque a alternativa que mostra o resultado CORRETO de saída, quando o Script PHP for executado. a) b) c) d) A = $a | B = $b A = 21 | B = 11 - IFRN A = 1011 - IFRN | B = 11 - IFRN Não irá executar, pois gerará um erro, visto que não é possível somar um Inteiro com uma String, como ocorre na linha 5. 14. (3,5 pontos) O código, abaixo, apresenta a implementação de uma classe na linguagem de programação Java. Análise criteriosamente esse código e marque a alternativa que corresponde ao respectivo conteúdo de saída após a execução do programa. public class Operador { public static void main(String[] args) { int a = 100; int b = 10; double c = 10.5; a = b = (int) c; System.out.print(" | " + a+++ " | "); if (a++ < 12 || ++b > 5){ System.out.print(b + " | "); }else{ System.out.println(c + " | "); } } } a) b) c) d) | 10 | 9 | | 10 | 10 | | 10 | 10.5 | | 11 | 9 | 15. (3,5 pontos) Dada uma variável P do tipo ponteiro em Delphi, assinale a alternativa que representa corretamente a área de memória apontada pelo ponteiro P. a) b) c) d) *P &P @P ^P PROFESSOR_SISTEMAS DE INFORMAÇÃO 6 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 16. (3,5 pontos) Dado um array x com 6 elementos(int x[]={1,2,3,4,5,6}) em C++, qual das alternativas abaixo é a forma correta para acessar o terceiro elemento do array? a) b) c) d) (x+3) *(x+2) *(x+3) &(x+2) 17. (3,5 pontos) Dada a seguinte classe Java: public class test { public static void main(String[] args){ for(int f=1;f<=10;f<<=1) System.out.print(f+" "); } } Assinale a alternativa correta. a) b) c) d) Obtém-se como saída: 1 2 4 8 Obtém-se como saída: 1 2 3 4 5 6 7 8 9 10 Obtém-se como saída: 2 4 8 10 A execução não termina, pois o critério de parada (f<=10) nunca é satisfeito. 18. (3,5 pontos) Abaixo é apresentado um trecho de código em PHP. Com base nesse código, marque a alternativa que mostra o resultado CORRETO de saída, quando o Script PHP for executado. a) b) c) d) A = 40 e B = 10 A = 40 e B = 20 A = 40 e B = 40 A = $a e B = $b 19. (3,5 pontos) Após a execução do trecho de código em Java, abaixo: int a[]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; for(i=0;i<9;i+=2) s=s+a[i]++-++a[9-i]; O valor da variável s é: a) b) c) d) -11 -10 -9 -8 PROFESSOR_SISTEMAS DE INFORMAÇÃO 7 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN 20. (3,5 pontos) O código, abaixo, apresenta a implementação de uma classe na linguagem de programação Java. Analise criteriosamente esse código e marque a alternativa que corresponde ao respectivo conteúdo de saída, após a execução do programa. public class Estrela { public String nome; public Estrela (){ } public Estrela(String nome){ this.nome = nome; } public void trocarNome(Estrela estrela){ this.nome = "Dalva"; estrela = null; } public static void main(String[] args) { Estrela estrela = new Estrela(); System.out.print(estrela.nome + " | "); } } a) b) c) d) Ursa Maior | Dalva Ursa Maior | null Ursa Maior | Exception in thread "main" java.lang.NullPointerException Exception in thread "main" java.lang.NullPointerException PROFESSOR_SISTEMAS DE INFORMAÇÃO 8 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN FOLHA PARA RASCUNHO PROFESSOR_SISTEMAS DE INFORMAÇÃO 9 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN FOLHA PARA RASCUNHO PROFESSOR_SISTEMAS DE INFORMAÇÃO 10 CONCURSO PÚBLICO – GRUPO MAGISTÉRIO EDITAL Nº. 04/2009-DIGPE/IFRN FOLHA PARA RASCUNHO PROFESSOR_SISTEMAS DE INFORMAÇÃO 11