You are on page 1of 173

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

AULA 11-DESENVOLVIMENTO E TESTES Ol pessoal, tudo bem!

Agora, vamos em frente, intensificando os estudos nesta reta final! Profa Patrcia Lima Quinto Twitter: http://www.twitter.com/pquintao Facebook: http://www.facebook.com/professorapatriciaquintao (Todo dia com novas dicas, desafios e muito mais, espero vocs por l para CURTIR a pgina!) Instagram: patriciaquintao Contedo desta Aula Algumas Consideraes Importantes Lista de Questes Comentadas. Questes Apresentadas na Aula. Gabarito. Pgina 02 81 146 173

Antes de analisarmos as questes, vamos a algumas consideraes sobre o tema da aula. Espero que aproveitem!
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 1

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

PROGRAMAO DE SISTEMAS: LGICA DE PROGRAMAO Segundo o prisma da computao, um algoritmo uma sequncia finita de passos (ou instrues), descritos em uma ordem lgica, que visam atingir um objetivo bem definido. As instrues devem ser bem definidas e no ambguas, bem como o tempo e o esforo para executar as instrues devem ser finitos. Por exemplo, um algoritmo para aplicar um operador matemtico em dois nmeros segue a sequncia lgica: Preencha o primeiro operando com um dos nmeros. Preencha o segundo operando com o outro nmero. Aplique a operador matemtico utilizando os dois operandos e apresente o resultado: resultado <- operando1 operador_matemtico operando2 Um algoritmo opera sobre um conjunto de entradas de modo a gerar uma sada que seja til para o usurio. Um algoritmo tem cinco caractersticas importantes: Finitude: o algoritmo deve sempre terminar aps um nmero finito de passos. Definio: cada passo de um algoritmo deve ser precisamente definido. As aes devem ser definidas rigorosamente e sem ambiguidades. Entradas: o algoritmo deve ter zero ou mais entradas, quantidades que lhe so fornecidas antes do algoritmo iniciar. Sadas: o algoritmo deve ter uma ou mais sadas, quantidades que tm uma relao especfica com as entradas. Efetividade: o algoritmo deve ser efetivo. Todas as operaes devem ser suficientemente bsicas de modo que possam ser em princpio executadas com preciso em um tempo finito por um humano usando papel e lpis. de de e a um

Os algoritmos so descritos em uma linguagem particular chamada pseudocdigo e por isso so independentes das linguagens programao. O pseudocdigo uma linguagem intermediria entre a linguagem falada linguagem de programao, ou seja, a escrita do algoritmo no segue formalismo to rgido quanto as linguagens de programao.

Chama-se de Programas os algoritmos que so traduzidos para uma linguagem de computador (por exemplo: Cobal, Fortran, Pascal, C, Java, etc.) cujos passos (chamados de comandos) so interpretados e executados pelo computador.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Um programa manipula elementos bsicos que podem ser variveis ou constantes. As variveis precisam ser declaradas no programa, recebendo um nome para serem identificadas, um tipo para especificar que valores pode armazenar e tambm pode receber um valor inicial. Estruturas de dados e algoritmos so temas fundamentais da cincia da computao, sendo utilizados nas mais diversas reas do conhecimento e com os mais diferentes propsitos de aplicao. Sabe-se que algoritmos manipulam dados. Quando estes dados esto organizados (dispostos) de forma coerente, caracterizam uma forma, uma estrutura de dados. A organizao e os mtodos para manipular essa estrutura que lhe conferem singularidade. As estruturas de dados so chamadas tipos de dados compostos que dividem-se em homogneos, conjuntos de dados formados pelo mesmo tipo de dado (vetores e matrizes), e heterogneos, conjuntos de dados formados por tipos de dados diferentes em uma mesma estrutura (registros). Estruturas de dados a base fundamental de qualquer programa mais sofisticado. A seleo de um tipo correto de estrutura de dados faz enorme diferena na complexidade da implementao resultante. A escolha da representao dos dados correta facilitar em muito a construo de um programa, enquanto que a escolha de uma representao errada custar um tempo enorme de codificao, alm de aumentar a complexidade de compreenso do cdigo. A estrutura bsica de um algoritmo : algoritmo declaraes (variveis, constantes, mdulos) incio comandos fim. Sequncia Simples Trata-se de um grupo de comandos executados de forma sequencial. Os comandos so executados de cima para baixo, sendo que o prximo comando da lista s poder ser executado aps o trmino do comando anterior. comum delimitar os comandos de uma sequncia simples pelas palavras reservadas INCIO e FIM, formando assim um bloco de comandos.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

FLUXOGRAMA

PORTUGOL ..... < comando 1 > < comando 2 > ........ < comando n > ....

comando 1

comando 2

comando n

Exemplo: Calcular a rea de um tringulo: Algoritmo Declare B, H, AREA : real inicio leia (B) {base} leia (H) {altura} AREA ( B * H ) / 2 {calcula a rea} escreva(AREA) fim. Comandos de Entrada e Sada A maioria dos algoritmos que escrevemos necessita receber dados externos, e em algum momento necessitar comunicar respostas, para tanto usamos os comandos de entrada e sada. Para a tarefa de buscar valores externos ao algoritmo utilizamos o comando LEIA e para enviar dados para a unidade de sada utilizamos o IMPRIMA ou ESCREVA. A sintaxe destes comandos :

Entrada de dados: leia (<identificador 1>, <identificador 2>, ..., <identificador n>)

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Sada de dados: imprima (<identificador 1>, <identificador 2>, ..., <identificador n>) imprima (<expresso numrica>) imprima( cadeia de caracteres) FLUXOGRAMA
leia var1, ..., var n

PORTUGOL LEIA (var 1, ..., var n) IMPRIMA (var 1, ... , var n) ou IMPRIMA (mensagem, var )

imprima var 1, ... var n

Estrutura Condicional Simples Na vida real tomamos decises a todo o momento baseadas em uma situao existente. Em um algoritmo, chamamos esta situao de condio. Associada a uma condio, existir uma alternativa possvel de aes. Exemplo: "se tiver R$ 10,00 sobrando ento irei ao cinema hoje noite. A condio nesta frase "tiver R$ 10,00 sobrando". Ela uma expresso lgica, pois a pergunta "Tenho R$ 10,00 sobrando?" Pode (tem que) ser respondida com "Sim" ou "No". Lembre-se, ento: em um algoritmo, toda condio tem que ser uma expresso lgica, algo que possa pensar como isto VERDADEIRO ou isto FALSO. Se a condio for verdadeira, a ao a ser executada "irei ao cinema", se a resposta pergunta "Tenho dinheiro suficiente?" for "Sim". Ento, em um algoritmo, as aes so um ou mais comandos que sero realizados apenas se a avaliao da condio resulta VERDADEIRO. Vamos colocar agora a frase do exemplo anterior em outra forma, mais parecida com nosso Portugus Estruturado: se "tiver R$ 10,00 sobrando" ento "irei ao cinema" fim-se

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Veja que coloquei em negrito trs palavras: se, ento e fim-se. Elas so muito importantes na estrutura dos comandos de deciso. Como prximo passo, vamos generalizar a estrutura que criamos acima: se <condio> ento <aes a serem realizadas se a condio for verdadeira> fim-se Para terminar a nossa comparao, devemos lembrar que os comandos de um algoritmo so sempre indispensveis, e que o computador s lida com quantidades definidas (ou seja, ele no sabe o que "ter R$ 10,00 sobrando"). Para aproximar mais nossa frase de um algoritmo, poderemos ter a seguinte forma: se Dinheiro >= 10 ento Ir_ao_Cinema <- VERDADEIRO Fim-se O exemplo acima poderia ser estendido para o caso do sujeito no ter dinheiro sobrando: "se tiver R$ 10,00 sobrando irei ao cinema hoje noite, mas se no tiver ficarei vendo TV em casa". Neste caso, uma codificao possvel para esse algoritmo seria: se Dinheiro >= 10 ento Ir_ao_Cinema <- VERDADEIRO Ver_TV <- FALSO Fim-se se Dinheiro < 10 ento Ir_ao_Cinema <- FALSO Ver_TV <- VERDADEIRO Fim-se A sintaxe da estrutura condicional simples : Se <condio> ento <ao(es)> fim-se Alguns autores preferem colocar o ento na segunda linha. Isto no modifica a estrutura nem a forma de execuo. Se <condio> ento <ao(es)>
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 6

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

fim-se FLUXOGRAMA V
condio

PORTUGOL

comando 1

SE <condio > ENTO < comando 1> < comando 2> ..... <comando n>; FIMSE

comando n

Estrutura Condicional Composta uma extenso da alternativa simples, neste caso temos que determinar o que fazer se a condio for verdadeira, e o que fazer se a condio for falsa. O formato deste comando : Se <condio> ento <ao 1> seno <ao 2> fim-se Semntica: se a condio contida no comando SE for verdadeira so executados os comandos internos ao ENTO, e os comandos internos ao SENO so desprezados at encontrar o FIM-SE correspondente. Caso contrrio, se a condio contida no comando SE for falsa, os comandos internos ao ENTO so desprezados e os comandos internos ao SENO so executados at encontrar o FIM-SE correspondente. Exemplo: DELTA 4 * A * C - B ** 2 se DELTA < 0 ento imprima (razes imaginrias) seno X DELTA ^ 0.5 fim-se
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 7

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

FLUXOGRAMA F
condio

PORTUGOL V SE <condio > ENTO < comando 1> < comando 2> ..... <comando n> SENO < comando 1> < comando 2> ..... < comando n> FIM-SE

comando 11

comando 1

comando nn

comando n

Aninhamento de Estruturas Os algoritmos podem ser formados por diversas estruturas, cada uma com uma funo especfica. Existem casos em que uma estrutura poder estar dentro de outra, e a isto se d o nome de aninhamento. Nada impede que exista uma condio dentro de outra, e isto tambm poder ocorrer com as prximas estruturas de comando. No existe um limite para o nmero de estruturas que podem ser colocadas dentro de outra estrutura qualquer, mas se o nmero for muito grande, a compreenso e a visualizao sero prejudicadas. Para facilitar a compreenso e a visualizao do incio e do final de cada estrutura, utiliza-se o artifcio da identao. Nos casos em que so necessrias muitas estruturas internas, a soluo a utilizao do processo de modularizao do algoritmo. Exemplo: SEM COM IDENTAO IDENTAO Se A <> 0 ento B 0 se C <> 0 ento D 0 F3 Fim-se; G 77 Fim-se;
Profa. Patrcia Lima Quinto

Se A <> 0 ento B 0 se C <> 0 ento D 0 F3 Fim-se G 77 Fim-se


8

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Uma regra importante, que deve ser sempre seguida, a de que o incio e o final da estrutura mais interna devem ser sempre dentro da estrutura imediata que a contm. Mltipla Escolha Em algumas situaes necessrio termos vrias solues ligadas a respostas diferentes, neste caso o comando de alternativa simples ou composta no uma soluo prtica, isto porque obrigar o programador a escrever muitas linhas de programa, alm de ter que criar vrios comandos de alternativas compostas e verificar a validade de suas condies para que o comando execute o caminho correto para uma determinada condio. Temos ento o comando de alternativa de mltipla escolha. O funcionamento deste comando obedece a seguinte regra: caso <expresso> valor1 : <comando1> valor 2 :< comando2> ... valor n : <comando n> seno: <comando n+1> fim-caso

Semntica: a expresso do determinado; CASO avaliada, e deve gerar um resultado

este resultado comparado com os valores indicados colocados do lado esquerdo do dois pontos ( : ); quando um valor igual for encontrado, o comando colocado ao lado direito do dois pontos (:) ser executado, retornando ao FIMCASO correspondente, sem executar mais nenhuma comparao, onde prossegue o fluxo normal do algoritmo; caso nenhum valor seja igual ao resultado obtido na expresso do CASO o comando existente do lado direito do dois pontos ( : ) do SENO ser executado, retornando ao FIMCASO onde prossegue o fluxo normal do algoritmo.

Esta estrutura tambm aparece na literatura com a forma:


Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 9

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

escolha < expresso-de-seleo > caso < exp 1 > , < exp 2 >, ... , < exp n > < lista-de-comandos-1 > caso < exp 1 > , < exp 2 >, ... , < exp n > < lista-de-comandos-2 > outrocaso < lista-de-comandos-3 > Fim-escolha

Teste de Mesa Um algoritmo, depois de ser elaborado, pode (e deve) ser testado. Para tal, utilizamos um mtodo conhecido como teste de mesa, que como uma simulao de todos os passos, ou seja, entradas, comandos e instrues do algoritmo, a fim de saber se ele chega ao resultado a que se prope e se a lgica est correta. Para tal, preenche-se uma tabela com valores para as variveis e segue-se o fluxo de execuo do algoritmo, simulando a execuo de cada instruo, ou seja, refazendo o que o computador faria ao executar cada instruo. A cada comando simulado (executado), o valor das variveis na tabela deve ser atualizado. Se, para uma instruo executada, uma ou mais variveis no ficaram com os valores esperados, h um erro na lgica do algoritmo. Algoritmo Declare a,b,c: REAL Inicio a <- 5 b <- 15 c <- a+b escreva (c) a <- 10 b <- 25 c <- a+b escreva (c) a <- a-b escreva (a) a <- 0 b <- 0 c <- 0 Teste de Mesa Variveis b c ? ? ? ? 15 ? 15 20 15 20 15 20 25 20 25 35 25 35 25 35 25 25 0 0 35 35 35 0

Sada

a ? 5 5 5 5 10 10 10 10 (10-25)= 15 -15 0 0 0

20

35

-15

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

10

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Fim Esta uma sugesto. Voc pode simplific-la, escrevendo apenas as variveis e sadas. Economize tempo no escrevendo os comandos e anotando apenas as alteraes ocorridas nas variveis. Quando algum comando no efetuar alteraes de valores nem uma sada, ento no precisar anotar. Isto resultar em ganho de tempo na construo do teste. Estruturas de Repetio Para a soluo de diversos problemas, as sequncias simples e as estruturas condicionais devem ser executadas diversas vezes. Em muitos destes casos, as instrues para execuo so as mesmas, alterando apenas os valores das variveis. Os comandos de repetio permitem o reaproveitamento de instrues do algoritmo. Vejamos estas estruturas Estrutura de Repetio Enquanto

Na estrutura enquanto..faa, a expresso lgica avaliada e, se ela for verdadeira, a lista de comandos executada. Isso se repete at que a condio seja falsa. Veja a sua forma geral: enquanto <expresso lgica> faa <lista de comandos> Fim-enquanto Semntica - a condio (<expresso lgica>) entre o ENQUANTO e o FAA avaliada antes de executar qualquer comando interno estrutura (<lista de comandos>). Se a condio for verdadeira, os comandos so executados. Se for falsa todos os comandos internos ao ENQUANTO sero desprezados e a repetio encerrada, mesmo se no tiver executado os comandos uma vez. Ao encontrar o fim-enquanto, a execuo dos comandos volta para a linha enquanto, analisando a expresso lgica novamente. Exemplo: Calcular a soma dos nmeros inteiros at 100. Algoritmo Declare SOMA, NUM: inteiro inicio SOMA 0 NUM 0 enquanto NUM <= 100 faa SOMA SOMA + NUM NUM NUM + 1
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 11

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Fim-enquanto escreva(SOMA) fim. Cuidado com os laos (repeties) infinitos. Em algumas construes, a condio da estrutura de repetio (condio de interrupo) no resulta em valores que resultem em interrupo da repetio. Nestes casos, o programa executado para sempre. o costumeiro: TRAVOU!

FLUXOGRAMA

PORTUGOL

F
condio

V
comando 1

ENQUANTO <condio > FAA < comando 1>; < comando 2>; ..... <comando n>; FIMENQUANTO;

comando n

Repita...At

Nessa estrutura, todos os comandos da lista so executados e uma expresso lgica avaliada. Isto se repete at que a avaliao da condio resulte em FALSO, quanto ento o prximo comando a ser executado o comando imediatamente aps o ate. Cada repetio da lista de comandos tambm chamada de iterao e essa estrutura tambm chamada de lao de repetio. Sua forma geral : Sintaxe: repita <lista de comandos> at <expresso lgica>
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 12

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Semntica: os comandos internos ao REPITA so executados at que a condio aps o at seja avaliada com resultado VERDADEIRO. Se o resultado da expresso lgica for FALSO, a lista de comandos ser executada novamente. Observe que a lista de comandos executada antes da avaliao da expresso. Desta forma, a lista executada, no mnimo, uma vez, independente da expresso lgica. Exemplo: Algoritmo que escreve os nmeros de 1 a 10. Algoritmo Declare i: INTEIRO inicio i<- 1 repita escreva (i) i <- i + 1 ate i > 10 fim-algoritmo No exemplo acima, a varivel i controla o nmero de repeties do lao. Normalmente, a varivel de controle do lao recebe um valor inicial, incrementada (ou decrementada) de um valor constante no lao e tem seu valor testado no final do lao. Ao chegar a um determinado valor, o lao interrompido. A inicializao da varivel contadora deve acontecer fora do lao, antes do seu incio. FLUXOGRAMA PORTUGOL REPITA < comando 1> < comando 2> ..... <comando n> AT <condio > COMPARAO ENTRE OS COMANDOS ENQUANTO E REPITA ENQUANTO REPITA Os comandos internos ao Os comandos internos ao repita so enquanto podem nunca executados pelo menos uma vez; serem executados; o lao do enquanto o lao do repita realizado quando executado quando a a condio for falsa; condio for verdadeira; a estrutura enquanto testa e a estrutura repita faz e testa. faz.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

13

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Estrutura de Repetio com Varivel de Controle O comando para...faa tambm permite a descrio, dentro de um algoritmo, de uma estrutura de repetio. Sua forma geral : para <varivel de controle> de <valor inicial> at <valor final> [passo <incremento>] faa <lista de comandos> Fim-para Na estrutura para..faa, a varivel de controle inicializada com <valor inicial> e no incio de cada iterao, seu valor comparado com <valor final>. Se o valor da varivel for menor ou igual a <valor final>, a lista de comandos executada e aps ser executado o ltimo comando da lista, a varivel de controle incrementada. Isto se repete at que o valor da varivel de controle seja maior que <valor final>, quando ento executado o comando imediatamente aps a palavra fim-para. A instruo passo necessria se o incremento for diferente de 1. Um algoritmo que l escreve os nmeros mpares de 1 a 1000. para i de 1 ate 1000 passo 2 faa // Incrementa i de 2 em 2 escreva (i, mpar) fim-para Observaes sobre o comando: dentro dos comandos internos ao PARA a varivel de controle no pode ser alterada; os valores de incio, final e incremento podem ser nmeros, variveis ou expresses; no permitido alterar as variveis com os valores de incio, final e incremento dentro da estrutura; quando o valor do incremento for 1, este pode ser omitido; o valor do incremento pode ser negativo, neste caso o valor inicial da varivel de controle deve ser maior do que seu valor final.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

14

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

FLUXOGRAMA

PORTUGOL

para <var > de <inicio> at <fim> passo <valor>

PARA <varivel> DE <inicio> AT <final> PASSO <incremento> FAA <lista de comandos>

comando 1

FIM-PARA

comando n

RESUMO ESTRUTURAS DE REPETIO A- ENQUANTO Enquanto a condio for VERDADEIRA, o conjunto de comandos executado. B- REPITA -Os comandos internos a ele so executados ao menos uma vez, independente da Se a condio FALSA condio. o conjunto NO - O lao REPITA executado. realizado somente se a condio for ENQUANTO < FALSA. condio > FAA comando 1 REPITA comando n comando 1 FIM-ENQUANTO comando n AT <condio> C- PARA -Uma varivel que controla o incio e o fim da execuo. PARA varivel DE valor1 AT valor2 PASSO valor3 FAA comando 1 comando n FIM-PARA

Variveis Compostas Homogneas - Arrays A declarao de variveis, uma a uma, suficiente para a codificao algortmica da soluo de uma ampla gama de problemas, mas insuficiente para resolver um grande nmero de problemas computacionais.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 15

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Imagine, por exemplo, como faramos para construir um algoritmo que lesse os nomes de 500 pessoas e imprimisse um relatrio destes mesmos nomes, mas ordenados alfabeticamente. No seria uma tarefa simples, pois teramos que definir 500 variveis do tipo literal, como mostrado abaixo: Algoritmo "Invivel" Declare nome1, nome2, nome3, nome4, ..., nome499, nome500: caractere inicio leia (nome1,nome2,...,nome500) ... Fim Considere o tamanho do algoritmo, e o trabalho braal necessrio para constru-lo. Para resolver problemas como este, e outros, existem as variveis indexadas. A declarao de uma varivel indexada corresponde, na verdade, declarao de vrias variveis cujo identificador difere apenas por um ndice. O ndice corresponde a um valor numrico comeando por 1. Cada varivel indexada pode receber valores no decorrer do algoritmo como se fosse uma varivel comum. Variveis Compostas Homogneas Unidimensionais (Vetores) Variveis indexadas com uma nica dimenso, tambm conhecidas como vetores, so referenciadas por um nico ndice. A sintaxe para declarao : <identificador> : vetor [<tamanho>] de < tipo > Tamanho [VI..VF] Vi o valor inicial do ndice e VF o valor final do ndice. Exemplo IDADE: VETOR [1..5] DE INTEIRO NOMES: VETOR [1..5] DE CARACTERE A declarao acima corresponde declarao de 10 variveis: nomes[1], nomes[2], nomes[3], nomes[4], nomes[5], idades[1], idades[2], idades[3], idades[4] e idades[5]. Para se atribuir um valor a um elemento do vetor devemos utilizar o seguinte padro:
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 16

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

< identificador>[<posio>] <- <valor> Exemplos: nomes[1] <- Joo da Silva idades[1] <- 35 nomes[3] <- Maria Aparecida idades[3] <- idades[1] i <- 5 idades[i] <- 45 Variveis Compostas Homogneas Bidimensionais (Matrizes) Variveis indexadas com duas dimenses, tambm conhecida como matrizes, so referenciadas por dois ndices, cada qual comeando por 1. Observe que as linguagens de programao determinam os limites vlidos para os ndices. Cada dimenso da matriz, em geral, representa uma classificao de informao. Por exemplo, as linhas poderiam representar um aluno, enquanto as colunas representariam as notas. possvel criar variveis compostas com mais de duas dimenses, basta acrescentar as novas dimenses na declarao e na manipulao (da mesma forma como acrescentamos aqui). importante ressaltar que cada posio da matriz uma varivel interna e, como tal, ocupa espao. Assim, temos que nos preocupar com o total de espao utilizado pela estrutura para no consumir todo o espao disponvel e causar falhas nos programas. A sintaxe para declarao : <identificador> : vetor [<tamanho1>,<tamanho2>] de < tipo > Ex: PESSOAS: VETOR [1..2,1..3] DE CARACTERE A declarao acima corresponde declarao de 6 variveis: PESSOAS[1,1], PESSOAS [1,2], PESSOAS[1,3], PESSOAS[2,1], PESSOAS [2,2], e PESSOAS [2,3]. Para se atribuir um valor a um elemento do vetor devemos utilizar o seguinte padro: < identificador>[<posio 1>,<posio 2>] <- <valor> Ex: PESSOAS[1,3]<- Tonet
Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

17

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Modularizao A Programao Estruturada o resultado de uma srie de estudos e propostas de disciplinas e metodologias para o desenvolvimento de software. Evitando as comparaes com outras tcnicas de programao, a programao estruturada prega conceitos como refinamentos sucessivos e modularizao, buscando levar ao cdigo aspectos de confiabilidade, legibilidade, manutenibilidade e flexibilidade. A metodologia de refinamentos sucessivos utiliza a ideia de dividir para conquistar. Neste contexto, resolver um problema complexo mais fcil se no considerarmos todos os aspectos do problema simultaneamente, isto , se for possvel a decomposio de um problema grande numa srie de subproblemas mais simples. Quando no processo de desenvolvimento do algoritmo faz-se a opo por diviso do algoritmo, este procedimento conduz modularizao da soluo do problema. Um mdulo , ento, um grupo de instrues organizadas em um trecho de algoritmo com uma funo bem definida. Esta diviso da atividade de programao permite que, a cada instante, toda a ateno do programador esteja concentrada na soluo de um problema especfico e bem definido. Da mesma forma, pode-se verificar a correo do algoritmo por etapas analisando-se a correo de cada mdulo. A deciso pela diviso do algoritmo em mdulos traz benefcios como: maior flexibilidade e facilidade de manuteno, j que o mdulo pode esconder dos outros mdulos detalhes que s interessam a ele; permite a diviso de tarefa em uma equipe, onde cada mdulo pode ser desenvolvido por um programador diferente; facilita o teste, porque cada mdulo pode ser testado individualmente, e depois ser incorporado ao conjunto; facilita o projeto, na medida em que permite a abstrao. Recomenda-se que os mdulos sejam curtos e que realizem uma tarefa especfica. Alm disso, em relao aos dados manipulados pelo mdulo, importante que o mdulo possua estruturas de dados prprias, suficientes e necessrias apenas para atingir o objetivo final do mdulo. Um bom algoritmo deve procurar reduzir a interao entre mdulos (acoplamento) e aumentar o relacionamento dos elementos de um mesmo mdulo (coeso).

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

18

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A modularizao, que acaba se traduzindo na construo de procedimentos e funes, traz vantagens como a reutilizao de cdigo que se repete em vrios programas ou que executado vrias vezes dentro do mesmo programa. Como de se esperar, tambm possui desvantagens, como o acrscimo de tempo na execuo de programas constitudos de mdulos, devido ao trabalho adicional de ativao do mdulo. Os procedimentos e funes so subprogramas. Como tal, possuem um cabealho (com um identificador do mdulo), seo de declaraes e blocos de comandos. Deixando as linguagens de lado, que implementam suas prprias regras para procedimentos e funes, os procedimentos so mdulos que executam uma ao sem retornar um resultado para o programa, enquanto as funes so mdulos que retornam um resultado. Vamos adotar a sintaxe abaixo: Procedimento <identificador> (<lista de parmetros>) <declarao de variveis> Incio <comandos> Fim Funo <identificador> (<lista de parmetros>): tipo_retorno <declarao de variveis> Incio <comandos> Fim. As variveis declaradas dentro de um mdulo existiro em memria somente durante a execuo do mdulo. Ao ser carregado, o mdulo cria um ambiente para a execuo, onde constam suas variveis. Este ambiente completamente destrudo quando o mdulo termina. As variveis declaradas no escopo do mdulo so ditas variveis locais e s podem ser acessadas pelo prprio mdulo e pelos mdulos criados dentro dele. As variveis declaradas no programa principal so chamadas variveis globais, que so acessveis por todos os mdulos, enquanto as variveis locais s esto acessveis ao mdulo. permitida a criao de variveis globais e locais com o mesmo nome, caso em que ser considerada a varivel local quando o mdulo possuir a varivel declarada localmente e, nos demais casos, a varivel global ser a considerada. Em outras palavras, quando existe conflito de nomes (duas variveis com mesmo nome, sendo uma local e outra global), vale a definio local, e a global deixa de poder ser acessada (embora continua existindo normalmente).
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 19

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A chamada aos mdulos realizada pela colocao de nome do mdulo (e seus parmetros, caso existam) em uma linha de comando. Quando se tratar de um procedimento, coloca-se o nome do procedimento e seus parmetros como nico comando a ser executado na linha. Quando for uma funo, esta deve seguir as regras para expresses (uma funo retorna valor!). Ento, deve aparecer em conjunto com instrues que faam uso do resultado: atribuio, escreva, expresses etc. Alguns autores entendem que permitido utilizar o nome da funo isoladamente, mas o valor retornado ser perdido. Ento, qual seria a utilidade da funo chamada isoladamente, se o resultado no ser proveitoso? Na definio da lista de parmetros dos mdulos, podemos ter uma srie de variveis, que sero utilizadas no mdulo. Os parmetros podem ser de entrada e/ou de sada. Estes parmetros aparecem em dois locais: na linha de cabealho do mdulo na lista de parmetros, quando so chamados de parmetros FORMAIS e na chamada do mdulo (execuo), quando so chamados de parmetros REAIS ou EFETIVOS. Note que os parmetros formais so variveis locais ao mdulo. J os parmetros efetivos quando so utilizados apenas como entrada de dados para o mdulo podem ser variveis, constantes ou expresses. Os parmetros efetivos que so usados como sada de dados devem ser variveis. Nos casos onde os parmetros efetivos devem ser variveis (quando so usados como parmetros de entrada e sada), dizemos que a passagem do parmetro ocorre por referncia, enquanto nos casos da utilizao do parmetro apenas para entrada, temos a passagem de parmetros por valor. O efeito disto que na passagem de parmetros por valor somente os valores so passados para os parmetros formais. Assim, qualquer modificao nestas variveis (parmetros formais) no afetam a varivel global. De outro lado, na passagem de parmetros por referncia, criado um link (ponteiro) que conecta a varivel local (parmetro formal) com a varivel externa (parmetro efetivo). Qualquer alterao na varivel local deste link, afeta diretamente a varivel externa. De fato, as alteraes feitas no parmetro formal, na verdade so realizados no parmetro efetivo (por conta do ponteiro). Existem restries para a passagem de parmetros: a quantidade de parmetros formais deve ser a mesma dos parmetros efetivos e os tipos de dados devem ser compatveis. Veja o exemplo a seguir:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

20

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Algoritmo "Exemplo" Declare X : INTEIRO procedimento PassagemPorValor( A : inteiro) inicio A5 fim Inicio X 10 PassagemPorValor(X) // Chamada ao procedimento escreva(X) Fim No exemplo acima, o contedo da varivel X no ser alterado aps o retorno ao programa principal. Ao chamar o mdulo (procedimento) PassagemPorValor(X), o contedo da varivel X (10) passado para o mdulo (varivel local A). A varivel A inicia o mdulo com o valor 10, mas recebe o valor 5 durante a execuo. Assim, quando o mdulo termina, A destruda e a varivel X continua com valor 10. Finalmente, ser impresso o valor 10 na tela. Geralmente, usamos uma palavra para indicar que a passagem de parmetro por referncia. Adoto a palavra var, conforme a maioria dos autores da rea, mas possvel que outras palavras sejam encontradas com este propsito. Vejamos o mesmo exemplo com passagem de parmetro por referncia. Algoritmo "Exemplo2" Declare X : INTEIRO procedimento PassagemPorRef( var A : inteiro) inicio A5 fim Inicio X 10 PassagemPorRef(X) // Chamada ao procedimento escreva(X) Fim Agora, como a passagem se dar por referncia, no ser o valor de X que ser o parmetro a ser passado e sim, o endereo de memria da varivel (A
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 21

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

passa a ser um ponteiro para X). Quando o comando A 5 executado, o ponteiro A faz com que a varivel X receba o resultado. Temos aqui a passagem de parmetro por referncia e a demonstrao de uma varivel de entrada e sada. No caso de uma funo, esta sempre retorna valor. Ento, a declarao deve ser acompanhada de um tipo de dado para o valor de retorno. importante salientar que a funo s pode retornar um valor. Exemplo: Algoritmo "Exemplo" Declare X, Y, Z : inteiro Funo Soma( A, B : inteiro) Declare C : inteiro inicio CA+B Retorne C fim Inicio Leia(X, Y) Z Soma(X, Y) escreva(Z) Fim No exemplo acima, a funo soma recebe dois parmetros, calcula a soma entre eles e retorna o resultado encontrado. Suponha que os valores digitados para X e Y sejam 5 e 10, respectivamente. Neste caso, o valor de Z, escrito ao final, ser 15. Independncia Funcional Quando projetamos um algoritmo devemos construir mdulos com apenas um propsito (alta coeso), e diminuir ao mximo a interao entre eles (baixo nvel de acoplamento). A independncia funcional fundamental para um bom projeto. Coeso: a medida da fora funcional relativa de um mdulo. a medida que indica se um mdulo possui uma funo bem definida no sistema. Podemos classificar um software em relao coeso, da seguinte maneira: coincidental: quando o mdulo realiza vrias tarefas, que no tem nenhuma relao uma com a outra;

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

