Você está na página 1de 10

Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

Este arquivo contém as questões 117 a 119 e 129 a 150 com alguns "comentários", que
na verdade são em sua maioria, fragmentos de textos, apostilas e postagens em fóruns
sobre o conteúdo das questões.

**********************************************************************

A seguir, são mostrados o código fonte de uma página HTML, o código PHP que está
em um arquivo denominado hora.php e o resultado produzido por esses códigos em um
navegador Internet Explorer 8.

Código fonte da página HTML:

1 <html>
2 <body>
3 <script type="text/javascript">
4 function ajaxFunction() {
5 var xmlHttp;
6 try {
7 xmlHttp=new XMLHttpRequest();
8 } catch (e) {
9 try {
10 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
11 { catch (e) {
12 try {
13 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
14 } catch (e) {
15 alert("Não deu certo!!");
16 return false;
17 }
18 }
19 }
20 xmlHttp.onreadystatechange=function() {
21 if(xmlHttp.readyState==4) {
22 document.myForm.time.value=xmlHttp.responseText;
23 }
24 }
25 xmlHttp.open("GET","hora.php",true);
26 xmlHttp.send(null);
27 }
28 </script>
29 <form name="myForm">
30 Nome: <input type="text" onkeyup="ajaxFunction();" name="nome" />
31 Hora: <input type="text" name="time" />
32 </form>
33 </body>
34 </html>
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

Código PHP que está no arquivo hora.php:

<?php
$d = getdate();
print str_pad($d['hours'],2,"0", STR_PAD_LEFT)
.':'.str_pad($d['minutes'],2,"0",STR_PAD_LEFT)
.':'.str_pad($d['seconds'],2,"0", STR_PAD_LEFT);
?>

Resultado produzido em um navegador Internet Explorer 8:

Considerando essas informações, julgue os itens subsequentes.

117 Uma página web que utiliza a tecnologia Ajax depende de navegadores que
implementaram o objeto XMLHttpRequest e faz uso de JavaScript. – CERTO

Comentários: O AJAX utiliza o objeto XMLHttpRequest, o que permite fazer o envio


de dados e receber uma resposta de um servidor sem a necessidade de recarregar toda a
página web. O objeto foi criado pela Microsoft para ser utilizado no IE4, onde se utiliza
o recurso ActiveX. Os outros navegadores, também o implementaram utilizando a
linguagem JAVA, que fundiu-se a partir das versões do navegadores abaixo: Firefox
1.0, Netscape 7, Safari 1.2, Opera7.6.

**********************************************************************

118 O campo da página HTML mostrada é preenchido com a informação da hora do


servidor de aplicações PHP, embora o código JavaScript escreva a hora nesse campo. –
CERTO

Comentários: Correto, conforme linhas 25 e 31 do HTML.

**********************************************************************
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

119 Pode-se utilizar a tecnologia Ajax (asynchronous JavaScript and XML) para
produzir o resultado mostrado na figura acima. – CERTO

Comentários: Ajax foi a tecnologia utilizada.

**********************************************************************

1 <?php
2 class mpu {
3 public $valor = "Concurso";
4 public function &getValor() {
5 return $this->valor;
6 }
7 }
8 $obj = new mpu;
9 $meuValor =& $obj->getValor();
10 echo $meuValor;
11 $obj->valor = 2;
12 echo $meuValor;
13?>

Considerando o código acima, em PHP, julgue os itens a seguir.

129 Na linha 12, ocorrerá um erro de execução, pois $meuValor


é uma variável da classe mpu, inicializada com o texto
Concurso. – ERRADO

Comentários: Código testado não ocorrendo erro. $meuValor não é uma variável da
classe mpu. Ela apenas é uma referência para $obj->valor.
http://php.net/manual/pt_BR/language.references.php

**********************************************************************

130 O símbolo =&, utilizado na linha 9 do código acima, é


denominado operador de referência. – CERTO

Comentários: Acredito que o correto seria dizer que o símbolo & é o tal operador de
referência.

**********************************************************************

131 O comando na linha 10 deve produzir a apresentação, na tela


do computador, do valor da variável $meuValor, ou seja, a
palavra Concurso. – CERTO

Comentários: Na linha 10 o conteúdo de $obj->valor é a palavra Concurso.

**********************************************************************
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

1 <?php
2 $Publico = "Uniao";
3 $Uniao = "Prova";
4 $Ministerio = "Publico";
5 $a = "Ministerio";
6 print $a;
7 print $$a;
8 print $$$a;
9 ?>

Com relação ao código acima, escrito em PHP, julgue os itens


subsequentes.

132 O código na linha 8 produzirá a apresentação, na tela do


computador, da palavra Uniao, pois esse será, no momento da
apresentação, o conteúdo da variável $$$a. – CERTO

Comentário: Código testado. Saída: MinisterioPublicoUniao.


Por vezes pode torna-se útil ter uma variável com capacidade para guardar o nome de
outras variáveis, isto é, um nome de variável que pode ser atribuído e utilizado de uma
forma dinâmica. Uma variável normal pode ser definida da seguinte forma:
$a = "ola";
Uma variável dinâmica utiliza o valor da variável e usa-a como se se tratasse do nome
da variável. Tudo isto pode parecer bastante confuso inicialmente, mas na verdade não o
é. No seguinte exemplo, ola pode ser utilizado como nome da variável se forem
utilizados dois sinais de cifrão($):
$$a = "mundo";
Neste ponto, duas variáveis ficaram definidas e foram armazenadas no espaço de
memória do PHP: $a que contém ola e $ola que contém mundo. Assim, o seguinte
código:
echo "$a $($a)";
produz o mesmo resultado que:
echo "$a $ola";
isto é,
ambas escrevem ola mundo.

**********************************************************************

133 O código na linha 6 produzirá a apresentação, na tela do


computador, da palavra Ministerio, que será, no momento
da apresentação, o conteúdo da variável $a. – CERTO

Comentário: vide comentário anterior.

**********************************************************************

134 Nas linhas 7 e 8, existem erros de sintaxe, pois os nomes das


variáveis em PHP admitem somente um único símbolo $. – ERRADO
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

Comentário: vide comentário questão 132.

**********************************************************************

The Java Persistence API draws on ideas from leading persistence frameworks and
APIs such as Hibernate, Oracle TopLink, and Java Data Objects (JDO), as well as on
the earlier EJB container-managed persistence. The Expert Group for the Enterprise
JavaBeans 3.0 Specification (JSR 220) has representation from experts in all of these
areas as well as from other individuals in the persistence community. The Java
Persistence API simplifies the programming model for entity persistence and adds
capabilities that were not in EJB
2.1. Here's a quick list of its simplifications and additions:
• requires fewer classes and interfaces;
• virtually eliminates lengthy deployment descriptors through annotations;
• addresses most typical specifications through annotation defaults;
• provides cleaner, easier, standardized object-relational mapping;
• eliminates the need for lookup code;
• adds support for inheritance, polymorphism, and polymorphic queries;
• adds support for named (static) and dynamic queries;
• provides a Java Persistence query language — an enhanced EJB QL;
• makes it easier to test entities outside of the EJB container;
• can be used outside of the container;
• can be used with pluggable, third-party persistence providers.
Internet: <java.sun.com> 23/7/2010 (adapted).

Com base no texto acima, julgue os próximos itens.

135 A versão 3.0 da API de Persistência Java utiliza descritores de


implantação, não permitindo uso de anotações. – ERRADO

Comentários: virtually eliminates lengthy deployment descriptors through annotations


- praticamente elimina os descritores de implementação prolongados por meio de
anotações

**********************************************************************

136 A versão 3.0 da API de Persistência Java provê uma linguagem de


consulta de persistência Java que é uma forma melhorada da
linguagem de consulta do EJB. – CERTO

Comentários: provides a Java Persistence query language — an enhanced EJB QL


(query language) - fornece uma linguagem de consulta de persistência Java - uma
reforçada linguagem de consulta EJB.

**********************************************************************

137 A API de Persistência Java é embasada em ideias contidas em


frameworks líderes de mercado, como Hibernate, Oracle TopLink
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

e Objetos de Dados Java. – CERTO

Comentários: The Java Persistence API draws on ideas from leading persistence
frameworks and APIs such as Hibernate, Oracle TopLink, and Java Data Objects…

**********************************************************************

138 Todo arquivo XML deve possuir um arquivo DTD


correspondente. - ERRADO

Comentários: o arquivo DTD é opcional segundo CHAPPEL, David A.; JEWELL,


Tyler. Java Web Services. Sebastopol, USA: O’REILLY, 2002.

**********************************************************************

139 Um arquivo XSLT (Extensible Stylesheet Language


Transformation) permite transformar os dados de um arquivo
XML. A maneira correta de se referir a um arquivo de estilo
denominado mpuestilo.xml em um arquivo XML é mostrada a
seguir.
<stylesheet type="text/xsl" href="mpuestilo.xsl"> - ERRADO

Comentários: o correto seria <?xml:stylesheet type="text/xsl" href="


mpuestilo.xsl" ?>

**********************************************************************

140 XPath é uma linguagem para encontrar informações em um


documento XML. - CERTO

Comentários: XPath, a XML Path Language, é uma linguagem de programação que


permite construir expressões que recorrem e processam um documento XML de modo
parecido a uma expressão regular. Pode também computar valores como números,
valores Booleanos e cadeias de caracteres.
Os principais operadores da XPath são / e //. O primeiro serve para dar um passo na
árvore XML, enquanto o segundo serve para pular vários níveis de uma só vez.
Funciona de maneira parecida como se fosse uma árvore de diretórios. O resultado de
cada expressão XPath é um conjunto de elementos especificados pelo caminho.

**********************************************************************

141 Um arquivo XML utiliza-se de arquivos DTD (document type


definition) para descrever seus dados. - CERTO

Comentários: O DTD é um arquivo que trabalha em conjunto com os documentos


XML e é uma estrutura utilizada para fornecer explicitamente um conjunto de regras
para a construção dos XML, definindo quais elementos podem e devem ser utilizados.
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

Assim é possível imaginar o DTD como um guia, no qual são definidas as diretrizes
para a criação dos documentos XML (DEITEL; DEITEL; NIETO, 2003).
Um documento XML que esteja rigorosamente de acordo com as regras estabelecidas
no DTD para o qual ele foi escrito, bem como obedece às regras da
XML, é considerado um documento bem formado e válido.

**********************************************************************

Web services é uma tecnologia utilizada para fazer a integração


de sistemas e a comunicação entre aplicações diferentes. Essa
tecnologia possibilita que novas aplicações possam interagir com
aquelas que já existem e que sistemas desenvolvidos em plataformas
diferentes sejam compatíveis entre si. Os web services são componentes
que permitem às aplicações enviar e receber dados em formato XML
cada aplicação pode ter a sua própria linguagem, que é traduzida para
uma linguagem universal, o formato XML.

Com base nessas informações, julgue os itens seguintes.

142 REST (Representationals State Transfer) é uma tecnologia que


está sendo utilizada em web services, como substituta das
tecnologias SOAP (Simple Object Access Protocol) e WSDL. – CERTO

Comentários: Se pode entender como REST qualquer Web Service que pode ser
acessado com uma requisição simples HTTP GET.

**********************************************************************

143 A descrição de um web service é feita utilizando-se WSDL (Web


Services Description Language), que é uma linguagem embasada
em RPC (Remote Procedure Call) e UDDI (Universal Description
Discovery and Integration), com a qual se descreve a forma de
acesso dos serviços e seus parâmetros de entrada e de saída. – ERRADO

Comentários: WSDL é uma linguagem baseada em XML. SOAP é um protocolo de


RPC.
Web Services: Para a representação e estruturação dos dados nas mensagens
recebidas/enviadas é utilizado o XML (eXtensible Markup Language). As chamadas às
operações, incluindo os parâmetros de entrada/saída, são codificadas no protocolo
SOAP (Simple Object Access Protocol, baseado em XML). Os serviços (operações,
mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL (Web Services
Description Language). O processo de publicação/pesquisa/descoberta de Web Services
utiliza o protocolo UDDI (Universal Description, Discovery and Integration).

**********************************************************************

1 public class MpuJava1 {


2 public static void main(String args[]) {
3 int i = 1;
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

4 boolean v = true;
5 boolean f = false, mpu;
6 mpu = (v ((i++) == 0));
7 mpu = (f ((i+=2) > 2));
8 System.out.println(i);
9 System.out.println(mpu);
10 }
11}

Julgue os itens a seguir, acerca do código acima, escrito em


Java.

144 Na linha 9, o código produzirá a apresentação do conteúdo


da variável mpu, que, no caso, será igual a true. – CERTO

Comentários: O código acima não compila. Mas analisando a lógica proposta teríamos
os seguintes resultados para as linhas 6 e 7, de acordo com a tabela verdade abaixo:
Tabela Verdade Condicional: A conjunção é falsa se, e somente se, o primeiro operando
é verdadeiro e o segundo operando é falso
A B A→B
VVV
VF F
F VV
F F V

Na linha 6 mpu valerá falso, porque v = verdadeiro e i++(que vale 1) == 0 = falso


Na linha 7 mpu valerá verdadeiro, porque f = falso e i+=2(vale 4) > 2 = verdadeiro
A linha 9 exibirá true (verdadeiro).

**********************************************************************

145 Após a execução da linha 8, o código produzirá a


apresentação do valor da variável i, que será igual a 2. – ERRADO

Comentários: O resultado que será exibido é 4.

**********************************************************************

1 public class MpuJava2 {


2 public static void main(String args[]) {
3 Integer i = null;
4 int j = i;
5 System.out.println(j);
6 }
7}

Julgue os próximos itens, com relação ao código acima, escrito em Java.


Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

146 Na linguagem Java, um objeto do tipo Integer pode


receber valor nulo, porém uma variável primitiva int não
pode. – CERTO

Comentários: O método add da classe ArrayList pede por parâmetro um objeto do tipo
Object. Como vimos antes, int é um tipo primitivo, e um tipo primitivo não é um
objeto. Configura-se aqui então o caso em que queremos ter um dado de um tipo
primitivo e queremos também utilizar este dado em um contexto onde só se aplicam
objetos, um Arraylist de ints.
E agora? Quer dizer então que em Java eu não posso ter um ArrayList que armazene
ints? Nem tão pouco um ArrayList de qualquer outro tipo primitivo? Resposta: Isso
mesmo! Você não pode ter tal ArrayList...
Porém, Java te dá uma saída pra este problema: As classes wrapper.
Em inglês, o verbo "to wrap" quer dizer envolver. É exatamente pra isso que serve uma
classe wrapper: Envolver um tipo primitivo. E pra que diabos eu quero "envolver um
tipo primitivo"? Simples! Pra poder tratar o seu tipo primitivo como se fosse um
objeto!!! É como se a classe wrapper fosse um envelope, dentro do qual você guarda o
tipo primitivo. Em Java, temos uma classe wrapper para cada tipo primitivo.

**********************************************************************

147 O código na linha 5 produzirá a impressão do conteúdo da


variável j, que terá o valor null. – ERRADO

Comentários: O código não compilará, pois a linha 4 gerará uma “Exception in thread
"main" java.lang.NullPointerException”, pois tipos primitivos (int j) não podem receber
valores nulos.

**********************************************************************

148 A plataforma adotada pela SUN para a sua versão 6 do


Java EE é o JBoss, que implementa resposta para
requisições JSP e WebServices e ainda permite implantar
servlets. – ERRADO

Comentários: Acredito que o erro desta questão seja o JBoss. O Java EE 6 utiliza o
GlassFish como servidor de aplicação.

**********************************************************************

149 Scrum é um processo ágil de produção de software que


mantém o foco na entrega da maior parte do produto, no
menor tempo possível. - CERTO

Comentários: Scrum é um processo ágil que permite manter o foco na entrega do maior
valor de negócio, no menor tempo possível. (http://onnclick.net/blog/?p=523)

**********************************************************************
Questões Prova Técnico de Informática – MPU 2010

http://odirleifaria.wordpress.com/

1 public class MpuJava3 {


2 public static void main(String args[]) {
3 int x;
4 x = +16 >> 1;
5 x = x <<< 2;
6 x = x << 1;
7 System.out.println(x);
8 }
9}

Julgue o item a seguir, relativo ao código acima, escrito na linguagem Java.

150 O código na linha 7 produzirá a apresentação do número 4,


valor que a variável x terá quando a linha 7 for executada. – CERTO

Comentários: Esta questão deveria ser anulada, pois o operador <<< (linha 5) não
existe. O correto seria >>> (Unsigned right shift). Utilizando este operador, o resultado
da linha 7 é o número 4. Vejamos como funcionam os operadores shift (<<, >> e >>>)
no caso acima:
16 >> 1 = 8
x(= 8) >>> 2 = 2
x(= 2) << 1 = 4

**********************************************************************