You are on page 1of 24

COLGIO ESTADUAL ULYSSES GUIMARES

CURSO TCNICO PROFISSIONALIZANTE EM INFORMTICA

ERINALDO SANCHES NASCIMENTO

INTRODUO LINGUAGEM DE PROGRAMAO

FOZ DO IGUAU
2013
Linguagem de Programao 1
1. INTRODUO ............................................................................................... 2
1.1. ALGORITMO ................................................................................................... 4
1.2. LGICA DE PROGRAMAO ............................................................................. 5
1.3. CONSTRUO DE ALGORITMOS ....................................................................... 7
1.3.1. Descrio Narrativa .................................................................................. 7
1.3.2. Fluxograma .............................................................................................. 8
1.3.3. Pseudocdigo ......................................................................................... 10
1.4. INTRODUO AO JAVA .................................................................................. 13
1.4.1. Bytecode e o Java Virtual Machine ........................................................ 14
1.4.2. Ambiente de Desenvolvimento Java ...................................................... 15
1.4.3. Instalao do Java ................................................................................. 15
1.4.4. Ambiente de Desenvolvimento Integrado ............................................... 16
1.5. EXERCCIOS................................................................................................. 18
1.6. BIBLIOGRAFIA .............................................................................................. 23
2 Lgica de Programao
1. INTRODUO

Desde o incio da existncia do homem ele tem procurado criar


mquinas que o auxiliem em seus trabalhos, diminuindo esforos e
economizando tempo. O computador tem se mostrado uma das mquinas mais
versteis, rpidas e seguras.
O computador capaz de auxiliar em qualquer coisa que lhe seja
solicitada, consciente, trabalha e possui muita energia, mas no tem
iniciativa, nenhuma independncia, no criativo nem inteligente, por isso
precisa receber instrues nos mnimos detalhes.
A finalidade de um computador receber, manipular e armazenar
dados. O computador s consegue armazenar dados em discos, imprimir
relatrios, gerar grficos, realizar clculos, entre outras funes, por meio de
programas.
Um computador constitudo de quatro unidades bsicas:
Unidade de entrada: um dispositivo que permite ao usurio interagir com
o computador, fornecendo-lhe dados e informaes. So exemplos o
teclado e o mouse.
Unidade de sada: serve para que sejam fornecidos ao usurio do
computador os resultados do processamento realizado. Como exemplos, o
monitor de vdeo e a impressora.
Unidade central de processamento (CPU, central processing unit):
responsvel por todo o processamento requerido. Nela so realizadas as
operaes aritmticas e lgicas.
Memria: armazena dados e informaes que sero utilizados no
processamento, alm dos programas que vo manipular estes dados e
informaes. A memria dividida em partes (posies de memria), sendo
associada a cada uma delas um endereo, o qual utilizado para se ter
acesso posio. A memria chamada de memria RAM (Random
Access Memory, memria de acesso aleatrio). Quanto maior a sua
capacidade de armazenamento, maior a capacidade de processamento
do computador. Qualquer armazenamento na memria de um computador
Linguagem de Programao 3
temporrio, pois quando o computador desligado tudo que est
armazenado desaparece (memria voltil).
A finalidade principal de um computador realizar a tarefa de
processamento de dados. Receber dados por um dispositivo de entrada,
realizar operaes com esses dados e gerar uma resposta que ser expressa
em um dispositivo de sada.

Informaes Operaes sobre


Resposta
iniciais as informaes

Dispositivo Dispositivo
Memria (CPU)
de entrada de sada

Um dado fornecido pelo teclado deve ser armazenado na memria.


Para a CPU realizar uma operao aritmtica, ela busca valores que esto
armazenados na memria, e assim por diante. Para que haja comunicao
entre as unidades do computador, necessrio que se estabelea uma
linguagem de comunicao.
Os cientistas que conceberam os
computadores atuais estabeleceram dois
smbolos para a comunicao entre as
unidades do computador. So dois estados
distintos e no confundveis. Cada um
destes smbolos denominado bit (binary
digit, dgito binrio), representados por 0
(zero) e 1 (um). As palavras da linguagem
de mquina so sequncias de bits.
Para a comunicao do homem
com o computador, necessrio que as
palavras da linguagem escrita sejam
traduzidas para a linguagem de mquina e
vice-versa. A ANSI (American National
4 Lgica de Programao
Standard Institute) estabeleceu uma codificao em sequncia de bits para
cada um dos caracteres, o cdigo ASCII (American Standard Code for
Information Interchange, Cdigo Padro Americano para Intercmbio de
Informaes).
O cdigo ASCII dcima 1000001 a representao do nmero 65 no
sistema binrio de numerao. O cdigo ASCII decimal de A 65.