22

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

lgica: quando o mdulo executa tarefas logicamente relacionadas, por exemplo, um mdulo que realiza todas as entradas de dados de um software; temporal: quando o mdulo contm tarefas que so relacionadas pelo fato de todas terem que ser executadas num mesmo intervalo de tempo.

Acoplamento: depende da complexidade da interface (interao) entre os mdulos. Quando temos um alto acoplamento, significa dizer que um mdulo deve conhecer detalhes da implementao do outro, as alteraes propagam-se pelo sistema, e o sistema potencialmente mais difcil de entender. Podemos classificar um software, em relao ao acoplamento, da seguinte maneira: baixo acoplamento: quando a interface entre mdulos se faz atravs da passagem de dados; acoplamento moderado: quando a interface entre os mdulos feita por controle, por exemplo, quando o mdulo1 passa o controle para o mdulo 2; acoplamento elevado: quando o mdulo est ligado a um ambiente externo ao software, por exemplo, a Entrada/Sada acopla um mdulo a dispositivos, formatos e protocolos de comunicao. Ou ainda, mdulos que utilizam variveis globais. Quanto maior o nvel de coeso e menor o nvel de acoplamento, melhor o software. Recurso Na programao de computadores, a recurso uma tcnica que define um problema em termos de uma ou mais verses menores deste mesmo problema. Esta ferramenta pode ser utilizada sempre que for possvel expressar a soluo de um problema em funo do prprio problema. Sendo assim, um nmero infinito de clculos pode ser definido por um programa recursivo finito, ainda que este no contenha repeties explcitas (como do, while, for, repeat etc). A recurso no um conceito novo, sendo diretamente derivado das relaes de recorrncia da Matemtica. Vantagens X Desvantagens Um programa recursivo mais elegante e menor que a sua verso iterativa, alm de exibir com maior clareza o processo utilizado, desde que o problema ou os dados sejam naturalmente definidos atravs de recorrncia. Por outro
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 23

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

lado, um programa recursivo exige mais espao de memria e , na grande maioria dos casos, mais lento do que a verso iterativa. Direto ao Ponto! Estrutura Sequencial ou Sequncia: usada para executar comandos passo a passo, sabendo que todos eles sero executados na ordem de escrita, sem nenhum desvio. Uma sequncia pode possuir um ou vrios comandos, normalmente delimitados pelos identificadores Incio e Fim. Inicio Comando_1 ... Comando_n Fim Estrutura Condicional ou Seleo: usada para tomar decises, ou seja desviar a execuo do algoritmo de acordo com uma condio, podendo ser simples ou composta. Simples Composta Se (Expresso Lgica) Se (Expresso Lgica) Ento Sequncia_1 Ento Sequncia_1 Fim-se Seno Sequncia_2 Fim-se Repetio: serve para efetuar um conjunto de aes repetidas vezes. Existem trs tipos bsicos de repeties: Enquanto (Expresso Lgica) O comando Enquanto analisa a faa Expresso Lgica e enquanto o seu Sequncia resultado for o valor lgico Verdade a Fim-enquanto Sequncia executada. Para varivel de valor_inicial at valor_final faa Sequncia Fim-para Repita Sequncia At (Expresso Lgica) Modularizao Procedimento NomeDoProcedimento [(parmetros)] Variveis Inicio Sequncia Fim Funo NomeDaFuno [(parmetros)] : tipo_da_funo Variveis
Profa. Patrcia Lima Quinto

O comando Para incrementa, a varivel a partir do valor_inicial em uma unidade at que esta atinja o valor_final. E para cada incremento a sequncia executada. O comando Repita executa a Sequncia at que o valor retornado pela Expresso Lgica seja Verdadeiro.

Procedimentos: bloco de cdigo precedido de um cabealho que contm o Nome do procedimento e seus parmetros. Um procedimento NO retorna valor.

Funes: semelhante a um procedimento, sendo que esta deve retornar, obrigatoriamente, um valor.
24

www.pontodosconcursos.com.br

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Inicio Sequncia NomeDaFuno (expresso de retorno) Ou retorne (expresso de retorno) Fim PROGRAMAO ORIENTADA A OBJETOS A expresso orientado a objetos" significa que o software organizado como uma coleo de objetos separados que incorporam tanto a estrutura quanto o comportamento dos componentes do sistema. Isto diferente da programao convencional, em que a estrutura e o comportamento dos dados tm poucos vnculos entre si. Apresenta-se a seguir desenvolvimento: uma comparao entre as duas formas de

Desenvolvimento Estruturado

Desenvolvimento Orientado a Objetos

Fluxo de dados Transformaes Repositrios de dados Entidades Especificao de procedimentos Dicionrio de dados

Objetos (Classes)
o o

Atributos Operaes

Associaes e Multiplicidade Herana Outros componentes especializados Foco nos componentes do sistema.

Foco nos processamentos do sistema.

A programao orientada a objetos (POO) uma metodologia de programao que prov modularidade e reusabilidade. A POO introduz uma abordagem na qual o programador visualiza seu programa em execuo como uma coleo de objetos cooperantes que se comunicam por meio de mensagens. Cada um dos objetos uma instncia de uma classe e todas as classes formam uma hierarquia de classes unidas via relacionamento de herana. Existem alguns aspectos importantes na definio de POO:
a

usa objetos, e no funes ou procedimentos como seu bloco lgico fundamental de construo de programas; objetos comunicam-se por mensagens; cada objeto instncia de uma classe; classes esto relacionadas umas com as outras.
www.pontodosconcursos.com.br 25

Prof . Patrcia Lima Quinto

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A programao orientada a objetos d nfase estrutura de dados, adicionando funcionalidade ou capacidade de processamento a estas estruturas. Em linguagens tradicionais, a importncia maior atribuda a processos e sua implementao em subprogramas. Entendido o contexto, vamos, agora, abordar os conceitos de programao orientada a objetos de forma mais detalhada. Os objetos no foram concebidos a partir do nada. Eles representam o resultado de uma evoluo nas tcnicas de programao. Podemos afirmar que os objetos so uma evoluo natural dos tipos abstratos de dados. Voc se recorda dos Tipos Abstratos de Dados? Chegou a estudar o TAD? Pois este conceito foi de grande importncia para a POO. Os TADs possuem caractersticas como encapsulamento e modularidade, hoje conceitos importantes na programao. Na declarao do tipo de uma varivel na programao tradicional com TAD delimita-se o conjunto de valores que ela pode assumir e as operaes que ela pode sofrer. A especificao de um tipo de dados deve definir os objetos constituintes do tipo e as operaes aplicveis a estes objetos. Alm disso, possvel estabelecer uma maneira de representao para os objetos. Geralmente, uma linguagem de programao prov alguns tipos bsicos pr-definidos (tipos primitivos) e ainda oferece mecanismos para definio de novos tipos de dados renomeando tipos existentes ou agregando alguns tipos primitivos e/ou definidos pelo usurio. Existem linguagens que alm de proporcionarem tipos de dados primitivos e tipos de dados definidos pelo usurio, incorporam o conceito de tipos abstratos de dados. Tipos abstratos de dados envolvem a disponibilidade de dados e operaes (comportamento) sobre estes dados em uma nica unidade. A abstrao de dados utilizada para introduzir um novo tipo de objeto, que considerado til no domnio do problema a ser resolvido. Os usurios do tipo abstrato de dados preocupam-se apenas com o comportamento dos objetos do tipo, demonstrado em termos de operaes significativas para tais objetos, no necessitando conhecer como estes objetos esto representados ou como as operaes so realizadas neles (ocultamento de informao). Portanto, uma abstrao de dados consiste de um conjunto de valores e de operaes que completamente caracterizam o comportamento dos objetos. Esta propriedade garantida fazendo-se com que as operaes sejam a nica maneira de criar e manipular os objetos. Como consequncia, necessrio incluir operaes suficientes para proporcionar todas as possveis aes que os objetos possam sofrer. O que abstrao? No dicionrio Aurlio, abstrao significa considerar isoladamente coisas que esto unidas, ou seja, partimos do enfoque global de um determinado problema e procuramos separar os elementos fundamentais e coloc-los de uma forma mais prxima da soluo. A ideia da abstrao identificar os elementos essenciais de um problema e suas propriedades fundamentais, separando ocorrncias e atributos acidentais.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

26

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Para a programao orientada a objetos, abstrao o processo de identificao dos objetos e seus relacionamentos. A POO permite ao programador concentrar-se no que um objeto e faz, sem se preocupar em como ele o faz. A abstrao se d em diferentes nveis: inicialmente abstrai-se o objeto; de um conjunto de objetos cria-se um conjunto de classes relacionadas; de um conjunto de classes cria-se uma biblioteca de classes e assim por diante. Voltando aos TADs: um tipo abstrato de dados pode ser definido como um tipo de dados que satisfaz as seguintes condies: A representao e definio do tipo e as operaes nos objetos do tipo so descritos em uma nica unidade sinttica (como em uma Unit, em Turbo Pascal) A representao (implementao) dos objetos do tipo escondida das unidades de programa que utilizam o tipo; portanto, as nicas operaes possveis em tais objetos so aquelas que fazem parte da definio (interface) do tipo.

O estilo de programao com tipos abstratos de dados inclui o princpio de encapsulamento, que proporciona ocultamento e proteo de informao, viabilizando a manuteno e facilitando a evoluo de sistemas. Com o encapsulamento da estrutura de dados que representa os objetos e dos procedimentos que representam as possveis operaes sobre os objetos, temse que uma alterao na estrutura de dados provavelmente exigir modificaes nos procedimentos, porm o efeito dessas modificaes fica restrito s fronteiras da unidade sinttica que descreve o tipo (a Unit, no caso do Pascal). Se a interface permanecer a mesma, as unidades de programa que utilizam o tipo no necessitam sofrer alteraes. Outra vantagem que pode ser citada o considervel aumento de confiabilidade obtido atravs do princpio da proteo. Unidades de programa que utilizam um tipo no esto aptas a fazer modificaes diretamente. Elas somente podem chamar as operaes que esto disponveis na interface, aumentando a integridade dos objetos. O ponto chave para criar TAD (ou objetos) eficientes fazer uma boa abstrao do objeto. O conceito de abstrao nos leva ideia do exame seletivo de determinados aspectos de um problema. O objetivo da abstrao isolar os aspectos que sejam importantes para algum propsito e suprimir os que no o forem. A abstrao deve sempre visar a um propsito, porque este determina o que e o que no importante.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

27

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Em outras palavras, a abstrao a habilidade de ignorar os aspectos de um assunto no relevantes para o propsito em questo, tornando possvel uma concentrao maior nos assuntos principais. Em termos prticos, a abstrao consiste na seleo que um desenvolvedor faz de alguns aspectos dos objetos que sero representados no sistema, suprimindo outros que no so do interesse da aplicao. Pessoas, lugares, coisas e conceitos do mundo real so normalmente complexos. Quando queremos diminuir a complexidade, selecionamos parte do que estamos analisando, ao invs de tentarmos representar o todo. Alguns autores classificam a abstrao em dois tipos:

Abstrao de procedimentos: baseia-se operao com um efeito bem definido pode como uma entidade nica, mesmo que conseguida atravs de alguma sequncia baixo.

no princpio de que qualquer ser tratada por seus usurios a operao seja realmente de operaes de nvel mais

Abstrao de objetos: consiste em definir os servios e atributos aplicveis a estes objetos. Estes objetos s podem ser modificados e observados atravs destes servios.

A abstrao de objetos serve de base para a organizao do pensamento e a especificao das responsabilidades do sistema. a habilidade de descrever novos tipos de dados em termos de seus formatos e servios que agem sobre eles. Ao aplicar a abstrao de objetos, o desenvolvedor define os atributos e os servios que manipulam exclusivamente estes atributos. Um atributo qualquer propriedade, qualidade ou caracterstica que pode ser atribuda a uma pessoa ou objeto. Na POO, o termo atributo definido de forma a refletir o domnio do problema e as responsabilidades do sistema, ou seja, atributo um dado (informao de estado) para o qual cada objeto em uma classe tem seu prprio valor. Os atributos s podem ser acessados atravs de um servio. Servio uma atividade executada para permitir que as pessoas utilizem alguma coisa. Na POO, o termo servio definido de forma a refletir o domnio do problema e as responsabilidades do sistema, ou seja, servio um comportamento especfico que um objeto deve exibir. A abstrao tambm depende do ponto de vista. Por exemplo, para um professor, um aluno (que uma pessoa) deve conter atributos como nome, nmero de matrcula, curso e turma. J para um mdico, a mesma pessoa (aluno) possui outras caractersticas como a estatura, o peso e histrico mdico. Objeto ou Instncia Um objeto uma entidade que formaliza o modo pelo qual compreendemos algo no domnio do problema. O mesmo reflete a capacidade do sistema de guardar informaes sobre o elemento abstrado, interagir com ele, ou ambas
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 28

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

as coisas. A ideia formalizar uma entidade o mais prximo possvel das entidades do mundo real. Esta realidade perceptiva ao ser humano pelo aspecto tangvel e/ou visvel de algo. Dessa forma, podemos dizer que os objetos so os substantivos do domnio do problema. O que caracteriza a programao orientada a objetos so os objetos. De um modo geral podemos encarar os objetos como sendo os objetos fsicos do mundo real, como: carro, avio, cachorro, casa, telefone, computador, etc. De maneira simples, um objeto uma entidade lgica que contm dados e cdigo para manipular esses dados. Os dados so denominados como sendo atributos do objeto, ou seja, a estrutura que o objeto tem, e o cdigo que o manipula denominamos mtodo. Um mtodo uma funo que manipula a estrutura de dados do objeto. Um objeto representa um elemento que pode ser identificado de maneira nica. Em nvel apropriado de abstrao, praticamente tudo pode ser considerado como objeto. Assim, elementos especficos como pessoas, organizaes, mquinas ou eventos podem ser considerados como objetos. A prxima figura ilustra a definio de objetos, que a abstrao de um conjunto de coisas semelhantes. Um objeto tem estado, comportamento e identidade; a estrutura e comportamento de objetos similares so definidos em suas classes comuns.

Na viso de uma linguagem imperativa tradicional (baseada em comandos), os objetos aparecem como uma nica entidade autnoma que combina a representao da informao (estruturas de dados) e sua manipulao (procedimentos), uma vez que possuem capacidade de processamento e armazenam um estado local. Pode-se dizer que um objeto composto de: Estado: o estado do objeto definido pelas propriedades que ele possui e pelos valores que elas esto assumindo; Comportamento: definido pela forma como ele o objeto age e reage, em termos de mudana de seu estado e o relacionamento com os demais objetos do sistema;
www.pontodosconcursos.com.br 29

Profa. Patrcia Lima Quinto

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Identidade: uma propriedade pela qual um objeto se distingue dos demais.

INTERFACE

OPERAO 1 OPERAO 2 OPERAO 3

ESTADO INTERNO

IMPLEMENTAES DAS OPERAES 1, 2 E 3

Enquanto que os conceitos de dados e procedimentos so frequentemente tratados separadamente nas linguagens de programao tradicionais, em POO eles so reunidos em uma nica entidade: o objeto. A figura abaixo apresenta outra visualizao para um objeto.
NOME
AUMENTAR SALRIO

CARGO

...
LISTAR DEPENDENTES

...
SALRIO

Uma vez que objetos utilizam o princpio da abstrao de dados, o encapsulamento de informao proporciona dois benefcios principais para o desenvolvimento de sistemas: Modularidade: o cdigo fonte para um objeto pode ser escrito e mantido independentemente do cdigo fonte de outros objetos. Alm disso, um objeto pode ser facilmente migrado para outros sistemas. Ocultamento de informao: um objeto tem uma interface pblica que os outros objetos podem utilizar para estabelecer comunicao com ele. Mas, o objeto mantm informaes e mtodos privados que podem ser alterados a qualquer hora sem afetar os outros objetos que dependem dele. Ou seja, no necessrio saber como o objeto implementado para poder utiliz-lo.

Classes Classe o termo tcnico utilizado em linguagens orientadas a objetos que descreve um conjunto de dados estruturados que so caracterizados por propriedades comuns. Podem-se definir classes de objetos como a descrio de um grupo de objetos por meio de um conjunto uniforme de atributos e servios. Uma classe um conjunto de objetos que compartilham as mesmas operaes.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 30

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Enquanto um objeto individual uma entidade concreta que executa algum papel no sistema como um todo, uma classe captura a estrutura e o comportamento comum a todos os objetos que so relacionados. Um objeto possui uma identidade e suas caractersticas sero definidas para a classe. Uma classe definida por: um nome da classe; o nome da sua superclasse; o nome de suas variveis privadas; os nomes e as definies de todas as operaes associadas a esta classe;

Classe um conceito esttico: uma classe um elemento reconhecido num texto de programa. Por outro lado, um objeto um conceito puramente dinmico, o qual pertence no ao texto do programa, mas memria do computador, local onde os objetos ocupam espao durante a execuo. (Conceitualmente, classes no so necessrias durante a execuo, exceto em linguagens interpretadas, quando preciso manter o cdigo fonte disponvel). Podemos dizer que uma classe um conjunto de objetos que compartilham uma estrutura comum (atributos) e um procedimento comum (operaes). Uma classe abstrata uma classe que no possui instncias diretas mas cujas descendentes, sim. Uma classe concreta uma classe instancivel; isto , pode ter instncias diretas. Uma classe direta pode ter subclasses abstratas (mas estas, por sua vez, devem possuir descendentes concretos). As classes so organizadas em nveis hierrquicos compartilhando estruturas e comportamentos comuns e so associadas a outras classes. As classes definem os valores de atributos relativos a cada instncia de objetos e as operaes que cada objeto executa ou a que se submete. Assim, cada objeto dito ser uma instncia de sua classe.

Termos interessantes no contexto de classes: Classificao: Os objetos com a mesma estrutura de dados e com as mesmas operaes so agrupados em uma classe. Um objeto contm uma referncia implcita a sua classe, ele sabe a qual classe pertence.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 31

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Tipificao: As classes representam os tipos de dados definidos pelo usurio. A tipificao a capacidade de o sistema distinguir as diferentes classes e resolver as converses. Modularidade: A criao de mdulos do programa que podem ser compilados separadamente. usual separar a definio das classes de sua implementao. Classes abstratas: Uma classe abstrata quando a mesma no completa e no pode criar objetos ( como uma fbrica no papel). Uma classe abstrata pode surgir naturalmente ou atravs da migrao de atributos e mtodos para uma classe genrica. Somente classes concretas podem criar objetos. Atributos e Instncias Um atributo um dado para o qual cada objeto tem seu prprio valor. Atributos so, basicamente, a estrutura de dados que vai representar a classe. Cada atributo tem um valor para cada instncia do objeto. Este valor deve ser um valor de dado puro, no um objeto. Observe a figura a seguir. Se o item Polgonos for uma classe, ento Retngulo e Tringulo so as instncias desta classe. As colunas Vrtice, Cor da borda e Cor do interior seriam, neste caso, os atributos da classe, enquanto os dados em cada coluna seriam os atributos dos objetos presentes na mesma linha. Ento, cada linha, exceto o cabealho, representa uma instncia da classe (um objeto), onde a primeira coluna o nome interno do objeto e as demais so os atributos valorados do objeto.

Da, conclumos que uma instncia uma ocorrncia da classe. , de fato, um objeto em memria. A todo objeto podemos relacionar alguns atributos (propriedades). No exemplo do relgio a hora, a data. Na programao orientada a objeto, os atributos so definidos na classe e armazenados de forma individual ou coletiva pelos objetos. Atributos de classe (coletivos): Quando um atributo dividido entre todos os objetos criados, ele armazenado na classe. Exemplo: Um contador de relgios criados. Atributos de objeto (individuais): Quando um atributo individual ele armazenado no objeto. Exemplo: A hora de um relgio.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 32

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Mtodos (Operaes ou Servios) A todo objeto podemos relacionar determinados comportamentos, aes e reaes. As aes ou comportamento dos objetos so chamados de mtodos, portanto um mtodo uma funo, um servio fornecido pelo objeto. Os comportamentos dos objetos so definidos na classe atravs dos mtodos e servem para manipular e alterar os atributos do objeto (alteram o estado do objeto). importante ressaltar que todos os objetos em uma classe compartilham as mesmas operaes. O cdigo do programa no replicado em cada objeto. Termos importantes: Mensagens: um objeto tem determinados atributos (propriedades) e mtodos (aes). O objeto reage ao meio que o envolve de acordo com as estimulaes que sofre. Em um programa orientado a objeto os estmulos so representadas por mensagens que so enviadas a um objeto. Uma mensagem pode ser gerada pelo usurio, por exemplo, ao clicar o mouse. Protocolo: o conjunto de mtodos que podem ser acessados pelo usurio, o conjunto de mensagens a que o objeto responde. Ou seja, o protocolo o conjunto de mtodos pblicos da classe. Ligao esttica/ dinmica: ligao o processo de identificar a posio dos mtodos a serem executados. Na ligao esttica o endereo dos mtodos definido durante a compilao do programa. Na ligao dinmica o endereo dos mtodos definido somente durante a execuo do programa. Mensagem Uma mensagem, em sentido amplo, qualquer comunicao, escrita ou oral feita entre pessoas. Na POO, os objetos se comunicam por meio de mensagens. No entanto, no so mensagens livres, como entre os seres humanos. Um objeto, na verdade, determina quais so as mensagens que ele pode responder. Mensagens, ento, so requisies para que um objeto execute uma de suas aes. Cada objeto somente pode responder s mensagens que constem do seu protocolo. O atendimento de uma mensagem envolve a execuo de algum tipo de cdigo, ou seja, os mtodos, sobre um dado associado quela operao, sobre os atributos. Ao receber uma mensagem, o objeto verificar se h, na classe a qual ele pertence, um servio (mtodo) que defina seu comportamento perante a mensagem recebida. Caso no encontre, verificar nas superclasses da classe a que ele pertence (qualquer classe da qual ele tenha herdado alguma coisa). Este mecanismo de busca chamado acoplamento dinmico.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 33

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Os servios modelam o comportamento dos objetos. Trs tipos de classificao de comportamento so mais frequentemente usados: 1. com base na causa imediata; 2. conforme similaridade de evoluo histrica(alterao com o tempo); e 3. conforme a similaridade de funo. Considerando que, na POO, a considerao central na definio de servios definir o comportamento requerido que um objeto deve refletir, estes princpios so incorporados nas estratgias que definem: Estados de objeto - elaborada com base no princpio de alterao com o tempo. Servios requeridos - elaborada com base nos princpios de similaridade de funo e causa imediata.

Encapsulamento O conceito de encapsulamento decorrente do fato de se combinar os dados (atributos) e o cdigo que manipula estes dados (mtodos) em um nico Objeto. Ele garante que a nica forma de acesso aos dados atravs dos mtodos disponveis ao usurio (chamados pblicos). Os demais mtodos e os atributos da classe ficam sendo privados, ou seja, apenas funes-membro da classe tm acesso direto aos mesmos. O encapsulamento o empacotamento dos atributos e das operaes numa mesma classe. Isto protege os dados contra corrupo, pois somente as operaes da classe podero alterar as estruturas de dados desta classe em questo. Trocando em midos, o encapsulamento diz respeito definio de uma estrutura que contenha os dados, defina quais os mtodos de acesso pblico a esses dados e possua meios de proteger os demais mtodos e os dados contra acesso direto. O encapsulamento pode ainda ser visto como um processo pelo qual se combinam os atributos e os servios que agem sobre estes atributos, em uma definio que oculta detalhes de implementao. Generalizao/Especializao (Herana) Este princpio permite representar membros comuns, servios e atributos uma s vez, assim como especializar estes membros em casos especficos. Herana a propriedade dos objetos que permite a criao de uma hierarquia entre eles, onde os descendentes herdam o acesso ao cdigo e estruturas de dados dos seus ancestrais. A herana permite, portanto, a reutilizao de especificaes comuns, logo no incio das atividades de anlise. A herana define uma relao entre classes do tipo -um(a), onde uma classe compartilha a estrutura e o comportamento definidos em uma ou mais classes. O reconhecimento da similaridade entre classes forma uma
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 34

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

hierarquia de classes, onde superclasses (classes bases) representam abstraes generalizadas e subclasses (classes derivadas) representam abstraes, onde atributos e servios especficos so adicionados, modificados ou removidos. As classes so conectadas por uma estrutura de generalizao e especializao, tornando explcitos os atributos e servios comuns em uma hierarquia de Classes. Benefcios da herana Subclasses proveem comportamentos especializados tomando-se como base os elementos comuns definidos pela superclasse. Reutilizao do cdigo da superclasse vrias vezes. Pode-se implementar classes que definem comportamentos genricos (chamadas de classes abstratas). A essncia da implementada. superclasse definida e pode ser parcialmente

Os detalhes so definidos em subclasses especializadas.

Coad-Yourdon define herana como um mecanismo para expressar a similaridade entre classes, simplificando a definio de Classes similares a outras que j foram definidas. Ela representa generalizao e especializao, tornando atributos e servios comuns em uma hierarquia de Classe. A Herana vai produzir uma ordem de hierarquia entre as diversas Classes-Objetos que estiverem relacionadas desta forma. Um objeto herdeiro em geral uma especializao do seu ancestral, que por consequncia ser uma generalizao de seu sucessor. possvel montar uma estrutura de hierarquias entre Classes-Objetos baseada na relao generalizao-especializao, resultando que os objetos mais ancestrais so mais genricos ou abrangentes, e os seus sucessores so cada vez mais especficos, medida que nos aprofundamos na estrutura. Observe que a herana torna possvel que uma classe compartilhe os atributos e as operaes de outra classe. Mas a classe herdeira tem suas operaes e atributos prprios. Na herana simples, uma classe pode herdar os atributos e as operaes de uma nica classe. Na chamada herana mltipla, uma classe pode herdar os atributos e as operaes de mais de uma classe-pai. A vantagem da herana mltipla maior capacidade de especificao de classes e a maior oportunidade de reutilizao; e a desvantagem a perda da simplicidade conceitual e de implementao. Utiliza-se o termo generalizao/especializao para nos referirmos ao relacionamento entre classes, enquanto herana refere-se ao mecanismo de compartilhamento de atributos e mtodos utilizando o relacionamento de generalizao.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

35

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Termos importantes: Nomes de classe: em uma famlia os filhos e netos compartilham os nomes de seus ancestrais, da mesma forma, em uma hierarquia de classes os nomes devem ser significativos, semelhantes e esclarecedores. Superclasse: uma superclasse a classe base de uma hierarquia de classes, a classe mais alta na hierarquia ( a origem da rvore). Compartilhamento: as tcnicas orientadas a objeto facilitam o compartilhamento de cdigo por meio dos conceitos de herana. Alm de um maior compartilhamento do cdigo a POO reduz a codificao em funo da maior clareza dos diagramas desenvolvidos. Cancelamento: a substituio de um mtodo da classe pai por outro na classe filha. Pode ocorrer com os seguintes objetivos: cancelamento para extenso (ampliao das tarefas que eram realizadas), cancelamento para restrio (quando a tarefa no mais necessria), cancelamento para otimizao (quando se deseja aumentar a performance), cancelamento por convenincia (quando o cancelamento pode ser conveniente por um motivo qualquer, deve ser evitada pois semanticamente incorreto). Os mtodos no podem ser substitudos para terem um comportamento diferente do esperado. Polimorfismo a propriedade de uma ou mais classes responderem a mesma mensagem, cada uma de uma forma diferente. a capacidade de classes diferentes responderem a mesma ordem, mas de maneira diferente. Imagine uma classe de animais onde existam as classes filhas homem e cachorro. Apesar de serem classes diferentes, ambos (homem e cachorro) so capazes de correr, embora o cachorro corra com as quatro patas, enquanto o homem corre sobre os dois ps. Em uma linguagem orientada a objeto, uma referncia polimrfica tal que, no decorrer do desenvolvimento do software, refere-se a mais de uma classe. Desta forma possvel explorar similaridades entre diferentes classes de objetos. Este conceito til para distinguir mensagens de um mtodo. Um objeto emissor envia uma mensagem, se o objeto receptor implementa um mtodo com a mesma assinatura, ele poder respond-la. Diferentes respostas sero possveis, dependendo de como os mtodos dos receptores esto implementados. Na linguagem C++, por exemplo, o polimorfismo implementado pelo uso de sobrecarga de funes. Em C++, duas ou mais funes podem compartilhar o mesmo nome, desde que as suas declaraes de parmetros sejam diferentes. Nessa situao, as funes que compartilham o mesmo nome so
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 36

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

conhecidas como sobrecarregadas e o processo chamado de sobrecarga de funes. O polimorfismo simplifica a programao uma vez que permite enviar uma mensagem genrica a vrios objetos. Cada objeto implementa a operao, que atende a mensagem genrica, de diferentes maneiras. Nesse sentido, mensagens iguais, destinadas a objetos diferentes, podem gerar comportamentos diferentes. Para uma mesma mensagem, objetos diferentes podem responder ou agir de forma diferenciada. isto o polimorfismo! Note que o resultado no precisa ser diferente!!! Isto importante. Muitas pessoas pensam que j que os objetos iro responder de formas diferentes mensagem igual, ento o resultado deve ser diferente. No necessariamente. Normalmente o resultado, em termos amplos, o mesmo. A forma como o objeto faz acontecer que diferente. Por exemplo, uma mensagem imprimir enviado para um documento do Word (objeto) faz com que o documento inicie o processo de impresso que, certamente, exigir a transformao do contedo em comandos da impressora. Poderamos ter a mesma mensagem em outro objeto, por exemplo, no documento do Paint (editor de imagens). Este, ao receber a mensagem imprimir tambm enviaria comandos para a impressora, mas certamente os comandos internos deste para gerar os comandos de impresso no sero os mesmos do Word. Eu, que estou utilizando os objetos, no preciso saber como eles iro resolver a questo, s preciso saber que, para imprimir o contedo, devo enviar a mensagem imprimir. Abaixo, outro exemplo que ilustra de modo mais prtico o que dissemos h pouco. Observe os exemplos Inserir Empregado sem polimorfismo: Colaborador1.InsereColaborador Gerente1.InsereGerente Presidente1.InserePresidente Inserir Empregado com polimorfismo: Colaborador.Insere Gerente.Insere Presidente.Insere So necessrias trs rotinas, que compartilham o mesmo nome Sem polimorfismo: Para todos os Empregados Faa
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 37

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Se Empregado Presidente Ento Empregado[i].InserePresidente Se Empregado Gerente Ento Empregado[i].InsereGerente Se Empregado Colaborador Ento Empregado[i].InsereColaborador Fim Se Fim Para Com polimorfismo: Para todos os Empregados Faa Empregado[i].Insere Fim Para Polimorfismo paramtrico: vrios mtodos com o mesmo nome, definidos na mesma classe, que se diferenciam pelo tipo ou nmero de parmetros suportados. Tambm chamado de sobrecarga de operadores (overloading). Uma mensagem pode ser enviada a um objeto com parmetros de tipos diferentes nmero varivel e o mtodo invocado escolhido pelos parmetros enviados na mensagem. Benefcios do Polimorfismo Legibilidade do cdigo: a utilizao do mesmo nome de mtodo para vrios objetos torna o cdigo de mais fcil leitura e assimilao, facilitando muito a expanso e manuteno dos sistemas. Cdigo de menor tamanho: o cdigo mais claro torna-se tambm mais enxuto e elegante. Podem-se resolver os mesmos problemas da programao convencional com um cdigo de tamanho reduzido. Associao Uma associao uma ligao conceitual entre classes, geralmente aparecem como verbos nas especificaes do programa e so intrinsecamente bidirecionais. A associao uma unio ou conexo de ideias. Na Anlise Orientada a Objetos, a associao modelada por meio de uma conexo de ocorrncias. Uma conexo de ocorrncia um relacionamento que um objeto precisa ter com outro(s) objeto(s), para cumprir suas responsabilidades. A associao o relacionamento entre classes e a ligao o relacionamento entre objetos. Assim, uma ligao uma instncia de uma
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 38

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

