Prévia do material em texto
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
1
SELEÇÃO PÚBLICA PARA A CONTRATAÇÃO POR TEMPO DETERMINADO
DE PROFISSIONAIS DE DIVERSAS ÁREAS PARA O IPLANFOR
EDITAL Nº 72/2014
PROVA PARA PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
(NÍVEL MÉDIO)
LEIA COM ATENÇÃO E SIGA RIGOROSAMENTE ESTAS INSTRUÇÕES
1. Examine se a prova está completa e se há falhas ou imperfeições gráficas que causem dúvidas. Qualquer
reclamação somente será aceita até os 15 minutos iniciais.
2. A prova consistirá de 40 questões com quatro alternativas (A, B, C e D), das quais apenas uma é verdadeira.
Utilize somente caneta de tinta azul ou preta. Marque seu cartão-resposta, pintando completamente o
espaço referente a sua resposta, como no modelo abaixo:
A B C D
Ex.:
3. A leitora de marcas não registrará as respostas em que houver falta de nitidez, uso de corretivo, marcação a
lápis e/ou marcação de mais de uma letra.
4. O cartão-resposta não pode ser dobrado, amassado, rasurado ou manchado. Exceto sua assinatura, nada deve
ser escrito ou registrado fora do espaço destinado às respostas.
5. Verifique se o seu nome e o número de inscrição estão corretos no cartão-resposta. Se houver erro,
comunique-o ao fiscal. Não se esqueça de assiná-lo.
6. Durante a prova, é vetado o intercâmbio e o empréstimo de material de qualquer natureza entre os
candidatos. A fraude ou tentativa de fraude, a indisciplina e o desrespeito às autoridades encarregadas dos
trabalhos são faltas que desclassificarão o candidato.
7. De acordo com o subitem 8.10, do Edital nº 72/2014, durante a realização da prova escrita objetiva, são
terminantemente proibidos aos candidatos qualquer espécie de consulta e comunicação entre eles, a
utilização ou o porte de lápis, borracha, lapiseira, livros, manuais, impressos ou anotações, máquinas
calculadoras, boné, artigos de chapelaria, óculos escuros, relógios, agendas eletrônicas ou similares, telefone
celular, bip, e-books, walkman, MP3 player, ipod, iphone, gravador ou qualquer outro receptor ou transmissor
de mensagens e dados. Caso haja a desobediência a esta instrução, o candidato será eliminado do certame.
8. Ao terminar, entregue ao fiscal a prova e o cartão-resposta assinado, que é o único documento válido para
correção.
PROVA OBJETIVA
DATA: 01 DE MARÇO DE 2015
DURAÇÃO: 03 HORAS
INÍCIO: 14 HORAS - TÉRMINO: 17 HORAS
_____________________________________________________
NOME EM LETRA DE FORMA
___________________________________________
ASSINATURA DO CANDIDATO
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
2
LÍNGUA PORTUGUESA
Leia atentamente o texto abaixo e responda às questões.
ESCRITA E FIXAÇÃO DE INFORMAÇÃO
01
02
03
04
05
06
07
08
09
Com a correria do dia a dia e a tecnologia ao alcance de todos, escrever à mão tornou-se algo
menos frequente. Mas pesquisadores da Universidade de Princeton, nos Estados Unidos, elucidaram
que nem sempre o que se apresenta como mais fácil é o melhor método. Eles explicaram que
escrever aumenta a memorização das informações. Estudo realizado pelo psicólogo Daniel
Oppenheimer comprovou, por meio de um teste aplicado a estudantes, que após 30 minutos da
apresentação de uma palestra, quando interrogados sobre o assunto abordado, os voluntários que
digitaram no notebook, apesar de terem anotado uma grande quantidade de texto, conseguiram
assimilar bem menos as explicações do tema proposto – diferente do que aconteceu com o grupo
que escreveu à mão.
(Revista Extrafarma. 10 ed. Nov. e dez. 2014, p. 16)
01. O propósito comunicativo do texto em análise é:
a) denunciar
b) descrever
c) informar
d) criticar
02. De acordo com o texto, é incorreto afirmar que:
a) obtêm-se mais informações quando se escreve
b) a quantidade de informações apreendidas pode variar
c) o número de informações retidas apresenta-se menor ao se digitar
d) a mesma quantidade de informações se pode obter ao digitar ou escrever
03. Existe entre “a correria do dia a dia e a tecnologia ao alcance de todos” e o fato de escrever a mão ter-se
tornado menos frequente, respectivamente, uma relação de:
a) causa e efeito
b) efeito e causa
c) condição e hipótese
d) hipótese e condição
04. Observe este trecho “Eles explicaram que escrever aumenta a memorização das informações” (l. 03 e 04). Com
base nele, assinale a opção verdadeira.
a) Nesse trecho, existe apenas um artigo definido
b) Há mais substantivos do que verbos nesse trecho
c) Contam-se, nesse trecho, mais verbos do que substantivos
d) Observam-se dois pronomes pessoais nesse fragmento de texto
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
3
05. A locução adverbial “após 30 minutos da apresentação de uma palestra” (l. 05 e 06) é composta de:
a) um advérbio, um numeral, um substantivo, uma preposição, um substantivo, uma preposição, um artigo
definido e um substantivo
b) uma preposição, um numeral, um substantivo, uma contração, um substantivo, uma preposição, um artigo
indefinido e um substantivo
c) uma preposição, um substantivo, um substantivo, uma contração, um substantivo, uma preposição, um
artigo indefinido e um substantivo
d) um advérbio, um numeral, um substantivo, uma preposição, um artigo definido, um substantivo, uma
preposição, um artigo definido e um substantivo
06. No excerto “que escreveu à mão” (l. 09), o verbo escrever apresenta que tipo de regência?
a) É transitivo indireto
b) É um verbo intransitivo
c) É um verbo bitransitivo
d) É um verbo transitivo direto
07. Caso se trocasse o termo “escrever” (l. 01) pelo termo textos, como esse trecho deveria ser reescrito?
a) Textos à mão tornou-se algo menos frequente
b) Textos à mão tornaram-se algo menos frequente
c) Textos à mão tornaram-se algo menos frequentes
d) Textos à mão tornaram-se algos menos frequentes
08. Considere-se este verso da música Tua presença, de Paulo César Baruk, “Eu correria o mundo se não estivesses
aqui”. A relação semântica existente entre a palavra sublinhada nesse verso e a palavra “correria” (l. 01) é de:
a) homonímia
b) sinonímia
c) antonímia
d) paronímia
09. Aponte a frase em que o termo destacado apresenta oposição semântica com o verbo “assimilar” (l. 08).
a) Daniel Oppenheimer decidiu agregar mais dados relevantes a sua pesquisa
b) Os leitores desse texto poderão absorver bem mais informações se escreverem a mão
c) Os estudantes que assistiram à palestra não puderam participar de outras pesquisas na área
d) Os pesquisadores de Princeton chegaram a esquecer as teorias da neurolinguística acerca disso
10. Em conformidade com o Acordo Ortográfico da Língua Portuguesa (AOLP 1990), em vigor desde 1º de janeiro
de 2009, é correto asseverar que:
a) se deve grafar com hifens apenas a locução adverbial dia-a-dia
b) se trata de um erro de ortografia, pois o substantivo dia-a-dia tem hifens
c) o substantivo dia a dia não se grafa mais com hifens por causa desse acordo
d) o substantivo dia a dia apresenta duas maneiras de ser grafada, ou seja, com ou sem hífenes
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
4
CONHECIMENTOS ESPECÍFICOS
11. Sobre métodos e variáveis estáticas em Java, julgue os itens abaixo.
I. Métodos estáticospodem usar variáveis de instância.
II. Métodos estáticos não podem invocar métodos não estáticos.
III. Uma variável estática fornece um valor compartilhado para todas as instâncias de uma classe.
Dessas afirmações:
a) apenas II está correta.
b) apenas I e II estão corretas.
c) apenas II e III estão corretas.
d) todas estão corretas.
12. Sobre Classes e Métodos abstratos em Java, é correto afirmar.
a) A existência de um método abstrato não obriga a classe também ser abstrata.
b) Uma classe abstrata contém apenas métodos abstratos.
c) Um método abstrato pode ou não conter instruções.
d) Uma classe abstrata significa que ela deve ser estendida, um método abstrato significa que ele deve ser
sobreposto.
13. Em Java, um método pode lançar uma exceção quando algo falha no tempo de execução. Sobre o Tratamento
de Exceções em Java, é correto afirmar.
a) Se um bloco try ou catch tiver uma instrução de retorno, o bloco finally não será executado.
b) Um método lança uma exceção através da palavra-chave throws, seguida de uma instância da classe do
tipo da exceção.
c) Uma exceção é sempre um objeto do tipo RuntimeException.
d) O bloco finally é responsável por capturar e tratar uma exceção lançada.
14. Considere o seguinte código Java:
public class MyClass {
public static void main (String[] args) {
int x = 1;
while (x) {
System.out.println(”Olá“);
}
}
}
Sobre esse código, é correto afirmar.
a) Se tentarmos compilar esse código, ocorrerá um erro de compilação.
b) O código é compilável e, quando for executado, irá imprimir “Olá” uma única vez.
c) O código é compilável e, quando for executado, irá imprimir “Olá” infinitas vezes.
d) O código é compilável e, quando for executado, causará um erro de execução.
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
5
15. São considerados tipos de dados primitivos da linguagem Java:
a) int, double e bit.
b) short, float e natural.
c) long, short e char.
d) double, float e real.
16. Sobre variáveis na Linguagem Java, é incorreto afirmar.
a) As variáveis de instância são declaradas dentro de uma classe e fora de todos os métodos.
b) As variáveis locais são declaradas dentro de um método.
c) As subclasses herdam as variáveis de instância e locais da superclasse.
d) As variáveis de instância não podem ser sobrepostas.
17. Sobre herança em Java, julgue os itens a seguir.
I. Para uma Classe1 qualquer estender uma Classe2, deve-se usar a palavra-chave extends seguida pelo nome
da classe pai (Classe2), durante a declaração da Classe1.
II. Uma superclasse pode utilizar um método criado em uma de suas subclasses.
III. Java não implementa herança múltipla.
IV. É possível estender qualquer tipo de classe.
V. Os membros privados da superclasse não são herdados pelas subclasses.
Estão corretos os seguintes itens:
a) I e II, apenas.
b) I, III e V, apenas.
c) II, III e IV, apenas.
d) I, II, III, IV e V.
18. Todas as Classes Java devem conter um método Construtor. Um construtor é um código que é executado
através do uso da palavra-reservada new, permitindo que novos objetos sejam instanciados. Sobre os
construtores, é correto afirmar.
a) Pode-se atribuir valores às variáveis de instância do objeto dentro do construtor.
b) Pode-se criar apenas um construtor em uma classe.
c) Um construtor marcado como privado não impede que uma classe seja instanciada com o new.
d) Classes abstratas não podem ter construtores.
19. Considere a seguinte afirmação:
Java é uma linguagem de programação com sintaxe amigável e que segue o paradigma de programação
____________. A garantia da ____________ permite que um programa Java possa ser executado em qualquer
plataforma. Para desenvolver um aplicativo Java, o desenvolvedor deve, inicialmente, escrever um arquivo
código-fonte com a extensão ____________. Em seguida, esse código deve passar por um compilador que
criará um novo documento, codificado em ____________ Java. Tal documento possuirá a extensão
____________. Por fim, o desenvolvedor deverá usar a JVM para executar a aplicação.
Assinale a alternativa que contém os itens que completam a frase acima:
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
6
a) funcional – autenticidade – .class – bytecodes –.java.
b) orientado a objetos – portabilidade – .java – binário – .class.
c) procedimental – confiabilidade – .class – binário – .exe.
d) orientado a objetos – portabilidade – .java – bytecodes – .class.
20. Sobre o Gerenciamento de Memória em Java, é correto afirmar que:
a) todos os objetos instanciados residem na Heap, independente de a referência ser uma variável local ou de
instância.
b) as chamadas de métodos e as variáveis locais residem na Pilha.
c) se a variável de instância for a referência de um objeto, tanto esta variável como o objeto que ela
referencia ficarão na Pilha.
d) um objeto sem uma variável que o referencie, é um candidato a exclusão pelo Garbage Collector.
21. Sobre a Linguagem Java, assinale a alternativa falsa.
a) Apenas as classes abstratas devem ser subclasses da classe Object.
b) O modificador final pode ser aplicado tanto em classes como em métodos. Impedindo que uma classe seja
estendida e um método seja sobreposto.
c) Todos os métodos de uma interface devem ser abstratos, ou seja, uma classe que implementa uma
interface deve implementar todos os métodos desta interface.
d) Para chamar um método com a versão da superclasse a partir da subclasse que o tenha sobreposto, usa-se
o comando super.
22. Considere a seguinte estrutura de diretórios de um projeto Web Java:
Sobre os diretórios e arquivos presentes nessa estrutura, é correto afirmar.
a) O diretório WebContent armazena o conteúdo raiz do aplicativo Web. Nesta pasta deve-se incluir, por
exemplo, as páginas HTML, jsp e css e as imagens.
b) O web.xml é o arquivo onde ficarão armazenadas configurações relativas a sua aplicação, tais como:
mapeamento de uma URL específica para uma servlet; configuração de uma página de erro, caso aconteça
uma Exception e tratamento de códigos de erro HTTP.
c) Todo projeto web Java tem que possuir o diretório WEB-INF, que é acessível tanto via Web como
internamente. Essa pasta armazena os arquivos de configuração, bibliotecas e classes.
d) O Java Resources fornece acesso aos arquivos compilados (.class) do projeto, incluindo todos os packages da
aplicação.
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
7
23. Considere o método Java abaixo:
public void service (Cliente cliente) {
String sql = "insert into clientes " +
"(nome,email,endereco,dataNascimento)" +
" values (?,?,?,?)";
try {
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/empresa", "root", "");
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1,cliente.getNome());
stmt.setString(2, cliente.getEmail());
stmt.setString(3, cliente.getEndereco());
stmt.setDate(4, new Date(
cliente.getDataNascimento().getTimeInMillis()));
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
conn.close();
}
}
Assinale a alternativa que descreve, corretamente, a função deste método.
a) Utilizando um driver JPA, acessa o sistema de gerenciamento de banco de dados PostgreSQL para inserir
um novo registro na tabela empresa, no banco de dados clientes.
b) Utilizando um driver JDBC, acessa o sistema de gerenciamento de banco de dados PostgreSQL para inserir
um novo registro na tabela clientes no banco de dados empresa.
c) Utilizando um driver JDBC, acessa o sistemade gerenciamento de banco de dados MySQL para inserir um
novo registro na tabela clientes, no banco de dados empresa.
d) Utilizando um driver JPA, acessa o sistema de gerenciamento de banco de dados MySQL para inserir um
novo registro na tabela empresa, no banco de dados clientes.
24. Os Servlets são classes Java que são executadas em um servidor Web. Eles permitem uma interação do cliente
com uma página Web, habilitando a criação de páginas dinâmicas. Sobre os Servlets, assinale a alternativa
verdadeira:
a) A interface Servlet define exatamente como uma servlet funciona, possibilitando apenas o uso do HTTP
como protocolo de comunicação.
b) Um servlet é instanciado uma única vez e esse único objeto será usado para atender a todas as requisições
de todos os clientes, utilizando threads separadas.
c) Apenas o método POST do HTTP pode ser utilizado para o envio de requisições para um servlet.
d) A anotação @WebServlet permite definir uma classe como um servlet. Entretanto, a url-pattern ainda deve
ser configurada no arquivo web.xml.
25. O JSP (JavaServer Pages) permite inserir comandos Java dentro de uma página HTML. Para tal, basta escrever
o código entre as tags . Tal código é denominado de:
a) Método Estático.
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
8
b) Scriptlet.
c) Diretiva.
d) Bloco de Controle.
26. Sobre a aplicação do padrão arquitetural MVC (Model View Controller) em Aplicações Web Java, julgue os itens
abaixo.
I. A camada View pode ser implementada pelo JSP (JavaServer Pages), sendo este responsável por apresentar
os resultados na página Web.
II. Os Servlets podem ser utilizados como a camada Controller, realizando os despachos para quem deve
executar determinada tarefa.
III. As JavaBeans e as Classes DAO são as representantes da camada Model, representando as entidades e
ajudando a buscar e atualizar os dados, respectivamente.
Dessas afirmações:
a) apenas I está correta.
b) apenas I e II estão corretas.
c) apenas II e III estão corretas.
d) todas estão corretas.
27. Considere o código Java abaixo:
import java.sql.Date;
import java.util.List;
import javax.persistence.*;
import java.io.Serializable;
@Entity
@Table(name="clientes_da_empresa")
public class Cliente implements Serializable{
private static final long serialVersionUID = -170585963265895633L;
@Id
@GeneratedValue
@Column(name="cod_cliente")
private Integer codigo;
@Column(nome="nome_cliente", length=100, nullable=false)
private String nome;
@Column(nome="tel_cliente", length=12, nullable=false)
private String telefone;
@OneToMany(mappedBy="cliente")
private List enderecos;
@Column(nome="dat_nasc_cliente", nullable=false)
private Date datNascimento;
@Column(nome="obs_cliente", nullable=true)
private String observacao;
/*Para esta questão, os métodos gets, sets, hashCode e equals foram ocultados para uma melhor
visualização*/
}
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
9
Ele define um mapeamento de uma classe para uma tabela de um banco de dados, através de anotações JPA
(Java Persistence API). Sobre o código acima, assinale a alternativa verdadeira.
a) O uso do mappedBy dentro da anotação @OneToMany, define um relacionamento bidirecional com a
classe Endereço.
b) O uso da propriedade nullable, dentro da anotação @Column, define se a coluna pode ou não aceitar
valores nulos. Caso não aceite valor nulo, essa propriedade deve ser configurada como true.
c) O @Table específica a tabela do banco de dados que será associada à classe. Tanto a tabela como a classe
possuem o nome Cliente.
d) A anotação @GeneratedValue indica que o valor gerado será incremental, independente da existência de
uma estratégia prévia de determinado banco.
28. Considere os dois códigos Java abaixo:
1 – CalculadoraArea.java
public interface CalculadoraArea {
double quadrado (double lado);
double retangulo (double base, double altura);
}
2 – CalculadoraAreaBean.java
@Stateless
@Local(CalculadoraArea.class)
public class CalculadoraAreaBean implements CalculadoraArea {
public double quadrado (double lado) {
return lado*lado;
}
public double retangulo (double base, double altura) {
return base*altura;
}
}
Esses códigos definem uma Session Bean. Uma Session Bean (SB) é o tipo mais simples de um EJB (Enterprise
Java Beans) e é executada com o propósito de realizar uma operação de negócio específica. Sobre a SB
definida nos códigos acima (CalculadoraArea.java e CalculadoraAreaBean.java), assinale a afirmativa correta.
a) Armazena o estado conversacional, ou seja, a execução de um método depende das suas execuções
anteriores.
b) Para acessar os métodos desta SB, a partir de um Managed Bean JSF, basta declarar uma variável de
referência para a interface CalculadoraArea e marcá-la com a anotação @Stateful.
c) Essa SB não pode ser acessada a partir de Servlets.
d) Essa SB é acessível apenas por aplicações que são executadas no mesmo servidor de aplicação desta SB.
29. Em JSF (JavaServer Faces), para que as páginas a serem criadas possam ter acesso às propriedades e operações
de uma determinada Managed Bean, é necessário fazer um mapeamento da classe. Esse mapeamento pode
ser feito através de um arquivo, ou via Annotations. Assinale a alternativa que contém o nome do arquivo e a
anotação a ser utilizada neste mapeamento, respectivamente.
a) web.xml e @WebBean.
b) faces-config.xml e @ManagedBean.
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
10
c) mapping,cgf e @Bean.
d) faces-config.xml e @WebBean.
30. Sobre os diagramas UML (Unified Modeling Language), assinale a alternativa falsa.
a) O Diagrama de Caso de Uso modela o comportamento de um sistema, subsistema ou de uma classe. Para
tal, ele descreve o que um sistema faz através de sequências de ações, mas não especifica como isso é
feito.
b) O Diagrama de Classe permite realizar uma modelagem estática de objetos, ilustrando classes, interfaces e
suas associações.
c) O Diagrama de Sequência ilustra os eventos de entrada e saída de um sistema, modelando um cenário
específico de um caso de uso, os eventos que os atores externos geram, sua ordem e os eventos entre os
sistemas.
d) O Diagrama de Atividades ilustra os eventos e os estados interessantes de um objeto, além do
comportamento de um objeto em resposta a um evento.
31. A figura abaixo ilustra um diagrama UML (Unified Modeling Language). Assinale a alternativa que corresponde
ao nome deste diagrama.
a) Diagrama de Classe.
b) Diagrama de Implantação.
c) Diagrama de Sequência.
d) Diagrama de Artefatos.
32. Sobre o tipo string em PHP, é incorreto afirmar.
a) A função strstr() permite encontrar a primeira ocorrência de uma string.
b) Nome de variáveis serão substituídos pelos seus valores, quando a string está delimitada por aspas duplas.
c) Strings podem ser concatenados utilizando o operador '+' (soma).
d) Você pode converter um valor para string utilizando o cast (string), ou a função strval().
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
11
33. A linguagem PHP permite a definição de funções pelo desenvolvedor. Sobre funções em PHP, é correto
afirmar.
a) O PHP, por padrão, realiza a passagem de argumentos por referência em funções.
b) As funções não precisam ser criadas antes de serem referenciadas, exceto quando uma função é
condicionalmente definida, ou seja, definida dentro de umbloco IF.
c) Qualquer código PHP válido pode aparecer dentro de uma função, exceto definições de classes.
d) Não é possível definir funções dentro de outras funções.
34. A linguagem PHP permite o desenvolvimento de scripts usando o paradigma Orientado a Objetos. Neste caso,
podemos definir Classes compostas de propriedades (campos) e métodos. Sobre essas propriedades e
métodos, julgue os itens abaixo.
I. A declaração de uma propriedade (campo) em uma classe pode incluir uma inicialização, mas esta deve ser
um valor constante.
II. Dentro dos métodos de um classe, propriedades (campos) não estáticas deve ser acessados usando o
operador :: (duplo dois pontos). Por outro lado, as propriedades estáticas são acessadas usando o operador
-> (operador objeto).
III. A visibilidade de uma propriedade ou método pode ser definida prefixando a declaração com as palavras-
chave: 'public','protected' ou 'private'. Entretanto, se nenhuma declaração de visibilidade for usada, a
propriedade ou método será tratado como se fosse declarado como public.
IV. A pseudovariável $this não está disponível dentro de um método declarado como estático.
Estão corretos os seguintes itens:
a) I, III e IV, apenas.
b) I, II e III, apenas.
c) II, III e IV, apenas.
d) I, II, III, IV.
35. Considere o script PHP abaixo:
Ao final da execução desse código, a função print_r() irá imprimir a seguinte saída:
a)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
12
b)
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
)
c)
Array
(
[0] => 3
[1] => 4
[2] => 5
[3] => 6
)
d)
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
)
36. Sobre Herança em PHP, assinale a alternativa verdadeira.
a) Uma classe pode herdar métodos e membros de outra classe usando a palavra-chave extends na sua
declaração. Além disso, é possível herdar múltiplas classes (herança múltipla).
b) Uma subclasse pode acessar os métodos sobrescritos ou membros estáticos da superclasse referenciando-
os com self::
c) Os métodos herdados podem ser sobrescritos redeclarando-os com o mesmo nome definido na classe pai,
a não ser que esta os tenha definido com o modificador abstract.
d) Construtores das superclasses não são chamados implicitamente se a subclasse define um construtor. Para
executar o construtor da superclasse, uma chamada a parent::__construct() dentro do construtor da
subclasse é necessária.
37. Na linguagem PHP existem as variáveis Superglobais, que consistem em variáveis nativas que estão sempre
disponíveis em todos escopos para todo o script. Sobre essas variáveis, relacione os termos técnicos
apresentados na primeira coluna com as definições expressas na segunda coluna.
1) $GLOBALS
2) $_SERVER
3) $_REQUEST
4) $_ENV
( ) As entradas neste array são criadas pelo servidor web e
possuem informações do servidor e do ambiente de execução.
( ) Um array associativo que por padrão contém infor-
mações de $_GET, $_POST and $_COOKIE.
( ) Referencia todas variáveis disponíveis no escopo global.
( ) Um array associativo de variáveis passadas para o script
atual via o método do ambiente.
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
13
Assinale a alternativa correta.
a) 2, 3, 1, 4.
b) 3, 2, 4, 1.
c) 4, 3, 2, 1.
d) 1, 2, 3, 4.
38. Sobre o uso do PHP em aplicações Web, assinale a alternativa incorreta.
a) O código PHP executa em servidor Web e é armazenado em scripts que geralmente tem uma extensão
.php.
b) Um script PHP pode conter tanto código HTML como CSS.
c) Com o PHP é possível gerar páginas HTML dinâmicas.
d) O php.ini é o arquivo de configuração do php que, dentre as diferentes configurações, permite definir o
diretório onde ficarão armazenados as informações de acesso ao banco de dados.
39. A extensão PDOs (PHP data objects) permite o acesso otimizado ao sistema gerenciador de banco de dados
(SGBD) em uso nos ambientes de desenvolvimento e produção. Assinale a alternativa que indica o método
utilizado pelo PDO para iniciar uma transação.
a) startTransaction().
b) beginTrasaction().
c) commit().
d) createTransaction().
40. Considere o código PHP abaixo:
Cadastro de Usuários
Nome:
Username:
Senha:
Email:
www.pciconcursos.com.br
PROGRAMADOR DE SISTEMA DE INFORMAÇÃO
DIRETORIA DE CONCURSOS E SELEÇÕES - DCS
14
Nesse código, os dados do formulário, ao serem submetidos através do botão Cadastrar, serão enviados para o
registro.php, onde poderão ser manipulados. Assinale a alternativa que indica a instrução PHP necessária para
atribuir o valor do Campo Username para uma variável de nome var_username, dentro de registro.php.
a) $var_username = $_POST['username'].
b) $var_username = $_GET['username'].
c) $var_username = $_POST['campo2'].
d) $var_username = $_GET['campo2'].