1.1. ALGORITMO

Um computador tem duas partes diferentes que trabalham juntas:


Hardware: composto pelas partes fsicas.
Software: composto pelos programas.
Quando queremos escrever um software para realizar determinado tipo
de processamento de dados, devemos escrever um programa ou vrios
programas interligados.
Para que o computador compreenda e execute esse programa,
devemos escrev-lo usando uma linguagem que tanto o computador quanto o
desenvolvedor de software entendam, a linguagem de programao.
As etapas para o desenvolvimento de um programa so:
1. Anlise: estuda o enunciado do problema para definir os dados de entrada,
o processamento e os dados de sada.
2. Algoritmo: utiliza ferramentas do tipo narrativa, fluxograma ou portugus
estruturado para descrever o problema com suas solues.
3. Codificao: o algoritmo transformado em cdigos de linguagem de
programao escolhida para se trabalhar.
Um programa a codificao de um algoritmo em uma determinada
linguagem de programao.
Um algoritmo um conjunto de passos finitos que devem ser seguidos
para que certo objetivo seja alcanado. Algoritmos tm natureza terica e
correspondem a planejamentos estruturados de algo que se deseja realizar,
como fazer uma viagem, preparar um prato especial, montar uma bicicleta ou
solucionar as pendncias de uma empresa. Para cumprir um algoritmo
Linguagem de Programao 5
decises precisam ser tomadas, aes precisam ser realizadas e recursos
restritos precisam ser gerenciados.
Um algoritmo computacional aquele construdo baseado nas
capacidades e recursos disponveis de um computador.
No dia-a-dia executamos vrios algoritmos.
Exemplo 1: somar trs nmeros.
1. Receber os trs nmeros;
2. Somar os trs nmeros;
3. Mostrar o resultado obtido.
Exemplo 2: fazer um sanduche.
1. Pegar o po;
2. Cortar o po ao meio;
3. Pegar a maionese;
4. Passar a maionese no po;
5. Pegar e cortar alface e tomate;
6. Colocar alface e tomate no po;
7. Pegar o hambrguer;
8. Fritar o hambrguer;
9. Colocar o hambrguer no po.
s vezes um problema pode ser resolvido de maneiras diferentes,
porm, gerando a mesma resposta. Podem existir vrios algoritmos para
resolver o mesmo problema.

1.2. LGICA DE PROGRAMAO

No dia-a-dia, usamos a palavra lgica para justificar um raciocnio


indubitavelmente razovel. Usamos a lgica para garantir a veracidade de
uma afirmao a partir da veracidade de outras assertivas.
O raciocnio que visa o desenvolvimento de algoritmos chamado
lgica de programao.
Para auxiliar na resoluo dos problemas de construo d algoritmos
aplicados informtica, usaremos a lgica formal. Esta preocupa-se com a
6 Lgica de Programao
forma da construo do pensamento, permitindo que se trabalhe com variveis
para que se possa aplicar o mesmo raciocnio a diferentes problemas.
Exemplo 3:
1. Gerson cientista.
2. Todo cientista estudioso.
3. Logo, Gerson estudioso.
Substituindo as palavras Gerson e estudioso por A e B, temos:
A cientista.
Todo cientista B.
Logo, A B.
O raciocnio lgico leva a uma resposta que pode ser verdadeiro ou
falso.
Exemplo 4: Dados dois valores quaisquer, deseja-se saber qual o
maior.
Os dois valores so representados pelas variveis A e B. Analisa-se o
problema a fim de averiguar qual a melhor maneira de descobrir a soluo.
Para facilitar o entendimento do raciocnio, vamos substituir as
variveis por valores conhecidos:
A = 7 e B = 19
Fazemos uma comparao: 7 maior do que 19?
Logo, temos a resposta: falso.
Ento, podemos concluir que 19 o maior nmero entre os dois.
Quando os valores so desconhecidos, na representao para a
soluo do problema, trabalha-se apenas com as variveis:
A maior do que B?
Se a resposta verdadeiro, A o maior valor.
Se a resposta falso, b o maior valor.
A resposta a uma questo dever verdadeiro ou falso; nunca podem
ocorrer as duas opes ao mesmo tempo.
Linguagem de Programao 7
1.3. CONSTRUO DE ALGORITMOS