associao. As associaes so bidirecionais e podem ser binrias, ternrias ou de ordem mais elevada; na prtica, contudo, geralmente so binrias. Por exemplo: a classe Arquivo pode ter a operao imprimir para diferentes tipos de arquivos (texto, grfico, arquivos ASCII). Todos estes mtodos executam logicamente a mesma tarefa imprimir arquivo; assim podemos referir-nos a eles pela operao genrica imprimir. Agregao Quando unimos vrios objetos simples para criar um objeto mais complexo, estamos utilizando uma agregao, tambm denominada estrutura todo-parte. Diz-se "todo-parte" em que todo representa o objeto composto e parte uma das partes que o compem. Pode dizer ainda "uma parte de", tem um.

A Agregao o princpio que permite ao desenvolvedor considerar algo muito grande atravs do enfoque Todo-Parte. Todo-Parte um dos servios bsicos naturais de organizao dos seres humanos que orienta o desenvolvedor atravs de um modelo extenso. Usa-se dizer que um objeto da classe agregada (Todo) tem objetos das classes componentes (Parte). Mesmo em se tratando de entidades abstratas, pode-se compor um objeto a partir de outros objetos. A propriedade mais significativa da agregao a transitividade, se A parte de B e B parte de C, ento A parte de C. ainda anti-simtrica, ou seja, se A parte de B, B faz parte de A. Em alguns casos os dois objetos s podem ter existncia juntos.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

39

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

CONCEITOS DE PROGRAMAO PARA WEB Conceitos de HTML 1.1.Definio O HTML (HyperText Mark-up Language) foi inventado em 1990 por um cientista chamado Tim Berners-Lee visando possibilitar o acesso e a troca de informaes e de documentao de pesquisas entre cientistas de diferentes universidades. Ao inventar o HTML ele lanou as fundaes da Internet tal como a conhecemos atualmente. Hoje HTML uma linguagem de marcao que possibilita apresentar informaes de diferentes tipos na Internet. Quando voc v uma pgina na Internet no seu browser, isto na verdade a interpretao que seu navegador faz do HTML. Logo, para construir websites deve-se que conhecer HTML, mesmo que voc use um programa para criar seu website, tal como o Dreamweaver.

1.2.Tags HTML A HTML (HyperText Markup Language) uma linguagem de marcao. Criar um documento em uma linguagem de marcao significa que voc comea com o texto da sua pgina e inclui tags especiais no incio e no final de determinadas palavras ou pargrafos. Tags so rtulos usados para informar ao navegador as caractersticas dos componentes do website. As tags indicam as diversas partes da pgina e produzem diferentes efeitos no navegador. Normalmente as tags so especificadas em pares, delimitando um texto que sofrer algum tipo de formatao. Existem dois tipos de tags - tags de abertura: <comando> e tags de fechamento: </comando>. Tudo que estiver contido entre uma tag de abertura e uma tag de fechamento ser processado segundo o comando contido na tag. No entanto, em algumas tags a abertura e o fechamento se d no mesmo comando. Entre os sinais < > so especificados os comandos propriamente ditos. No caso de tags que necessitam envolver um texto, sua finalizao deve ser feita usando-se a barra de diviso /, indicando que a tag est finalizando a marcao de um texto.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

40

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

1.3. Estrutura Bsica dos Arquivos HTML Os arquivos recebem a extenso .html. A primeira pgina a ser exibida geralmente recebe o nome de index.htm ou .html, dependendo do provedor que hospeda a pgina. Basicamente, os arquivos html seguem a seguinte estrutura: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-88591"> <title>Untitled Document</title> </head> <body> <!-- Corpo da pgina --> </body> </html>

A declarao <!DOCTYPE> no um elemento da linguagem. A sua finalidade informar ao web browser qual a verso exata da linguagem em que a pgina est escrita. Quando utilizada, esta declarao deve ser a primeira coisa que aparece no documento.

1.4.Tags HTML 1.4.1. Tags Iniciais <HTML> </HTML>Definio do incio e fim do cdigo html. <HEAD> ... </HEAD> A tag <HEAD> indica que voc declarou um cabealho. Atributos: Nenhum. <BODY> ... </BODY> Definio do corpo do documento HTML. Tag obrigatrio para pginas que no usem Frames. Atributos: <DIV> ... </DIV> Indica divises em um documento e pode ser usado para agrupar elementos em um bloco. Atributo:

ALIGN = LEFT | RIGHT | CENTER | JUSTIFY

Especifica alinhamento horizontal padro para o contedo includo.


Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 41

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

OBS: Use <CENTER> em vez de <DIV ALIGN=CENTER>. <DIV> no pode ser usado com <P> porque um elemento <DIV> terminar em um pargrafo. <H1> . . . </H1> - <H6> . . . </H6> Ttulos e subttulos. Ajudam a adicionar estrutura e divises ao seu documento tornando-o organizado. Podem ser substitudos pelA tag que define o tamanho e atributos de fontes. Atributo: Nenhum <TITLE> ... </TITLE> Inclui um ttulo de um documento HTML, que aparecer na barra de ttulo da janela do browser. Use um ttulo descritivo e significativo, isto ajudar os mecanismos de busca e ferramentas da Web a localizarem seu contedo. Atributos: Nenhum <!-- ... --> Inclui um comentrio no cdigo fonte de um documento HTML. O texto ignorado pelo navegador. Usado para documentar seus arquivos, fazer anotaes que facilitem a leitura e manuteno do documento, ou outras informaes. Pode ser usado para testar excluses de sees de uma pgina Web. Atributos: Nenhum <META> O elemento <meta> fornece meta-informao, ou seja: d informao que descreve a informao que est contida no corpo do documento. A informao fornecida consiste principalmente em descries do contedo e palavras-chave. Alguns sistemas de buscas (internacionais principalmente), fazem uso da TAG META para permitir o correto cadastramento em seus sistemas. Exemplos: Definir palavras-chave para os motores de pesquisa: <meta name="keywords" content="HTML, DHTML, CSS, XML, XHTML, JavaScript, XML, SVG">

D uma descrio da pgina: <meta name="description" content="Tutoriais de HTML, CSS, XML e Flash">

Indica a data da ltima reviso da pgina: <meta name="revised" content="Autor, 31/03/12">

Refresca o contedo da pgina de 15 em 15 segundos:


Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 42

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

<meta http-equiv="refresh" content="15">

1.4.2. Tags para Formatao <BR> Quebra de linha forada no texto. Para textos que devem ser quebrados em locais especficos <CITE> ... </CITE> Para destacar citaes. <CODE> ... </CODE> Exemplos de cdigo de programa. <B> ... </B> Negrito <STRONG> ... </STRONG> Fortemente enfatizado <I> ... </I> Itlico <STRIKE> ... </STRIKE> Texto riscado <TT> ... </TT> Caracteres semelhantes aos de uma mquina de escrever <U> ... </U> Texto sublinhado <S> ... </S> Texto tachado <VAR> ... </VAR> Destaca nomes de variveis ou argumentos nos comandos. <BIG> ... </BIG> Grande <SMALL> ... </SMALL> Pequeno <SUB> ... </SUB> Subscrito <SUP> ... </SUP> Sobrescrito <P> (</P> opcional) Pargrafos. Quebra de linha com espao de uma linha em branco. Atributo:

ALIGN = LEFT | RIGHT | CENTER | JUSTIFY Especifica alinhamento horizontal padro para o contedo includo.

<FONT> ... </FONT> Define o tamanho, a fonte e a cor do texto inserido. Atributos:

COLOR = #RRGGBB | NOME_DA_COR


www.pontodosconcursos.com.br 43

Profa. Patrcia Lima Quinto

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Define a cor da fonte.

FACE = nomefonte1, nomefonte2,nomefonte3 Define a tipologia, ou seja, com que tipo de fonte ser mostrado o texto no browser.

SIZE = nmero Tamanho da fonte (entre 1 e 7). Um sinal de adio ou subtrao antes do nmero significa tamanho relativo configurao de fonte atual. Ex: <FONT COLOR=#000080 FACE=Arial SIZE=1>

<CENTER> ... </CENTER> Indica que o texto deve ser centralizado horizontalmente. Atributos: Nenhum.

1.4.3. Tags de Links <A>...</A> define um vnculo clicvel para outro recurso Web ou para um ponto especfico em uma pgina Web. Para construir um link que aponta para um endereo da Web voc usa uma tag com o atributo href.

Que aparecer no navegador assim:

A seguir tem-se um exemplo de link para o site do Google.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

44

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

O que mais poderei referenciar?

E-mail por exemplo

que ser mostrado no navegador como um link qualquer:

Exemplo de um link para E-Mail

Um atributo muito til o title, que voc poder usar para que aparea uma explicao sobre o link quando voc passar o mouse sobre o mesmo:

que ser mostrado no navegador como um link qualquer:

Para criar um link voc no precisa necessariamente apontar para um endereo na web, podemos criar links para nossa pgina da mesma forma se o arquivo teste2.html estiver no mesmo diretrio da pgina escrita:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

45

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Este link aparecer no navegador assim:

Se o arquivo que se deseja linkar estiver em algum subdiretrio devemos fazer assim:

que aparecer da mesma forma no navegador:

1.4.4. Tags de Lista Uma coleo de elementos do mesmo tipo. Na linguagem HTML existem elementos especficos para a criao de listas, que podem ser: o listas ordenadas (<OL>, funcionam como numerao, o listas no ordenadas (<UL>) e o listas de definio (<DL>).

Listas Ordenadas A estrutura de uma lista ordenada bastante simples: entre os elementos de incio <ol> e de fim </ol>, os itens da lista so precedidos por elementos <li>. Os itens so apresentados em linhas consecutivas e precedidos por uma numerao atribuda.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

46

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Exemplo de Listas Ordenadas


Tags <ol></ol> e <li></li> para listas ordenadas:
<ol> <li>Um item de lista</li> <li>Outro item de lista</li> </ol>

Listas Ordenadas
Sintaxe:
<ol type=... start=...> <li>item1 <li>item2 ... </ol>

O atributo opcional TYPE define como ser o tipo de numerao de cada linha. Os tipos disponveis so:
"A" (A, B, ..., Z), "a" (a, b, ..., z), "I" (I, II, III, IV,V, ...), "i" (i, ii, iii, iv, v, ...) e "1" (1, 2, 3, ...). Se omitido, utilizado o padro 1, 2, 3, ...

que aparecer assim no seu navegador:


1. Um item de lista 2. Outro item de lista

Listas Ordenadas
Sintaxe:
<ol type=... start=...> <li>item1 <li>item2 ... </ol>

O atributo opcional START define a partir de que elemento a numerao deve se iniciar. Ela deve receber como valor um nmero indicando em que posio a contagem deve se iniciar. A partir da a seqncia gerada automaticamente pelo interpretador HTML.

Exemplos de Listas Ordenadas

Listas No Ordenadas A estrutura das listas no ordenadas a mesma das listas ordenadas. A diferena que, na apresentao, os itens sero precedidos por um marcador (bullet).
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br

47

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

No caso de existir uma lista dentro de outra, ser usado um marcador diferente para os itens de cada lista. Deve-se substituir o identificador <ol> por <ul> e </ol> por </ul>.

Exemplos de Listas No Ordenadas


Tags <ul></ul> e <li></li> listas simples:
<ul> <li>Um item de lista</li> <li>Outro item de lista</li> </ul>

Listas No Ordenadas
Sintaxe:
<ul type="bullet"> <li>item1 <li>item2 . . . <ul>

Em que: type - tipo de bullet que precede cada item.


Pode ser do tipo:
disk - pequeno disco slido square - quadrado preenchido circle - crculo cheio

que aparecer assim no seu navegador:


Um item de lista Outro item de lista

Exemplos de Listas No Ordenadas

Lista de Definies Usada em situaes em que termos da lista necessitam de definies, como em dicionrios ou glossrios. Estas listas tm dois nveis de informaes. o O primeiro o tpico, que aparece em destaque. o O segundo a descrio que aparecer deslocada em relao ao tpico. Ex.:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

48

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

So iniciadas com o identificador <dl> e encerradas com </dl>. Cada item tem seu tpico e sua descrio, iniciados por </dt> e </dd> respectivamente. Sintaxe:

<dl> <dt>tpico <dd>descrio </dl>

Exemplos de listas de definies:

1.4.5. Tags de Tabelas As tabelas, tal como as listas, so um sistema de elementos HTML (ou tags) usados para criar um papel especialmente formatado. Elas representam provavelmente o aspecto mais intensivo em cdigo da HTML (fora folhas de estilo) e toda a ateno deve ser dada ao incio e ao fim dos elementos. As tabelas so tambm um perfeito exemplo de quando, por questes de redabilidade, absolutamente necessrio atribuir estilo ao seu cdigo. Pode-se incluir comentrios para que voc ou quem quer que seja saiba o que um bloco de cdigo est fazendo. Atualmente a grande maioria das pginas na Web utilizam esse recurso. Com a utilizao de tabelas e um pouco de criatividade, pode-se controlar vrios aspectos da formatao de pginas, como o uso de margens, uso de
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 49

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

colunas etc. A estrutura do comando para inserir uma tabela a seguinte: <TABLE atributos> . . . </TABLE>. Para informar onde comea e termina cada linha usamos o comando <TR> . . . </TR> (o elemento TR de "table row", onde "row" linha em ingls). Dentro do comando <TR>, cada clula identificada usando o elemento <TD> . . . </TD> (o elemento TD de "table data", j que cada clula contm dados da tabela). Veja no quadro abaixo o exemplo de uma tabela bem simples, com somente 1(uma) linha e 2(duas) colunas:

<TABLE> <TR> <TD> Aqui o contedo da clula 1 </TD> <TD> Aqui o contedo da clula 2 </TD> </TR> </TABLE>

<TABLE> ... </TABLE> Cria uma tabela. <TR> ... </TR> Cria linhas de tabelas. <TD> ... </TD> Cria uma clula em uma tabela.

1.4.6.Tag de Imagens <IMG> Fornece informaes sobre a origem, o posicionamento comportamento da imagem. Esta tag posiciona a imagem na pgina. e o

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

50

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

INTRODUO JAVA 1. Introduo Java uma linguagem de programao orientada a objeto, desenvolvida na dcada de 90 pelo programador James Gosling, da empresa Sun Microsystems. Diferentemente das linguagens de programao mais utilizadas na poca, que so compiladas para cdigo nativo, a linguagem Java compilada para um bytecode que executado por uma mquina virtual. Caractersticas de Java:

Simples, porm verstil, robusta e muito segura; Portvel (independente de sistema operacional); Gratuita e com cdigo disponvel para consulta; Dirigida por uma especificao aberta; Popular, rodeada por uma comunidade muito ativa; De alta aceitao e com suporte da indstria; Muitas ferramentas disponveis; e Muita documentao disponvel.

1.1. Surgimento Em 1991, na Sun Microsystems, foi iniciado o Green Project, o bero da linguagem Java para programao orientada a objetos. Desde seu lanamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programao na histria da computao. Em 2003 Java atingiu a marca de 4 milhes de desenvolvedores em todo mundo. Java continuou e continua crescendo. Hoje com certeza um padro para o mercado, oferecendo qualidade, performance e segurana ainda sem nenhum competidor a altura. Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execuo presente em web browsers, mainframes, Sistemas Operacionais, celulares, palmtops, cartes inteligentes, entre outros. 1.2. Funcionamento Programas Java no so traduzidos para a linguagem de mquina como outras linguagens estaticamente compiladas, e sim para uma representao intermediria, chamada de bytecodes. Estes so interpretados pela mquina virtual Java (JVM - Java Virtual Machine).

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

51

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Muitas pessoas acreditam que, por causa desse processo, o cdigo interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmao verdadeira. Porm novos avanos tm tornado o compilador dinmico (a JVM), em muitos casos, mais eficiente que o compilador esttico. Java hoje j possuiu uma performance prxima do C++. Isto possvel graas a otimizaes como a compilao especulativa, que aproveita o tempo ocioso do processador para pr-compilar bytecode para cdigo nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informaes disponveis somente em tempo de execuo (ex.: nmero de usurios, processamento usado, memria disponvel), otimizando o funcionamento da JVM, e melhorando seu desempenho. Isto uma realidade to presente que hoje fcil encontrar programas corporativos e de misso crtica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks, que so acessados por milhares de usurios diariamente. Grandes sites como o eBay utilizam Java para garantir alto desempenho. A cada ano, Java tem se tornado mais rpido, na medida que se evolui o compilador dinmico. Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperao do programa-fonte original. Esta uma caracterstica que atinge em menor grau todas as linguagens compiladas. No entanto j existem hoje tecnologias que "embaralham" e at mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa.

Na execuo de um programa JAVA, o compilador traduz o programa Java para bytecodes, que a linguagem entendida pelo interpretador Java. O programa deve ser primeiramente colocado na memria antes de poder ser executado. Isso feito pelo carregador de classe, que analisa o arquivo (ou arquivos) .class, o qual contm os bytecodes, e em seguida o transfere para a memria. O arquivo .class pode ser carregado a partir de um
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 52

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

disco em seu sistema ou atravs de uma rede. Os aplicativos criados pela linguagem Java so carregados na memria e executados com o interpretador Java atravs do comando java. Ao executar um aplicativo Java, o comando invoca o interpretador e faz com que o carregador de classe carregue as informaes utilizadas no programa codificado. O interpretador Java considerado a JVM, a mquina virtual Java.

Figura Compilao e execuo de um programa Java 1.3. Princpios bsicos de um ambiente Java Tpico Assim como outras linguagens de desenvolvimento, o ambiente Java precisa de editor para a construo do cdigo. O programador pode digitar um programa em Java utilizando o editor, fazendo correes se necessrio. Quando o programador especifica que o arquivo no editor deve ser salvo, o programa armazenado em um dispositivo de armazenamento secundrio, como um disco. Os nomes dos arquivos em Java terminam com a extenso .java. Alguns editores podem ser usados atravs do Windows, como por exemplo o Windows Notepad. Tambm, podem ser usados ambientes integrados de desenvolvimento como o Java Fort, NetBeans, Jbuilder da Borland entre outros. ltimas verses, ferramentas, como baixar, como instalar, o estado da arte podem ser achados em http://java.sun.com/. Pode-se usar, por exemplo, o SDK (Software Development Kit) edio padro:(Standard Edition - J2SE ). Uma boa opo para ambiente de desenvolvimento (IDE) o NetBeans (http://www.netbeans.org/. Em http://java.sun.com/ existe um arquivo nico que j engloba o J2SE e o Netbeans. 1.4. Distribuies A linguagem Java distribuda em trs edies: Java Standard Edition (Java SE); Java Enterprise Edition (Java EE); Java Mobile Edition (Java ME).
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br

53

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A Java SE contm ferramentas de desenvolvimento e a API ncleo da plataforma (base para as demais), permitindo o desenvolvimento de aplicaes desktop, com interface grfica, acesso a bancos de dados, I/O, acesso rede, entre outros. A Java SE dividida em: JDK (Java Development Kit); JRE (Java Runtime Environment) necessria para rodar programas Java, sendo a nica parte da plataforma Java que os clientes precisam instalar. A Sun prov suporte oficial s plataformas Windows, Solaris e Linux, havendo suporte no-oficial a diversas outras plataformas (a Apple suporta a plataforma Mac).

A Java EE permite o desenvolvimento de aplicaes corporativas distribudas, centradas em servidores, altamente robustas, estveis e escalveis. Inclui tambm as especificaes para desenvolvimento Web: Servlets, JSP, Web Services, JSF, e Enterprise Java Beans (EJB). A Java ME permite o desenvolvimento de aplicaes para dispositivos mveis, como Telefones celulares, PDAs (Palm, iPaq, etc.) e dispositivos embarcados. 1.5. Exemplo de Cdigo Java Um programa Java uma classe pblica com o mtodo main(), como no nosso exemplo. O nome do arquivo deve coincidir com o nome da classe que possui o mtodo main(). Pode haver mais de uma classe no mesmo arquivo fonte, mas somente uma pode ser pblica. Na prxima figura exibido um exemplo.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

54

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

O mtodo main() um mtodo especial que o ponto inicial de execuo da classe. Se a classe possui o mtodo main() ela uma classe executvel pela JVM. Ele tem que ter os modificadores public static, tem que retornar void e tem que receber como argumento um vetor de objetos da classe String. Na sintaxe acima, somente a escolha do nome (referncia) args pode variar (desde que respeite os padres da linguagem). O vetor args poder conter 0 ou mais argumentos para o mtodo main. Estes argumentos so passados via linha se comando, quando a classe executada. Observao: Comentrios em Java so como no C: // Comenta linha /* Comenta todo um trecho */ 1.6. Exemplo de Cdigo Java Empregando o NetBeans Como exemplo iremos aplicar a IDE NetBeans para o desenvolvimento de aplicaes Java. Comece criando um projeto (File / New Project / General / Java Application / Next). As prximas figuras apresentam os passos necessrios para a criao de um novo projeto nessa ferramenta.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

55

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

D um nome e escolha a localizao (no utilize acentos, cedilhas e outros caracteres especiais).

O NetBeans criar um diretrio para o projeto criado. No diretrio src ficaro suas classes. Se quiser levar o seu projeto para outro computador com o NetBeans instalado, copie o contedo deste diretrio src para o do outro computador. A estrutura apresentada abaixo. - Pasta com seus projetos - Uma pasta com o nome de um projeto - Dentro dela uma pasta SRC onde ficam os cdigos (fontes) (.java) - Outra pasta build (e dentro dela a pasta classes) onde ficam as classe compiladas (.class) A existncia de pacotes gerar pastas com o nome destes pacotes dentro dos diretrios src e build/classes.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

56

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

import javax.swing.JOptionPane ; public class Media { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Boa Noite"); float media = (38 + 40) / 2; JOptionPane.showMessageDialog(null, "Media entre 38 e 40 = " + media); } } A linha 1 importa a classe JOptionPane, que est dentro do pacote swing, que por sua vez est dentro do pacote javax. Observe que usado um mtodo desta classe: JoptionPane.showMessageDialog. 2. Tipos de Dados Apresentaremos agora uma pequena discusso sobre a sintaxe da linguagem Java, abordando os tipos de dados existentes, as regras para declarao de variveis, as recomendaes gerais para nomenclatura, os operadores, sua precedncia e as estruturas de controle disponveis. Como ser notado, a sintaxe da linguagem Java muito semelhante quela usada pela linguagem C/C++. Para criao de identificadores (variveis, nomes de funo, classes, entre outros) devem-se observar as seguintes regras: os nomes devem comear com letra ou os caracteres _ ou $; e os caracteres seguintes podem conter nmeros, letras, _ ou $. Veja exemplos de nomes de identificadores: valor // vlido $preco // vlido 20itens // invlido _teste // vlido INT // vlido Observao: O Java considera diferena entre maisculas e minsculas!!

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

57

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

2.1. Tipos Primitivos de Dados Variveis definem locais de memria nos quais os programas podem armazenar valores e acess-los durante sua execuo. Ao executar um aplicativo, as instrues do mesmo so carregadas para a memria principal do computador. Durante o processamento das diversas funes e clculos, este aplicativo precisa armazenar valores temporariamente. Sem entrar em discusses tcnicas sobre o funcionamento de hardware e memrias, podemos dizer que a memria principal de seu computador dividida em posies de memria, cada posio possuindo um endereo nico. Veja a ilustrao a seguir:

No seria nada prtico acessar estas posies de memria usando seus endereos (representados por valores inteiros hexadecimais). Dependendo da quantidade de memria principal disponvel, estes endereos podem chegar casa dos bilhes. Em vez disso as linguagens de programao usam apelidos para estas posies de memria. Tais apelidos so conhecidos como variveis. Uma varivel possui cinco atributos muito importantes. So eles: 1) Nome: o nome que identificar a varivel. Este nome deve ser nico dentro de seu escopo (espao de atuao), ou seja, nada impede que classes e mtodos tenham nomes semelhantes queles encontrados em outras classes e mtodos. 2) Valor: o valor contido na varivel. Veremos mais adiante como atribuir ou alterar os valores contidos em variveis. 3) Tipo: o tipo de dados que ser armazenado nas variveis. Tipos de dados podem ser inteiro, string (texto), nmeros de ponto flutuante, etc. Tipos de dados sero vistos mais adiante. 4) Visibilidade ou escopo: o alcance de visibilidade, ou seja, os locais a partir dos quais esta varivel poder ser acessada pelas diversas partes do cdigo. A discusso sobre escopo de variveis ser adiada at a nossa analise de classes, mtodos e estruturas de repetio. 5) Endereo: cada varivel possui um endereo nico. Na linguagem Java existem os tipos bsicos de dados listados a seguir.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

58

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

No Java existem duas representaes para nmeros em ponto flutuante que se diferenciam pela preciso oferecida: o tipo float permite representar valores reais com preciso simples (representao interna de 32 bits) enquanto o tipo double oferece dupla preciso (representao interna de 64 bits). Deve ser utilizado o ponto como separador de casas decimais. Quando necessrio, expoentes podem ser escritos usando o caractere e ou E, como nos seguintes valores: 1.44E6 (= 1.44 x 106 = 1440000.0) ou 3.4254e-2 (= 3.4254 x 10-2 = 0.034254). Para atribuio de valores utilizam-se os operadores =, +=, -=, *= e /=. Exemplos: int i = 10; int dois = 1; dois += 1; // dois = dois + 1; int cinco = 7; cinco -= 2; // cinco = cinco 2; int dez = 5; dez *= 2; // dez = dez * 2; int quatro = 12; quatro /= 3; // quatro = quatro / 3; As operaes bsicas so listadas a seguir.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

59

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Observao: Um identificador pode ser convertido de um tipo para outro empregando-se (). A converso de tipos pode levar perda de valores. Exemplo: double d = 1.99; int i = (int) d; // i recebe o valor 1 Exemplo 2.1: A seguir um exemplo de programa que pode ser criado empregando o Netbeans. // Aritmetica.java public class Aritmetica { static public void main (String args[]) { // Declaracao e inicializacao de duas variaveis int a = 5; int b = 2; // Varios exemplos de operacoes sobre variaveis System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("-b = " + (-b)); System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("(float) a / b = " + ((float)a / b)); System.out.println("a % b = " + (a % b)); System.out.println("a++ = " + (a++)); System.out.println("--b = " + (--b)); System.out.println("a = " + a); System.out.println("b = " + b); } } Para representao de caracteres existe o tipo char, o qual permite a representao de caracteres individuais. Como o Java utiliza uma representao interna no padro UNICODE, cada caractere ocupa 16 bits (2
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 60

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

bytes) sem sinal, o que permite representar at 32.768 caracteres diferentes, teoricamente facilitando o trabalho de internacionalizao de aplicaes Java. Na prtica o suporte oferecido ao UNICODE ainda bastante limitado embora permita a internacionalizao do cdigo Java. Alguns caracteres so considerados especiais pois no possuem uma representao visual, sendo a maioria caracteres de controle e outros caracteres cujo uso reservado pela linguagem. Tais caracteres podem ser especificados dentro dos programas como indicado na tabela abaixo, ou seja, precedidos por uma barra invertida (\).

Em Java dispe-se do tipo lgico boolean capaz de assumir os valores false (falso) ou true (verdadeiro) que equivalem aos estados off (desligado) e on (ligado) ou no (no) e yes (sim). Os seguintes operadores lgicos e relacionais so oferecidos pela linguagem.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

61

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Exemplo 2.2: Um exemplo de programa que pode ser criado empregando o Netbeans. // Relacional.java public class Relacional { static public void main (String args[]) { int a = 15; int b = 12; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("a == b -> " + (a == b)); System.out.println("a != b -> " + (a != b)); System.out.println("a < b -> " + (a < b)); System.out.println("a > b -> " + (a > b)); System.out.println("a <= b -> " + (a <= b)); System.out.println("a >= b -> " + (a >= b)); } } 2.2. Vetores Vetores so colees de objetos ou tipos primitivos. int[ ] vetor = new int[10]; ou int vetor[ ] = new int[10]; Cada elemento do vetor inicializado a um valor default, dependendo do tipo de dados: null, para objetos; 0, para int, long, short, byte, float, double; Unicode 0, para char; false, para boolean.

Os elementos de um vetor podem ser recuperados a partir da posio 0, empregando-se uma atribuio simples. int elemento_1 = vetor[0]; int elemento_2 = vetor[1]; Vetores podem ser inicializados no momento em que so criados.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 62

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