Os algoritmos so amplamente utilizados na rea da cincia da


computao, desde a definio das instrues realizadas pelo hardware,
passando pelas operaes executadas pelo sistema operacional, no
gerenciamento dos computadores, at a documentao das operaes
necessrias elaborao de solues voltadas para a construo de interfaces
entre software e hardware, programas e demais aplicativos.
Para a construo de qualquer tipo de algoritmos so necessrios:
a) Ler atentamente o enunciado, destacando os pontos mais importantes.
b) Definir os dados de entrada (quais dados sero fornecidos).
c) Definir o processamento (quais clculos sero efetuados e quais as
restries para esses clculos).
d) Definir os dados de sada (quais dados sero gerados depois do
processamento).
e) Construir o algoritmo utilizando um dos tipos: descrio narrativa,
fluxograma ou pseudocdigo.
f) Testar o algoritmos realizando simulaes.

1.3.1. Descrio Narrativa

Consiste em analisar o enunciado do problema e escrever, utilizando


uma linguagem natural (lngua portuguesa), os passos a serem seguidos para
a resoluo do problema.
Vantagem: no necessrio aprender nenhum conceito novo, pois
uma lngua natural j bem conhecida.
Desvantagem: a lngua natural abre espao para vrias interpretaes,
o que posteriormente dificultar a transcrio desse algoritmo para programa.
Exemplo 5: Faa um algoritmo para mostrar o resultado da
multiplicao de dois nmeros.
Passo 1: Receber os dois nmeros que sero multiplicados.
8 Lgica de Programao
Passo 2: Multiplicar os nmeros.
Passo 3: Mostrar o resultado obtido na multiplicao.
Exemplo 6: Algoritmo em descrio narrativa que calcula o novo salrio
de um funcionrio. Sabe-se que os funcionrios que possuem salrio atual at
R$ 500,00 tero aumento de 20%, os demais tero aumento de 10%.
Passo 1: Receber o salrio atual do funcionrio.
Passo 2: Se o salrio atual do funcionrio for at R$ 500,00, calcular o
novo salrio com percentual de 20%: caso contrrio, calcular o novo salrio
com percentual de aumento de 10%
Passo 3: Mostrar o novo salrio.

1.3.2. Fluxograma

Algoritmos representados por fluxogramas (ou diagrama de blocos)


utilizam a estratgia grfica para se expressarem. uma forma universal de
representao, pois utiliza figuras geomtricas para ilustrar os passos a serem
seguidos para a resoluo de problemas.
Vantagem: o entendimento de elementos grficos mais fcil do que o
entendimento de textos.
Desvantagem: necessrio aprender a simbologia dos fluxogramas e,
alm disso, o algoritmo resultante no apresenta muitos detalhes, dificultando a
sua transcrio para um programa.
Cada smbolo ou ao a ser executada deve ser representada por meio
de um smbolo grfico. O conjunto de smbolos utilizados no fluxograma so
apresentados a seguir:
Smbolo Descrio

Representa o incio e o final do fluxograma.


Linguagem de Programao 9
Smbolo Descrio
Permite indicar o sentido do fluxo de dados. Serve
exclusivamente para conectar os smbolos ou blocos
existentes.

Representa a execuo de operaes ou aes como


clculos aritmticos, atribuio de valores a variveis,
abertura e fechamento de arquivo entre outras.

Representa a entrada de dados para as variveis por meio do


teclado.

Representa a sada de informaes (dados ou mensagens)