String[ ] semana = {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex","Sab"}; Essa inicializao no pode ser usada em outras situaes (depois que o vetor j existe), exceto usando new, da forma: semana = new String[ ] {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"}; A propriedade length de um vetor em Java possui informa o nmero de elementos que possui. Exemplo 2.3: Exemplo de programa que pode ser criado empregando o Netbeans. public class Vetor { public static void main(String[] args) { String[] semana = {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex","Sab"}; System.out.println("1 Dia = " + semana[0]); System.out.println("2 Dia = " + semana[1]); System.out.println("tamanho" + semana.length); } } 2.3. String String uma classe que manipula cadeias de caracteres. A classe String possui mtodos para essas manipulaes. A concatenao de strings feita empregando-se o operador '+'. String str = Isto uma String do Java; String xyz = new String(xyz); Mtodos teis: equals avalia se uma String igual a outra String. ex.: str.equals( xyz ); split quebra a String e vrias outras pelo separador desejado. ex.: String[ ] palavras = str.split( ); startsWith() e endsWith() testa o comeo e o fim da String; trim() elimina os espaos em branco no incio e fim; replace substitui os caracteres. ex.: str = str.replace(a,@); length() retorna o tamanho da String ex.: str.length();
www.pontodosconcursos.com.br

Profa. Patrcia Lima Quinto

63

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

2.4. Classes Wrapper Uma classe wrapper (wrapper class Classe Invlucro) um tipo de classe que acrescenta funcionalidades a um tipo primitivo de dado. Sendo assim, em Java para cada tipo primitivo, temos uma classe wrapper associada, conforme vemos na tabela abaixo. Tipo Primitivo de Dado boolean byte int short long char float double Classe wrapper java.lang.Boolean java.lang.Byte java.lang.Integer java.lang.Short java.lang.Long java.lang.Character java.lang.Float java.lang.Double

As variveis de tipos primitivos de dados mais rpidas e consomem menos memria. No entanto, os objetos de classes wrapper permitem operaes mais complexas como converso de tipo. Exemplo: Integer x = new Integer(); 3. Estruturas de Controle Um programa de computador uma sequncia de instrues organizadas de forma tal a produzir a soluo de um determinado problema. Naturalmente tais instrues so executadas em sequncia, o que se denomina fluxo sequencial de execuo. Em inmeras circunstncias necessrio executar as instrues de um programa em uma ordem diferente da estritamente sequencial. Tais situaes so caracterizadas pela necessidade da repetio de instrues individuais ou de grupos de instrues e tambm pelo desvio do fluxo de execuo. As linguagens de programao tipicamente possuem diversas estruturas de programao destinadas ao controle do fluxo de execuo, isto , estruturas que permitem a repetio e o desvio do fluxo de execuo.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

64

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

3.1. Estruturas de Desvio de Fluxo Existem vrias estruturas de desvio de fluxo que podem provocar a modificao da maneira com que as diretivas de um programa so executadas conforme a avaliao de uma condio. O Java dispe de duas destas estruturas: if e switch. if (expresso_lgica) { diretiva1;} else { diretiva2;} switch (expresso_ordinal) { case ordinal1: diretiva3; break; case ordinal2: diretiva2; break; default: diretiva_default; } 3.2. Estruturas de Repetio Simples Como repetio simples consideramos um trecho de cdigo, isto , um conjunto de diretivas que deve ser repetido um nmero conhecido e fixo de vezes. A repetio uma das tarefas mais comuns da programao utilizada para efetuarmos contagens, para obteno de dados, para impresso etc. Em Java dispomos da diretiva for cuja sintaxe dada a seguir: for (inicializao; condio de execuo; incremento/decremento){ diretiva; }

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

65

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Exemplo 3.1: public class exemploFor { public static void main(String[] args) { int j; for (j = 0; j < 10; j++) { System.out.println(" " + j); } } } 3.2. Estruturas de Repetio Condicionais As estruturas de repetio condicionais so estruturas de repetio cujo controle de execuo feito pela avaliao de expresses condicionais. Estas estruturas so adequadas para permitir a execuo repetida de um conjunto de diretivas por um nmero indeterminado de vezes, isto , um nmero que no conhecido durante a fase de programao mas que pode ser determinado durante a execuo do programa tal como um valor a ser fornecido pelo usurio, obtido de um arquivo ou ainda de clculos realizados com dados alimentados pelo usurio ou lido de arquivos. Existem duas estruturas de repetio condicionais: while e do while. while (expresso_lgica){ diretiva; } ou do diretiva while (expresso_lgica); Exemplo 3.2: // exemploWhile.java public class exemploWhile { public static void main(String[] args) { int j = 10; while (j > 0) { System.out.println("" + j);
Prof . Patrcia Lima Quinto
a

www.pontodosconcursos.com.br

66

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

j--; } } } 4. Orientao a Objetos O paradigma da Orientao a Objetos um mecanismo que ajuda a definir a estrutura de programas, baseado nos conceitos do mundo real, sejam eles reais ou abstratos. A Orientao a Objetos permite criar programas componentizados, separando as partes do sistema por responsabilidades e fazendo com que essas partes se comuniquem entre si, por meio de mensagens. Os conceitos da OO envolvem: Classes, Objetos e seus Relacionamentos, Herana e Polimorfismo. Dentre as vantagens que a OO proporciona, podemos destacar o aumento de produtividade, reuso de cdigo, reduo das linhas de cdigo programadas, separao de responsabilidades, encapsulamento, polimorfismo, maior flexibilidade do sistema, dentre outras vantagens. 4.1. Criao de Classes e Objetos Uma classe a descrio de um conjunto de entidades (reais ou abstratas) do mesmo tipo e com as mesmas caractersticas e comportamento. As classes definem a estrutura e o comportamento dos objetos daquele determinado tipo. Podemos dizer que as classes so, na verdade, modelos de objetos do mesmo tipo. Nas classes, definem-se os construtores que so mtodos especiais chamados pelo sistema no momento da criao de objetos da classe, assim sendo o operador new apenas indica que o mtodo especial construtor de uma certa classe ser utilizado. Os construtores devem seguir determinadas regras:

Tm sempre o mesmo nome que a classe; So chamados apenas na criao do objeto; Pode haver vrios em uma mesma classe; So identificados pelo nmero e tipo de argumentos; e Nunca declaram tipo de retorno.

Apresenta-se abaixo a estrutura bsica de uma classe.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

67

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

No NetBeans, para criar uma classe, clique com o boto direito sobre o Default Package, escolha ento New/Java Class, d um nome a ela (de preferncia com inicial maiscula). Todo o seu cdigo fica dentro das chaves da classe. Os programas podem ficar dentro de pacotes (que so diretrios (ou pastas)) no sistema de arquivos. A princpio, vamos colocar as classes novas dentro do pacote default (que na verdade significa nenhum pacote). Se a classe estiver dentro de um pacote, ela deve estar dentro de um diretrio com o nome do pacote (o Netbeans faz isto para voc) e deve conter a diretiva "package <nomeDoPacote>;"no incio da classe. exceo da diretiva package e dos imports (que so como includes ou uses de outras linguagens (C e Pascal)), todo o restante do cdigo da classe est dentro da classe em si (dentro das chaves mais externas). public class NomeDaClasse { ... ... ... }

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

68

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

4.2. Modificadores de Acesso Existem 3 modificadores de acesso: private, public e protected , que permitem diferentes nveis de acesso. Ao definir-se algum membro da classe com o modificador private, este s poder ser acessado pela classe que o contm. J o public o contrrio do private. Ao definir um membro de uma classe como public, este pode ser acessado por qualquer outra classe. Se definir-se como protected, pode-se acessar os membros tambm nas sub-classes. Se nenhum modificador for definido, assume-se o valor default, que permite o acesso a outros membros do mesmo pacote. Exemplo 4.1: Passos para executar o programa a seguir empregando o Netbeans. Crie a classe Pessoa: Em um novo projeto clique com o boto direito sobre o pacote onde a classe ser criada (de preferncia, neste momento, o Pacote Default) e selecione New / Java class / D o nome Pessoa para a classe e finalize. Em qualquer lugar da classe temos os campos da classe na forma: tipo nomeDoObjetoOuVariavel; Vamos comear o cdigo. public class Pessoa { String nome; int idade = 0; int peso; } Com o cdigo acima definimos os atributos da classe. Dentro da classe podemos definir tambm os mtodos. A seguir vamos encapsular os campos da classe (criar os mtodos de acesso get e set). Vamos encapsular os campos como private (visveis s dentro da classe). 1. Posicione o cursor na linha em que as variveis esto declaradas. 2. Barra de menu (ou boto direito sobre a linha citada acima)/ Refactor/ Encapsulate Fields. 3. Marque os gets e sets que quer criar. 4. D as confirmaes pedidas (depende da verso do Netbeans).
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 69

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

5. Observe que os campos passaram a ser private e os mtodos de acesso aos campos foram criados. Aps isso, crie o construtor para a classe da seguinte forma: public Pessoa(){ } Para criar instncias de uma classe (objetos) deve-se utilizar o seguinte comando: NomeDaClasse nomeDoObjeto = new NomeDaClasse(), como por exemplo: Pessoa objUm = new Pessoa(); // Declarou e criou o objeto da classe Pessoa. Ou, em dois passos: Pessoa objUm; //Declara objUm = new Pessoa(); //cria o objeto Uma classe como a classe Pessoa acima, no executvel. Ela existe para que possamos criar instncias dela (com new). A classe executvel deve conter o mtodo main e deve estar em um arquivo com o mesmo nome da classe em si. Aps criados os objetos da classe, os mtodos podem ser acessados com o nomeDoObjeto.nomeDoMtodo(), como por exemplo: objUm.setNome(Maria) atribui Maria ao campo nome. objUm.getNome() retornar o contedo do campo nome. Crie os mtodos de acesso aos atributos do mtodo, utilizando a funo: Refactor/ Encapsulate Fields. Agora, na classe que contm o mtodo main() (neste caso a classe chama-se TestaPessoa), digite o cdigo abaixo:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

70

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

import javax.swing.JOptionPane ; public class Main { public static void main ( String args[ ] ) { public static void main(String[] args) { Pessoa objUm = new Pessoa(); objUm.setNome("Maria"); objUm.setIdade(25); objUm.setPeso(65); String nome = JOptionPane.showInputDialog("Informe o nome da pessoa"); Pessoa objDois = new Pessoa(); objDois.setNome(nome); objDois.setIdade(35); objDois.setPeso(70); JOptionPane.showMessageDialog(null, "Nomes: " + objUm.getNome() + "e"+ objDois.getNome()); objUm.setNome("Maria de Tal"); JOptionPane.showMessageDialog(null, "Novos nomes: " + objUm.getNome() + " e " + objDois.getNome()); if (objUm.getIdade() > objDois.getIdade()) { JOptionPane.showMessageDialog(null, objUm.getNome() + " mais velha que " + objDois.getNome()); } else { JOptionPane.showMessageDialog(null, objDois.getNome() + " mais velha que " + objUm.getNome()); } // Idades iguais nao foi tratado propositadamente } } }
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 71

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

4.3. Sobrecarga A sobrecarga de mtodos (method overload) oferece a possibilidade de existirem numa mesma classe vrios mtodos com o mesmo nome. Para que estes mtodos de mesmo nome possam ser distinguidos eles devem possuir uma assinatura diferente. A assinatura (signature) de um mtodo uma lista que indica os tipos de todos os seus argumentos, sendo assim mtodos com mesmo nome so considerados diferentes se recebem um diferente nmero ou tipo de argumentos e tem, portanto, uma assinatura diferente. Um mtodo que no recebe argumentos tem como assinatura o tipo void enquanto um outro mtodo que recebe dois inteiros como argumentos tem como assinatura os tipos int, int. A seguir, apresenta-se um exemplo de sobrecarga.

Da mesma forma que podemos sobrecarregar mtodos de uma classe, o mesmo pode ser feito com seus construtores, ou seja, uma classe pode possuir mais de um construtor onde cada um deles diferenciado por sua assinatura. O compilador determina qual dos construtores utilizar atravs dos argumentos utilizados na chamada do construtor. Obviamente deve existir um construtor cuja lista de argumentos seja a utilizada na criao de um novo objeto, caso contrrio ser indicado o erro. 4.4. Herana uma tcnica onde uma classe passa a utilizar atributos e operaes definidas em uma outra classe especificada como seu ancestral. Rigorosamente falando, a herana o compartilhamento de atributos e operaes entre classes baseado num relacionamento hierrquico do tipo pai e filho, ou seja, a classe pai contm definies que podem ser utilizadas nas classes definidas como filho. A classe pai o que se denomina classe base (base class) ou superclasse (superclass) e as classes filho so chamadas de classes derivadas (derived classes) ou subclasses (subclasses). Este mecanismo sugere que uma classe
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 72

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

poderia ser definida em termos mais genricos ou amplos e depois refinada sucessivamente em uma ou mais subclasses especficas. Da o origem do termo tcnico que descreve a herana: especializao (specialization). Em Java indicamos que uma classe derivada de uma outra classe utilizando a palavra reservada extends conforme o trecho simplificado de cdigo dado a seguir: A superclasse no recebe qualquer indicao especial.

Em princpio, todos os atributos e operaes definidos para uma certa classe base so aplicveis para seus descendentes que, por sua vez, no podem omitir ou suprimir tais caractersticas pois no seriam verdadeiros descendentes se fizessem isto. Por outro lado uma subclasse (um descendente de uma classe base) pode modificar a implementao de alguma operao (reimplementar) por questes de eficincia sem modificar a interface externa da classe. Alm disso as subclasses podem adicionar novos mtodos e atributos no existentes na classe base, criando uma verso mais especfica da classe base, isto , especializando-a. Exemplo:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

73

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

// LiquidificadorGenerico.java public class LiquidificadorGenerico { // atributos protected int velocidade; protected int velocidadeMaxima; // construtores public LiquidificadorGenerico() { velocidade = 0; velocidadeMaxima = 2; } public LiquidificadorGenerico(int v) { this().ajustarVelocidadeMaxima(v); } // metodos protected void ajustarVelocidadeMaxima(int v) { if (v>0) velocidadeMaxima = v; } protected void ajustarVelocidade(int v) { if (v>=0 && v<=velocidadeMaxima) velocidade = v; } public int obterVelocidadeMaxima() { return velocidadeMaxima; } public int obterVelocidade() { return velocidade; } } // LiquidificadorAnalogico.java public class LiquidificadorAnalogico extends LiquidificadorGenerico { // construtor public LiquidificadorAnalogico() { velocidade = 0;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 74

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

} // metodos public void aumentarVelocidade() { ajustarVelocidade(velocidade + 1); } public void diminuirVelocidade() { diminuirVelocidade(velocidade - 1); } } // LiquidificadorDigital.java public class LiquidificadorDigital extends LiquidificadorGenerico{ // construtor public LiquidificadorDigital() { velocidade = 0; } // metodo public void trocarVelocidade(int v) { // aciona mtodo protegido para troca de velocidade ajustarVelocidade(v); } }

4.5. Polimorfismo Enquanto a herana oferece um poderoso mecanismo de especializao, o polimorfismo oferece um igualmente poderoso mecanismo de generalizao, constituindo uma outra dimenso da separao da interface de uma classe de sua efetiva implementao. Imaginemos que seja necessrio implementar numa classe LiquidificadorInfo um mtodo que seja capaz de imprimir a velocidade atual de objetos liquidificador os quais podem ser tanto do tipo digital como analgico. Poderamos, utilizando a sobrecarga, criar um mtodo de mesmo nome que recebesse ou um LiquidificadorAnalogico ou um LiquidificadorDigital:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

75

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Embora correto, existem duas grandes desvantagens nesta aproximao: (i) para cada tipo de Liquidificador existente teramos um mtodo sobrecarregado avolumando o cdigo que deveria ser escrito (e depois mantido) alm disso (ii) a adio de novas subclasse que representassem outros tipos de liquidificador exigiria a implementao adicional de outros mtodos semelhantes.

Atravs do polimorfismo pode-se chegar ao mesmo resultado mas de forma mais simples pois a classe LiquidificadorGenerico permite o tratamento generalizado de todas as suas subclasses. Outra situao possvel a seguinte: como qualquer mtodo de uma superclasse pode ser sobreposto (overrided) em uma subclasse, temos que o comportamento deste mtodo pode ser diferente em cada uma das subclasses, no entanto atravs da superclasse podemos genericamente usar tal mtodo, que produz um resultado distinto para cada classe utilizada. Assim o polimorfismo tambm significa que uma mesma operao pode se comportar de forma diferente em classes diferentes. Para a orientao a objetos uma operao uma ao ou transformao que um objeto pode realizar ou est sujeito e, desta forma, os mtodos so implementaes especficas das operaes desejadas para uma certa classe. 4.6. Static e Final A palavra reservada static oferece ao desenvolvedor uma garantia de que determinado atributo ou mtodo ter apenas uma referncia na memria. Isso
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 76

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

no significa que o valor do componente ser esttico (no pode mudar). Final usado para estes casos. Alm disso, static nos garante que somente haver somente uma referncia para determinado atributo ou mtodo disponvel em memria. Logo, declarando algum componente como static, todas as instncias da classe iro compartilhar a mesma cpia da varivel ou mtodo. Declarar algo como static tambm permite voc acessar os atributos e mtodos diretamente, ou seja, sem precisar criar uma instncia da classe. Ao contrrio de tipos de dados no-static, qualquer varivel ou mtodo static podem ser acessado diretamente, sem necessitar de uma instncia da classe criada. Exemplo 4.5: Veja o programa a seguir que pode ser executado empregando o Netbeans. // TesteStatic.java class Classe1 { // Variavel static public static int contador = 0; // Variavel nao-static public int outroContador = 0; public Classe1() {} // Precisa ser static porque "contador" static public static void incrementaContador() { contador++; System.out.println("contador agora "+ contador); } public void incrementaOutroContador() { outroContador++; System.out.println("outroContador agora "+ outroContador); } }

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

77

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

public class TesteStatic { public static void main(String args[]) { Classe1 c1 = new Classe1(); c1.incrementaContador(); c1.incrementaOutroContador(); Classe1 c2 = new Classe1(); c2.incrementaContador(); c2.incrementaOutroContador(); Classe1 c3 = new Classe1(); c3.incrementaContador(); c3.incrementaOutroContador(); } } 4.7. Interfaces Em Java existe outra estrutura, denominada interface, que possui sintaxe similar de classes mas contendo apenas a especificao de suas funcionalidades, sem determinar como a mesma deve ser implementada. A declarao de uma interface similar de classes. No entanto, seu corpo define apenas assinaturas de mtodos e constantes. Exemplo: interface Interface1 { void met1(); }

Define-se que uma interface Java implementada (palavra chave implements) por outras classes. Uma interface estabelece uma espcie de contrato que obedecido por uma classe. Quando uma classe implementa uma interface, garante-se que todas as funcionalidades especificadas pela interface sero oferecidas pela classe.

Exemplo:
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 78

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

interface Coleo { public ordenar() } class Lista implements Coleo { public ordenar(){ ... } }

5. Tratamento de Excees Diversas operaes como entrada de sada de teclado, abertura de conexes de rede, converses de String para nmero (Integer.parseInt(), por exemplo), abertura de arquivos, escrita em arquivos, envio/recebimento de dados pela rede, entre outras podem gerar excees. Estas excees devem ser tratadas para que seu programa saiba o que fazer no caso de excees (em geral, falhas ou impossibilidades de execuo nas operaes exemplificadas). A linguagem Java oferece um precioso mecanismo de controle e tratamento de erros dos programas, chamado de tratamento de excees. Em Java, todo e qualquer erro chamado de exceo. Este mecanismo de tratamento de erros em Java feito pelas diretivas try, catch e finally. A sintaxe dessas diretivas a seguinte: try { cdigo_a_ser_executado } catch( Exceo ) { cdigo_de_tratamento_de_erro } finally { cdigo_sempre_executado } O bloco try s executado se a exceo no ocorrer. O bloco catch s executado se a exceo ocorrer. Observe que o catch recebe um objeto da classe da exceo como argumento (voc que d nome a este objeto). Dentro do bloco catch, voc pode chamar mtodos da classe correspondente
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 79

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

exceo e/ou inserir trechos de cdigo seu para interagir com o usurio ou tomar outras providncias. Podem existir mltiplos blocos catch no tratamento de erros. Cada um para um tipo especfico de Exception. O cdigo abaixo apresenta um exemplo da aplicao de tratamento de excees para a validao de um nmero inteiro. int numero; try { //bloco a ser executado se tudo deu certo! numero = Integer.parseInt(jTextField1.getText()); } catch ( Exception e) { //bloco a ser executado se ocorrer a exceo na converso da String para inteiro //Por exemplo: O usurio digitou uma letra e voc tentou converter para nmero //com o Integer.parseInt() } Observao: Alm do bloco try/catch pode-se tambm utilizar a clusula throw, que permite lanar excees diretamente de um mtodo ou at mesmo criar novas excees. Alm disso, pode-se tambm empregar a clusula throws, que repassa o tratamento para quem chamou o mtodo ou a classe em questo. Bem, por hoje s!! Espero ter conseguido passar de forma bem didtica alguns dos fundamentos bsicos que so muito importantes para a prova. Vamos s questes para darmos continuidade aos estudos!!

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

80

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

QUESTES DE PROVAS COMENTADAS 1. (CESGRANRIO/2013/BNDES/BACEN/ANALISTA DE SISTEMAS/SUPORTE) As linguagens de programao C, Haskell e Ruby so, respectivamente, exemplos dos paradigmas (A) Imperativo, Lgico e Orientado a Objeto (B) Clssico, Lgico e Web (C) Imperativo, Funcional e Orientado a Objeto (D) Lgico, Funcional e Imperativo (E) Clssico, Orientado a Objeto e Lgico Comentrios Linguagem Descrio C Utiliza Paradigma Imperativo, que descreve a computao como aes, enunciados ou comandos que mudam o estado (variveis) de um programa. Utiliza Paradigma Funcional, que enfatiza a aplicao de funes, em contraste da programao imperativa, que enfatiza mudanas no estado do programa. Linguagens de programao funcional, como a Haskell, no so uma sequncia de afirmaes e no possuem, por consequncia, um estado global como as linguagens imperativas. Ruby uma linguagem criada em 1995 pelo japons Yuri Matsumoto. Trata-se de uma linguagem limpa e direta toda orientada a objetos, bem simples de se aprender e trabalhar. uma Linguaguem multi-plataforma, sendo suportada por diversos tipos de sistemas operacionais, como Linux, Windows, Solares e outros. Segundo DevMedia, possui muitas features interressantes como o Ruby Gems (Biblioteca Gratuita disponvel na internet), Code Blocks( Bloco de cdigos), Mixins(Resposta herana multipla), tipagem dinmica e outras caractersticas. Alm de ser a linguagem predileta para aprender entre os programadores Delphi.

Haskell

Ruby

Gabarito: letra C. 2. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Qual a API do J2EE que permite executar comandos SQL a partir de mtodos de classes implementadas em Java? (A) JAAS (B) JAXP
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 81

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

(C) JDBC (D) JMS (E) JSP Comentrios Item A. JAAS (Java Authentication and Authorization Service) um conjunto que APIs que permite que as aplicaes Java tenham um controle autenticao e de acesso. Item B. JAXP (Java API para XML Parsing) uma API que permite o processamento de XML. Item C. A API JDBC permite o acesso a banco de dados a partir de aplicaes Java. Logo, a execuo de comandos SQL deve utilizar esta API. Item D. Java Message Service (JMS) uma API que permite que duas ou mais aplicaes possam se comunicar por meio de troca de mensagens. Item E. JavaServer Faces (JSF) um framework para facilitar o desenvolvimento de aplicaes Web aplicando Java EE. A utilizao de JSF visa simplificar o desenvolvimento de pginas Web, oferecendo componentes de interface de usurio e conectando os mesmos a objetos de negcios. Tambm automatiza o processo de uso de JavaBeans, a navegao entre pginas, alm de facilitar a execuo de diferentes tarefas como validao e converso. Gabarito: letra C. 3. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/SUPORTE) Java Message Service (JMS) uma tecnologia voltada para o envio e processamento de mensagens na qual o (A) modelo ponto a ponto de troca de mensagens estabelece que cada mensagem enviada para uma fila deve ser recebida por um nico consumidor. (B) modelo ponto a ponto de troca de mensagens permite que cada mensagem enviada para uma fila seja lida vrias vezes por diferentes consumidores. (C) modelo publish/subscribe de troca de mensagens estabelece que at dois consumidores podem ler o contedo de uma mensagem enviada. (D) modelo publish/subscribe de troca de mensagens estabelece que somente um consumidor pode ler o contedo de uma mensagem enviada. (E) conceito de tpico de mensagens usado no modelo ponto a ponto para o envio de uma mensagem em multicast, enquanto o conceito de filas de mensagens usado no modelo publish/subscribe para o envio de uma mensagem para no mximo um consumidor.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

82

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios JMS uma API Java Message Service, ou simplesmente JMS, lanada em 1998 pela Sun Microsystems, com o objetivo principal de realizar a comunicao entre sistemas atravs de mensagens. Estas mensagens so produzidas por um JMS Producer, enviadas e armazenadas em um JMS Provider e consumidas por um JMS Consumer. Tais mensagens podem ser armazenadas em um sistema de filas (Queue) ou em um sistema de assinaturas chamado de tpico (Topic), dependendo da necessidade de cada projeto. A Figura seguinte ilustra o funcionamento de cada um deles.

Outra caracterstica presente no envio de mensagens a possibilidade delas serem enviadas de maneira sncrona (produtor e consumidor ativos ao mesmo tempo) ou assncrona (produtor ativo e consumidor desativado). Como as mensagens so armazenadas em um provider, a configurao de seu envio pode ser feita de tal forma que elas fiquem armazenadas no provedor mesmo que o consumidor no esteja sendo executado naquele momento. As mensagens ficariam ento armazenadas at que o consumidor fosse ativado e as consumisse. Talvez a principal vantagem deste servio seja a garantia de que a mensagem ser entregue. Um servio JMS pode ser usado, por exemplo, em alguns sistemas de comrcio eletrnico, que utilizam mensagens JMS para tratar as operaes de compra de um produto pelo consumidor, a anlise de crdito deste consumidor junto operadora de carto de crdito e tambm a confirmao de disponibilidade de entrega pela empresa de frete. Os sites destas lojas virtuais apenas apresentam os produtos e recebem os pedidos de compra, enquanto mensagens so geradas com os dados das compras e enviadas para uma ou mais aplicaes que processam tais informaes de forma externa ao sistema do site. Isso garante ao site um tempo de resposta menor aos acessos, maior segurana e maior volume de transaes dirias. (Fonte: Devmedia, 2013).

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

83

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A alternativa correta letra A, que destaca que o Java Message Service (JMS) uma tecnologia voltada para o envio e processamento de mensagens na qual o modelo ponto a ponto de troca de mensagens estabelece que cada mensagem enviada para uma fila (Queue) deve ser recebida por um nico consumidor. Gabarito: letra A. 4. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) Qual elemento deve ser a raiz (root element) de um documento XML para que este seja identificado como uma mensagem SOAP? (A) soap:Header (B) soap:Body (C) soap:Message (D) soap:Channel (E) soap:Envelope Comentrios Uma mensagem SOAP um documento XML que pode conter trs partes: o envelope, o cabealho e o corpo. o Envelope: define o contedo da mensagem (obrigatrio) o Cabealho: (opcional) contm informao de controle e processamento

o Corpo: contm informao da chamada e da resposta (obrigatrio)

Figura. Mensagem SOAP Conforme destaca http://www.gta.ufrj.br/grad/08_1/soap/Page4.html, como todo documento XML, uma mensagem SOAP composta de tags (elementos) e o elemento soap:Envelope deve ser a raiz (root element ou elemento -raiz) de um documento XML para que este seja identificado como uma mensagem SOAP . Gabarito: letra E.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 84

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

5. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) No mbito da anlise estruturada de sistemas, o grfico de estrutura representa o modelo lgico de uma hierarquia modular, onde possvel mostrar a(o) (A) comunicao entre mdulos e a localizao de loops e decises principais de processamento. (B) construo de programas em hierarquia, por meio de um pequeno nmero de estruturas lgicas, cada uma com uma entrada e uma sada. (C) conjunto de elementos de dados, identificados, inclusos em um registro. (D) conjunto de elementos de dados de uma determinada relao, usado, geralmente, para descrever alguma entidade. (E) nmero de mdulos chamados diretamente por outro mdulo, nem muito alto (exceto no caso de um mdulo despachante) nem muito baixo. Comentrios O Diagrama de Estrutura destaca a comunicao entre mdulos e a localizao de loops e decises principais de processamento. Gabarito: letra A. 6. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) Na linguagem Java, a palavra-chave final pode ser usada na declarao de classes, de mtodos e de variveis. Quando essa palavra-chave usada na declarao de uma classe, ela indica que (A) a classe no pode ser estendida. (B) a classe s pode ser instanciada uma nica vez. (C) a classe considerada uma interface. (D) as variveis da classe s podem sofrer atribuies de valores uma nica vez. (E) os mtodos da classe no podem ser sobrescritos. Comentrios Uma classe definida como final no pode ser estendida. Veja o exemplo listado a seguir retirado do site da Unicamp -> Assim, a compilao do arquivo Reeleicao.java
final class Mandato { } public class Reeleicao extends Mandato { }

ocasionaria um erro de compilao:


Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 85

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN caolho:Exemplos[39] javac Reeleicao.java Reeleicao.java:4: Can't subclass final classes: class Mandato public class Reeleicao extends Mandato { ^ 1 error Fonte: http://www.dca.fee.unicamp.br/cursos/PooJava/classes/definicao.html

Gabarito: letra A. 7. (Cesgranrio/Analista de Sistemas Jnior - Engenharia Software/Petrobrs/2010) Considere os dois trechos implementaes de classes, produzidos com a linguagem Java reticncias representam partes irrelevantes para a questo). de de (As

O diagrama de classes em UML que pode ser inferido nica e exclusivamente a partir dos trechos de cdigo fornecidos

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

86

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios No cdigo, observe que h uma associao bidirecional entre Class1 e Class2. Na Class1 existe uma instncia da Class2, chamada b. J na Class2 existe uma coleo (Set) de objetos da Class1, chamada d. Alm disso, as classes Class1 e Class2 herdam da classe Class0, e ainda, na Class1, existe uma coleo de objetos da Class0, chamada a. Importante ressaltar que a associao entre as classes Class0 e Class1 unidirecional, apontando para a Class0, pois a referncia est sendo feita somente na Class1. Por fim, somente pelo cdigo exibido, no se pode afirmar que exista uma agregao entre as classes Class0 e Class1. Gabarito: letra C. 8. (Cesgranrio/Analista de Sistemas Software/Petrobrs/2010) public class SomaMisteriosa { private static void somaTres(int x[]) { x[0] += 3; } private static void somaDois(int x) { x += 2; } public static void main(String args[]) { int x = 0; int y[] = { 0 };
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 87

Jnior

Engenharia

de

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

somaDois(x); somaTres(y); somaDois(y[0]); System.out.print(x + " " + y[0]); } } Aps a execuo do trecho acima, ser impresso (A) 2 5 (B) 1 5 (C) 0 5 (D) 0 3 (E) 0 0 Comentrios Para facilitar o entendimento, irei reproduzir o cdigo com as linhas numeradas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class SomaMisteriosa { private static void somaTres(int x[]) { x[0] += 3; } private static void somaDois(int x) { x += 2; } public static void main(String args[]) { int x = 0; int y[] = { 0 }; somaDois(x); somaTres(y); somaDois(y[0]); System.out.print(x + " " + y[0]); } }

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

88

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

No cdigo acima, o mtodo somaTres recebe como parmetro um array de inteiros (que uma classe) e somaDois recebe um parmetro do tipo primitivo int. Deve-se ressaltar tambm que a passagem de parmetros em Java sempre feita por valor. No entanto, um mtodo que recebe um objeto como parmetro faz referncia instncia passada. Isso faz com que este mtodo trabalhe como se fosse por referncia. Logo, no cdigo acima so declarados um inteiro x (linha 9) com o valor zero e um array de inteiros y (linha 10) que possui somente um elemento zero. Novamente, lembre-se que array uma Classe. A execuo do mtodo somaDois (linha 11) chama o mesmo (linha 5), passando como parmetro o valor zero. Dentro do mtodo, criada uma nova varivel (que tambm se chama x), a qual tem seu valor acrescido de 2 (linha 6). No entanto, a alterao local ao mtodo, pois a passagem feita por valor. Assim sendo, o valor da varivel x declarada no mtodo main mantm-se inalterado, ou seja, zero. Na linha 12 feita uma chamada ao mtodo somaTres, passando o array y como parmetro. Neste mtodo, o valor do elemento acrescido de 3 (linha), alterando o objeto original. Neste ponto o array y contem um elemento na posio zero, que vale 3. A nova chamada ao mtodo somaDois (linha 13) no altera o valor do elemento do array, pois informado um parmetro inteiro. Logo, o valor final da varivel x zero, e da varivel y na posio zero 3. Gabarito: letra D. 9. (Cesgranrio/Analista de Sistemas Jnior - Engenharia de Software/Petrobrs/2010) Considere o seguinte trecho de cdigo em Java: // Arquivo C1.java package br.com.pk1; public class C1 { int x; public int y; protected int z; private int w; }

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

89

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

// Arquivo C2.java package br.com.pk2; public class C2 extends C1 { } A Classe C2 pode manipular os atributos (A) x, y, z (B) y, z (C) x, y (D) y (E) x, y, z, w Comentrios A linguagem Java possui quatro tipos de visibilidade: pblica (public), privada (private), protegida (protected) e de pacote (sem palavra reservada). Quando declara-se um atributo ou mtodo sem definir a visibilidade (como o atributo x da classe C1), assume-se a visibilidade do pacote, a qual permite que o atributo seja visvel apenas dentro do mesmo pacote (package). Logo, como C2 herda de C1 e est num pacote diferente, ele no pode manipular x nem w (privado). Sendo assim a resposta a letra B. Gabarito: letra B. 10. (Cesgranrio/Analista de Software/Petrobrs/2010) 01 class C1 { 02 public void f() { 03 System.out.print(" 1 "); 04 } 05 06 public void g() { 07 f(); 08 } 09 } 10
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 90

Sistemas

Jnior

Engenharia

de

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

11 class C2 extends C1 { 12 public void f() { 13 System.out.print(" 2 "); 14 } 15 } 16 17 public class Prog { 18 public static void main(String args[]) { 19 C1 a = new C1(); 20 a.f(); 21 C2 b = new C2(); 22 b.f(); 23 a = b; 24 a.f(); 25 b.g(); 26 } 27 } Considerando a execuo do trecho de cdigo em Java acima, o programa (A) sequer compila, pois a atribuio a = b (linha 23) est incorreta por incompatibilidade de tipos. (B) compila, mas gerado um erro de execuo por incompatibilidade da atribuio a = b (linha 23). (C) imprime 1 2 1 1. (D) imprime 1 2 1 2. (E) imprime 1 2 2 2. Comentrios Observe que o objeto a foi declarado e instanciado (na linha 19) para a classe C1. A seguir, na linha 20, feita uma chamada ao mtodo f da classe C1. Esta chamada exibe o valor 1 . A seguir, declarado e instanciado o objeto b da classe C2, a qual herda de C1. Em seguida, feita uma chamada ao mtodo f da classe C2, exibindo o valor 2. Na linha 23, feita a atribuio a = b . Esta atribuio possvel sem necessidade de converso pois b foi declarado numa subclasse de a.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 91

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A partir deste ponto, a varivel a ir referenciar o mesmo objeto que a varivel b, que da subclasse C2. Sendo assim, a chamada do mtodo f na linha 24 ir exibir o valor 2. Finalmente, a chamada do mtodo g para o objeto b retorna o valor 2. Acompanhando-se os valores retornados, obtivemos a sequncia 1222, apresentada na letra E. Gabarito: letra E. 11. (Cesgranrio/Analista de Software/Petrobrs/2010) 01 class C1 { 02 public void mostraDados() { 03 System.out.print(" 1 "); 04 } 05 } 06 07 class C2 extends C1 { 08 public void mostraDados() { 09 System.out.print(" 2 "); 10 } 11 } 12 13 public class Prog { 14 public static void f(C1 c) { 15 System.out.print(" A "); 16 c.mostraDados(); 17 } 18 19 public static void f(C2 c) { 20 System.out.print(" B "); 21 c.mostraDados(); 22 } 23 24 public static void main(String args[]) { 25 C1 c1 = new C2(); 26 f(c1);
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 92

Sistemas

Jnior

Engenharia

de

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

27 } 28 } Aps a execuo do trecho acima, na sada padro o programa (A) no compila. (B) imprime A 1. (C) imprime A 2. (D) imprime B 1. (E) imprime B 2. Comentrios Esta questo avalia o conhecimento do candidato sobre sobrecarga (overload) e sobrescrita (override). A maioria dos autores considera ambos como formas de polimorfismo. Relembrando os conceitos: Sobrecarga de mtodos: mais de um mtodo na mesma classe com o mesmo nome, mas com assinaturas (lista de parmetros) diferentes. Deve-se ressaltar que o tipo de retorno e as excees tambm podem ser diferentes.

Exemplo: class C { public void metodo() { } public int metodo(String string) { return 1; } public void metodo(Integer x) throws Exception { } } Observe que o mtodo definido para a classe acima possui 3 implementaes distintas, com a lista de parmetros obrigatoriamente diferente. Os mtodos possuem retornos diferentes e tambm lanam excees diferentes, o que no obrigatrio.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 93

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Sobrescrita de mtodo: os mtodos herdados por uma classe, que no sejam privados, podem ser redefinidos. Eles devem ter a mesma lista de parmetros, o mesmo tipo de retorno e no lanar uma exceo maior do que a definida na superclasse.

Exemplo: class D extends C { public void metodo() { } } Voltando resoluo da questo: Na linha 25, a varivel c1 declarada para a classe C1 e instanciada na C2. Isto possvel porque C2 subclasse de C1. A chamada a um mtodo sobrecarregado (overload) resolvida em tempo de compilao, onde deve-se observar a classe na qual o objeto foi declarado. Logo, a chamada ao mtodo f da linha 26 executa a verso definida na linha 14, a qual recebe um objeto C1 como parmetro. A execuo deste mtodo f exibe o valor A , e faz uma chamada ao mtodo sobrescrito (override) mostraDados. No entanto, uma chamada a um mtodo sobrescrito resolvida em tempo de execuo, observando a classe na qual o objeto foi instanciado. Assim, executado o mtodo definido na subclasse C2, qual exibe o valor 2 . Acompanhando-se os valores apresentada na letra C. Gabarito: letra C. 12. (Cesgranrio/BNDES/Analista de Sistemas/Suporte/2010) O gerente de infraestrutura de uma empresa reuniu seus analistas para decidir sobre a topologia do ambiente de um servidor de aplicao JAVA comercial, recentemente adquirido. Uma possvel ordem de interconexo entre os elementos desse ambiente, considerando-se a necessidade de controle do trfego externo, seria (A) Link Internet, Firewall, Servidor WEB (Proxy), Servidor JAVA. (B) Link Internet, Servidor WEB (Proxy), Servidor JAVA, Firewall. (C) Firewall, Link Internet, Servidor WEB (Proxy), Servidor JAVA. (D) Firewall, Link Internet, Servidor JAVA, Servidor WEB (Proxy). (E) Servidor WEB (Proxy), Link Internet, Firewall, Servidor JAVA.
Profa. Patrcia Lima Quinto

retornados,

obtivemos

sequncia

A2,

www.pontodosconcursos.com.br

94

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Dentre as opes a ordem de interconexo possvel seria colocar o Firewall entre o link de internet e a rede interna. O Proxy ir controlar as conexes entre as aplicaes na Internet e o Servidor JAVA. Gabarito: letra A. 13. (CESGRANRIO/2009/Casa da moeda)

public class Main { public static void main(String[] args) { int x = 1; int y = 3; int z = 6; x += calcula(y++ + ++z); System.out.println(x); } public static int calcula(int x) { return x * 2; } public static int calcula(int y, int z) { return z - y; } }

Qual ser a sada do programa Java mostrado acima? (A) 3 (B) 5 (C) 19 (D) 21 (E) 23 Comentrios A execuo do cdigo ocorre da seguinte forma: Os valores dos atributos so atribudos; logo aps chamada a primeira implementao do mtodo calcula, com somente 1 parmetro.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

95

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Observe que o incremento unrio em y posterior (y++), mas em z anterior (++z). Logo, no momento da chamada do mtodo, y possui o valor 3 e z, o valor 7. Ento, o mtodo chamado com o valor 10, retornando o dobro do mesmo (20). Finalmente, x recebe o valor dele (1) mais o retorno do mtodo (20), totalizando 21. Gabarito: letra D. 14. (CESGRANRIO/2009/IBGE) O cdigo abaixo foi escrito em Java.

package execute; import java.lang.Exception; import java.lang.ArithmeticException; public class Main { public static class ClassMsg { public void processa (int par1, int par2) { String msg = V=; try { msg = msg + Double.toString(par1/par2); System.out.print(msg); } catch (ArithmeticException ar) { System.out.print(AR); } catch (Exception ex) { System.out.print(EX); } finally { System.out.print(FI); } System.out.print(msg); } } public static void main(String[] args) { ClassMsg obj = new ClassMsg(); obj.processa(10, 0); System.out.print(4/2);
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 96

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

} } A sada da execuo desse programa (A) V=2 (B) FIV=2 (C) ARFIV= (D) ARFIV=2 (E) AREXFIV= Comentrios A execuo do cdigo ocorre da seguinte forma: No mtodo main, ocorre uma chamada ao mtodo processa com os parmetros 10 e 0. No mtodo processa, tenta-se fazer uma diviso de 10 por 0, resultando numa exceo que imprime a string "AR". Aps isso, impresso, no bloco finally, a string "FI". Em seguida, exibido o valor da varivel msg ("V="). Retornando ao mtodo main, a prxima chamada ao mtodo processa envolve os parmetros 4 e 2. Nesta execuo, a imprime-se na tela o valor "2". Logo, como utilizou-se sempre o mtodo print, ocorreu uma impresso sequencial de ARFIV=2, que a resposta da letra D. Gabarito: letra D. 15. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Considere a seguinte classe escrita em Java: class calcula { int resultado = 0; public int processar (int par) { resultado = resultado + par; par = par - 2; if (par >= 0) { processar (par); } return resultado;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 97

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

} public static void main (String[] arguments) { calcula r = new calcula(); System.out.println(r.processar(7)); } } Aps a execuo do mtodo main, o valor apresentado pelo comando System.out.println(r.processar(7)); : Comentrios A execuo do programa leva chamada recursiva do mtodo processar. Na primeira chamada, a varivel par assume o valor 5 e o atributo resultado, o valor 7. Enquanto par for maior que 0, sero feitas chamadas recursivas ao mtodo processar. Logo, na segunda chamada, par recebe 3 e resultado, 12. Na terceira, par recebe 1 e resultado 15. Finalmente, na quarta chamada, par recebe -1 e resultado assume o valor final 16. Gabarito: letra E. 16. (CESGRANRIO/BNDES/Analista de Sistemas Suporte/2008) Um servidor Linux, que roda, exclusivamente, um servidor de aplicao Java EE, possui 2 GB de memria RAM e 1 CPU. A nica aplicao em execuo atinge, em momentos de pico, 50 usurios simultneos. Para que essa aplicao tenha um desempenho adequado, o tamanho mximo da Heap da JVM pode ser configurado para a) 100 threads. b) 32 MB. c) 60 threads. d) 2 GB. e) 512 MB. Comentrios A heap da JVM (Java Virtual Machine) uma rea de memria em que todos os objetos das aplicaes que esto sendo executadas pela JVM residem. Alm dos objetos criados nas aplicaes, a heap ainda possui uma rea de memria reservada para outras funes da JVM. Nesse sentido, importante configurar
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 98

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

adequadamente o tamanho da heap para que as aplicaes executem com desempenho adequado. Itens a e c. Itens errados. O tamanho da heap definido em termos de quantidade de memria, e no em termos de threads. Item d. Item errado. O servidor possui ao todo 2 GB, ento alocar toda a memria do sistema para a JVM no ser possvel, pois o sistema operacional tambm precisar utilizar parte dessa memria. Item b. Item errado. A quantidade aqui especificada no ser suficiente para maximizar o desempenho. Item e. Item correto. Tomando-se como base as dicas do enunciado, e considerando que o tamanho default da heap tamanho que atende os requisitos de desempenho de uma aplicao mdia - da JVM varia entre 16MB a 64MB, com o objetivo de maximizar o desempenho da aplicao, o ideal seria configurar o tamanho mximo da heap para 512MB. Gabarito: letra E. 17. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Os miniaplicativos Java transferidos para o nosso computador quando acessamos uma pgina na Internet que os utiliza so chamados: (A) applets. (B) browsers. (C) caches. (D) cookies. (E) sites. Comentrios Item A. Um Applet um programa Java que chamado por um documento HTML e executado pelo navegador. Logo, como eles so aplicativos executados a partir de pginas HTML, devem, portanto, ser executados na mquina do usurio. Item correto. Item B. Browser o programa empregado para navegao na Internet. Item errado. Item C. Cache um recurso que serve como intermedirio possibilitando o acesso mais rpido a pginas Web. Item errado. Item D. Forma que os sites usam para armazenar informaes a respeito do usurio na mquina dos mesmos. Na verdade, um pequeno arquivo texto que os sites podem enviar aos navegadores. Item errado. Item E. So os endereos das pginas da Internet. Item errado. Gabarito: letra A.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 99

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

18. (CESGRANRIO/2010/Petrobrs - Analista de Sistemas Jnior) Testar uma disciplina de suma importncia para a engenharia de software. A literatura divide os tipos de testes em duas grandes categorias: teste de caixa preta e teste de caixa branca. Sobre esta classificao, pode-se afirmar que I - testes de interfaces so classificados como de caixa branca; II - testes de caixa preta so tambm chamados de teste comportamental, onde o foco so os requisitos funcionais do software; III - testes de caixa preta so complementares aos testes de caixa branca, uma vez que contemplam diferentes classes de erros. correto o que se afirma em a) I, apenas. b) I e II, apenas. c) I e III, apenas. d) II e III, apenas. e) I, II e III. Comentrios I Os testes de interface so classificados de caixa preta, pois no avaliam a estrutura interna do que foi implementado. II Est correto. Os testes caixa preta so chamados de comportamentais. Alm disso, focam na verificao se os requisitos foram atendidos. III - Correto. Os testes de caixa preta abrangem classes diferentes dos de caixa branca. Portanto, esto certos apenas os itens II e III. Gabarito: letra D. 19. (Cesgranrio/Petrobrs/Processos de Negcios/2008) Um importante aspecto da elaborao de casos de testes para um sistema em desenvolvimento a escolha dos valores de entrada e das sadas previstas dos casos de teste. Escolhas baseadas apenas em valores tpicos, em geral, so incapazes de revelar todas as falhas da implementao. necessrio identificar conjuntos de valores que possuam caractersticas comuns, do ponto de vista das funcionalidades a serem testadas, como, por exemplo, nmeros negativos, nmeros com mais dgitos do que o previsto, strings sem brancos, arrays de um s elemento, alm de prever casos de teste cobrindo a totalidade destes conjuntos, e projetar, para cada conjunto, casos de teste com valores nos limites e prximos ao ponto mdio do conjunto. Esses conjuntos so denominados (A) parties de equivalncia.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 100

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

(B) grupos de controle. (C) espaos amostrais. (D) classes caractersticas. (E) intervalos de testes. Comentrios Esses conjuntos so considerados parties de equivalncia. O particionamento de equivalncia um teste de caixa preta, bastante cobrado nas provas da Cesgranrio! Algumas observaes sobre o particionamento de equivalncia: A partio de equivalncia um mtodo que separa os domnios dos dados de entrada em categorias. Essas categorias podem ser entradas vlidas e invlidas, permitindo que casos de teste na mesma categoria sejam eliminados sem que se prejudique a eficcia dos testes (Paula Filho, 2003). Essas classes tm caractersticas comuns, tais como nmeros negativos, nmeros com mais dgitos do que o previsto, strings sem brancos, etc. Os programas normalmente se comportam de maneira similar para todos os membros de uma classe. Uma abordagem sistemtica dos testes para a deteco de defeitos baseia-se em identificar todas as parties de equivalncia que tenham de ser manuseadas por um programa, a fim de criar os casos de teste (SOMMERVILLE, 2003). Na figura seguinte, cada partio de equivalncia mostrada como uma elipse.

Figura. Parties de Equivalncia (Sommerville, 2003, p. 379)


Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 101

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

As parties de equivalncia de entradas so conjuntos de dados em que todos os membros do conjunto devem ser processados de maneira equivalente. As parties de equivalncia de sada so sadas de programa que tm caractersticas comuns e, assim, podem ser consideradas uma classe distinta (SOMMERVILLE, 2003). Uma vez identificado um conjunto de parties, escolhem-se ento casos de teste a partir de cada uma dessas parties. Uma boa diretriz a seguir para a seleo de casos de teste escolher casos de teste nos limites das parties e tambm casos prximos ao ponto mdio da partio. O ponto em questo para essa diretriz que os projetistas e os programadores tendem a considerar valores tpicos de entradas, quando desenvolvem um sistema. Esses valores so testados escolhendo-se o ponto mdio da partio. Os valores-limite so sempre atpicos e, em geral, os erros com esses valores so mais frequentes do que nas regies centrais, apesar das razes para que isso acontea no serem completamente claras (SOMMERVILLE, 2003) (Paula Filho, 2003). As parties de equivalncia podem ser identificadas utilizando-se a especificao do programa ou a documentao do usurio e pelo testador, utilizando sua prpria experincia para prever que classes de valores de entrada podem detectar erros (SOMMERVILLE, 2003). Mais informaes: http://www.rafaeldiasribeiro.com.br/downloads/testesw3.pdf PAULA FILHO W. de P. Engenharia de Software Fundamentos, Mtodos e Padres. LTC Editora, Rio de Janeiro RJ, 2003. SOMMERVILLE I. Engenharia de Software. Addison Wesley, -, 2003. PRESSMAN R.S. Engenharia de Software. Makron Books do Brasil Editora Ltda, So Paulo SP, 1995. Gabarito: letra A. 20. (Cesgranrio/BNDES/2008) No mbito de estratgias e tcnicas de testes de software, assinale a afirmativa correta. (A) uma boa prtica automatizar os testes de unidade, embora no seja recomendado, em geral, automatizar os testes de regresso. (B) So exemplos de abordagens de testes para aplicaes cliente-servidor: teste de funo da aplicao cliente, teste de servidor, teste de banco de dados, teste de transao e teste de comunicao em rede. (C) So exemplos de teste de caixa-branca: teste de caminho bsico, teste de estrutura de controle e teste utilizando particionamento de equivalncia. (D) A verificao testada pela pergunta: Estamos construindo o produto correto?, enquanto a validao indaga: Estamos construindo o produto corretamente?. (E) Depois do teste de unidade, o teste seguinte a ser aplicado a um software , comumente, o teste de validao.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 102

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Item A. Item errado. Pode-se tambm automatizar os testes de regresso. Item b. Item correto. Todos os exemplos de abordagens de testes apresentados so utilizados para testes de aplicaes cliente-servidor. So eles: teste de funo da aplicao cliente, teste de servidor, teste de banco de dados, teste de transao e teste de comunicao em rede. Item c. Item errado. O particionamento de equivalncia um teste de caixapreta! Muito importante!!!. Item d. Item errado. Inverteu os conceitos! A validao testada pela pergunta: Estamos construindo o produto correto?, enquanto a verificao indaga: Estamos construindo o produto corretamente?. Item e. Item errado. Depois do teste de unidade, o teste seguinte a ser aplicado a um software , comumente, o teste de integrao!! Gabarito: letra B. Questes Complementares 21. (ESAF/2008/STN/DESENVOLVIMENTO DE SISTEMAS) Para resolver um determinado problema, um programador tem em mente como deve ser o programa principal que, por sua vez, controlar todas as outras tarefas distribudas em sub-rotinas, para as quais dever desenvolver os respectivos algoritmos. Este cenrio exemplifica o conceito de programao a) estruturada. b) orientada a objetos. c) funcional. d) numrica. e) orientada a aspectos. Comentrios Item a. Estabelece uma disciplina de desenvolvimento de algoritmos que facilita a compreenso de programas atravs do nmero restrito de mecanismos de controle da execuo de programas. Qualquer algoritmo, independentemente da rea de aplicao, de sua complexidade e da linguagem de programao na qual ser codificado, pode ser descrito atravs destes mecanismos bsicos. O princpio bsico de programao estruturada que um programa composto por blocos elementares de cdigo que se interligam atravs de trs mecanismos bsicos, que so sequncia, seleo e iterao. Cada uma destas construes tem um ponto de incio (o topo do bloco) e um ponto de trmino (o fim do bloco) de execuo. ITEM VERDADEIRO.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

103

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Item b. um paradigma de anlise, projeto e programao de sistemas de software baseado na composio e interao entre diversas unidades de software chamadas de objetos. Na programao orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos mtodos) e estados possveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. ITEM FALSO. Item c. um paradigma de programao que trata a computao como uma avaliao de funes matemticas e que evita estados ou dados mutveis. Ela enfatiza a aplicao de funes, em contraste da programao imperativa, que enfatiza mudanas no estado do programa. Linguagens de programao funcionais, especialmente as puramente funcionais, tem sido mais usadas academicamente que no desenvolvimento comercial de software. ITEM FALSO. Item d. Refere-se ao tipo de programao que trata exclusivamente de operaes matemticas entre variveis. A maior parte dos tipos existentes na matemtica (vetores, matrizes, escalares, etc.) j se encontram pr-definidos nesse tipo de linguagem e o seu uso pode, por vezes, ser simblico (uso de funes em vez de nmeros, por exemplo, plot(sin(x)) em vez de plot(x) com x = [...]). As operaes entre estes tipos encontram-se otimizadas. Tipo de linguagens numricas: fortran, gnumeric, matlab, mathematica, etc. ITEM FALSO. Item e. um paradigma de programao de computadores que permite aos desenvolvedores de software separar e organizar o cdigo de acordo com a sua importncia para a aplicao. Todo o programa escrito no paradigma orientado a objetos possui cdigo que alheio a implementao do comportamento do objeto. Este cdigo todo aquele utilizado para implementar funcionalidades secundrias e que encontra-se espalhado por toda a aplicao. Esse paradigma de programao permite que o cdigo seja encapsulado e modularizado. ITEM FALSO. Gabarito: letra A. 22. (ESAF/2007/SEFAZ-CE-TI) Quando uma funo definida em termos de si mesma fica caracterizado o uso a) da recursividade. b) da iteratividade. c) da interatividade. d) do acesso direto a Banco de Dados. e) de DLLs.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

104

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Um programa recursivo um programa que chama a si mesmo, direta ou indiretamente. Exemplo: Funo Fatorial (i) se i 1 ento retorne 1; seno retorne Fatorial (i - 1) * i; fim se Fim Funo Vantagens: diminuio e clareza do cdigo. Desvantagens: reduo no desempenho e dificuldade na depurao. Gabarito: letra A. 23. (ESAF/2006/TRF) Analise as seguintes afirmaes relacionadas Programao Orientada a Objetos: I. Em um Programa Orientado a Objetos as instncias de uma classe armazenam tipos diferentes de informaes e apresentam comportamentos distintos. II. Em uma Aplicao Orientada a Objetos podem existir mltiplas instncias de uma mesma classe. III. Em Programao Orientada a Objetos deve existir um e somente um objeto de uma mesma classe. IV. Os servios que podem ser solicitados a um objeto so definidos pelos mtodos. Indique a opo que contenha todas as afirmaes verdadeiras. a)II e IV b) II e III c) III e IV d) I e III e) I e II Comentrios Item I - Falso. Pois as instncias de uma mesma classe armazenam tipos iguais de informaes (mesmo tipo de atributo, mas com valores diferentes) e ainda apresentam o mesmo comportamento (mesmos mtodos).
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 105

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Item II - Verdadeiro. Em uma aplicao Orientada a Objetos realmente espera-se mltiplas instncias de uma mesma classe. Item III - Falso. Em Programao Orientada a Objetos pode haver nenhuma ou muitas instncias de uma mesma classe. Item IV - Verdadeiro. Os mtodos definem o comportamento dos objetos de uma classe, e so chamados atravs de mensagens. Gabarito: letra A. 24. (ESAF/2006/TRF) Na Programao Orientada a Objetos,

a) a definio dos objetos deve ser obrigatoriamente definida no corpo do construtor. b) o cdigo construtor responsvel por criar e inicializar os atributos dos objetos. c) o construtor uma funo que tem um nome qualquer e, quando instanciada, faz referncia aos atributos da classe a ser definida. d) o cdigo construtor responsvel por criar os mtodos da classe. e) quando se instancia uma classe diversas vezes, o cdigo construtor responsvel por armazenar e compartilhar os atributos das instncias e os de classe utilizados ao longo de todo o processo. Comentrios O item A falso, pois se pode definir valores dos atributos fora do construtor. O item B verdadeiro, pois esta a funo do construtor. O construtor de uma classe responsvel por inicializar variveis e chamar mtodos que so executados no momento da criao do objeto atravs com comando new. O item C falso, pois o construtor obrigatoriamente deve possuir o mesmo nome da classe. O item D falso, pois sua responsabilidade maior inicializar/criar os atributos dos objetos a partir de sua instanciao (new ()). O mtodo construtor mais um de vrios mtodos existentes numa classe, e serve para executar aes durante a criao do objeto. O item E falso, pois o mtodo construtor no possui esse propsito. Total absurdo a assertiva. O mtodo construtor somente utilizado para ser executado inicialmente, no cabe a ele realizar esta ao. Gabarito: letra B. 25. (ESAF/2006/CGU) Analise as seguintes afirmaes relacionadas aos conceitos bsicos de Programao Orientada a Objetos. I. Modificaes de uma classe base requerem, obrigatoriamente, que as classes derivadas mudem.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 106

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

II. Uma classe derivada no pode conter atributos adicionais diferentes dos existentes na sua classe base. III. Criar uma classe derivada no afeta o cdigo-fonte da sua classe base. A integridade de uma classe base preservada pela herana. IV. Uma classe derivada contm os atributos e comportamentos de sua classe base. Indique a opo que contenha todas as afirmaes verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV

Comentrios O Item I falso, pois uma mudana que ocorre numa classe me herdada por todas as classes derivadas desta classe. Esta caracterstica uma das principais vantagens da orientao a objetos. Quando a classe base modificada seus novos mtodos e variveis so automaticamente herdados pela classe derivada, ou seja, no h necessidade de realizar modificaes na classe derivada, isso feito de forma implcita. E ainda, se a classe filha j possuir um mtodo idntico ao recm criado na classe me, ocorrer polimorfismo do tipo overhiding, ou seja, o mtodo da classe filha sobrescreve o da me. Portanto no sofrer nenhuma alterao. O item II falso, pois uma classe derivada pode conter atributos pertencentes a somente ela. Essa caracterstica permite uma especializao e adaptao de acordo com a necessidade de quem desenvolve. O item III verdadeiro, pois a classe base no afetada por qualquer modificao realizada em alguma classe derivada. Java implementa o princpio do encapsulamento. O item IV verdadeiro, pois se trata do conceito bsico de herana. No paradigma da programao Orientada a Objetos, herana uma propriedade que permite que classes aproveitem estruturas de classes j existentes. As classes derivadas possuem acesso aos membros da classe preexistente, utilizando-os como se fosse seus. Devido a esta caracterstica possvel classificar tipos semelhantes de classes e especializ-las quando necessrio, formando uma Hierarquia de Herana. A herana possibilita a
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 107

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

reutilizao de cdigo, mas esta caracterstica secundria perto dos benefcios que surgem coma utilizao desta propriedade. Gabarito: letra C. 26. (Cops/Analista Administrativo- TI/2011)

Assinale a alternativa correta: A)Somente as afirmativas I e II so corretas. B)Somente as afirmativas I e IV so corretas. C)Somente as afirmativas III e IV so corretas. D)Somente as afirmativas I, II e III so corretas. E)Somente as afirmativas II, III e IV so corretas. Comentrios Item I: Na linha 5 do programa, a varivel parte1 recebe o texto Bom dia!. Na linha 6 do programa, a varivel parte2 recebe o texto Hoje far sol em. Na linha 7 do programa, a varivel parte12 recebe como valor a concatenao do valor armazenado na varivel parte1, com o comando de mudana de linha, e o valor armazenado na varivel parte2.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 108

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Na linha 8 do programa, o comando de escrita imprime o valor da varivel parte12 seguido do texto Londrina. Ento o Item I est correto. Item II: A tecnologia CCS (Cascading Style Sheets ou, em portugus, Folha de Estilos em Cascata) uma linguagem de estilos usada para formatar contedos estruturados pela linguagem HTML, ou seja, desenvolver, padronizar e estilizar as pginas da web, seguindo diversas convenes e padronizados pelo W3C - World Wide Web Consortium, como por exemplo a automatizao de ttulos, rodap, comentrios, fontes, background e etc. O item II tambm est correto. Item III: XML (eXtensible Markup Language) uma recomendao da W3C para gerar linguagens de marcao para necessidades especiais. um dos subtipos da SGML (acrnimo de Standard Generalized Markup Language ou Linguagem Padronizada de Marcao Genrica) capaz de descrever diversos tipos de dados. Seu propsito principal a facilidade de compartilhamento de informaes atravs da internet. A principal caracterstica do XML, de criar uma infraestrutura nica para diversas linguagens, que linguagens desconhecidas e de pouco uso tambm podem ser definidas sem maior trabalho e sem necessidade de ser submetidas aos comits de padronizao. O XML traz uma sintaxe bsica que pode ser utilizada para compartilhar informaes entre diferentes computadores e aplicaes. Quando combinado com outros padres, torna possvel definir o contedo de um documento separadamente de seu formato, tornando simples para reutilizar o cdigo em outras aplicaes para diferentes propsitos. Portanto, uma das suas principais caractersticas sua portabilidade, pois, por exemplo, um banco de dados pode escrever um arquivo XML para que outro banco consiga l-lo. Logo, o item III tambm est correto. Item IV: O uso primrio de JavaScript escrever funes que so embarcadas ou includas em pginas HTML e que interagem com o Modelo de Objeto de Documentos (DOM) da pgina. Alguns exemplos deste uso so: abrir uma nova janela com controle programtico sobre seu tamanho, posio e atributos; validar valores de um formulrio para garantir que so aceitveis antes de serem enviados ao servidor; mudar imagens medida que o mouse se movimenta sob elas.

Pelo fato do cdigo JavaScript rodar localmente no navegador do usurio, e no em um servidor remoto, o navegador pode responder a tais aes rapidamente, fazendo uma aplicao mais responsiva. Alm disso, o cdigo
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 109

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

JavaScript pode detectar aes de usurio que o HTML sozinho no pode, tais como teclas pressionadas individualmente. Uma JavaScript engine (tambm conhecida como interpretador JavaScript ou uma implementao JavaScript) interpreta cdigo fonte JavaScript e o executa de forma adequada. A primeira implementao JavaScript foi criada por Brendan Eich na Netscape Communications Corporation, para o Navegador Netscape. Por ser o JavaScript a nica linguagem que a maioria dos navegadores populares suportam, tem-se tornado uma linguagem alvo para muitos frameworks em outras linguagens, a despeito do fato de no ter sido planejado para tal. No obstante as limitaes de desempenho inerente sua natureza dinmica, a crescente velocidade das implementaes JavaScript tem feito da mesma uma prtica linguagem intermediria. Foi concebida para ser uma linguagem script com orientao a objetos baseada em prottipos, tipagem fraca e dinmica e funes de primeira classe. Diferente das linguagens mais conhecidas, como Java ou C++ que utilizam a orientao a objetos clssica, JavaScript utiliza uma abordagem diferente para compartilhar cdigo entre entidades, chamada de orientao a prottipo. Temos como conceito de Herana em Orientao a Objetos a capacidade de classes compartilharem atributos e mtodos entre si. Geralmente a herana usada para compartilhar comportamentos generalizados e comuns entres as classes filhas. Algumas linguagens orientadas a objetos habilitam o suporte mltipla herana, que a capacidade de um objeto herdar as propriedades (mtodos e atributos) de mais de um objeto. Porm, Javascript no suporta mltipla herana. Apesar dos frameworks modernos do java script terem suas formas de implementarem a mltipla herana. Uma das formas mais utilizadas copiarem os mtodos e variveis de um prottipo ao objeto que herdar. Gabarito: letra D.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

110

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

27. (Cops/Analista TI/2011)

Administrativo-

Comentrios Teste de mesa: Iterao 0 1 2 3 4 5 I 50 _ _ _ _ _ Total 0 10 30 60 100 150 K 0 10 20 30 40 50 teste K<I Verdade Verdade Verdade Verdade Verdade Falso Imprime (K) 10 20 30 40 50 (Total) 150

Gabarito: letra B. 28. (FUMARC/2007/PREF.MUN.BETIM/Analista de Sistemas da Sade) Considere que, no algoritmo em alto nvel a seguir, todas as variveis sejam inteiras:

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