por meio do monitor de vdeo ou de outro dispositivo visual de
sada de dados.
Indica que deve ser tomada uma deciso, com a
possibilidade de desvios. Representa uma ao lgica que
resultar na escolha de uma das sequncias de instrues,
ou seja, se o teste lgico apresentar o resultado verdadeiro
realizar uma sequncia e, se o teste lgico apresentar o
resultado falso realizar outra sequncia.

Representa uma ao de preparao para o processamento,


ou seja, um processamento predefinido.

Conector, utilizado para interligar partes do fluxograma ou


para desviar o fluxo corrente para um determinado trecho do
fluxograma.

Conector de pginas, utilizado para interligar partes do


fluxograma em pginas distintas.

Exemplo 7: Ler o nome e a idade de uma pessoa e mostrar na tela.

Nome, Nome:, Idade: Fim


Incio Nome , Idade
Idade
10 Lgica de Programao
O fluxograma foi feito horizontalmente e representa a entrada de dados
por meio do teclado e a sada pelo vido dos dados inseridos.
Exemplo 8: Desenvolver um fluxograma para ler a idade e o salrio de
50 pessoas e verificar quantos tm idade inferior a 30 anos e um salrio
superior a R$ 3.000,00.

Incio

Total 0

O total
Pessoa de pessoas Fim
1, 50, 1 : ,
Total

Idade,
Salrio

Idade < 30
.E. Total Total + 1
Salrio >
3000

O fluxograma pode ser desenvolvido seguindo a posio horizontal


mas pode seguir a posio vertical, o que permite incluir uma sequncia maior
de instrues, facilitando a leitura, a visualizao e a apresentao.

1.3.3. Pseudocdigo

uma forma de representao de algoritmos que utiliza uma