111

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Na execuo desse algoritmo, o valor impresso na linha 7 : a) 55 b) 89 c) 144 d) 233

Comentrios Para este tipo de questo podemos utilizar duas abordagens possveis. A primeira realizar o chamado teste de mesa, que simula o comportamento do algoritmo, acompanhando o mapeamento da memria no tempo. O teste de mesa uma simulao de todos os passos, ou seja, entradas, comandos e instrues do algoritmo, a fim de saber se ele chega ao resultado a que se prope e se a lgica est correta. Para tal, preenche-se uma tabela com valores para as variveis e segue-se o fluxo de execuo do algoritmo, simulando a execuo de cada instruo, ou seja, refazendo o que o computador faria ao executar cada instruo. A cada comando simulado (executado), o valor das variveis na tabela deve ser atualizado. Se, para uma instruo executada, uma ou mais variveis no ficaram com os valores esperados, h um erro na lgica do algoritmo. Para esta questo teramos uma tabela como a mostrada a seguir.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

112

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Teste de Mesa Comandos X := 1 Y := 1 Z := 2 X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y X := Y Y := Z Z := X+Y Variveis X Y Z 1 ? ? 1 1 ? 1 1 2 1 1 1 2 2 2 3 3 3 5 5 5 8 8 8 13 13 13 21 21 21 1 2 2 2 3 3 3 5 5 5 8 8 8 13 13 13 21 21 21 34 34 2 2 3 3 3 5 5 5 8 8 8 13 13 13 21 21 21 34 34 34 55 Observaes

x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while x < 50 executa o lao

Volta para o while (cuidado, pois x ainda no maior ou igual a 50) x < 50 executa o lao

X := Y Y := Z Z := X+Y

34 34 34

34 55 55

55 55 89

Volta para o while (cuidado, pois x ainda no maior ou igual a 50) x < 50 executa o lao

X := Y Y := Z Z := X+Y

55 55 55

55 89 89

89 89 144

Write(Z)

Volta para o while Agora o X no menor do que 50, ento interrompe o lao. Escreve na tela o nmero 144 FIM

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

113

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Para este algoritmo em particular no houve muitas iteraes (repeties). Nestes casos possvel realizar o teste de mesa e, na minha viso, at mais seguro. No entanto, suponha que o nmero 50 fosse um nmero muito grande, que tornasse a quantidade de repeties to grande que no fosse prtico a realizao da simulao. Neste caso, voc deve realizar apenas algumas simulaes para entender o funcionamento do algoritmo e deduzir o que ele faz. Assim, chegar ao resultado sem precisar executar passo a passo. Observe algumas linhas do teste de mesa. Veja a sequncia de nmeros, especialmente Z. Cada nmero presente na coluna de Z a soma dos dois nmeros imediatamente anteriores (destaquei as clulas em que houve atribuio para Z). Esta sequncia tem um nome: sequncia Fibonacci. Agora basta calcular os termos da sequncia: 1 2 3 5 8 13 21 ... at encontrar um termo maior ou igual a 50. Sabemos que o algoritmo calcula e escreve o segundo termo aps o termo maior ou igual a 50. Continuando, temos 21+13 = 34; 34+21 = 55; 55+34=89; 89+55=144. Eis a resposta correta: 144, letra C. Gabarito: letra C. 29. (FUMARC/2007/PREF.MUN.BETIM/Analista de Sistemas da Sade) Considere que, no algoritmo em alto nvel a seguir, V seja um vetor de inteiros contendo 100 elementos indexados de 0 a 99, e todas as demais variveis sejam inteiras.

O objetivo desse algoritmo : a) Imprimir o vetor V em ordem crescente. b) Imprimir o vetor V em ordem decrescente. c) Imprimir o maior valor armazenado no vetor V. d) Imprimir o menor valor armazenado no vetor V.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

114

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Realizar o teste de mesa aqui no uma boa ideia, certo? Observe que a estrutura de repetio while ser executada quase cem vezes, pois a varivel D comea valendo 1 e incrementada de uma unidade a cada repetio. Como s teremos a interrupo quando D chegar a 100 (ou mais), ento teremos 100-1 repeties (j que quando o D for 100 no ser executado). C sempre armazena um ndice do vetor. Inicialmente a primeira posio e, quando encontrar um valor no vetor menor do que o valor da primeira posio, faz a troca da referncia. Percebe-se que C sempre aponta para uma posio que contm o menor comparado. Logo, apontar para o menor valor no vetor, que ser escrito ao final. Gabarito: letra D.

30. (FUMARC/2007/MINISTRIO PBLICO/Anlise de Sistemas) Em relao a algoritmos e lgica de programao, todas as afirmativas esto corretas, EXCETO: a) Funes e sub-rotinas modularizao de programas. (procedimentos) so ferramentas de

b) Os comandos de entrada e sada so utilizados para iniciar e finalizar a execuo de um programa de computador. c) Estruturas condicionais permitem escolher aes que sero executadas quando determinadas condies so satisfeitas. d) Estruturas de repetio permitem que uma sequncia de comandos seja executada repetidamente at que uma determinada condio de interrupo seja satisfeita.

Comentrios O erro est na letra B, pois os comandos de entrada e sada servem para capturar dados e mostrar dados, respectivamente. Gabarito: letra B.

31. (FUMARC/2007/MINISTRIO PBLICO/Anlise de Sistemas) Em relao s estruturas de dados, todas as afirmativas esto corretas, EXCETO:
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 115

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

a) Vetores so variveis compostas unidimensionais identificadas por um mesmo nome. b) Matrizes so variveis compostas multidimensionais individualizadas por ndices. c) Registros so conjuntos de dados logicamente relacionados, mas de tipos diferentes. d) Variveis compostas homogneas correspondem a posies de memria cujo contedo pode ser de diferentes tipos de dados.

Comentrios Marque a letra D nesta questo! Ela a nica errada, pois variveis compostas homogneas (arranjos) no podem conter tipos de dados diferentes. Cuidado para no confundir os vetores que armazenam registros. A homogeneidade do arranjo em relao a cada posio do arranjo em si. Se uma posio um registro, todas as demais devem ser tambm registros com a mesma forma. Os registros sim, podem conter dados de tipos diferentes. Alis, so variveis compostas heterogneas. Gabarito: letra D.

32. (ESAF/2007/SEFAZ-CE-TI) Os parmetros so dados utilizados por funes para realizarem suas operaes. Com relao ao uso de parmetros e funes correto afirmar que a) cada funo s poder receber um nico parmetro por cada vez que executada. Quando uma funo necessitar receber mais de um parmetro, utiliza-se um loop controlado pelo indicador da quantidade de parmetros desejados. b) na hora de definir a funo, no cabealho, definem-se os parmetros que ela vai receber. c) uma funo pode receber qualquer nmero de parmetros, exceto nenhum. d) uma funo pode receber qualquer nmero de parmetros, desde que estes sejam do tipo Booleano. e) uma funo pode receber qualquer nmero de parmetros, desde que estes sejam do tipo Inteiro.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

116

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Os parmetros so dados que recebem as funes e as utilizam para realizar as operaes de funo. Uma funo pode receber qualquer nmero de parmetros, ou mesmo nenhum. Na hora de definir a funo, no cabealho, definem-se os parmetros que vai receber. Os parmetros tm validade durante a execuo da funo, isto , tem um mbito local funo de onde se recebem. Quando a funo termina, os parmetros deixam de existir. Os parmetros por valor A passagem de parmetros por valor uma maneira tpica de passar parmetros em funes, e esta forma significa que a modificao de um parmetro no atualiza o dado da varivel como parmetro, apesar de mudarmos o valor do parmetro dentro da funo, a varivel original no afetada pela mudana. Os parmetros por referncia Uma forma alternativa enviar parmetros por referncia, ou seja, o que enviado para a funo no uma cpia do valor da varivel e sim uma referncia a ela. Com isso, qualquer alterao realizada durante a execuo da funo corresponde a uma alterao nas variveis originais. OBS: Apesar de esta prtica ser muito comum, no est de acordo com os paradigmas do desenvolvimento orientado a objetos, pois fere o princpio do encapsulamento. Gabarito: letra B. 33. (ESAF/2005/AFRF) Classes e objetos so dois conceitos-chave da programao orientada a objetos. Com relao a estes conceitos, correto afirmar que a) se pode definir uma classe como um pacote de software, de modo que, com a herana, um objeto define comportamento e forma-padro para a construo de uma nova classe abstrata. b) uma classe uma descrio de um ou mais objetos por meio de um conjunto uniforme de atributos e servios. Alm disso, pode conter uma descrio de como criar novos objetos na classe. c) uma classe uma abstrao de alguma coisa no domnio de um problema ou na sua implementao, refletindo a capacidade de um sistema para manter informaes sobre ela, interagir com ela ou ambos. d) um objeto um prottipo que define os atributos e mtodos comuns a todas as classes de um certo tipo. e) o polimorfismo caracteriza-se pela possibilidade de objetos distintos possurem mtodos com nomes idnticos, mas com implementaes distintas.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 117

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Item a. Item absurdo, j que uma classe no representa um pacote (conjunto de artefatos da Orientao a Objetos) de software, ela independe da tecnologia utilizada, est num nvel acima de abstrao. Item FALSO. Item b. Classes so elementos fundamentais na construo de softwares orientados a objetos. Uma classe uma descrio dos atributos e servios comuns a um grupo de objetos. Sendo assim, pode-se entender uma classe como sendo um molde a partir do qual objetos so construdos. Item VERDADEIRO. Item c. A afirmativa refere-se ao conceito de objeto. Um objeto uma construo de software que encapsula estado e comportamento. Os objetos permitem que voc modele seu software em termos reais e com abstraes. Um objeto uma instncia de uma classe. Quando um objeto criado, dizemos que instanciamos uma classe. Instanciar um objeto de uma classe alocar ou reservar espao de memria para as informaes deste objeto, da mesma forma como reservamos espao de memria quando declaramos uma varivel! Item FALSO. Item d. A afirmativa refere-se ao conceito de classe. Item FALSO. Recapitulando....:-)! Uma classe define os atributos e comportamentos comuns compartilhados por seus objetos. Os objetos da mesma classe compartilham os comportamentos e atributos. As classes atuam de forma parecida com um cortador de molde ou biscoito, no sentido de que voc usa uma classe para criar ou instanciar objetos. A classe molda o objeto. como o tipo de dado das linguagens de programao que moldam as variveis. A partir do tipo de dado possvel identificar que tipo de operaes a varivel suporta. A classe a mesma coisa. Um outro exemplo, relacionado ao cotidiano, seria o projeto de um carro. Algum cria o projeto de um veculo (peas, design etc.). A partir deste projeto diversos carros deste modelo so feitos, seguindo- se o projeto original. Apesar de serem todos do mesmo projeto, cada carro um carro com suas prprias caractersticas, por exemplo, um carro branco, o outro prata e assim por diante. Declarao de uma classe: Qualificador class Nome-da-classe { // ATRIBUTOS da classe // MTODOS da classe }
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 118

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Qualificador : Indica a visibilidade do contedo pblico da classe. Alguns detalhes devem ser observados: Um nico arquivo Java pode conter diversas classes, mas somente uma pode ser pblica; Conforme j visto, o nome do arquivo deve ser o mesmo que o nome da classe pblica, tomando cuidado em manter os mesmos caracteres maisculos ou minsculos; O nome da classe deve iniciar com uma letra maiscula. Isto uma conveno dos programadores Java, com a finalidade de distinguir uma classe de uma varivel. Item e. Polimorfismo a possibilidade de enviar um mesmo seletor de mensagem para diferentes objetos, mesmo que estes sejam instncias de classes diferentes. Significa que a mesma operao pode atuar de modos diferentes em classes diferentes. Tambm permite termos em um mesmo objeto mtodos com nomes idnticos, mas com implementaes distintas. Item FALSO. Gabarito: letra B. 34. (ESAF/2008/MPOG) A estrutura de dados na qual a insero e a remoo se d na mesma extremidade, isto , no topo da lista, denominada: a) lista duplamente encadeada. b) lista circular. c) fila. d) pilha. e) rvore. Comentrios O funcionamento de uma pilha consiste numa estratgia chamada LIFO (last in, first out ltimo a entrar, primeiro a sair). Alm disso, o nico elemento que se pode acessar na pilha o elemento do topo da mesma, ou seja, o ltimo a ser empilhado. De maneira anloga, pode se pensar no processo de se carregar um caminho, o que foi colocado por ltimo o que sai primeiro. desta forma que este tipo de estrutura funciona.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

119

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Uma pilha uma lista linear em que todas as inseres, retiradas e geralmente todos os acessos so feitos em apenas um extremo da lista. Gabarito: letra D. 35. (COVESTE/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Boas prticas de programao orientada a objetos recomendam o seguinte: A) declarar atributos como pblicos, para facilitar o acesso de classes clientes. B) definir a arquitetura de classes com base nas funes da aplicao (decomposio funcional). C) evitar mtodos privados, j que estes no podem ser chamados por classes clientes. D) implementar relacionamentos entre classes, utilizando atributos chaves, como em uma modelagem relacional, ao invs de referenciar os objetos propriamente ditos. E) usar herana com cautela, apenas quando o relacionamento for comportamental ( um) entre a classe que herda e a classe original. Comentrios Item A. Os atributos devem ser declarados como privados. Item FALSO. Item B. A decomposio estruturado. Item FALSO. funcional empregada ser no desenvolvimento para ocultar

Item C. Os mtodos privados funcionalidades. Item FALSO.

podem

utilizados

Item D. O relacionamento entre classes feito por meio de associaes e envio de mensagens. Item FALSO. Item E. Realmente, a herana deve ser empregada somente se houver um relacionamento mais forte entre as classes. A simples existncia de atributos em comum NO um fator para empregar a herana. Item VERDADEIRO. Gabarito: letra E. 36. (COVESTE/2004/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Uma importante caracterstica da orientao a objetos o fato de um objeto de uma classe poder ser utilizado em um contexto onde um objeto de uma superclasse esperado. Este tipo de substituio possvel graas a qual dos conceitos a seguir? A) Encapsulamento B) Herana mltipla
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 120

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

C) Polimorfismo de subtipos D) Modularidade E) Classes parametrizadas Comentrios Encapsular significa esconder ou proteger na orientao a objetos. As variveis de instncia podem ser encapsuladas usando-se o atributo private. Isto faz com que a varivel somente possa ser acessada por meio de mtodos da prpria classe. Uma classe externa no tem permisso para acessar esta varivel. A finalidade do encapsulamento a proteo dos dados. A varivel privada s pode ser alcanada indiretamente atravs de um mtodo. O mtodo enxerga a varivel porque ele est definido na prpria classe. Cabe ao mtodo realizar as consistncias necessrias para proteger o dado de valores invlidos. A Herana mltipla, conforme visto anteriormente, permite que uma subclasse possua mais de uma superclasse, herdando propriedades e mtodos de ambas. Polimorfismo de subtipos uma caracterstica da Orientao a Objetos que prega que uma subclasse pode ser utilizada em uma situao onde seja esperado um objeto da superclasse. Modularidade um conceito no qual um sistema composto de vrias partes que podem ser trocadas. As classes parametrizadas so aquelas nas quais so empregados tipos de dados padro, como um modelo. Gabarito: letra C. 37. (COVESTE/2004/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Para representar um Funcionrio, considere a declarao da seguinte classe em Java, com atributos para armazenar a matrcula e o nome do funcionrio, em que a numerao de (1) a (6) apenas uma anotao para facilitar e referenciar parte especfica do cdigo.

class Funcionrio { (1) private int mat; (2) private String nome; (3) public Funcionrio (int mat, String nome) { this.mat = mat; this.nome = nome;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 121

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

} (4) public int getMat () {return mat;} (5) public String getNome () {return nome;} (6) public void alteraNome(String nome) {this.nome = nome;} }

Considere, ainda, o trecho de cdigo:

(7) Funcionario f = new Funcionario(1457,Jos da Silva);

Com base nesses dados, correto afirmar que: A) uma vez criado um objeto da classe Funcionario, como exemplificado no item (7), impossvel alterar a sua matrcula. B) a declarao iniciada no item (3) invlida, pois define um mtodo com o mesmo nome da classe. C) um objeto da classe Funcionario poderia ser criado, utilizando-se o construtor default, atravs da seguinte expresso: new Funcionario(). D) Atravs da varivel f declarada no item (7), possvel acessar os atributos declarados nos itens (1) e (2), atravs das expresses f.mat e f.nome. E) A utilizao do qualificador this, tanto na declarao iniciada no item (3) como na declarao no item (6), opcional. Comentrios Item a. Na letra A, como no existe nenhum mtodo que permite a alterao da matrcula, aps o valor da mesma ter sido atribudo, no possvel alter-lo. Item VERDADEIRO. Item b. Na opo B, est sendo definido o construtor da classe, o qual deve obrigatoriamente ter o mesmo nome da classe. Item FALSO. Item c. A letra C est errada, no foi definido o construtor padro. Item FALSO.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

122

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Item d. Observe que a classe possui, corretamente, os atributos privados. Logo no possvel acess-los sem utilizar um mtodo. Item FALSO. Item e. O emprego da palavra reservada this garante que sejam alterados os valores do prprio objeto. Como o nome do parmetro igual ao do atributo, no indicada a remoo da palavra reservada this! Item FALSO. Gabarito: letra A. 38. (ESAF/2008/AFC-STN/INFRAESTRUTURA DE TI) A habilidade para uso de uma mesma mensagem para invocar comportamentos distintos de um determinado objeto denominada a) Interface. b) Polimorfismo. c) Herana. d) Encapsulamento. e) Abstrao. Comentrios Item a. Coleo de mtodos que indica que uma classe possui algum comportamento alm do que herda de suas superclasses. Os mtodos includos em uma interface no definem esse comportamento; essa tarefa definida nas classes que implementam a interface. ITEM FALSO. Item b. Permite que referncias de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, possvel tratar vrios tipos de maneira homognea (atravs da interface do tipo mais abstrato). O termo polimorfismo originrio do grego e significa "muitas formas" (poli = muitas, morphos = formas). ITEM VERDADEIRO. Item c. o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (mtodos) e variveis possveis (atributos). Um exemplo: Mamfero super-classe de Humano. Logo, um Humano um mamfero. H herana mltipla quando uma sub-classe possui mais de uma super-classe. ITEM FALSO. Item d. Consiste na separao de aspectos internos e externos de um objeto. Este mecanismo utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os mtodos que alteram estes estados. Exemplo: No necessrio conhecer os detalhes dos circuitos de um telefone para utiliz-lo. A carcaa do telefone
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 123

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

encapsula esses detalhes, provendo uma interface mais amigvel (os botes, o monofone e os sinais de tom). ITEM FALSO. e) a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando caractersticas menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe uma abstrao de entidades existentes no domnio do sistema de software. ITEM FALSO. Gabarito: letra B. 39. (ESAF/2007/SEFAZ-CE) Analise as seguintes afirmaes relacionadas programao orientada a objetos e a UML. I. Um relacionamento uma conexo entre itens. Na modelagem orientada a objetos, os quatro relacionamentos mais importantes so as dependncias, as generalizaes, as associaes e as realizaes. II. Um diagrama de objetos um tipo especial de diagrama, composto por objetos e seus vnculos, que compartilha as mesmas propriedades comuns a todos os outros diagramas, isto , um nome e o contedo grfico. III. As excees so manifestaes concretas de uma abstrao qual um conjunto de operaes, sempre esperadas e controladas, podero ser aplicadas. IV. O diagrama de classes faz a modelagem de instncias de itens contidos em diagramas de objetos. Um diagrama de classes mostra um conjunto de objetos e seus relacionamentos em determinado ponto no tempo. Indique a opo que contenha todas as afirmaes verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV Comentrios Item I. Item VERDADEIRO. Em relao ao desenvolvimento orientado a objeto pode-se afirmar que as quatro operaes principais so: Dependncias: relacionamentos nos quais uma mudana na especificao de um elemento pode alterar a especificao do elemento dependente. A dependncia entre classes indica que os objetos de uma classe Utilizam servios dos objetos de outra classe. Generalizaes: a capacidade de se criar superclasses que encapsulam estruturas e/ou comportamento comuns a vrias subclasses.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 124

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A relao de generalizao tambm conhecida como herana no modelo de objetos. Associaes: so relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes. Podem existir associao unria, binria, etc. A associao pode ocorrer entre classes e objetos. Realizaes: relacionamento no qual um item especifica um contrato cujo cumprimento realizado por outro item. So encontrados entre interfaces e as classes ou componentes que as realizam, e entre casos de uso e as colaboraes que os realizam. Item II. Alm do diagrama de classes, A UML define um segundo tipo de diagrama estrutural, o Diagrama de Objetos. Pode ser visto com uma instncia de diagramas de classes, representa uma fotografia do sistema em um certo momento. Exibe as ligaes formadas entre objetos conforme estes interagem, e tambm os valores dos seus atributos. Item VERDADEIRO.

item1 : ItemPedido quantidade = 6 Pedido1 : Pedido ItemPedido Produto Pedido data = 13/09/2002 hora = 10:00am

produto20 : Produto nome = "Caderno M" descrio = "Caderno em espiral tamanho mdio" preoUnitrio = 4,50 desconto = 15 produto12 : Produto nome = "Caneta ESF" descrio = "Caneta esferogrfica 5mm" preoUnitrio = 1,20 desconto = 2 produto07 : Produto nome = "Esquadro" descrio = "Esquadro de acrlico 20 cm" preoUnitrio = 2,35 desconto = 10

item2 : ItemPedido quantidade = 20

item3 : ItemPedido quantidade = 1

Figura. Diagrama de Objetos. Os diagramas de objetos costumam conter o seguinte: objetos, vnculos, assim como notas e restries. UML (Guia do usurio). Item III. Uma exceo em programao pode ser vista como um evento que disparado sempre que alguma coisa errada ou no prevista ocorre durante a execuo. Esse evento altera o fluxo normal do programa, geralmente cancelando a execuo de aes esperadas de um ou mais mtodos. Nem todas as excees so esperadas e controladas!!Item FALSO. Item IV. Um diagrama de classe um diagrama que mostra um conjunto de classes, interfaces e colaboraes e seus relacionamentos. Item FALSO. Gabarito: letra A.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 125

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

40. (ESAF/2006/TRF) Analise as seguintes afirmaes relacionadas Orientao a Objetos: I. Os atributos podem ser de instncia ou de classe. Quando os atributos so de instncia, cada objeto guarda a sua prpria cpia de tais atributos. II. Os atributos compartilhados entre objetos de uma classe so chamados de atributos de objetos. Em Java, por exemplo, esses atributos so identificados com a palavra static. III. Existem mtodos cujo cdigo apenas acessa atributos de classe ou os parmetros passados. Esses mtodos so chamados de mtodos de classe. IV. Um mesmo nome de objeto pode ser usado para identificar diferentes objetos em uma mesma classe ou diferentes objetos em classes diferentes, evitando assim, que seja necessrio usar nomes diferentes para objetos diferentes que realizam a mesma operao. A esta caracterstica da Orientao a Objetos d-se o nome de Polimorfismo. Indique a opo que contenha todas as afirmaes verdadeiras. a)I e II b) II e III c) III e IV d) II e IV e) I e III Comentrios Item I Verdadeiro. Os atributos ou variveis de instncia servem para manipulao de objetos de uma determinada classe. Porm, sero compartilhados para todas as instancias de uma determinada classe. Item II Falso. Este conceito correspondente aos chamados atributos de classe. Item III Verdadeiro. Mtodos de classe so aqueles que no necessitam de uma instancia da classe para serem executados. Item IV Falso. O polimorfismo representa a capacidade de poder existir mtodos com assinaturas iguais, mas executando aes diferentes. Gabarito: letra E. 41. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Administrao de Dados/Q. 72) O Jboss um servidor de aplicao avanado que, apesar de ter sido implementado na linguagem Java, funciona em qualquer tipo de sistema operacional, independentemente de este ter sido desenvolvido em Java. Comentrios JBoss um servidor de aplicao desenvolvido na plataforma J2EE e implementado completamente em Java. Como baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 126

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Este servidor de aplicao possui as principais vantagens: implantao de aplicativos fcil; relativamente leve; e baixo consumo de memria e espao em disco, sem comprometer seu desempenho. Como o Jboss 100% desenvolvido em Java importante que se tenha a JVM (Java Virtual Machine - Mquina virtual Java)1 e o JDK (Java Development Kit Kit de Desenvolvimento Java)2 instalados. Isso torna a afirmativa falsa, pois para o sistema operacional executar o Jboss, deve ter suporte ao Java, com a JVM e a JDK especficas. Gabarito: item errado. 42. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Suporte Tcnico/Q. 115) O servidor de aplicao JBOSS foi desenvolvido utilizando-se a linguagem de programao Java. As verses mais atuais so preparadas para suportar aplicaes que utilizam as especificaes servlets e JSP, mas so incompatveis com a especificao EJB. Comentrios Conforme citado anteriormente, o JBoss um servidor de aplicao (Application Server) desenvolvido em Java e que contm tambm um Servlet Container, o que permite a ele trabalhar com arquivos JSP e Servlets. Mas alm disso, possui ainda outros servios que so necessrios para aplicaes maiores, como suporte a WebServices, controle mais efetivo de permisses de acesso, container EJB, entre outros. J EJB (Enterprise JavaBeans) um componente do tipo servidor que executa no container (especfico para EJB) do servidor de aplicao. Os principais objetivos da tecnologia EJB so fornecer um rpido e simplificado desenvolvimento de aplicaes Java baseado em componentes distribudas, transacionais, seguras e portveis (Desenvolvendo Aplicaes Web com JSP, Servlets, JavaServer Faces, Hibernate, EJB 3 Persistence e Ajax - Edson Goncalves). Segundo o texto de Marcelo Mota Manhes http://www.mundooo.com.br), a tecnologia EJB prov um gerenciamento de componentes. Eles podem simplificar desenvolver aplicaes escalveis, portveis e reusveis no negcios. No entanto, usar enterprise beans requer um tempo, codificao e treinamento. (disponvel em ambiente para o o processo de seu ambiente de investimento de

1 Programa responsvel pelo gerenciamento dos aplicativos Java, medida que so executados, carregando e executando os mesmos. Converte os bytecodes em cdigo executvel de mquina. 2 Utilitrios para criao de software em Java. composto por compilador e bibliotecas especficos da linguagem.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

127

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Algumas das vantagens da utilizao da tecnologia EJB so: Gerncia da persistncia: a maioria das aplicaes empresariais manipulam os dados persistentes. Um bean de entidade (no qual um EJB que representa o dado persistente em um meio de armazenamento como um bando de dados relacional) projetado para prover gerenciamento automtico de dados persistentes, inclusive dados legados. Acesso a dados concorrentemente: EJB so projetados para gerenciar acessos concorrentes automaticamente e possuem automaticamente recursos multi-thread. Acesso a dados remotamente. Aplicaes empresariais tipicamente acessam dados a partir de recursos remotos mltiplos. Modelo baseado em componentes: componentes de software podem prover reusabilidade, portabilidade e uma clara separao da interface com a implementao. Enterprise beans prov estes benefcios porque so verdadeiros componentes de software. Portabilidade: uma aplicao que portvel atravs de mltiplas plataformas de hardware e sistemas operacionais faz melhor uso de dos recursos da empresa, principalmente em se tratando de sistemas heterogneos e prov uma futura flexibilidade de integrao. Controle Transacional e de Segurana: EJB prov um controle declarativo das configuraes de segurana e de transaes, simplificando a customizao e aumentando a flexibilidade. Alta disponibilidade: implementaes de EJB podem prover controle a falhas automaticamente, gerenciando tambm uma religao de dados quando acontece uma falha de sistema. Escalabilidade: aplicaes frequentemente necessitam manipular o aumento de demanda e novos requerimentos. Porque o ciclo de vida gerenciado pelo continer as instncias dos beans que servem as requisies podem ser colocadas em um pool para a maximizar a eficincia de recursos. Componentes podem ser migrados para balancear carga sem um cluster de processadores. Neutralidade do Cliente: Algumas aplicaes requerem acesso por muitos tipos de cliente. Objetos de negcios como enterprise beans provm accesso para um modelo de aplicao para qualquer tipo de cliente. Clientes Java podem acessar os enterprise beans atravs das interfaces padro. Clientes no Java podem acessar enterprise beans usando CORBA (Common Object Request Broker Architeture) ou interfaces Web services.

Retornando questo, para utilizao da tecnologia EJB necessrio um container EJB , como o Jboss. Logo, a afirmativa est incorreta pois o Jboss suporta aplicaes que utilizam as especificaes servlets e JSP, mas no incompatvel com a especificao EJB (Enterprise JavaBeans). Gabarito: item errado.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 128

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

A base textual da Web no permite interao muito adequada para tarefas automatizadas entre sistemas. O conceito de web services cria uma forma mais adequada para a comunicao entre diferentes aplicaes e servios, possibilitando a execuo e o processamento automtico de informaes constantes em diferentes aplicaes. Acerca de web services e tecnologias relacionadas, julgue os itens que se seguem. 43. (CESPE/2010/ IJSN/ES/ Informtica e Gesto da Informao) Web services permitem a comunicao entre diferentes sistemas. Com a adoo de tecnologias como UDDI, XML, WSDL e SOAP, aplicaes de diversos locais da Internet podem ser integradas e interconectadas como se fizessem parte de um mesmo sistema, independentemente da linguagem de programao na qual foram desenvolvidas. Comentrios Para entendimento da questo vamos relacionar os conceitos bsicos de Web Services: UDDI, XML, WSDL e SOAP. Define-se Web Services como uma tecnologia para integrao de sistemas, podendo ser aplicada a ambientes heterogneos. Permite que softwares desenvolvidos em linguagens distintas enviem e recebam dados de maneira transparente. A nica exigncia que isso ocorra no formato XML (eXtensible Markup Language). Um dos padres utilizados no desenvolvimento de Web Services o SOAP (Simple Object Access Protocol). Ele o protocolo padro para transmisso de dados da arquitetura de Web services que segue o modelo Request-Response do HTTP. Os web services so descritos empregando-se a WSDL (Web Services Description Language), definindo-se as operaes oferecidas pelo web service e o formato de entrada e sada de cada uma delas. J o UDDI (Universal Description, Discovery and Integration) um protocolo para registro e publicao de web services, permitindo que os mesmos sejam pesquisados e localizados pelos clientes. Observe que na questo a banca avalia se o superficialmente os conceitos bsicos de Web Services. Gabarito: item correto. 44. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Suporte Tcnico) Alguns servidores de aplicao suportam a plataforma Java EE 6, como o caso do GlassFish em sua verso mais recente.
Profa. Patrcia Lima Quinto

candidato

conhece

www.pontodosconcursos.com.br