linguagem flexvel, intermediria entre a linguagem natural e a linguagem de
programao. utilizada para organizar o raciocnio lgico a ser seguido para
Linguagem de Programao 11
a resoluo de um problema ou para definir os passos para a execuo de uma
tarefa. Tambm utilizado para documentar rotinas de um sistema.
A palavra pseudocdigo significa falso cdigo. Esse nome se deve
proximidade que existe entre um algoritmo escrito em pseudocdigo e a
maneira pela qual um programa representado em uma linguagem de
programao.
O pseudocdigo (portugol) consiste em analisar o enunciado do
problema e escrever, por meio de regras predefinidas, os passos a serem
seguidos para a resoluo do problema.
Os vocbulos desta metodologia so divididos em duas categorias: de
aplicao pr-determinada (palavras reservadas) e de definio customizada,
mas com regras pr-estabelecidas.
Palavras reservadas podem ser comandos ou elementos de estruturas.
Os comandos so invocaes de tarefas especficas nos algoritmos (imprimir
uma mensagem de texto). A invocao de um comando conhecida como
chamada do comando.
Vantagem: a passagem do algoritmo para qualquer linguagem de
programao quase imediata, bastando conhecer as palavras reservadas da
linguagem de programao.
Em programao de computadores, uma palavra reservada uma
palavra que, em algumas linguagens de programao, no pode ser utilizada
como identificador por ser reservada para uso da gramtica da linguagem.
Desvantagem: necessrio aprender as regras do pseudocdigo.
Todo algoritmos representado por um pseudocdigo deve,
primeiramente, ser identificado. Para identificar ou nomear o algoritmo,
recomenda-se:
No utilizar espaos entre as letras. O caractere sublinha ou underline pode
ser utilizado para representar o espao entre as letras.
No iniciar o nome com algarismos (nmeros).
No utilizar palavras reservadas (palavras utilizadas para representar aes
especficas).
No utilizar caracteres especiais (acentos, ? / : @ # , entre outros).
Ser sucinto e utilizar nomes coerentes.
12 Lgica de Programao
Todas as variveis que sero utilizadas na resoluo do problema
devem ser previamente declaradas, isto , todas as informaes necessrias
resoluo do problema devem ser representadas.
O corpo do algoritmo a rea reservada para a resoluo do problema.
Nessa parte, devem-se escrever todos os passos lgicos necessrios para
solucionar o problema.
A entrada de valores para as variveis.
As operaes de atribuio, lgicas e aritmticas.
A abertura e o fechamento de arquivos.
Os laos de repetio.
A exibio dos resultados.
Exemplo 9: Desenvolver um algoritmo em pseudocdigo para calcular
a mdia aritmtica entre duas notas de um aluno e mostrar a situao desse
aluno, que pode ser aprovado ou reprovado.

Algoritmo Exemplo_9 Identificao do algoritmo

Declare Declarao das variveis


N1, N2, M Numrico;

Escreva (Digite as duas notas); Corpo do algoritmo


Leia N1, N2;
M (N1 + N2)/2;
Escreva (Mdia = , M);

Se M 7

Escreva (Aprovado);
Seno
Escreva (Reprovado);
Fim_Exemplo_9;

Exemplo 10: Desenvolver um pseudocdigo para ler a idade e o salrio


de 50 pessoas e verificar quantas possuem idade inferior a 30 anos e salrio
superior a R$ 3.000,00.
Algoritmo Exemplo_10 Identificao
do algoritmo
Linguagem de Programao 13
Var salrio real Declarao
idade, n_pessoas, tot_pessoas inteiro das variveis
n_pessoas 1 Corpo do algoritmo
tot_pessoas 0
Enquanto (n_pessoas 50) Faa
Leia (idade, salrio)
Se (idade < 30) e (salrio > 3000) Ento
tot_pessoas tot_pessoas + 1
Fim_Enquanto
Escreva (Nmero total de pessoas: , tot_pessoas)
Fim_Exemplo_10.

1.4. INTRODUO AO JAVA

Java uma linguagem de programao de propsito geral, adequada


para a maioria das aplicaes.
Em 1991, James Gosling levou uma equipe a Sun Microsystems que
desenvolveu a primeira verso do Java. Esta primeira verso da linguagem foi
projetada para programao de eletrodomsticos, como mquinas de lavar e
aparelhos de televiso.
Os programas escritos em Java so primeiramente traduzidos para
uma linguagem intermediria que a mesma para todos os aparelhos (ou
computadores), e, em seguida, um pequeno programa, fcil de escrever e,
por conseguinte, barato traduz esta linguagem intermediria para a
linguagem de mquina para um determinado aparelho ou computador. Esta
linguagem intermediria chamada de bytecode Java.
A linguagem de programao para aparelhos nunca se popularizou
com os fabricantes de aparelhos, mas a linguagem Java em que evoluiu
tornou-se uma linguagem de programao amplamente utilizada. Hoje, Java
de propriedade da Oracle Corporation, que adquiriu a Sun Microsystems em
2010.
14 Lgica de Programao
Java uma linguagem de programao orientada a objetos (POO).
POO uma metodologia de programao que visualiza um programa
semelhante como consistindo de objetos que interagem uns com os outros por
meio de aes.
Programao orientada a objeto tem sua prpria terminologia
especializada. Os objetos so chamados, apropriadamente, objetos. As aes
que um objeto pode tomar so chamadas mtodos. Objetos do mesmo tipo so
referidos como tendo o mesmo tipo ou, mais frequentemente, diz-se estar na
mesma classe. Todos os objetos dentro de uma classe tm os mesmos
mtodos. No entanto, eles podem ter caractersticas diferentes, que se
encontram indicadas no programa, associando dados diferentes a cada objeto
particular.

1.4.1. Bytecode e o Java Virtual Machine

Linguagens de programao mais modernas so projetadas para


serem mais fceis para as pessoas escreverem e entenderem. Essas lnguas
so chamadas linguagens de alto nvel. A linguagem que o computador pode
entender diretamente chamada linguagem de mquina. Linguagem de
mquina chamada linguagem de baixo nvel. Um programa escrito em uma
linguagem de alto nvel, tal como Java, deve ser traduzido em linguagem de
mquina antes que o programa seja executado. O programa que faz a traduo
chamado de compilador e o processo de traduo chamado de compilao.
Uma desvantagem da maioria das linguagens de programao que o
compilador traduz o programa de alto nvel diretamente em linguagem de
mquina para o computador. Desde que os computadores tm diferentes
linguagens de mquina, isso significa que o programador precisa de um
compilador diferente para cada tipo de computador. Java, no entanto, usa uma
abordagem diferente e muito mais verstil para compilar.
O compilador Java traduz o programa Java em uma linguagem
chamada bytecode. Bytecode no a linguagem de mquina para um
computador em particular, a linguagem de mquina de um computador fictcio
Linguagem de Programao 15
chamado de Java Virtual Machine (JVM). A mquina virtual Java muito
semelhante em todos os computadores comuns. O termo JVM tambm
usado para se referir ao software que implementa os computadores fictcios.

1.4.2. Ambiente de Desenvolvimento Java

Um programa em Java dividido em partes menores chamadas


classes, e normalmente cada definio de classe est em um arquivo separado
e compilado separadamente. A fim de executar o programa, o bytecode para
estas vrias classes precisa ser conectadas juntas. A conexo feita por um
programa conhecido como o carregador de classe.
Antes de compilar um programa Java, cada definio de classe usada
no programa deve ser um arquivo separado. O nome do arquivo deve ser o
mesmo como o nome de classe, exceto que o nome do arquivo tem .java
adicionado ao final.

1.4.3. Instalao do Java

Existem vrias plataformas Java:


Java Standard Edition (Java SE), permite desenvolver e implementar
aplicativos Java em desktops e servidores. Oferece uma rica interface
de usurio, desempenho, versatilidade, portabilidade e segurana que
aplicaes corporativas de hoje exigem.
Java Enterprise Edition (Java EE) cria aplicaes web e empresariais.
Java Micro Edition (Java ME) fornece um ambiente robusto e flexvel
para aplicaes rodando em celulares e outros dispositivos embarcados:
telefones celulares, assistentes digitais pessoais (PDAs - palmtop), TV
set-top boxes e impressoras. Java ME inclui interfaces de usurio
flexveis, robustez de segurana, protocolos de rede incorporada e
suporte para aplicaes de rede e offline que podem ser baixados
16 Lgica de Programao
dinamicamente. Aplicaes baseadas em Java ME so portteis atravs
de muitos dispositivos, ainda alavanca capacidades nativas de cada
dispositivo.
Acesse o site da Oracle. Clique na aba Downloads. Na lista de
downloads mais populares deve aparecer Java for Developers, clique no link.
Na prxima pgina, do lado esquerdo clique em Java EE. Depois, no
centro da pgina clique na guia Downloads. Escolha a opo Java EE with
JDK. Aceite o contrato de licena e escolha a verso segundo o sistema
operacional instalado no seu computador. O processo de download do
instalador do Java ter incio.

1.4.4. Ambiente de Desenvolvimento Integrado

As instrues de Java podem ser escritas em um arquivo texto ou em


ambientes integrados que possibilitam a edio e a compilao de programas.
Existem vrios ambientes integrados para desenvolvimento de aplicativos em
Java, chamados de IDE (Integrated Development Environment). Esses
Linguagem de Programao 17
ambientes oferecem ao usurio diversos recursos que facilitam a tarefa de
escrever cdigos complexos, como editor, compilador, depurador e gerador de
distribuies.
Abra o site do Eclipse, na aba Downloadas escolha o link Eclipse IDE
for Java EE Developers. Essa IDE oferece ferramentas para desenvolvedores
Java criar aplicaes Web, incluindo um IDE para Java, ferramentas para Java
EE, JPA, JSF, Mylyn e outros.

Escolha o download de acordo com o sistema operacional instalado no


seu computador.
18 Lgica de Programao
1.5. EXERCCIOS

1. Relacione:
Hardware ( ) parte fsica do computador.
( ) conjunto de instrues legveis para o computador,
Software capazes de realizar tarefas.
( ) sequncia de passos ordenados para a realizao
Algoritmo de uma tarefa.
( ) parte lgica do computador.
Programa

2. Escreva os passos para realizar as seguintes atividades:


a. Trocar uma lmpada.
b. Ir para a escola.
c. Sacar dinheiro no caixa eletrnico.
3. Resolva o problema escrevendo as instrues na sequncia que elas
devem ser executadas:
Um senhor est numa das margens de um rio com uma raposa, uma
dzia de galinhas e um saco de milho. O senhor pretende atravessar o rio com
suas cargas, num barco que s comporta o senhor e uma das cargas. O
senhor no pode deixar em uma das margens, sozinhos, a raposa e a galinha,
nem a galinha e o milho.
4. Dadas as premissas a seguir, verifique quais so as sentenas que
representam a concluso correta:
Cavalos so animais. Animais possuem patas. Logo:
a) Cavalos possuem patas.
b) Todos os animais so cavalos.
c) Os cavalos possuem quatro patas.
Retngulos so figuras que tm ngulos. Temos uma figura sem
nenhum ngulo. Logo:
a) Essa figura pode ser um crculo.
b) No possvel tirar concluses.
c) Essa figura no um retngulo.
Linguagem de Programao 19
Se o verde forte, o vermelho suave. Se o amarelo suave, o azul
mdio. Mas ou o verde forte ou o amarelo suave. Forte, suave e
mdio so as nicas tonalidades possveis. Logo:
a) O azul mdio.
b) Ou o vermelho suave ou o azul mdio.
c) O amarelo e o vermelho so suaves.
Voc est dirigindo seu carro. Se frear repentinamente, um caminho
bater na traseira. Se no frear imediatamente, voc atropelar uma
criana que est atravessando a estrada. Logo:
a) As crianas devem afastar-se das estradas.
b) O caminho bater na traseira de seu carro ou voc atropelar a
criana.
c) O caminho vai muito depressa.
Somente quando B X, K Z. E X ou Z somente quando K no Z.
Duas letras no podem ser uma s. Logo:
a) Quando B X, E no X nem Z.
b) Quando K Z, X ou Z E.
c) Quando B no X, E no X nem Z.
5. Analise e descreva uma maneira de mover os discos do pino A para o pino
C, mantendo a mesma ordem da figura. Em hiptese nenhuma um disco
maior poder ficar sobre um menor. Para que um disco seja movido de A
para C, deve-se passar pelo pino B e vice-versa.
20 Lgica de Programao
6. Identifique o prximo nmero da sequncia: 12, 13, 15, 18, 22, 27, 33?
7. Oito carros de equipes diferentes esto alinhados lado a lado para uma
corrida. De acordo com as pistas a seguir, descubra a ordem dos carros
para a largada e a cor de cada carro.
OBS: a cor utilizada no a cor original das equipes.
O carro branco est esquerda do Jordan.
O carro da equipe Ferrari est entre os carros vermelho e branco.
O McLaren o segundo carro esquerda do Ferrari e o primeiro
direita do carro azul.
O Sauber no tem carro direita e est logo depois do carro preto.
O carro preto est entre o Sauber e o carro amarelo.
O Jaguar no tem carro algum sua esquerda e est esquerda do
carro verde.
direita do carro verde est o Renault.
O Jordan o segundo carro direita do carro prata e o segundo
esquerda do carro laranja.
O Toyota o segundo carro esquerda do Minardi.
8. Um cliente deseja fazer a consulta do saldo de sua conta corrente no
computador, por meio de uma aplicao home banking. Suponha que o
computador esteja ligado e conectado internet. A seguir, esto os passos
que poderiam ser utilizados, porm, foram colocados fora de ordem.
Procure organiz-los na ordem correta.
( ) inserir a senha. ( ) confirmar ou digitar o nome do
( ) clicar no boto OK de acesso. usurio.
( ) selecionar a opo de saldo. ( ) fechar o navegador.
( ) encerrar a sesso. ( ) digitar o endereo do site do
( ) abrir o navegador. banco.
( ) preencher dados do nmero
da agncia e conta.
9. Considerando a expresso 5 4 + 2 4, escreva a sequncia de operaes
que devem ser realizadas para que o clculo apresente o resultado correto.
OBS: apenas uma operao pode ser realizada de cada vez.
10. Indique o caminho no labirinto da figura, usando a marcao feira para as
linhas e colunas. Por exemplo: E1, A1, A4, etc.
Linguagem de Programao 21

11. Trs ndios, conduzindo trs brancos, precisam atravessar um rio dispondo
para tal de um barco cuja capacidade de apenas duas pessoas. Por
questes de segurana, o ndios no querem ficar em minoria, em nenhum
momento e em nenhuma das margens. Escreva um algoritmo que oriente
os ndios para realizarem a travessia nas condies fixadas.
12. O show de uma banda de rock, que ser realizado na margem de um rio,
deve comear exatamente s 21h. Atrasados, s 20h43min, os quatro
integrantes da banda esto na outra margem do rio e necessitam, para
chegar ao palco , atravessar uma ponte. H somente uma lanterna e s
podem passar uma ou duas pessoas juntas pela ponte, e sempre com a
lanterna. A lanterna no pode ser jogada e cada integrante possui um
tempo diferente para atravessar a ponte: o vocal leva 10 minutos, o
guitarrista 5 minutos, o baixista 2 minutos e o baterista 1 minuto.
Evidentemente, quando dois atravessam juntos, o tempo necessrio o do
mais lento.
Escreva um algoritmo que permite a banda atravessar a ponto de modo que
o show comece na hora marcada.
13. Um pastor deve levar suas trs ovelhas e seus dois lobos para o pasto que
fica ao sul da regio. Ele deve levar tambm a proviso de alimentos para
as ovelhas, que consistem em dois maos de feno. No entanto, no meio do
caminho existe um grande rio cheio de piranhas, e o pastor tem apenas um
pequeno barco sua disposio, o qual lhe permite levar dois passageiros
de cada vez. Considere como passageiro as ovelhas, os maos de feno e
os lobos e considere ainda que, se as ovelhas ficarem em menor nmero
que do que os lobos, sero comidas e, se o feno ficar com as ovelhas sem
22 Lgica de Programao
um lobo por perto, as ovelhas comero o feno. Ajude o pastor a atravessar
o rio e preservar suas posses.
14. (Transpetro 2011) Muito utilizada para desenvolvimento de aplicativos
Web, a tecnologia Java tem como principal caracterstica gerar aplicaes
que rodam em qualquer dispositivo que tenha acesso a Internet, utilizando,
entre outros recursos, o software
a) JBC (Java Bytecode Console)
b) JDB (Java Developer Builder)
c) MS (Java Management Server)
d) JAC (Java Application Controler)
e) JVM (Java Virtual Machine)
15. (TCE-SP 2010) A tecnologia Java , basicamente, dividida em JSE,
a) JEE e JME.
b) JEE e JPE.
c) JDE e JME.
d) JDE e JPE.
e) JEEP e JME.
16. (TRE-RN 2011) Em relao ao Java Standard Edition, INCORRETO
afirmar:
a) Possui gerenciamento de memria embutido, por meio do coletor de lixo.
b) Ambiente indicado para o desenvolvimento de aplicativos para
dispositivos mveis ou portteis.
c) Permite o desenvolvimento de aplicaes desktop de linha de comando e
interfaces grficas Swing.
d) Portabilidade dos programas compilados para diversos sistemas
operacionais, sem necessidade de recompilao.
e) Usa conceitos tais como orientao a objetos e multithreading.
17. (UNIFESP 2009) Acerca da linguagem de programao Java, analise as
seguintes informaes:
I. A linguagem de programao Java baseada em classes e orientada a
objetos (OO).
II. A linguagem de programao Java tem relao com C e C++, mas
organizada de maneira diferente, com vrios aspectos de C e C++ omitidos
e algumas idias de outras linguagens includas.
Linguagem de Programao 23
III. Java Standard Edition (JSE) uma plataforma voltada para pequenos
dispositivos (telefones celulares, televisores, aparelhos eletrnicos em
geral).
Podemos afirmar corretamente que:
a) Todas as afirmativas esto corretas.
b) Todas as afirmativas esto incorretas.
c) Apenas as afirmativas I e II esto corretas.
d) Apenas as afirmativas II e III esto corretas.
18. Atividades prticas em laboratrio, acesse: http://rachacuca.com.br.

1.6. BIBLIOGRAFIA

ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi.


Fundamentos da Programao de Computadores. So Paulo: Pearson
Prentice Hall

PUGA, Sandra; RISSETTI, Gerson. Lgica de programao e estrutura de


dados, com aplicaes em Java. So Paulo: Pearson Prentice Hall, 2009

SAVITCH, Walter. Absolute Java, 5 ed. New Jersey: Pearson Education,


2012