129

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios GlassFish um servidor de aplicao desenvolvido pela Sun Microsystems para a plataforma Java Enterprise Edition (Java EE). A sua verso comercial chamada Sun Java System Application Server. um dos poucos projetos de servidor de aplicao que possui suporte total s novas especificaes web java. A partir da verso 3, o GlassFish possui suporte a Java EE 6. O GlassFish um servidor de aplicaes de cdigo aberto, de nvel corporativo que oferece desempenho, confiabilidade, produtividade, facilidade de uso, e ainda, suporte a SOA. Gabarito: item correto. 45. (EMBRAPA/2010/rea: Gesto da Informao Analista Classe A Desenvolvimento, Manuteno de Sistemas e Gesto de Projetos) Um servidor de aplicaes tem por objetivo disponibilizar uma plataforma que abstraia do desenvolvedor de software algumas das complexidades de um sistema computacional. O servidor de aplicaes responde a algumas questes comuns a todas as aplicaes. Assinale a alternativa que no corresponde a uma questo comum disponibilizada pelo servidor de aplicaes. A) Segurana B) Disponibilidade C) Balanceamento de Carga D) Tratamento de Excees E) Regra de Negcios Comentrios Observando as alternativas pode-se identificar que as quatro primeiras (Segurana, Disponibilidade, Balanceamento de Carga e Tratamento de Excees) fazem parte das funcionalidades comumente disponibilizadas por servidores de aplicao. A letra E trata de funes que devem ser oferecidas pela prpria aplicao, as quais no devem ser oferecidas por servidores de aplicao. Gabarito: letra E. 46. (CESPE/BANCO DA AMAZNIA/Tcnico Cientfico rea: Tecnologia da Informao ANLISE DE SISTEMAS/2010) Objetos tm identidade prpria. Isso garante que, mesmo tendo os mesmos valores de variveis e pertencendo mesma classe, dois objetos sejam considerados diferentes.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

130

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios Na orientao a objetos, o conceito de identidade define que um objeto uma instncia nica de uma classe, ocupando uma posio de memria especfica. Ento, podemos ter dois objetos no-idnticos (ocupam posies de memria distintas), mas iguais (so da mesma classe e possuem os mesmos valores para os atributos). Alm disso, cada objeto ao ser criado, aloca espao de memria para si e possui seus dados armazenados em estrutura prpria. No h confuso entre os objetos, especialmente quanto identidade. Para simplificar o entendimento, podemos pensar em cada objeto como uma varivel estruturada contendo os atributos. Gabarito: item correto. 47. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) No que tange aos paradigmas da Orientao a Objetos (OO), um princpio est diretamente relacionado s operaes realizadas por um objeto e ao modo como as operaes so executadas, constituindo uma forma de restringir o acesso ao comportamento interno de um objeto. Nesse processo, um objeto que precise da colaborao de outro para realizar alguma tarefa deve enviar uma mensagem a este ltimo. Alm disso, separa os aspectos externos de um objeto dos detalhes internos da implementao. Considerando esse contexto, observe a figura abaixo.

O princpio da OO conhecido por: A) Compartilhamento B) Acoplamento C) Herana D) Polimorfismo E) Encapsulamento Comentrios Encapsular colocar em uma cpsula. Por mais estranho que parea, pense que voc poderia colocar todos os itens desejados em uma cpsula (como em um remdio) e proteger os componentes internos da ao externa.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 131

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Em Orientao a Objetos bem semelhante. A ideia de encapsular criar uma proteo para os itens do objeto de forma que somente por meio das interfaces criadas possa ocorrer o acesso s estruturas internas. Isto cria uma proteo para os itens do objeto, que passam a ter o acesso controlado por meio da interface. O objetivo separar os aspectos externos (o que faz) dos aspectos internos (como faz): Aspectos externos = interface, contrato; Aspectos internos = implementao. O encapsulamento pode ser visto como um complemento da abstrao: A abstrao foca o comportamento observvel de um objeto. Encapsulamento comportamento. enfoca a implementao que origina este

Alm disso, ele o encapsulamento promove uma maior estabilidade, uma vez que clientes do objeto s conhecem sua interface e que podemos alterar a implementao de uma operao sem afetar o restante do sistema. Gabarito: letra E. 48. (Cetro/2007/Liquigs Distribuidora S. A. Profissional Jr. para atuar em Informtica Anlise de Sistemas) Sobre a linguagem XML, incorreto afirmar que (A) o contedo de um elemento XML especificado entre uma tag de abertura e uma tag de fechamento. (B) documentos XML podem ser utilizados para a transferncia de dados atravs da web. (C) XML uma linguagem de marcao com um conjunto fixo de tags. (D) um atributo na XML define uma propriedade de um elemento. (E) A linguagem XML definida como o formato universal para dados estruturados na Web. Comentrios XML (eXtensible Markup Language) um padro para linguagens de marcao para necessidades especiais. Com XML possvel descrever diversos tipos de dados, permitindo o compartilhamento de informaes atravs da Internet. Item A. Como XML uma linguagem de marcao (Como HTML), possui tags as quais devem possuir abertura e fechamento. Item VERDADEIRO. Item B. Pela definio, XML empregado para transferncia de dados na Internet. Item VERDADEIRO.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 132

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Item C. Com XML, podem-se definir as tags necessrias para a aplicao. Item FALSO. Item D. Os atributos XML so empregados para definir propriedades dos elementos. Item VERDADEIRO. Item E. A XML o formato empregado para transferncia de dados estruturados na Internet. Item VERDADEIRO. Gabarito: letra C. 49. (ESAF/2008/MPOG) O XML (Extensible Markup Language) surgiu como um padro para estruturao e troca de dados. A fim de permitir a validao de documentos XML, um tipo de documento contendo metadados pode ser criado para definir quais elementos, atributos e outros itens podem estar contidos em um documento XML. A informao de metadados pode estar contida em um documento XML DTD (Document Type Definition) ou em um documento de esquema XML (XML Schema). A respeito da notao utilizada nas DTDs incorreto afirmar que a) um caractere + (adio) colocado aps o nome de elemento significa que este pode ser repetido uma ou mais vezes no documento. Esse tipo de elemento um elemento multivalorado (repetitivo) obrigatrio. b) um caractere * (multiplicao) colocado aps o nome de elemento significa que este pode ser repetido zero ou mais vezes no documento. Esse tipo de elemento conhecido como elemento multivalorado (repetitivo) opcional. c) um caractere % (porcentagem) colocado aps o nome de elemento significa que este pode ser repetido zero ou mais vezes no documento. Esse tipo de elemento um elemento multivalorado (repetitivo) opcional. d) um caractere ? (interrogao) colocado aps o nome de elemento significa que este pode ser repetido zero ou uma vez. Esse tipo um elemento de valor nico (no-repetitivo) opcional. e) um elemento que aparece sem nenhum dos seguintes caracteres (% ou + ou * ou ?) aps o nome de elemento significa que este deve aparecer exatamente uma vez no documento. Esse tipo um elemento de valor nico (no-repetitivo) obrigatrio. Comentrios Em 1996, o W3C iniciou um projeto de desenvolvimento de uma linguagem de marcao abrangente que possusse um padro de formatao de dados, ou seja, uma maneira de organizar as informaes. Os documentos XML podem ser facilmente compreendidos por programadores facilitando o desenvolvimento de aplicativos compatveis.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

133

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

O XML possui um formato padronizado universal e permite que sejam definidas novas linguagens atravs de definies de tags. Devido a esta caracterstica, h uma possibilidade de manipulao do arquivo texto por varias aplicaes diferentes. A tabela a seguir possui a simbologia utilizada na criao e interpretao de um documento XML. Smbolo * , (vrgula) + ? | () Representao O item aparece muitas ou nenhuma vez. Separa os itens e os deixa na ordem em que devem aparecer. O item aparece ao menos uma vez. A utilizao do item opcional. Separa um conjunto de alternativas. Agrupa intens.

O caractere % (percentual) no utilizado como simbologia de um DTD. Gabarito: letra C. 50. (COPS/2011/Analista Administrativo-TI) O mtodo de teste que tem por finalidade determinar se os requisitos dos usurios foram total ou parcialmente satisfeitos pelo produto, preocupando-se tambm em verificar como ocorre o processamento, ou seja, demonstrando o caminho percorrido pelo dado de entrada, conhecido como a.Caixa Preta. b.Caixa Branca. c.Teste de Domnio. d.Teste de Stress. e.Teste de Atividade. Comentrios O teste do software a investigao do software a fim de fornecer informaes sobre sua qualidade em relao ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos. O teste um processo realizado pelo testador de software, que permeia outros processos da engenharia de software, e que envolve aes que vo do levantamento de requisitos at a execuo do teste propriamente dito. A tcnica de caixa-branca avalia o comportamento interno do componente de software. Essa tcnica trabalha diretamente sobre o cdigo fonte do
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 134

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

componente de software para avaliar aspectos tais como: teste de condio, teste de fluxo de dados, teste de ciclos, teste de caminhos lgicos, cdigos nunca executados. Tambm se enquadram nessa tcnica testes manuais ou testes efetuados com apoio de ferramentas para verificao de aderncia a boas prticas de codificao reconhecidas pelo mercado de software. A aderncia a padres e boas prticas visa principalmente a diminuio da possibilidade de erros de codificao e a busca de utilizao de comandos que gerem o melhor desempenho de execuo possvel. A tcnica de caixa-preta avalia o comportamento externo do componente de software, sem se considerar o comportamento interno do mesmo. Dados de entrada so fornecidos, o teste executado e o resultado obtido comparado a um resultado esperado previamente conhecido. Como detalhes de implementao no so considerados, os casos de teste so todos derivados da especificao. Quanto mais entradas so fornecidas, mais rico ser o teste. Numa situao ideal todas as entradas possveis seriam testadas. Outro problema que a especificao pode estar ambgua em relao ao sistema produzido, e como resultado as entradas especificadas podem no ser as mesmas aceitas para o teste. Uma abordagem mais realista para o teste de caixa-preta escolher um subconjunto de entradas que maximize a riqueza do teste. Gabarito: letra B. 51. (UEL/Estrada de Ferro Paran Oeste S.A/Analista de Sistemas 2008) Considere as afirmativas a seguir, sobre Teste de software: I. Teste funcional uma tcnica utilizada para se projetar casos de teste no qual o programa ou sistema considerado uma caixa preta e, para test-lo, so fornecidas entradas e avaliadas as sadas geradas para verificar se esto em conformidade com os objetivos especificados. II. A tcnica estrutural estabelece os requisitos de teste com base em uma dada implementao, requerendo a execuo de partes ou de componentes elementares do programa. III. Teste um conjunto de atividades que no pode ser planejado antecipadamente, porm deve ser realizado sistematicamente. IV. Um mdulo driver chama o mdulo que est sendo testado, devendo conter apenas as inicializaes das variveis globais e dos parmetros que sero utilizados para a chamada do mdulo testado. Assinale a alternativa correta. a) Somente as afirmativas I e III esto corretas. b) Somente as afirmativas III e IV esto corretas. c) Somente as afirmativas I e II esto corretas. d) Somente as afirmativas I, II e IV esto corretas. e) Somente as afirmativas II, III e IV esto corretas.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 135

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios A alternativa I est correta. Teste funcional ou teste de caixa preta aquele cujo objetivo principal verificar se uma dada implementao encontra-se em conformidade com o que se encontra especificado para tal implementao. A alternativa II est correta. Teste estrutural ou teste de caixa branca aquele cujo objetivo principal verificar o fluxo da implementao, alm do resultado de sua execuo. A alternativa III est errada. Teste um conjunto de atividades que deve (e pode) ser planejado antecipadamente, alm disso, ele deve ser realizado de maneira sistmica. A alternativa IV est correta. O mdulo driver utilizado quando o mdulo est sendo testado de maneira automatizada, cujo objetivo verificar se o mdulo est funcionando como esperado, com base na entrada. Gabarito: letra D. 52. (UEL/Analista de Informtica Jnior Desenvolvimento de Sistemas/ 2009) O mtodo de teste, que tem por finalidade determinar se os requisitos dos usurios foram total ou parcialmente satisfeitos pelo produto, preocupando-se tambm em verificar como ocorre o processamento, ou seja, preocupando-se com o caminho percorrido pelo dado de entrada, conhecido como: a) Caixa preta. b) Teste de domnio. c) Caixa branca. d) Teste de Stress. e) Teste de Atividade. Comentrios O teste estrutural ou teste caixa branca, aquele cujo objetivo principal verificar o fluxo da implementao, alm do resultado de sua execuo. E para isso ele estabelece os requisitos de teste com base em uma dada implementao, onde se faz necessria a execuo de pores de um dado programa. Gabarito: letra C. 53. (CESPE/2010/BANCO DA AMAZNIA/Tcnico Cientfico rea: Tecnologia da Informao Arquitetura de Tecnologia/Q.76) Teste rpido um mecanismo para identificar requisitos de software.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

136

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios A realizao de testes visa principalmente: executar um programa com a inteno de descobrir erros; um bom caso de teste aquele que tem uma elevada probabilidade de revelar um erro ainda no descoberto; e um teste bem-sucedido aquele que revela um erro ainda no descoberto ou inesperado.

Os objetivos apontados apresentam uma viso diferente daquela que se costuma possuir com relao atividade de testes, que seria a de que um teste bem-sucedido no apontaria erros. O objetivo na verdade projetar testes que encontrem sistematicamente diferentes classes de erros e faam-no com uma quantidade de tempo e esforo mnimos. Se a atividade de testes for conduzida com sucesso, ela descobrir erros no software. Como um benefcio secundrio, a atividade de teste demonstra que as funes de software aparentemente esto trabalhando de acordo com as especificaes, que os requisitos de desempenho aparentemente foram cumpridos. Alm disso, os dados compilados quando a atividade de testes levada a efeito, proporcionam uma boa indicao da confiabilidade de software e alguma indicao da qualidade do software como um todo. Sendo assim, teste rpido NO um mecanismo para identificar requisitos de software. Logo, a afirmao falsa. Gabarito: item errado. 54. (CESPE/2008/TRT - 5 Regio (BA) - Analista Judicirio Tecnologia da Informao) Com relao a engenharia de software, processos de software, anlise de requisitos, estratgias de validao e ferramentas CASE, julgue os prximos itens. Entre os tipos de testes de caixa preta, encontram-se o teste baseado em grafos; o particionamento de equivalncia; a anlise de valor-limite; e o teste de matriz ortogonal. Comentrios A questo elenca os tipos de testes de caixa-preta. Note que so testes com base em entradas e sadas. No se analisa o cdigo fonte. Portanto, Caixa Preta. A diviso mais genrica para testes provavelmente a diviso entre caixa preta e caixa branca. Basicamente existem dois tipos testes: caixa branca e caixa preta. Nenhuma delas completa, na realidade elas se completam e devem ser aplicadas em conjunto a fim de garantir um teste de boa qualidade. Os Testes de Caixa Preta so conhecidos por serem mais simples de se implantar do que os testes de caixa branca. Na verdade, ambos so complexos e exigem grande esforo de planejamento e automao dos procedimentos,
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 137

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

porm os testes de caixa preta so frequentemente encontrados nas organizaes, em forma de testes manuais executados por profissionais ou mesmo usurios do sistema, o que facilita a introduo desse conceito nas organizaes. A aplicao de testes de caixa preta no exclui a necessidade de aplicarmos os testes de caixa branca e vice-versa. Gabarito: item correto. 55. (CESPE/2008/TRT - 5 Regio (BA) - Analista Judicirio Tecnologia da Informao) A diferena entre verificao e validao reside no fato de que a primeira se refere ao conjunto de atividades que garante que o software realiza corretamente uma funo especfica, enquanto a segunda refere-se a um conjunto diferente de atividades que garante que o software que foi construdo rastrevel s exigncias do cliente. Comentrios O teste somente um elemento de um conceito mais amplo da engenharia de software, conhecido como Verificao e Validao. A verificao refere-se ao conjunto de atividades que garante que o software realiza corretamente uma funo especfica. A validao refere-se a um conjunto diferente de atividades que garante que o software que foi construdo e rastrevel s exigncias do cliente Sob outro ponto de vista, proposto por Boehm: Notas Outras atividades so necessrias para Verificao e Validao como as revises tcnicas e formais, auditoria de qualidade e configurao, monitoramento de desempenho, etc. O teste deve ser o ltimo recurso para avaliar a qualidade. Existe um debate se o teste s fornece verificao ou se tambm pode fornecer validao. Gabarito: item correto. 56. (CESPE/2009/TRE-MA - Tcnico Judicirio - Programao de Sistemas) O teste do software tem a finalidade de fornecer informaes acerca da qualidade do software em relao ao contexto em que ele deve operar. Os testes de software incluem a tcnica denominada I caixa preta. II caixa branca. III caixa cinza.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 138

Verificao: "Estamos construindo certo o produto?" Validao: "Estamos construindo o produto certo?"

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

IV teste de integrao. V teste de sistema. A quantidade de itens certos igual a a) 0. b) 1. c) 2. d) 3. e) 4. Comentrios So tcnicas de teste os itens I, II e III. Os demais so estratgias de teste. Os testes de caixa cinza mescla os testes de caixa preta e caixa branca: so fornecidos dados de entrada e ento so verificados o comportamento interno do sistema e os dados de sada. Gabarito: letra D. 57. (ESAF/2008/MPOG) Uma estratgia de teste de software integra mtodos de projeto de casos de teste em uma srie planejada de passos. Em relao a estratgias de testes, correto afirmar que: a) realizar testes para mostrar que no existem defeitos no software faz parte das estratgias de testes. b) demonstrar ao desenvolvedor e ao cliente que o software atende aos requisitos uma meta de validao do software. c) o particionamento de equivalncia uma maneira estratgica de aplicar testes de software. d) o teste estrutural uma estratgia que se baseia na anlise da especificao de um programa para ajudar na seleo de casos de teste. e) funes ou mtodos individuais de um objeto no so exemplos de estratgia da aplicao de teste de componentes. Comentrios Item a. No se pode garantir que um software livre de defeitos ou que ele se comportar conforme especificado em TODAS as circunstncias. sempre possvel que um teste ignorado possa descobrir mais problemas no sistema. A meta do teste de software demonstrar aos desenvolvedores e clientes do sistema que o software bom o suficiente para o uso operacional. Item FALSO. Item b. Item VERDADEIRO.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 139

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Item c. A letra C encontra-se incorreta, pois este um mtodo para testes de software do tipo caixa-preta, que avalia o comportamento externo do componente de software, sem se considerar o comportamento interno do mesmo. Dados de entrada so fornecidos, o teste executado e o resultado obtido comparado a um resultado previamente esperado. Apesar do teste de caixa preta ser utilizado numa estratgia de testes de software, permitindo avaliar se a quantidade de casos de teste produzida coerente, esse tipo de teste insuficiente para identificar certos riscos num projeto de software, o que o torna no muito utilizado. Com isso, de acordo com a pergunta, ao mencionar que os casos de teste so uma srie planejada de passos, busca-se obter os casos de teste que so mais utilizados no processo de desenvolvimento de um software. Item FALSO. Item d. A letra D incorreta, pois esse tipo de teste uma abordagem para projetar casos de teste na qual os testes so derivados do conhecimento da estrutura e da implementao do software. Essa abordagem em algumas vezes chamada de teste caixa-branca. Item FALSO. Item e. A letra E incorreta, pois nos testes de componentes, estes so testados individualmente, e um destes nveis consiste em testar as operaes individuais associadas com objetos (SOMMERVILLE, 2007). Item FALSO. Gabarito: letra B. 58. (CESPE/2010/TRE-MT/Tcnico Judicirio - Programao de Sistemas) ADAPTADA. Testes de regresso so realizados somente durante a manuteno do software. Comentrios O teste de regresso no descarta a necessidade de testes para as capacidades novas ou alteradas. utilizado durante desenvolvimento iterativo na manuteno do software: depois da depurao e na produo de nova instncia de um componente reusvel, por exemplo. Gabarito: item correto. 59. (CESPE/2010/TRE-MT - Tcnico Judicirio - Programao de Sistemas) ADAPTADA. O teste de unidade tem foco na menor unidade de um sistema, um programa. Testes em funes, procedimentos ou mtodos no so considerados testes de unidade. Comentrios O teste de unidade aplicado na menor parte testvel do sistema. Isto est certo. Mas como na programao procedural esta unidade pode ser uma funo ou algo do gnero, logo, a segunda parte da afirmao est errada.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 140

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Teste de unidade Focaliza cada componente individualmente, garantido que funciona. Faz uso intensivo de tcnicas que exercitam caminhos especficos na estrutura de controle. Gabarito: item errado. 60. (CESPE/2010/TRE-MT - Tcnico Judicirio - Programao de Sistemas) ADAPTADA. Testes de sistema no podem explorar requisitos no funcionais. Comentrios Uma vez que os testes de sistema executam a tarefa a partir da tica do usurio final, ele trata os requisitos do sistema, funcionais e no funcionais. Os testes so executados em ambientes similares ao ambiente do usurio. Gabarito: item errado. 61. (FEPESE/2010/SEFAZ-SC - Auditor Fiscal da Receita Estadual) Analise a definio abaixo. Teste de software que procura descobrir erros por meio da reaplicao parcial dos testes a um programa modificado. Assinale a alternativa que cita corretamente o conceito ao qual se refere a definio. a) Teste de sistema b) Teste de unidade c) Teste de regresso d) Teste de integrao e) Teste de requisitos Comentrios O teste que procura descobrir erros por meio da reaplicao parcial dos testes a um programa modificado o Teste de Regresso. Toda vez que um novo mdulo adicionado como parte do teste de integrao, o software se modifica. Novos caminhos de fluxos de dados so estabelecidos. Nova E/S pode ocorrer. Nova lgica de controle adicionada Essas modificaes podem causar problemas com funes que previamente funcionavam corretamente. O teste de regresso a re-execuo de algum
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 141

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

subconjunto de testes que j foi conduzido para garantir que as modificaes no introduzam efeitos colaterais indesejveis. Este teste (regresso) pode ser conduzido manualmente ou usando ferramentas automatizadas de captao/reexecuo, que permitem ao engenheiro de software captar casos de teste e resultados para reexecuo e comparao. medida que o teste de integrao prossegue, o nmero de testes de regresso pode crescer significativamente. Neste caso, a sute de testes de integrao deve ser projetada para incluir apenas testes que cuidam das principais funes do programa. Os testes de regresso devem ser focados na funo de mdulos crticos: Um mdulo crtico tem uma ou mais das seguintes caractersticas: Aborda vrios requisitos do software. Est num alto nvel da estrutura de controle. complexo ou propenso a erro. Tem requisitos de desempenho bem definidos. Mdulos crticos devem ser testados to cedo quanto possvel. Gabarito: letra C. 62. (FIP/2009/CAMARA-SJC/Analista seguintes afirmaes: de Sistemas) Considere as

(1) Programas de computador so obras de engenharia que devem seguir, rigidamente, normas e padres tcnicos. (2) Uma falha de software pode comprometer a integridade, disponibilidade e confidencialidade de um sistema de informaes empresarial. (3) Os testes de caixa preta so utilizados para demonstrar que as funes do software esto operacionais, que as entradas vlidas so adequadamente aceitas e produzem sadas corretas, mantendo a integridade das informaes externas. correto afirmar que: a) Todas as afirmaes esto corretas. b) Apenas as afirmaes (1) e (3) esto corretas. c) Apenas as afirmaes (2) e (3) esto corretas. d) Apenas as afirmaes (1) e (2) esto corretas. e) N.D.A. Comentrios Todas as afirmaes esto corretas! Mesmo quando observamos que existem softwares que so desenvolvidos de qualquer forma, sem ateno s normas
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 142

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

tcnicas ou a qualquer padro de qualidade, no devemos acreditar que um software no precisa ser um produto que atenda a padres e normas rgidas. Certamente uma falha de software pode tornar todo o sistema inoperante e causar problemas de segurana da informao. O item 3 apresenta um bom conceito para caixa preta. Gabarito: letra A. 63. (FCC/2009/TRT - 15 Regio - Analista Judicirio - Tecnologia da Informao) Os testes de integrao tm por objetivo verificar se a) os mdulos testados produzem os mesmos resultados que as unidades testadas individualmente. b) os mdulos testados suportam grandes volumes de dados. c) as funcionalidades dos mdulos testados atendem aos requisitos. d) os valores limites entre as unidades testadas individualmente so aceitveis. e) o tempo de resposta dos mdulos testados est adequado. Comentrios Os testes de integrao tm por objetivo verificar se as funcionalidades dos mdulos testados atendem aos requisitos. Gabarito: letra C. 64. (ESAF/2008/Prefeitura de Natal - RN - Auditor do Tesouro Municipal - Tecnologia da Informao) Com relao aos tipos de testes que podem ser considerados e executados em um projeto de software, correto afirmar que o objetivo principal do Teste Funcional assegurar que a) a interface fornea ao usurio o acesso e a navegao adequados atravs das funes do software. b) os objetos contidos na interface funcionam conforme o esperado e estejam em conformidade com padres estabelecidos. c) foram exercitados um conjunto de funcionalidades para avaliar a navegao pelo software e a facilidade de uso do mesmo. d) houve uma correta implementao dos requisitos do sistema, como, por exemplo, regras de negcio, atravs da interface do usurio. e) foram executadas transaes, variando as cargas de trabalho, para observar e registrar o comportamento do sistema.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

143

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

Comentrios O teste caixa preta tambm chamado de teste funcional e baseado nos requisitos funcionais do software. Gabarito: letra D. AGRADECIMENTOS

Chegamos ao final do nosso curso!!! Agradeo a todos pela excelente parceria. Ficarei feliz em saber que voc conseguiu sua aprovao! Estarei torcendo e desejando muita fora para voc continuar na trilha do sucesso. Um forte abrao, Profa Patrcia Lima Quinto

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

144

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

REFERNCIAS BIBLIOGRFICAS Notas de aula, profa Patrcia Lima Quinto.2012/2013. Algoritmos e Estruturas de Dados LTC Editora. COCKBURN, Alistair. Escrevendo Casos de Uso Eficazes. Bookman, 2005. Introduction to Java programming: comprehensive version/Y. Daniel Liang.6 th ed. http://www.wiley.com/college/busin/icmis/oakman/outline/chap05/slides/error s.htm DEITEL, H. M.. Java Como Programar. 6a ed. Prentice Hall, 2007. HORSTMANN, C. S. e CORNELL, G.. Core Java 2: Volume 1 Fundamentos. So Paulo: Makron, 2003. HORSTMANN, C. S. e CORNELL, G.. Core Java 2: Volume 2 Recursos Avanados. So Paulo: Makron, 2001. GONALVES, Edson. Dominando NetBeans. 1 edio. Cincia Moderna, 2006. LEMAY, L. e CADENHEAD, R.. Aprenda em 21 Dias Java 2: Professional Reference. 3a ed., So Paulo: Campus, 2003. SEI. Disponvel em: http://www.sei.cmu.edu/str/descriptions/threetier.html. Acesso em: fev. 2010. Java How to Program, Sixth Edition. SCPJ Sun Certified Programmer For Java 5 Study Guide .

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

145

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

QUESTES APRESENTADAS NESTA AULA 1. (CESGRANRIO/2013/BNDES/BACEN/ANALISTA DE SISTEMAS/SUPORTE) As linguagens de programao C, Haskell e Ruby so, respectivamente, exemplos dos paradigmas (A) Imperativo, Lgico e Orientado a Objeto (B) Clssico, Lgico e Web (C) Imperativo, Funcional e Orientado a Objeto (D) Lgico, Funcional e Imperativo (E) Clssico, Orientado a Objeto e Lgico 2. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Qual a API do J2EE que permite executar comandos SQL a partir de mtodos de classes implementadas em Java? (A) JAAS (B) JAXP (C) JDBC (D) JMS (E) JSP 3. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/SUPORTE) Java Message Service (JMS) uma tecnologia voltada para o envio e processamento de mensagens na qual o (A) modelo ponto a ponto de troca de mensagens estabelece que cada mensagem enviada para uma fila deve ser recebida por um nico consumidor. (B) modelo ponto a ponto de troca de mensagens permite que cada mensagem enviada para uma fila seja lida vrias vezes por diferentes consumidores. (C) modelo publish/subscribe de troca de mensagens estabelece que at dois consumidores podem ler o contedo de uma mensagem enviada. (D) modelo publish/subscribe de troca de mensagens estabelece que somente um consumidor pode ler o contedo de uma mensagem enviada. (E) conceito de tpico de mensagens usado no modelo ponto a ponto para o envio de uma mensagem em multicast, enquanto o conceito de filas de mensagens usado no modelo publish/subscribe para o envio de uma mensagem para no mximo um consumidor.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

146

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

4. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) Qual elemento deve ser a raiz (root element) de um documento XML para que este seja identificado como uma mensagem SOAP? (A) soap:Header (B) soap:Body (C) soap:Message (D) soap:Channel (E) soap:Envelope 5. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) No mbito da anlise estruturada de sistemas, o grfico de estrutura representa o modelo lgico de uma hierarquia modular, onde possvel mostrar a(o) (A) comunicao entre mdulos e a localizao de loops e decises principais de processamento. (B) construo de programas em hierarquia, por meio de um pequeno nmero de estruturas lgicas, cada uma com uma entrada e uma sada. (C) conjunto de elementos de dados, identificados, inclusos em um registro. (D) conjunto de elementos de dados de uma determinada relao, usado, geralmente, para descrever alguma entidade. (E) nmero de mdulos chamados diretamente por outro mdulo, nem muito alto (exceto no caso de um mdulo despachante) nem muito baixo. 6. (CESGRANRIO/BNDES/2013/BACEN/ANALISTA DE SISTEMAS/DESENVOLVIMENTO DE SISTEMAS) Na linguagem Java, a palavra-chave final pode ser usada na declarao de classes, de mtodos e de variveis. Quando essa palavra-chave usada na declarao de uma classe, ela indica que (A) a classe no pode ser estendida. (B) a classe s pode ser instanciada uma nica vez. (C) a classe considerada uma interface. (D) as variveis da classe s podem sofrer atribuies de valores uma nica vez. (E) os mtodos da classe no podem ser sobrescritos. 7. (Cesgranrio/Analista de Sistemas Jnior - Engenharia Software/Petrobrs/2010) Considere os dois trechos implementaes de classes, produzidos com a linguagem Java reticncias representam partes irrelevantes para a questo). de de (As

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

147

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

O diagrama de classes em UML que pode ser inferido nica e exclusivamente a partir dos trechos de cdigo fornecidos

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

148

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

8. (Cesgranrio/Analista de Sistemas Software/Petrobrs/2010) public class SomaMisteriosa { private static void somaTres(int x[]) { x[0] += 3; } private static void somaDois(int x) { x += 2; } public static void main(String args[]) { int x = 0; int y[] = { 0 }; somaDois(x); somaTres(y); somaDois(y[0]); System.out.print(x + " " + y[0]); } }

Jnior

Engenharia

de

Aps a execuo do trecho acima, ser impresso (A) 2 5 (B) 1 5 (C) 0 5 (D) 0 3 (E) 0 0 9. (Cesgranrio/Analista de Sistemas Jnior - Engenharia de Software/Petrobrs/2010) Considere o seguinte trecho de cdigo em Java: // Arquivo C1.java package br.com.pk1; public class C1 { int x; public int y; protected int z;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 149

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

private int w; } // Arquivo C2.java package br.com.pk2; public class C2 extends C1 { } A Classe C2 pode manipular os atributos (A) x, y, z (B) y, z (C) x, y (D) y (E) x, y, z, w 10. (Cesgranrio/Analista de Software/Petrobrs/2010) 01 class C1 { 02 public void f() { 03 System.out.print(" 1 "); 04 } 05 06 public void g() { 07 f(); 08 } 09 } 10 11 class C2 extends C1 { 12 public void f() { 13 System.out.print(" 2 "); 14 } 15 } 16 17 public class Prog {
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 150

Sistemas

Jnior

Engenharia

de

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

18 public static void main(String args[]) { 19 C1 a = new C1(); 20 a.f(); 21 C2 b = new C2(); 22 b.f(); 23 a = b; 24 a.f(); 25 b.g(); 26 } 27 } Considerando a execuo do trecho de cdigo em Java acima, o programa (A) sequer compila, pois a atribuio a = b (linha 23) est incorreta por incompatibilidade de tipos. (B) compila, mas gerado um erro de execuo por incompatibilidade da atribuio a = b (linha 23). (C) imprime 1 2 1 1. (D) imprime 1 2 1 2. (E) imprime 1 2 2 2. 11. (Cesgranrio/Analista de Software/Petrobrs/2010) 01 class C1 { 02 public void mostraDados() { 03 System.out.print(" 1 "); 04 } 05 } 06 07 class C2 extends C1 { 08 public void mostraDados() { 09 System.out.print(" 2 "); 10 } 11 } 12 13 public class Prog {
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 151

Sistemas

Jnior

Engenharia

de

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

14 public static void f(C1 c) { 15 System.out.print(" A "); 16 c.mostraDados(); 17 } 18 19 public static void f(C2 c) { 20 System.out.print(" B "); 21 c.mostraDados(); 22 } 23 24 public static void main(String args[]) { 25 C1 c1 = new C2(); 26 f(c1); 27 } 28 } Aps a execuo do trecho acima, na sada padro o programa (A) no compila. (B) imprime A 1. (C) imprime A 2. (D) imprime B 1. (E) imprime B 2. 12. (Cesgranrio/BNDES/Analista de Sistemas/Suporte/2010) O gerente de infraestrutura de uma empresa reuniu seus analistas para decidir sobre a topologia do ambiente de um servidor de aplicao JAVA comercial, recentemente adquirido. Uma possvel ordem de interconexo entre os elementos desse ambiente, considerando-se a necessidade de controle do trfego externo, seria (A) Link Internet, Firewall, Servidor WEB (Proxy), Servidor JAVA. (B) Link Internet, Servidor WEB (Proxy), Servidor JAVA, Firewall. (C) Firewall, Link Internet, Servidor WEB (Proxy), Servidor JAVA. (D) Firewall, Link Internet, Servidor JAVA, Servidor WEB (Proxy). (E) Servidor WEB (Proxy), Link Internet, Firewall, Servidor JAVA.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

152

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

13.

(CESGRANRIO/2009/Casa da moeda)

public class Main { public static void main(String[] args) { int x = 1; int y = 3; int z = 6; x += calcula(y++ + ++z); System.out.println(x); } public static int calcula(int x) { return x * 2; } public static int calcula(int y, int z) { return z - y; } }

Qual ser a sada do programa Java mostrado acima? (A) 3 (B) 5 (C) 19 (D) 21 (E) 23 14. (CESGRANRIO/2009/IBGE) O cdigo abaixo foi escrito em Java.

package execute; import java.lang.Exception; import java.lang.ArithmeticException; public class Main { public static class ClassMsg { public void processa (int par1, int par2) { String msg = V=;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 153

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

try { msg = msg + Double.toString(par1/par2); System.out.print(msg); } catch (ArithmeticException ar) { System.out.print(AR); } catch (Exception ex) { System.out.print(EX); } finally { System.out.print(FI); } System.out.print(msg); } } public static void main(String[] args) { ClassMsg obj = new ClassMsg(); obj.processa(10, 0); System.out.print(4/2); } } A sada da execuo desse programa (A) V=2 (B) FIV=2 (C) ARFIV= (D) ARFIV=2 (E) AREXFIV= 15. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Considere a seguinte classe escrita em Java: class calcula { int resultado = 0; public int processar (int par) { resultado = resultado + par;
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 154

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

par = par - 2; if (par >= 0) { processar (par); } return resultado; } public static void main (String[] arguments) { calcula r = new calcula(); System.out.println(r.processar(7)); } } Aps a execuo do mtodo main, o valor apresentado pelo comando System.out.println(r.processar(7)); : 16. (CESGRANRIO/BNDES/Analista de Sistemas Suporte/2008) Um servidor Linux, que roda, exclusivamente, um servidor de aplicao Java EE, possui 2 GB de memria RAM e 1 CPU. A nica aplicao em execuo atinge, em momentos de pico, 50 usurios simultneos. Para que essa aplicao tenha um desempenho adequado, o tamanho mximo da Heap da JVM pode ser configurado para a) 100 threads. b) 32 MB. c) 60 threads. d) 2 GB. e) 512 MB. 17. (CESGRANRIO/2005/ANALISTA DE SISTEMAS, TCNICO E TCNICO DE NVEL SUPERIOR Amazonas) Os miniaplicativos Java transferidos para o nosso computador quando acessamos uma pgina na Internet que os utiliza so chamados: (A) applets. (B) browsers. (C) caches. (D) cookies. (E) sites.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

155

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

18. (CESGRANRIO/2010/Petrobrs - Analista de Sistemas Jnior) Testar uma disciplina de suma importncia para a engenharia de software. A literatura divide os tipos de testes em duas grandes categorias: teste de caixa preta e teste de caixa branca. Sobre esta classificao, pode-se afirmar que I - testes de interfaces so classificados como de caixa branca; II - testes de caixa preta so tambm chamados de teste comportamental, onde o foco so os requisitos funcionais do software; III - testes de caixa preta so complementares aos testes de caixa branca, uma vez que contemplam diferentes classes de erros. correto o que se afirma em a) I, apenas. b) I e II, apenas. c) I e III, apenas. d) II e III, apenas. e) I, II e III. 19. (Cesgranrio/Petrobrs/Processos de Negcios/2008) Um importante aspecto da elaborao de casos de testes para um sistema em desenvolvimento a escolha dos valores de entrada e das sadas previstas dos casos de teste. Escolhas baseadas apenas em valores tpicos, em geral, so incapazes de revelar todas as falhas da implementao. necessrio identificar conjuntos de valores que possuam caractersticas comuns, do ponto de vista das funcionalidades a serem testadas, como, por exemplo, nmeros negativos, nmeros com mais dgitos do que o previsto, strings sem brancos, arrays de um s elemento, alm de prever casos de teste cobrindo a totalidade destes conjuntos, e projetar, para cada conjunto, casos de teste com valores nos limites e prximos ao ponto mdio do conjunto. Esses conjuntos so denominados (A) parties de equivalncia. (B) grupos de controle. (C) espaos amostrais. (D) classes caractersticas. (E) intervalos de testes. 20. (Cesgranrio/BNDES/2008) No mbito de estratgias e tcnicas de testes de software, assinale a afirmativa correta. (A) uma boa prtica automatizar os testes de unidade, embora no seja recomendado, em geral, automatizar os testes de regresso.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

156

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

(B) So exemplos de abordagens de testes para aplicaes cliente-servidor: teste de funo da aplicao cliente, teste de servidor, teste de banco de dados, teste de transao e teste de comunicao em rede. (C) So exemplos de teste de caixa-branca: teste de caminho bsico, teste de estrutura de controle e teste utilizando particionamento de equivalncia. (D) A verificao testada pela pergunta: Estamos construindo o produto correto?, enquanto a validao indaga: Estamos construindo o produto corretamente?. (E) Depois do teste de unidade, o teste seguinte a ser aplicado a um software , comumente, o teste de validao. Questes Complementares 21. (ESAF/2008/STN/DESENVOLVIMENTO DE SISTEMAS) Para resolver um determinado problema, um programador tem em mente como deve ser o programa principal que, por sua vez, controlar todas as outras tarefas distribudas em sub-rotinas, para as quais dever desenvolver os respectivos algoritmos. Este cenrio exemplifica o conceito de programao a) estruturada. b) orientada a objetos. c) funcional. d) numrica. e) orientada a aspectos. 22. (ESAF/2007/SEFAZ-CE-TI) Quando uma funo definida em termos de si mesma fica caracterizado o uso a) da recursividade. b) da iteratividade. c) da interatividade. d) do acesso direto a Banco de Dados. e) de DLLs. 23. (ESAF/2006/TRF) Analise as seguintes afirmaes relacionadas Programao Orientada a Objetos: I. Em um Programa Orientado a Objetos as instncias de uma classe armazenam tipos diferentes de informaes e apresentam comportamentos distintos. II. Em uma Aplicao Orientada a Objetos podem existir mltiplas instncias de uma mesma classe.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 157

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

III. Em Programao Orientada a Objetos deve existir um e somente um objeto de uma mesma classe. IV. Os servios que podem ser solicitados a um objeto so definidos pelos mtodos. Indique a opo que contenha todas as afirmaes verdadeiras. a)II e IV b) II e III c) III e IV d) I e III e) I e II 24. (ESAF/2006/TRF) Na Programao Orientada a Objetos,

a) a definio dos objetos deve ser obrigatoriamente definida no corpo do construtor. b) o cdigo construtor responsvel por criar e inicializar os atributos dos objetos. c) o construtor uma funo que tem um nome qualquer e, quando instanciada, faz referncia aos atributos da classe a ser definida. d) o cdigo construtor responsvel por criar os mtodos da classe. e) quando se instancia uma classe diversas vezes, o cdigo construtor responsvel por armazenar e compartilhar os atributos das instncias e os de classe utilizados ao longo de todo o processo. 25. (ESAF/2006/CGU) Analise as seguintes afirmaes relacionadas aos conceitos bsicos de Programao Orientada a Objetos. I. Modificaes de uma classe base requerem, obrigatoriamente, que as classes derivadas mudem. II. Uma classe derivada no pode conter atributos adicionais diferentes dos existentes na sua classe base. III. Criar uma classe derivada no afeta o cdigo-fonte da sua classe base. A integridade de uma classe base preservada pela herana. IV. Uma classe derivada contm os atributos e comportamentos de sua classe base. Indique a opo que contenha todas as afirmaes verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

158

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

26.

(Cops/Analista Administrativo- TI/2011)

Assinale a alternativa correta: A)Somente as afirmativas I e II so corretas. B)Somente as afirmativas I e IV so corretas. C)Somente as afirmativas III e IV so corretas. D)Somente as afirmativas I, II e III so corretas. E)Somente as afirmativas II, III e IV so corretas.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

159

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

27. (Cops/Analista TI/2011)

Administrativo-

28. (FUMARC/2007/PREF.MUN.BETIM/Analista de Sistemas da Sade) Considere que, no algoritmo em alto nvel a seguir, todas as variveis sejam inteiras:

Na execuo desse algoritmo, o valor impresso na linha 7 : a) 55 b) 89 c) 144 d) 233

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

160

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

29. (FUMARC/2007/PREF.MUN.BETIM/Analista de Sistemas da Sade) Considere que, no algoritmo em alto nvel a seguir, V seja um vetor de inteiros contendo 100 elementos indexados de 0 a 99, e todas as demais variveis sejam inteiras.

O objetivo desse algoritmo : a) Imprimir o vetor V em ordem crescente. b) Imprimir o vetor V em ordem decrescente. c) Imprimir o maior valor armazenado no vetor V. d) Imprimir o menor valor armazenado no vetor V. 30. (FUMARC/2007/MINISTRIO PBLICO/Anlise de Sistemas) Em relao a algoritmos e lgica de programao, todas as afirmativas esto corretas, EXCETO: a) Funes e sub-rotinas modularizao de programas. (procedimentos) so ferramentas de

b) Os comandos de entrada e sada so utilizados para iniciar e finalizar a execuo de um programa de computador. c) Estruturas condicionais permitem escolher aes que sero executadas quando determinadas condies so satisfeitas. d) Estruturas de repetio permitem que uma sequncia de comandos seja executada repetidamente at que uma determinada condio de interrupo seja satisfeita. 31. (FUMARC/2007/MINISTRIO PBLICO/Anlise de Sistemas) Em relao s estruturas de dados, todas as afirmativas esto corretas, EXCETO: a) Vetores so variveis compostas unidimensionais identificadas por um mesmo nome. b) Matrizes so variveis compostas multidimensionais individualizadas por ndices.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

161

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

c) Registros so conjuntos de dados logicamente relacionados, mas de tipos diferentes. d) Variveis compostas homogneas correspondem a posies de memria cujo contedo pode ser de diferentes tipos de dados.

32. (ESAF/2007/SEFAZ-CE-TI) Os parmetros so dados utilizados por funes para realizarem suas operaes. Com relao ao uso de parmetros e funes correto afirmar que a) cada funo s poder receber um nico parmetro por cada vez que executada. Quando uma funo necessitar receber mais de um parmetro, utiliza-se um loop controlado pelo indicador da quantidade de parmetros desejados. b) na hora de definir a funo, no cabealho, definem-se os parmetros que ela vai receber. c) uma funo pode receber qualquer nmero de parmetros, exceto nenhum. d) uma funo pode receber qualquer nmero de parmetros, desde que estes sejam do tipo Booleano. e) uma funo pode receber qualquer nmero de parmetros, desde que estes sejam do tipo Inteiro. 33. (ESAF/2005/AFRF) Classes e objetos so dois conceitos-chave da programao orientada a objetos. Com relao a estes conceitos, correto afirmar que a) se pode definir uma classe como um pacote de software, de modo que, com a herana, um objeto define comportamento e forma-padro para a construo de uma nova classe abstrata. b) uma classe uma descrio de um ou mais objetos por meio de um conjunto uniforme de atributos e servios. Alm disso, pode conter uma descrio de como criar novos objetos na classe. c) uma classe uma abstrao de alguma coisa no domnio de um problema ou na sua implementao, refletindo a capacidade de um sistema para manter informaes sobre ela, interagir com ela ou ambos. d) um objeto um prottipo que define os atributos e mtodos comuns a todas as classes de um certo tipo. e) o polimorfismo caracteriza-se pela possibilidade de objetos distintos possurem mtodos com nomes idnticos, mas com implementaes distintas.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

162

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

34. (ESAF/2008/MPOG) A estrutura de dados na qual a insero e a remoo se d na mesma extremidade, isto , no topo da lista, denominada: a) lista duplamente encadeada. b) lista circular. c) fila. d) pilha. e) rvore. 35. (COVESTE/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Boas prticas de programao orientada a objetos recomendam o seguinte: A) declarar atributos como pblicos, para facilitar o acesso de classes clientes. B) definir a arquitetura de classes com base nas funes da aplicao (decomposio funcional). C) evitar mtodos privados, j que estes no podem ser chamados por classes clientes. D) implementar relacionamentos entre classes, utilizando atributos chaves, como em uma modelagem relacional, ao invs de referenciar os objetos propriamente ditos. E) usar herana com cautela, apenas quando o relacionamento for comportamental ( um) entre a classe que herda e a classe original. 36. (COVESTE/2004/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Uma importante caracterstica da orientao a objetos o fato de um objeto de uma classe poder ser utilizado em um contexto onde um objeto de uma superclasse esperado. Este tipo de substituio possvel graas a qual dos conceitos a seguir? A) Encapsulamento B) Herana mltipla C) Polimorfismo de subtipos D) Modularidade E) Classes parametrizadas 37. (COVESTE/2004/UFPE_UFRPE_APEF_EAF Vitria PE/ Programador de Computador) Para representar um Funcionrio, considere a declarao da seguinte classe em Java, com atributos para armazenar a matrcula e o nome do funcionrio, em que a numerao de
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 163

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

(1) a (6) apenas uma anotao para facilitar e referenciar parte especfica do cdigo.

class Funcionrio { (1) private int mat; (2) private String nome; (3) public Funcionrio (int mat, String nome) { this.mat = mat; this.nome = nome; } (4) public int getMat () {return mat;} (5) public String getNome () {return nome;} (6) public void alteraNome(String nome) {this.nome = nome;} }

Considere, ainda, o trecho de cdigo:

(7) Funcionario f = new Funcionario(1457,Jos da Silva);

Com base nesses dados, correto afirmar que: A) uma vez criado um objeto da classe Funcionario, como exemplificado no item (7), impossvel alterar a sua matrcula. B) a declarao iniciada no item (3) invlida, pois define um mtodo com o mesmo nome da classe. C) um objeto da classe Funcionario poderia ser criado, utilizando-se o construtor default, atravs da seguinte expresso: new Funcionario(). D) Atravs da varivel f declarada no item (7), possvel acessar os atributos declarados nos itens (1) e (2), atravs das expresses f.mat e f.nome. E) A utilizao do qualificador this, tanto na declarao iniciada no item (3) como na declarao no item (6), opcional. 38. (ESAF/2008/AFC-STN/INFRAESTRUTURA DE TI) A habilidade para uso de uma mesma mensagem para invocar comportamentos distintos de um determinado objeto denominada
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 164

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

a) Interface. b) Polimorfismo. c) Herana. d) Encapsulamento. e) Abstrao. 39. (ESAF/2007/SEFAZ-CE) Analise as seguintes afirmaes relacionadas programao orientada a objetos e a UML. I. Um relacionamento uma conexo entre itens. Na modelagem orientada a objetos, os quatro relacionamentos mais importantes so as dependncias, as generalizaes, as associaes e as realizaes. II. Um diagrama de objetos um tipo especial de diagrama, composto por objetos e seus vnculos, que compartilha as mesmas propriedades comuns a todos os outros diagramas, isto , um nome e o contedo grfico. III. As excees so manifestaes concretas de uma abstrao qual um conjunto de operaes, sempre esperadas e controladas, podero ser aplicadas. IV. O diagrama de classes faz a modelagem de instncias de itens contidos em diagramas de objetos. Um diagrama de classes mostra um conjunto de objetos e seus relacionamentos em determinado ponto no tempo. Indique a opo que contenha todas as afirmaes verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV 40. (ESAF/2006/TRF) Analise as seguintes afirmaes relacionadas Orientao a Objetos: I. Os atributos podem ser de instncia ou de classe. Quando os atributos so de instncia, cada objeto guarda a sua prpria cpia de tais atributos. II. Os atributos compartilhados entre objetos de uma classe so chamados de atributos de objetos. Em Java, por exemplo, esses atributos so identificados com a palavra static. III. Existem mtodos cujo cdigo apenas acessa atributos de classe ou os parmetros passados. Esses mtodos so chamados de mtodos de classe. IV. Um mesmo nome de objeto pode ser usado para identificar diferentes objetos em uma mesma classe ou diferentes objetos em classes diferentes,
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 165

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

evitando assim, que seja necessrio usar nomes diferentes para objetos diferentes que realizam a mesma operao. A esta caracterstica da Orientao a Objetos d-se o nome de Polimorfismo. Indique a opo que contenha todas as afirmaes verdadeiras. a)I e II b) II e III c) III e IV d) II e IV e) I e III 41. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Administrao de Dados/Q. 72) O Jboss um servidor de aplicao avanado que, apesar de ter sido implementado na linguagem Java, funciona em qualquer tipo de sistema operacional, independentemente de este ter sido desenvolvido em Java. 42. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Suporte Tcnico/Q. 115) O servidor de aplicao JBOSS foi desenvolvido utilizando-se a linguagem de programao Java. As verses mais atuais so preparadas para suportar aplicaes que utilizam as especificaes servlets e JSP, mas so incompatveis com a especificao EJB.

A base textual da Web no permite interao muito adequada para tarefas automatizadas entre sistemas. O conceito de web services cria uma forma mais adequada para a comunicao entre diferentes aplicaes e servios, possibilitando a execuo e o processamento automtico de informaes constantes em diferentes aplicaes. Acerca de web services e tecnologias relacionadas, julgue os itens que se seguem. 43. (CESPE/2010/ IJSN/ES/ Informtica e Gesto da Informao) Web services permitem a comunicao entre diferentes sistemas. Com a adoo de tecnologias como UDDI, XML, WSDL e SOAP, aplicaes de diversos locais da Internet podem ser integradas e interconectadas como se fizessem parte de um mesmo sistema, independentemente da linguagem de programao na qual foram desenvolvidas. 44. (CESPE/2010/BANCO DA AMAZONIA/rea: Tecnologia da Informao Suporte Tcnico) Alguns servidores de aplicao suportam a plataforma Java EE 6, como o caso do GlassFish em sua verso mais recente. 45. (EMBRAPA/2010/rea: Gesto da Informao Analista Classe A Desenvolvimento, Manuteno de Sistemas e Gesto de Projetos) Um servidor de aplicaes tem por objetivo disponibilizar uma plataforma que abstraia do desenvolvedor de software algumas das complexidades de
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 166

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

um sistema computacional. O servidor de aplicaes responde a algumas questes comuns a todas as aplicaes. Assinale a alternativa que no corresponde a uma questo comum disponibilizada pelo servidor de aplicaes. A) Segurana B) Disponibilidade C) Balanceamento de Carga D) Tratamento de Excees E) Regra de Negcios 46. (CESPE/BANCO DA AMAZNIA/Tcnico Cientfico rea: Tecnologia da Informao ANLISE DE SISTEMAS/2010) Objetos tm identidade prpria. Isso garante que, mesmo tendo os mesmos valores de variveis e pertencendo mesma classe, dois objetos sejam considerados diferentes. 47. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) No que tange aos paradigmas da Orientao a Objetos (OO), um princpio est diretamente relacionado s operaes realizadas por um objeto e ao modo como as operaes so executadas, constituindo uma forma de restringir o acesso ao comportamento interno de um objeto. Nesse processo, um objeto que precise da colaborao de outro para realizar alguma tarefa deve enviar uma mensagem a este ltimo. Alm disso, separa os aspectos externos de um objeto dos detalhes internos da implementao. Considerando esse contexto, observe a figura abaixo.

O princpio da OO conhecido por: a) Compartilhamento b) Acoplamento c) Herana d) Polimorfismo e) Encapsulamento

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

167

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

48. (Cetro/2007/Liquigs Distribuidora S. A. Profissional Jr. para atuar em Informtica Anlise de Sistemas) Sobre a linguagem XML, incorreto afirmar que (A) o contedo de um elemento XML especificado entre uma tag de abertura e uma tag de fechamento. (B) documentos XML podem ser utilizados para a transferncia de dados atravs da web. (C) XML uma linguagem de marcao com um conjunto fixo de tags. (D) um atributo na XML define uma propriedade de um elemento. (E) A linguagem XML definida como o formato universal para dados estruturados na Web. 49. (ESAF/2008/MPOG) O XML (Extensible Markup Language) surgiu como um padro para estruturao e troca de dados. A fim de permitir a validao de documentos XML, um tipo de documento contendo metadados pode ser criado para definir quais elementos, atributos e outros itens podem estar contidos em um documento XML. A informao de metadados pode estar contida em um documento XML DTD (Document Type Definition) ou em um documento de esquema XML (XML Schema). A respeito da notao utilizada nas DTDs incorreto afirmar que a) um caractere + (adio) colocado aps o nome de elemento significa que este pode ser repetido uma ou mais vezes no documento. Esse tipo de elemento um elemento multivalorado (repetitivo) obrigatrio. b) um caractere * (multiplicao) colocado aps o nome de elemento significa que este pode ser repetido zero ou mais vezes no documento. Esse tipo de elemento conhecido como elemento multivalorado (repetitivo) opcional. c) um caractere % (porcentagem) colocado aps o nome de elemento significa que este pode ser repetido zero ou mais vezes no documento. Esse tipo de elemento um elemento multivalorado (repetitivo) opcional. d) um caractere ? (interrogao) colocado aps o nome de elemento significa que este pode ser repetido zero ou uma vez. Esse tipo um elemento de valor nico (no-repetitivo) opcional. e) um elemento que aparece sem nenhum dos seguintes caracteres (% ou + ou * ou ?) aps o nome de elemento significa que este deve aparecer exatamente uma vez no documento. Esse tipo um elemento de valor nico (no-repetitivo) obrigatrio. 50. (COPS/2011/Analista Administrativo-TI) O mtodo de teste que tem por finalidade determinar se os requisitos dos usurios foram total ou parcialmente satisfeitos pelo produto, preocupando-se tambm em verificar
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 168

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

como ocorre o processamento, ou seja, demonstrando o caminho percorrido pelo dado de entrada, conhecido como a.Caixa Preta. b.Caixa Branca. c.Teste de Domnio. d.Teste de Stress. e.Teste de Atividade. 51. (UEL/Estrada de Ferro Paran Oeste S.A/Analista de Sistemas 2008) Considere as afirmativas a seguir, sobre Teste de software: I. Teste funcional uma tcnica utilizada para se projetar casos de teste no qual o programa ou sistema considerado uma caixa preta e, para test-lo, so fornecidas entradas e avaliadas as sadas geradas para verificar se esto em conformidade com os objetivos especificados. II. A tcnica estrutural estabelece os requisitos de teste com base em uma dada implementao, requerendo a execuo de partes ou de componentes elementares do programa. III. Teste um conjunto de atividades que no pode ser planejado antecipadamente, porm deve ser realizado sistematicamente. IV. Um mdulo driver chama o mdulo que est sendo testado, devendo conter apenas as inicializaes das variveis globais e dos parmetros que sero utilizados para a chamada do mdulo testado. Assinale a alternativa correta. a) Somente as afirmativas I e III esto corretas. b) Somente as afirmativas III e IV esto corretas. c) Somente as afirmativas I e II esto corretas. d) Somente as afirmativas I, II e IV esto corretas. e) Somente as afirmativas II, III e IV esto corretas. 52. (UEL/Analista de Informtica Jnior Desenvolvimento de Sistemas/ 2009) O mtodo de teste, que tem por finalidade determinar se os requisitos dos usurios foram total ou parcialmente satisfeitos pelo produto, preocupando-se tambm em verificar como ocorre o processamento, ou seja, preocupando-se com o caminho percorrido pelo dado de entrada, conhecido como: a) Caixa preta. b) Teste de domnio. c) Caixa branca. d) Teste de Stress.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 169

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

e) Teste de Atividade. 53. (CESPE/2010/BANCO DA AMAZNIA/Tcnico Cientfico rea: Tecnologia da Informao Arquitetura de Tecnologia/Q.76) Teste rpido um mecanismo para identificar requisitos de software. 54. (CESPE/2008/TRT - 5 Regio (BA) - Analista Judicirio Tecnologia da Informao) Com relao a engenharia de software, processos de software, anlise de requisitos, estratgias de validao e ferramentas CASE, julgue os prximos itens. Entre os tipos de testes de caixa preta, encontram-se o teste baseado em grafos; o particionamento de equivalncia; a anlise de valor-limite; e o teste de matriz ortogonal. 55. (CESPE/2008/TRT - 5 Regio (BA) - Analista Judicirio Tecnologia da Informao) A diferena entre verificao e validao reside no fato de que a primeira se refere ao conjunto de atividades que garante que o software realiza corretamente uma funo especfica, enquanto a segunda refere-se a um conjunto diferente de atividades que garante que o software que foi construdo rastrevel s exigncias do cliente. 56. (CESPE/2009/TRE-MA - Tcnico Judicirio - Programao de Sistemas) O teste do software tem a finalidade de fornecer informaes acerca da qualidade do software em relao ao contexto em que ele deve operar. Os testes de software incluem a tcnica denominada I caixa preta. II caixa branca. III caixa cinza. IV teste de integrao. V teste de sistema. A quantidade de itens certos igual a a) 0. b) 1. c) 2. d) 3. e) 4.

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

170

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

57. (ESAF/2008/MPOG) Uma estratgia de teste de software integra mtodos de projeto de casos de teste em uma srie planejada de passos. Em relao a estratgias de testes, correto afirmar que: a) realizar testes para mostrar que no existem defeitos no software faz parte das estratgias de testes. b) demonstrar ao desenvolvedor e ao cliente que o software atende aos requisitos uma meta de validao do software. c) o particionamento de equivalncia uma maneira estratgica de aplicar testes de software. d) o teste estrutural uma estratgia que se baseia na anlise da especificao de um programa para ajudar na seleo de casos de teste. e) funes ou mtodos individuais de um objeto no so exemplos de estratgia da aplicao de teste de componentes. 58. (CESPE/2010/TRE-MT/Tcnico Judicirio - Programao de Sistemas) ADAPTADA. Testes de regresso so realizados somente durante a manuteno do software. 59. (CESPE/2010/TRE-MT - Tcnico Judicirio - Programao de Sistemas) ADAPTADA. O teste de unidade tem foco na menor unidade de um sistema, um programa. Testes em funes, procedimentos ou mtodos no so considerados testes de unidade. 60. (CESPE/2010/TRE-MT - Tcnico Judicirio - Programao de Sistemas) ADAPTADA. Testes de sistema no podem explorar requisitos no funcionais. 61. (FEPESE/2010/SEFAZ-SC - Auditor Fiscal da Receita Estadual) Analise a definio abaixo. Teste de software que procura descobrir erros por meio da reaplicao parcial dos testes a um programa modificado. Assinale a alternativa que cita corretamente o conceito ao qual se refere a definio. a) Teste de sistema b) Teste de unidade c) Teste de regresso d) Teste de integrao e) Teste de requisitos

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br

171

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

62. (FIP/2009/CAMARA-SJC/Analista seguintes afirmaes:

de

Sistemas)

Considere

as

(4) Programas de computador so obras de engenharia que devem seguir, rigidamente, normas e padres tcnicos. (5) Uma falha de software pode comprometer a integridade, disponibilidade e confidencialidade de um sistema de informaes empresarial. (6) Os testes de caixa preta so utilizados para demonstrar que as funes do software esto operacionais, que as entradas vlidas so adequadamente aceitas e produzem sadas corretas, mantendo a integridade das informaes externas. correto afirmar que: a) Todas as afirmaes esto corretas. b) Apenas as afirmaes (1) e (3) esto corretas. c) Apenas as afirmaes (2) e (3) esto corretas. d) Apenas as afirmaes (1) e (2) esto corretas. e) N.D.A. 63. (FCC/2009/TRT - 15 Regio - Analista Judicirio - Tecnologia da Informao) Os testes de integrao tm por objetivo verificar se a) os mdulos testados produzem os mesmos resultados que as unidades testadas individualmente. b) os mdulos testados suportam grandes volumes de dados. c) as funcionalidades dos mdulos testados atendem aos requisitos. d) os valores limites entre as unidades testadas individualmente so aceitveis. e) o tempo de resposta dos mdulos testados est adequado. 64. (ESAF/2008/Prefeitura de Natal - RN - Auditor do Tesouro Municipal - Tecnologia da Informao) Com relao aos tipos de testes que podem ser considerados e executados em um projeto de software, correto afirmar que o objetivo principal do Teste Funcional assegurar que a) a interface fornea ao usurio o acesso e a navegao adequados atravs das funes do software. b) os objetos contidos na interface funcionam conforme o esperado e estejam em conformidade com padres estabelecidos. c) foram exercitados um conjunto de funcionalidades para avaliar a navegao pelo software e a facilidade de uso do mesmo. d) houve uma correta implementao dos requisitos do sistema, como, por exemplo, regras de negcio, atravs da interface do usurio. e) foram executadas transaes, variando as cargas de trabalho, para observar e registrar o comportamento do sistema.
Profa. Patrcia Lima Quinto www.pontodosconcursos.com.br 172

TECNOLOGIA DA INFORMAO EM EXERCCIOS PARA BACEN

GABARITO 1. Letra C. 2. Letra C. 3. Letra A. 4. Letra E. 5. Letra A. 6. Letra A. 7. Letra C. 8. Letra D. 9. Letra B. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Letra E. Letra C. Letra D. Letra D. Letra D. Letra E. Letra E. Letra A. Letra D. Letra A. Letra B. Letra A. Letra A. Letra A. Letra B. Letra C. Letra D. Letra B. Letra C. Letra D. Letra B. Letra D. Letra B. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Letra B. Letra D. Letra E. Letra C. Letra A. Letra B. Letra A. Letra E. Item errado. Item errado. Item correto. Item correto. Letra E. Item correto. Letra E. Letra C. Letra C. Letra B. Letra D. Letra C. Item errado. Item correto. Item correto. Letra D. Letra B. Item correto. Item errado. Item errado. Letra C. Letra A. Letra C. Letra D
173

Profa. Patrcia Lima Quinto

www.pontodosconcursos.com.br