Você está na página 1de 67

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Introduo

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

Introduo

Ementa:

Objetivos:

Conceito de Lgica. Lgica aplicada programao. Tipos de algoritmos.


Conceitos de variveis e constantes. Tipos primitivos de dados. Operadores:
aritmticos, relacionais e lgicos. Estruturas de seleo. Estruturas de controle
e repetio.

Preparar o aluno para o desenvolvimento de solues computacionais


eficientes. Capacitar o aluno ao desenvolvimento de algoritmos capazes de
resolver problemas simples.

Metodologia:

Utilizao de quadro negro, retroprojetor e aulas prticas em laboratrio.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Bibliografia

Bibliografia Bsica
. MANZANO, J. A. N. G., Algoritmos, rica.

Bibliografia Complementar
FORBELLONE, A. L.V. & EBERSPCHER, H. F., Lgica de Programao.
Makron.
SALIBA, W. L. C., Tcnicas de Programao, Makron
ASCENCIO, A. F. G., Lgica de Programao com Pascal, Makron.
FARRER, H. et. al. Algoritmos Estruturados, LTC.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Datas importantes

Avaliaes

1 GQ:

Avaliao integrada no dia

___/___/___

Avaliao escrita e individual no dia

___/___/___

Avaliao escrita e individual no dia

___/___/___

2 GQ: envolvendo todo contedo programtico ministrado no semestre corrente e os


exerccios do trabalho prtico em grupo.

Avaliao escrita e individual no dia

___/___/___

2.a chamada: A avaliao escrita e individual no dia

___/___/___

Exame: envolvendo todo contedo programtico ministrado no semestre corrente.

Avaliao escrita individual no dia

___/___/___

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Lgica

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

Lgica

As pessoas utilizam lgica no cotidiano sem perceber;


Chegam mesmo a cit-la, sem entender direito o seu significado;
a coerncia de raciocnio, de idias, ou ainda a seqncia
coerente, regular e necessria de acontecimentos, de coisas.
Exemplos:

O nmero 3 menor que o nmero 5.


O nmero 7 maior que o nmero 5.
Logo, o nmero 3 menor que os nmeros 5 e 7.
Quando chove, no preciso regar as plantas no jardim.
Hoje choveu.
Logo, hoje no preciso regar as plantas do jardim.
O Brasil fica na Amrica do Sul.
A Amrica do Sul fica no continente americano.
Logo, os brasileiros so americanos.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Raciocnio Lgico

s vezes, o raciocnio funciona desordenadamente. Quantas vezes


voc j ouviu as frases E se acontecer aquilo ou , mas eu no
tinha pensado nisso?
No exemplo abaixo esto descritas as aes de quem vai a um
banco, entretanto, veja se seria possvel retirar o dinheiro
obedecendo seqncia descrita.
1. Sair do Banco.
2. Aguardar a vez de ser atendido.
3. Entrar na fila do caixa.
4. Digitar a senha.
5. Entrar no banco.
6. Informar o valor a ser retirado.
7. Procurar a fila do caixa.
8. Pegar o comprovante do saque, o carto eletrnico e o dinheiro.
9. Entregar o carto eletrnico ao funcionrio que atende no caixa.
10. Conferir o valor em dinheiro.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Lgica de Programao

Resolver problemas com a maior rapidez e o menor esforo


possveis;
Automatizar as tarefas rotineiras;
As tarefas que devem ser realizadas pelo computador de forma
automtica tm de ser anteriormente pensadas e colocadas em uma
seqncia de aes para, posteriormente, serem inseridas na
mquina;
A meta principal de qualquer programador:

resolver problemas por meio de solues lgicas para obter resultados


eficientes (corretos) e eficazes (com qualidade);
se as solues no forem bem planejadas (passo a passo), com certeza essa
meta no ser atingida.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Algoritmos

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

Algoritmos - Introduo

Lgica de Programao

Seqncia Lgica

a tcnica de encadear pensamentos para atingir determinado objetivo.

So passos executados at atingir um objetivo ou soluo de um problema.

Instrues

Um conjunto de regras ou normas definidas para a realizao de algo.


Exemplo
O I O C O M B
so dados mas no constituem informao perceptvel

Depois do processamento temos: C O M B O I O


informao

Processamento de dados consiste em transformar os dados em


informao til e o algoritmo o comeo de tudo!

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

10

Algoritmos - Introduo

Algoritmo

Programas

uma seqncia finita de passos que levam a execuo de uma tarefa.


Ou seja, uma receita, uma seqncia de instrues para uma meta especfica.
Exemplos:
chupar bala
pegar uma bala
retirar o papel
colocar bala na boca
jogar papel no lixo

So algoritmos escritos em uma linguagem de programao (C, Pascal, Java,


etc.) e que so interpretados e executados por uma mquina.

Cuidados devem ser tomados no desenvolvimento de algoritmos:

algoritmo errado

resultado errado

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

11

Representao de Algoritmos

Duas principais formas de representao

Pseudocdigo

Pseudocdigo
Fluxograma

Utiliza-se de uma linguagem intermediria entre a linguagem falada e a


linguagem de programao
Devem ser independentes da linguagem de programao a ser posteriormente
utilizada na codificao

Fluxograma

Tem o objetivo de descrever graficamente a soluo lgica do problema,


possibilitando o planejamento da estrutura do programa e facilitando a
validao da estrutura planejada.
Cada operao a ser executada representada por um smbolo cuja forma
identifica o tipo de processo envolvido.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

12

Pseudocdigo

Tem a seguinte estrutura

programa <identificador-do-programa>
<declaraes>
Incio
<instrues>
Fim.
Onde:
<identificador-do-programa>

<declaraes>

o nome dado ao algoritmo pelo programador


onde so informados os tipos de dados e informaes que sero manipulados

<instrues>

onde ocorreram as entradas de dados, os processamentos necessrios e a


sadas das informaes desejadas.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

13

Fluxograma smbolos bsicos

ou
Indica o incio ou
trmino de um
fluxograma

Entrada de dados

Procedimento interno
e/ou
mudana de contedo

ou
Tomada de deciso

Repetio

Sada de dados

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

14

Exemplo
Elaborar o algoritmo que faa a soma de dois nmeros inteiros quaisquer
Pseudocdigo

Fluxograma

Linguagem de Programao

programa somadoisnum
var n1, n2, result: inteiro

incio

program somadoisnum;
var n1, n2, result : integer;

incio
leia n1
leia n2
result n1 + n2
escreva result
fim.

n1,n2

begin
readln( n1 );
readln( n2 );
result := n1 + n2;
writeln(result);

result
n1+n2
result

end.

fim

15

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Programador

Quando estamos trabalhando com programao de computadores,


devemos ter em mente que estamos dando instrues para o
computador de tal modo que ele receba os dados do usurio, faa os
processamentos necessrios e fornea uma informao ao usurio
novamente
O programador deve instruir
o computador a ler o que o
usurio digitou atravs do
teclado, processar os dados
e escrever uma resposta no
monitor.
Programador

Usurio

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

16

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Tipo de Dados

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

17

Tipos de dados

As clulas de memria do computador armazenam os dados durante


a execuo do programa.
Devemos informar ao computador qual o tipo de dado que vamos
armazenar e/ou manipular.
Determina quantas clulas de memria sero necessrias para
armazenar o dado.

As clulas de memria sero classificados segundo o seu tipo.

Definem o conjunto de operaes para a manipulao dos dados.

Exemplo:
em um dado numrico pode-se aplicar uma operao aritmtica.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

18

Tipos de Dados

Os tipos de dados podem variar de uma linguagem para outra. No


entanto, existem dois tipos bsicos:

Tipos simples;
Tipos estruturados (vetor, registro, etc., estudados mais adiante)

Tipos de Dados Simples

Numrico

Inteiro

Caractere

Lgico

Real

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

19

Dado Numrico

So valores que representam nmeros;


Os Dados Numricos so divididos basicamente em dois grandes
conjuntos: Inteiros e Reais;

Tipo de Dado Numrico Inteiro

Os inteiros podem ser positivos, negativos ou nulos, mas no possuem um


componente decimal;
Exemplos: 1

-3

234

Representam nmeros entre -32768 e 32767 e ocupam 2 bytes de memria.

Tipo de Dado Numrico Real

Os reais podem ser positivos, negativos ou nulos, e possuem sempre um


componente decimal
Exemplos: 1

1,45

-0,56

23,98

Representam nmeros reais de 11 algarismos significativos, entre 2,9 * 10-39


at 1,7 * 1038 e ocupam 6 bytes de memria.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

20

Dado Numrico

Observaes

Os nmeros inteiros consomem menos espao de armazenamento em


memria;
Os inteiros so compatveis com os reais, mas os reais no so compatveis
com os inteiros; assim, um objeto real pode receber um valor inteiro, mas um
objeto inteiro no pode receber um valor real.

Reais
Inteiros

Situaes de dvida

Exemplos:
raiz quadrada de um nmero;
diviso entre dois nmeros inteiros.

Quando houver alguma possibilidade de um identificador numrico


receber um valor no inteiro, deve ser declarado como real.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

21

Dado Caractere

So tipos de dados no numricos.

Tambm chamados strings ou literal.

uma seqncia de alfanumricos.

So representados por letras (de A a Z, e de a a z), dgitos (de 0 a 9),


espao em branco ( ) e smbolos especiais (~, ., ?, >, <, etc.) e
ocupam de 1 a 255 bytes de memria.
Devem sempre estar entre aspas

Exemplos: a

ave

7,89

Atenas 2004

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

22

Dado Caractere

A diferena entre dados caracteres e dados numricos esto na forma


de armazenamento, e nas operaes legais permitidas sobre os
mesmos.

Exemplo: operaes aritmticas sobre os dados numricos.

Para diferenciarmos um caractere de um nome de clula de memria


ou de um dado numrico, utilizaremos aspas ( ). Assim:

8 um dado numrico;

8 um caractere;

A um caractere;

A um nome de clula de memria

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

23

Dado Lgico

Tambm chamado de valores verdade ou booleanos.


So os valores que representam o conceito lgico de verdade e
falsidade.
Os dados lgicos s podem assumir uma entre duas possibilidades
(verdadeiro ou falso) e ocupam 1 byte de memria.

S poder armazenar um destes dois valores.

Muito utilizados em controle do fluxo lgico do algoritmo.

Outras formas de representao:

Exemplos:
0e1

VeF

true e false

sim e no

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

24

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Variveis

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

25

Variveis

Como referenciar e recuperar os dados armazenados em um


computador?

os valores so armazenados na memria


cada tipo de dado diferente ocupa um nmero especfico de bytes de memria
para recuperar um certo valor necessrio saber seu tipo e o endereo do byte
inicial ocupado na memria

De forma geral, podemos dizer que a uma clula de memria est


associado um identificador.

O termo varivel freqentemente utilizado como sinnimo de


identificador.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

26

Variveis

Varivel uma entidade que guarda valores que podem ser alterados
no decorrer de um algoritmo.

Embora uma varivel possa assumir diferentes valores, ela s pode


armazenar um valor a cada instante.

Uma varivel no pode armazenar um valor de tipo de dado diferente


daquele para o qual foi criada.

Para indicar identificador e o tipo de uma varivel, existe um lugar


especfico, tanto nos algoritmos quanto programas, normalmente no
incio dos mesmos.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

27

Variveis

Que tipo de dado estes objetos devem armazenar?


possvel armazenar outros tipos de dados nestes objetos?

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

28

Variveis

Em princpio os objetos abaixo devem armazenar somente um tipo de


dado, porm o contedo em si pode variar.
Exemplos

Um vaso armazena dados do tipo flor, entretanto, esta flor pode ser uma rosa,
um cravo, uma orqudea, etc.
Uma mquina fotogrfica armazena filme, mas pode ser colorido ou preto e
branco.
O carrinho de carrega um beb que pode ser o Joozinho, o Marquinhos, a
Aninha, etc.
O cofrinho armazena dinheiro (notas em papel, moeda ou ento dolres, reais,
euros, etc.)
A bomba de combustvel pode conter lcool, gasolina, diesel, gs, etc.
Flor

Filme

Beb

Dinheiro

Combustvel

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

29

Variveis

Em geral, as linguagens de programao exigem nomes de


identificadores com as seguintes caracterstica:

Use somente letras e nmeros;

O primeiro caractere do nome deve ser uma letra;

No permitido o uso de caracteres especiais, exceto o caractere _ .

Exemplos vlidos:

Exemplos invlidos:

Imposto_de_Renda, F1, soma, desconto, SalarioHora.

1f, Imposto-de-renda, salario hora.

O identificador de uma varivel e o tipo de dado que ir armazenar


no se alteram, enquanto o valor a ela associado pode mudar.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

30

Variveis
Atributos (caractersticas) de uma varivel:
Nome, Tipo, Valor associado

Clula de memria
Nome do identificador (varivel)
Tipo de dado que ser armazenado
(inteiro, real, caractere ou lgico)
Valor associado (valor armazenado na
clula de memria)
Endereo Fsico
3000: B712
2000: 12EC
3000: 0004
3000: C223
2000: 11DA

Identificador
nome
numero
letra
medida
resposta

Tipo de dado Valor Associado


caractere
Joo
inteiro
12345
caractere
H
real
0,35
lgico
verdadeiro

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

31

Variveis

Os dados so valores que so armazenados em clulas de memria e


que so acessados (ao longo do algoritmo) por referncia s
variveis;
Assim, se tivermos os identificadores i, r, c, h, para objetos do tipo
inteiro, real, caractere e lgico respectivamente, e atribuirmos os
valores 100; 3,14; Z e falso, teramos a seguinte configurao:

100

3,14

falso

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

32

Variveis

Para a escolha do tipo de um identificador: deve-se conhecer bem a


soluo do problema.

Exemplos de inteiros:
Nmero de pessoas;
Um nmero par ou mpar;
Idade de uma pessoa;
Quantidade de objetos;
Exemplos de reais:
O peso de uma pessoa;
Um percentual;
Nota de uma avaliao;
Mdia;
Preo de um produto;

Exemplos de caracteres:
Um nome de pessoa;
Um endereo;
Um nmero de CEP;
Um nmero de telefone;
Exemplo de lgicos:
Se o sexo feminino;
Se a pessoa maior de
idade;

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

33

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Constantes

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

34

Constantes

Constante uma entidade que guarda valores que no podem ser


alterados no decorrer de um algoritmo.

Pode ser visto como uma varivel cujo valor nunca pode ser alterado.

Possuem um nome nico para sua identificao, chamado de


identificador.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

35

Constantes

Recomenda-se sempre utilizar nomes que ajudem a entender o


algoritmo

Exemplos: pi = 3,1415

sexo_m = masculino

As regras para nomes de constantes so as mesmas para variveis,


ou seja:

Use somente letras e nmeros;

O primeiro caractere do nome deve ser uma letra;

No permitido o uso de caracteres especiais, exceto o caractere _ .

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

36

Declarao de Variveis e Constantes


Varivel
var <identificador> : <tipo de dado>

Constante
const <identificador> = <valor>

Exemplo:

Exemplo:

programa variavel
var x, y, z: real
nome : caractere
ok : lgico
Inicio
<instrues>
Fim.

programa constante
const pi = 3,1415
sexo_m = masculino
Inicio
<instrues>
Fim.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

37

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Atribuio

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

38

Atribuio

As variveis podem ter seus valores modificados durante um


algoritmo.

Esse processo chamado de atribuio.

Dois elementos esto envolvidos:

elemento para o qual realizamos a atribuio

=> varivel

elemento que fornece o valor a ser atribudo

=> expresso

CUIDADO!

O valor a ser atribudo deve ser do mesmo tipo de dado da varivel.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

39

Atribuio

Sintaxe
varivel <valor>
varivel <expresso>

Exemplos:

x 34

sexo FEMININO

yx*3

salrio 128,00

considere as atribuies

a5

se fizermos a b e b c, teremos a = 2, b = 10 e c = 10

b2

c 10

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

40

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Entrada e Sada
de dados
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

41

Professora Vnia Cristina de Souza Pereira

Entrada e Sada de Dados

Um algoritmo tem 3 passos principais:

receber informaes

processar as informaes

gerar uma sada com os resultados:

para o usurio

para um outro algoritmo (ex.: funes)

entrada

ALGORITMO

sada

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

42

Entrada e Sada de Dados

Entrada de Dados

As informaes recebidas por um algoritmo so armazenadas em variveis.


Sintaxe
Pseudocdigo

Leia <lista de variveis>

Fluxograma
<lista de variveis>

Linguagem de
Programao
readln(<lista de variveis>);

ou
<lista de variveis>
Exemplos
Leia x , y
Leia nome_aluno

x,y
nome_aluno

readln(x , y);
readln(nome_aluno);

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

43

Entrada e Sada de Dados

Sada de Dados

As informaes de sada geradas pelo algoritmo podem vir de variveis,


expresses ou constantes.
Sintaxe
Pseudocdigo

Escreva<lista de variveis>

Fluxograma
<lista de
variveis>
ou
<lista de
variveis>

Linguagem de
Programao
writeln(<lista de variveis>);

Exemplos
Escreva x
Escreva Voc pesa , x * 2 , quilos

x
Voc pesa ,
x * 2 , quilos

writeln(x);

Writeln( Voc pesa ,


x * 2 , quilos );

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

44

Exemplo

Faa um algoritmo que transforme uma velocidade fornecida em m/s (metros


por segundo) pelo usurio para Km/h (Kilometros por hora). Para tal,
multiplique o valor em m/s por 3,6.
Fluxograma
Pseudocdigo
programa km_por_hora
var velocidade : real
Incio
escreva Digite velocidade em m/s:
leia velocidade
escreva Velocidade em KM/h: , velocidade * 3.6
fim

Linguagem de Programao
program km_por_hora;
var velocidade : real;
begin
writeln( Digite velocidade em m/s: );
readln(velocidade);
writeln( Velocidade em KM/h: , velocidade * 3.6);
end.

inicio

Digite velocidade
em m/s:

velocidade

Velocidade em KM/h: ,
velocidade * 3.6

fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

45

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Operadores e
Expresses
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

46

Operadores e Expresses

Operadores

Designam uma operao exercida sobre operandos (variveis ou constantes)


para obter um valor.
Podem ser de 3 tipos:
Aritmticos
Relacionais
Lgicos

Expresses

Quando juntamos vrios operadores e seus respectivos operandos temos uma


expresso.
O tipo da expresso relaciona com o valor resultante final da sua avaliao:
Aritmtica
Relacional
Lgica

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

47

Operadores e Expresses Aritmticas

Operadores Aritmticos

Operam sobre tipos de dados numricos.

Operador

Operao

/
*
+

Manuteno de sinal
Inverso de sinal
Exponenciao
Diviso
Multiplicao
Soma

Subtrao

Prioridade
Matemtica
1
1
2
3
3
4
4

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

48

Operadores e Expresses Aritmticas

Expresses Aritmticas
Aquelas cujos operadores so aritmticos e cujos operandos so
constantes e/ou variveis do tipo numrico (inteiro e/ou real);
O resultado da avaliao um valor do tipo de dado numrico.

Expresso Matemtica

Expresso Algortmica

2.a+b

2*a+b

a.x2

a*x2

a
+b
2

a/2+b

Qual o resultado da avaliao da expresso


10 - 4 * 2 + 1 ?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

49

Prioridades de Operadores
Depende da prioridade da avaliao dos operadores!

As operaes so realizadas em uma expresso de acordo com a ordem de


prioridade. Quando houver empate entre operaes, elas sero realizadas da
esquerda para a direita
Operador

Operao

Prioridade Matemtica

Manuteno de sinal

Inverso de sinal

Exponenciao

Diviso

Multiplicao

Soma

Subtrao

Os parnteses quebram o ordem de prioridade natural.

a
2+b

a/2+b
a/(2+b)

errado
certo

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

50

Observaes

O resultado da expresso do lado direito de um comando de


atribuio deve ser coerente com o tipo declarado para a varivel do
lado esquerdo

a b + c;
se b e c so do tipo real ento a tambm deve ser real

Quando houver parnteses aninhados, a prioridade ser do mais


interno.

a / (a + b) - (2 * (b + c))
2
1
4

3
5

Qual o resultado da avaliao da expresso 10 - 4 * 2 + 1 ?


Resp. 3.
Qual o resultado da avaliao da expresso (10 4) *( 2 + 1) ? Resp. 18.
Qual o resultado da avaliao da expresso (10 4) * 2 + 1 ? Resp. 13.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

51

Operadores Relacionais

Operadores Relacionais

Comparao entre objetos (ou entre um objeto e um valor) do mesmo tipo.

O resultado ser sempre do tipo lgico (V ou F).

Operador

Significado

Exemplo de uso

>

Maior que

A > B, 4 > 3, C > 3

<

Menor que

<>

Diferente de

2*A < B 2
A+B <> C

Igual a

A=0

<=

Menor ou igual a

B*A < = 0

>=

Maior ou igual a

a > = b'

O operador relacional perde em prioridade para os operadores aritmticos.


O operador relacional binrio, isto , ele deve envolver um operando a sua
esquerda e um a sua direita.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

52

Operadores Lgicos

Utilizados no processo de tomada de deciso e em controles de


repetio.
O resultado da operao sempre um valor lgico (verdadeiro/falso).
Operador

Significado

Exemplo de uso

Prioridade

Conjuno

A e B

II

OU

Disjuno

A ou B

III

No

Negao

No A

Os operadores E e OU so binrios e o operador NO unrio.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

53

Expresses Lgicas

So expresses que resultam em valores lgicos.


A expresso A e B ser verdadeira quando o operando A e o
operando B produzirem resultados verdadeiros simultaneamente.
Qualquer outra combinao de valores destes operandos produzir
resultado falso.
A expresso A ou B ser verdadeira quando uma das proposies
(operando A ou operando B) produzir resultado verdadeiro.
Combinaes de operandos relacionais e lgicos.

Exemplos:
x >= 0

carro = gol

x <= 1

OU

carro = corsa

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

54

Tabela Verdade

A tabela-verdade representa o funcionamento dos operadores lgicos.


Mostra os resultados das operaes sobre todas as combinaes de
valores dos operandos.

T1

T2

T1 E T2

T1 OU T2

NO T1

Exemplo 1

Exemplo 2

Exemplo 3

Exemplo 4

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

55

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Estruturas
de Seleo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

56

Estruturas de Seleo

Uma estrutura de seleo permite a escolha de um grupo de aes


(bloco) a ser executado quando determinadas condies, representadas
por expresses lgicas ou relacionais, so ou no satisfeitas.
Quando necessrio testar uma certa condio antes de executar uma
ao, usa-se uma seleo simples, que tem o seguinte modelo:
Pseudocdigo
se <condio> ento
<instrues>
fim_se

Linguagem de
Programao
if <condio> then
<instrues>;

Fluxograma
Falso

<condio>

Verdadeiro
<instrues>

Onde se a <condio> for verdadeira ento executar as instrues, caso


contrrio encerra-se a seleo (fim-se), neste caso, sem executar nenhuma
instruo.

57

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Seleo Simples
Exemplo: Clculo da mdia de quatro nmeros do tipo real.
PSEUDOCDIGO
programa selecao
Var n1, n2, n3, n4, media : real
incio
leia n1, n2, n3, n4
media ( n1+ n2 + n3 + n4 ) / 4
se media > = 7 ento
escreva aprovado
fim_se
fim.
LINGUAGEM DE PROGRAMAO
program selecao;
var n1, n2, n3, n4, media: real;
begin
readln (n1, n2, n3, n4);
media := ( n1+ n2 + n3 + n4 ) / 4;
if media > = 7 then
writeln ( aprovado);
end.

Fluxograma
inicio

n1, n2, n3, n4

media
(n1+n2+n3+n4)/4

media >= 7

Falso

Verdadeiro
Aprovado

fim

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

58

Seleo Composta

Quando temos situaes em que duas alternativas dependem de uma


mesma condio, uma alternativa se a condio for verdadeira e outra
se a condio for falsa, usamos a estrutura de seleo composta, que
tem a seguinte estrutura:
Fluxograma

Pseudocdigo
se <condio> ento
<instrues>
seno
<instrues>
fim_se

Linguagem de
Programao
if <condio> then
<instrues>
else
<instrues>;

<condio>

Falso

Verdadeiro

<instrues>

<instrues>

Onde se a <condio> for verdadeira ento executar um determinado grupo


de instrues, caso contrrio executar as instrues que seguem a clusula
seno.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

59

Exemplo

Idade para emisso da carteira de motorista

Pseudocdigo
programa idade
var idade, x : inteiro
inicio
leia idade
se idade >= 18 ento
escreva Voc pode tirar a carteira
seno
escreva Voc no pode tirar a carteira
x 18 idade
escreva Ainda faltam , x , anos
fim_se
fim

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

60

Exemplo
Fluxograma
incio
Linguagem de Programao
idade
program idade;
idade >= 18

Voc no
pode tirar
a carteira

var idade, x : integer;


begin
readln(idade);

V
Voc pode
tirar a
carteira

if (idade >= 18) then


writeln( Voc pode tirar a carteira )

x
18 - idade

else
begin
writeln( Voc no pode tirar a carteira );

Ainda
faltam , x ,
anos

x := 18 idade;
writeln( Ainda faltam , x , anos );
end;
end.

fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

61

Seleo encadeada

Em algumas situaes temos necessidade de agruparmos vrias


selees que recebe o nome de seleo encadeada ou seleo
aninhada.

Exemplo: Verificar qual o maior de trs nmeros digitados

Pseudocdigo

Linguagem de Programao

Programa maior
var a, b, c : real
inicio
leia a, b, c
se (a >= b) e (a >= c) ento
escreva a, o maior
seno
se (b >= a) e (b >= c) ento
escreva b, o maior
seno
escreva c, o maior
fim

Program maior;
var a, b, c : real;
begin
readln(a, b, c);
if (a >= b) and (a >= c) then
writeln ( a, o maior )
else
if (b >= a) and (b >= c) then
writeln ( b, o maior )
else
writeln ( c, o maior );
end.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

62

Seleo encadeada
Fluxograma

incio

a, b, c

a>=b e
a >= c

b>=a e
b >= c

V
c, o maior

a, o maior

b, o maior

fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

63

Estrutura de Seleo Mltipla

Esta uma estrutura que permite que seja executado um nico


conjunto de instrues, entre vrios, de acordo com o valor de um
objeto;
Esta estrutura pode substituir a ocorrncia de vrias estruturas SEENTO ou SE-ENTO-SENO;
A desvantagem em relao ao comando SE que esta estrutura no
analisa condio composta (com mais de um operador)

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

64

Estrutura de Seleo Mltipla

Quando necessrio contruir um programa que utilize uma seqncia grande


de instrues do tipo SE, podemos utilizar a instruo CASO:

Pseudocdigo
caso <varivel>
seja <valor 1> faa <instruo 1>
seja <valor 2> faa <instruo 2>
seja <valor N> faa <instruo N>
seno <instruo>
fim_caso

Onde:
<varivel> uma varivel a ser controlada;
<instruo1> o bloco de instrues que sero executadas se varivel for igual a valor1;
<instruo2> o bloco de instrues que sero executadas se varivel for igual a valor2;
e assim sucessivamente ...
<instruo> o bloco de instrues que sero executadas caso varivel no seja igual a
nenhum dos outros valores especificados anteriormente a seno.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

65

Estrutura de Seleo Mltipla


Fluxograma

Linguagem de Programao
case <expresso> of
<opo 1>: <instruo 1>;
<opo 2>: <instruo 2>;
<opo n>: <instruo n>;
else
<instruo>;
end;

<opo 1>

<instruo 1>

F
<opo 2>

<instruo 2>

<opo n>

<instruo n>

F
<instruo>

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

66

Estrutura de Seleo Mltipla - Exemplo


O algoritmo a seguir, pede a digitao de um nmero que represente o
dia da semana, exibindo-o por extenso.
incio
Pseudocdigo
algoritmo dia_semana
var dia : inteiro
r : caractere
inicio
leia dia
caso dia
seja 1 faa r
DOM
seja 2 faa r
SEG
seja 3 faa r
TER
seja 4 faa r
QUA
seja 5 faa r
QUI
seja 6 faa r
SEX
seja 7 faa r
SAB
seno
r
Dia invlido
fim_caso
escreva r
fim.

Linguagem de
Programao
Program dia_semana;
var dia:integer;
r : string;
begin
read(dia);
case dia of
1 : r := DOM;
2 : r := SEG;
3 : r := SEG;
4 : r := SEG;
5 : r := SEG;
6 : r := SEG;
7 : r := SAB;
else
r := Dia invlido;
end;
write(r);
end.

Fluxograma

dia
dia = 1
F
dia = 2
F
dia = 3
F
dia = 4
F
dia = 5
F
dia = 6
F
dia = 7
F

V
V
V
V
V

r DOM
r SEG
r TER
r QUA
r QUI

r SEX

r SAB

r Dia invlido

r
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

67

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Estruturas
de Repetio
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

68

Estruturas de Repeties

So necessrias quando se tem que repetir uma determinada


instruo, que represente um comportamento padro, vrias vezes.

Com estas estruturas, escreve-se a instruo uma nica vez, e ela


pode ser executada vrias vezes.

Repeties podem ser controladas por:

Condio;

Contador.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

69

Estruturas de Repeties

Quando o controle por contador, a interrupo prevista no


instante em que iniciada a execuo da estrutura de controle de
repeties;

Quando o controle por condio, dever haver uma expresso


lgica, e a interrupo ser controlada por meio do resultado desta
expresso.

imprescindvel que haja uma instruo dentro do bloco de instrues que


permita a alterao do valor lgico da condio;

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

70

Estrutura de Repetio Enquanto


Permite executar diversas vezes um trecho do algoritmo, porm, sempre
verificando antes de cada execuo se permitido executar o trecho.
Pseudocdigo
enquanto <condio> faa
<instrues>
fim_enquanto

Fluxograma

<condio>

Falso

Verdadeiro

Linguagem de
Programao

<instrues>

while <condio> do
<instrues>;

Lembramos que em uma <condio> o resultado deve ser verdadeiro ou


falso.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

71

Estrutura de Repetio Enquanto


enquanto (<condio>) faa
<instrues>
Fim_enquanto

O bloco ser executado enquanto o resultado da <expresso lgica>


for verdadeiro.
Se j da primeira vez o resultado for falso, os comandos no so
executados nem uma vez.
O fluxo neste comando o seguinte: a primeira vez que se chega ao
comando de repetio, feito o teste da <expresso lgica>, que
determina se deve ou no entrar no bloco.
Se entrar, ao final do bloco volta-se para a primeira linha do bloco e
ento testa-se novamente a <expresso lgica>.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

72

Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Pseudocdigo

Linguagem de Programao

Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media: real
incio
cont 0
enquanto cont < 30 faa
leia n1,n2,n3
media (n1+n2+n3)/3
cont cont + 1
escreva media
fim_enquanto
fim

Program Media_30;
var cont : integer;
n1,n2,n3,media : real;
begin
cont := 0;
while cont < 30 do
begin
read (n1,n2,n3);
media := (n1+n2+n3)/3;
cont := cont + 1;
write(media);
end;
end.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

73

Exemplo
Fluxograma

incio
cont 0

cont < 30

V
n1, n2, n3
media
(n1+n2+n3)/3
cont cont +1
media

fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

74

Estrutura de Repetio Para - Faa


uma estrutura de repetio com contador que permite executar uma ou
mais instrues um determinado nmero de vezes.
Para controlar o nmero de repeties, empregamos uma varivel
denominada contador.
Fluxograma

Pseudocdigo
para <varivel> de <incio> at <fim> faa
<instrues>
fim_para

<variavel>
<inicio>,<fim>

Falso

Verdadeiro

Linguagem de Programao
<instrues>

for <varivel>:= <incio> to <fim> do


<instrues>;

<varivel> um identificador para uma varivel do tipo inteiro


Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

75

Estrutura de Repetio Para - Faa


para <varivel> de <incio> at <fim> faa
<seqncia de comandos>
fim_para

Ao encontrar a instruo para atribuda varivel o valor de incio


declarado. A partir da a seqncia de comandos executada
repetidamente, at que a varivel atinja o valor de fim.
A cada vez que a seqncia de comandos executada, a varivel
incrementada automaticamente.
Esta estrutura s pode ser utilizada em repeties controladas por
um contador. Isto , aquelas repeties que sabemos o nmero de
vezes que acontecer quando iniciamos sua execuo.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

76

Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Linguagem de Programao
Pseudocdigo
Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media : real
incio
para cont de 1 at 30 faa
leia ( n1,n2, n3 )
media ( n1+ n2+ n3 ) / 3
escreva (media)
fim_para
fim

Program Media_30;
uses crt;
var cont : integer;
n1,n2,n3,media: real;
begin
clrscr;
for cont := 1 to 30 do
begin
clrscr;
writeln( Digite as 3 notas => ) ;
read ( n1,n2, n3 );
media := ( n1 + n2 + n3 ) / 3;
write(media:0:2);
end;
end.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

77

Exemplo
Fluxograma

incio
cont 1,30

V
n1, n2, n3
media
(n1+n2+n3)/3
media

fim

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

78

Estrutura de Repetio Repita


Esta estrutura permite que uma seqncia de comandos sejam executada
at que uma determinada condio seja satisfeita.
Esse tipo de repetio garante que o comando seja executado pelo menos
uma vez antes que a repetio termine.
Pseudocdigo

Fluxograma

repita
<instrues>
at_que <condio>
Linguagem de Programao

<instrues>

V
<condio>

repeat
<instrues>
until <condio>

<condio> uma expresso lgica, ou seja, o resultado deve ser


verdadeiro ou falso.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

79

Estrutura de Repetio Repita


repita
<seqncia de comandos>
At_que <condio>

O bloco ser executado sempre que o resultado da expresso for


falso, no momento em que se tornar verdadeiro a ao subseqente
ao comando at que ser executada.
O fluxo neste comando o seguinte : a primeira vez que se chega ao
comando de repetio, entra-se no bloco.
Ao final do bloco testa-se a condio e volta para a primeira linha do
bloco se a condio for falsa.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

80

Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Linguagem de Programao
Pseudocdigo
Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media : real
Incio
cont 1
repita
leia (n1,n2, n3 )
media (n1 + n2 + n3 ) / 3
cont cont + 1
escreva (media)
at_que cont > 30
fim

Program Media_30;
uses crt;
var cont : integer;
n1,n2,n3,media: real;
begin
cont := 1;
repeat
clrscr;
writeln( Digite as 3 notas => ) ;
read ( n1, n2, n3 ) ;
media := (n1 + n2 + n3 ) / 3 ;
write( media : 0 : 2 ) ;
cont := cont + 1;
until cont > 30;
end.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

81

Exemplo
Fluxograma

incio
cont 1
n1, n2, n3
media
(n1+n2+n3)/3
cont cont +1
media
F

cont > 30

fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

82

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos e
Lgica de Programao
Material de apoio ao estudo

Resumo

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

83

CONCEITOS BSICOS

ALGORITMOS

So formas de resoluo de um problema, atravs da especificao passo-apasso de como resolv-lo.

A noo de algoritmo bsica em Computao.

Resoluo de Problemas por Computador


Dar uma soluo para um problema computacional significa elaborar um
ALGORITMO em PSEUDO-CDIGO (linguagem intermediria entre a
linguagem natural e a linguagem de programao) e implement-lo numa
linguagem de programao, gerando um PROGRAMA.
Um algoritmo uma seqncia de passos bem definida que resolve
determinado problema, atravs da transformao de dados iniciais na
resposta desejada, tendo cinco importantes caractersticas:

Deve ser finito;


Os passos devem ser bem definidos, sem ambigidades;
Deve ser eficaz;
Deve possuir uma entrada;
Deve produzir uma sada ou resultado.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

84

Resoluo de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO


Algoritmo Nome-do-Algoritmo;
Declarao de constantes e variveis;
Incio
Atribuies;
Comandos de Entrada/Sada;
Estruturas de controle de fluxo
Seleo;
Repetio;
Fim.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

85

Resoluo de Problemas por Computador

Constantes

Variveis

Informao que no sofre variao no decorrer do tempo.


Ex: 5, No Fume, 2548, -0,62, R$10,00, Falso.

Informao que tem a possibilidade de ser alterada em algum instante no


decorrer do tempo.
Ex: Cotao do dlar, peso de uma pessoa, salrio.

Declarao de Variveis e Constantes

Alocar espao de memria do tamanho do tipo-de-dado e dar um nome a este


espao;
Ao longo do programa, usa-se o nome dado ao invs do valor.
CONST n=50
VAR a, b, c, soma : real

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

86

Resoluo de Problemas por Computador

Declarao de Variveis e Constantes

Tipos de Dados
INTEIRO

REAL

LGICO

CARACTERE

Atribuio

Quando definir variveis ?


Quando um elemento da lgica para a resoluo do problema sofrer alteraes de
valor ao longo desta resoluo.
Quando definir constantes ?
Quando uma valor fixo for utilizado vrias vezes na lgica para a resoluo do
problema.

Fornece um valor a uma varivel.


Ex: a 1;
sexo FEMININO;

salrio 128,00;

Comandos de Entrada e Sada

Exemplos do comando de entrada leia:


leia (x);
Exemplos do comando de sada escreva:
escreva (x);
escreva (Bom Dia , nome);

leia (a, nota, faltas);


escreva (a, nota, faltas);
escreva (Voc pesa , x * 2, quilos.);

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

87

Resoluo de Problemas por Computador

Expresses Aritmticas

Aquelas cujos operadores so aritmticos e cujos operandos so constantes e/ou


variveis do tipo numrico (inteiro e/ou real).
Operadores Aritmticos
+ Adio
* Multiplicao
/ Diviso

- Subtrao
Div Diviso de Inteiros

Mod resto da diviso de inteiros.

Expresses Relacionais

Exponenciao

Comparao entre dois valores de um mesmo tipo primitivo. Estes valores podem ser
constantes, variveis ou expresses aritmticas.
O resultado obtido de uma relao sempre um valor lgico.
Operadores Relacionais
= igual a
<> diferente de
> maior que
>= maior igual a
<
menor que
<= menor igual a

Expresses Lgicas

Aquelas cujos operadores so lgicos e/ou relacionais e cujos operandos so relaes


e/ou variveis e/ou constantes do tipo lgico.
Operadores Lgicos
E - Conjuno
OU Disjuno
NO - negao

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

88

Estruturas de Controle de Fluxo

Seqncia

Seleo

simples
composta
mltipla

Repetio

Teste condicional no incio


Nmero de repeties conhecido
Nmero de repeties desconhecido
Teste condicional no fim
Nmero de repeties desconhecido

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

89

Estruturas de Controle de Fluxo


Seqncia
incio
<comando 1>
<comando 2>
...
<comando n>
Fim.

Seleo simples
incio
...
se <condio 1> ento
inicio
<comando 1>
<comando 2>
...
<comando n>
fim
Fim_se
...
fim.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

90

Estruturas de Controle de Fluxo


Seleo composta
incio
...
se <condio> ento
<comando 1>
<comando 2>
...
<comando n>
seno
<comando 1>
<comando 2>
...
<comando n>
Fim_se
...
fim.

Seleo mltipla

}
}

Bloco
Verdade

Bloco
Falso

incio
...
caso <varivel>
seja <valor1> faa <comando 1>
seja <valor2> faa <comando 2>
seja <valorN> faa <comando N>
seno <comando>
fim_caso
...
fim.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

91

Estruturas de Controle de Fluxo


Repetio Usada em trechos do algoritmo em que h a
necessidade de se realizar um bloco de comando um nmero
determinado de vezes.
Repetio com teste no incio ENQUANTO
Permite executar diversas vezes um trecho do algoritmo, porm, sempre verificando
antes de cada execuo se permitido executar o trecho.
enquanto <condio> faa
<comando 1>
<comando 2>

<comando n>
fim_enquanto
Quando o resultado da <expresso lgica> for falso, o comando abandonado.
Se j da primeira vez o resultado for falso, os comandos no so executados
nem uma vez.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

92

Estruturas de Controle de Fluxo

Repetio com teste no final REPITA


repita
<comando 1>
<comando 2>

<comando n>
at que <condio>

O bloco de comandos executado pelo menos uma vez, independente


da validade da <expresso lgica>. Isto ocorre porque a inspeo da
<expresso lgica> feita aps a execuo do bloco.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

93

Estruturas de Controle de Fluxo


Repetio com varivel de controle (PARA)

para <varivel> de <incio> at <fim> faa


<comandos>
fim_para

onde:
<varivel> uma varivel de controle do tipo inteiro;
<incio> o valor inicial da varivel de controle;
<fim> o valor final da varivel de controle, ou seja, o valor at o
qual ela pode chegar.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

94

Comparao entre as estruturas de Repetio

Toda estrutura PARA e REPITA pode ser convertida em ENQUANTO,


mas nem toda estrutura ENQUANTO pode ser convertida em PARA ou
REPITA.

Estrutura

Condio

Quantidade de Execues

Condio de
Existncia

Enquanto

Incio

Indeterminada

Condio
verdadeira

Repita

Fim

Mnimo 1

Condio falsa

Para

Implcita no
incio

(fim inicio)

inicio <= fim

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

95

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Nomenclatura
Bsica do Pascal
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

96

Pascal

Linguagem computacional: largamente utilizada no ensinoaprendizagem de programao de computadores.


Criada por Niklaus Wirth em 1972, na Universidade Tcnica de
Zurique, Suia.
Seu nome homenageia o matemtico Blaise Pascal.
Existem vrios compiladores para esta linguagem, o mais comum no
ambiente acadmico o Turbo Pascal, da Borland.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

97

Pascal

Equivalncia de termos entre pseudocdigo e Pascal:


PSEUDOCDIGO
Algoritmo
Declarao de varivel
Incio
Fim
Caractere
Inteiro
Real
Leia
Escreva

PASCAL
Program
Var
Begin
End
String
Integer
Real
Readln / Read
Writeln / Write
:=

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

98

Pascal

Equivalncia de termos entre pseudocdigo e Pascal:


PSEUDOCDIGO
Se
Ento
Seno
Enquanto
Faa
Repita
At
Para
Caso

PASCAL
If
Then
Else
While
Do
Repeat
Until / To
For
Case... of

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

99

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

100

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

101

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

102

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

103

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Exerccios

Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

104

Exerccios: Lgica - 1
1. Menos conhecidos que seus primos distantes, companheiros da Branca de
Neve, os cinco anes desta histria raramente tm companhia. Eles so
lenhadores. Quando vo para a floresta, cada um pe na cabea um bon de
cor diferente. E cada ano derruba apenas um tipo de rvore, diferente da
dos outros quatro.
Com as indicaes a seguir, voc conseguiria associar cada ano ao seu
bon e sua rvore?
Lo usa bon vermelho.
Dino derruba olmos.
O ano que derruba carvalhos no usa bon amarelo.
Quem usa bon verde corta salgueiros
Boni no usa bon amarelo.
Leno usa bon azul e no preto.
Boni derruba maarandubas.
O ano de bon azul derruba pinheiros.
Tito

Dino

Lo

Boni

Leno

rvore
Bon
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

105

Exerccios: Lgica - 2
2. Oito carros de marcas e cores diferentes esto alinhados, lado a
lado, para uma corrida. Estabelea a ordem em que os carros esto
dispostos, baseando-se nas seguintes informaes:

O Ferrari est entre os carros vermelho e cinza


O Honda o segundo carro direita do carro creme e o segundo a esquerda
co carro marrom
O carro cinza est esquerda da Honda
direita do carro verde est o Sauber
O Renault no tem carro algum sua esquerda e est esquerda do carro
verde
O Mclaren o segundo carro esquerda do Ferrari e o primeiro direita do
carro azul
O Williams no tem carro sua direita e est logo depois do carro preto.
O carro preto est entre o Williams e o carro amarelo
O Toyota o segundo carro esquerda do RBR

Ordem

Cor
Carro
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

106

Exerccios: Lgica - 3

(Prof. Andr Lus P. Santos)

3. Qual o valor da expresso abaixo ? Por qu ?


P = (a - x) . (b - x) . (c - x) . ... . (z - x)

4. Voc tem trs caixas e apenas uma delas tem um presente dentro.
Cada caixa contm uma inscrio, fornecendo uma pista, mas
apenas uma dessas inscries verdadeira.

Caixa n 1 = O presente est aqui


Caixa n 2 = O presente no est aqui
Caixa n 3 = O presente no est na Caixa n 1
Em qual caixa est o presente ? Explique como voc chegou a sua
concluso.

5. Daniela mais jovem do que Adriano; Carlos mais velho do que


Daniela.

Assinale F para as concluses falsas e V para as concluses verdadeiras :


(
) - Adriano mais velho do que Carlos.
(
) - Carlos mais velho do que Adriano e Daniela.
(
) - Carlos e Adriano tm a mesma idade.
(
) - Daniela a mais jovem dos trs.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Exerccios: Lgica - 4

107

(Prof. Andr Lus P. Santos)

6. Trs senhoras, Dona Branca, Dona Rosa e Dona Violeta, passeavam


juntas quando Dona Rosa disse:
No curioso que estejamos usando vestidos das cores branca, rosa e
violeta, embora nenhuma de ns esteja usando um vestido de cor igual ao seu
prprio nome ?
Uma simples coincidncia respondeu a senhora com vestido violeta.
Qual a cor do vestido de cada senhora ? Explique como voc chegou sua
concluso.

7. Um mdico receitou 3 comprimidos para tomar 1 a cada 30 minutos.


Quanto tempo o paciente demora para tomar os 3 comprimidos?

8. Um avio brasileiro embarca em destino aos EUA. O avio sofre um


acidente na fronteira do Brasil com o Paraguai. Onde so enterrados
os sobreviventes?
9. Pelas leis do Brasil, um homem pode se casar com a irm de sua
viva?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

108

Exerccios: Lgica - 5

(Prof. Andr Lus P. Santos)

10. Jos tem o mesmo nmero de irmos e irms. Cada irm, contudo,
tem duas vezes mais irmos que irms. Quantos irmos e irms tem
a famlia?
11. Trs pessoas que almoaram em um restaurante, resolveram dividir
a conta de R$ 30,00 igualmente, ou seja, cada um colaborou com R$
10,00. Contudo o dono do restaurante disse ao garom:
Aqueles so meus conhecidos. Irei cobrar apenas R$ 25,00. Devolva R$
5,00 a eles.
Porm, o garom pensou:
Como vou dividir R$ 5,00 por 3 pessoas ? Devolverei apenas R$ 3,00 e
eles ficaro contentes de qualquer forma!
Feito isso, o garom guardou R$ 2,00 e devolveu os R$ 3,00 restantes. Ou
seja, cada um gastou ento R$ 9,00 que totalizam R$ 27,00 gastos. Estes
R$ 27,00 mais os R$ 2,00 que ficaram com o garom do R$ 29,00. O que
aconteceu com R$ 1,00 ?! Como se explica isso ?

12. Dois guardas vigiam a porta do Cu e a do Inferno. Um deles s fala


a verdade. O outro guarda s fala mentiras, sempre dando
respostas contrrias. Voc no sabe qual o mentiroso. Com uma
pergunta apenas, a somente um dos guardas, voc deve descobrir
a porta do Cu. Qual pergunta voc faria ?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

109

Exerccios: Algoritmos - 1
1. Construa um algoritmo em diagrama de blocos (fluxograma) que :

Leia a cotao do dlar


Leia um valor em dlares
Converta esse valor para Real
Mostre o resultado

2. Desenvolva um algoritmo em pseudocdigo que:

Leia 4 (quatro) nmeros


Calcule o quadrado para cada um
Some todos os quadrados
Mostre o resultado

3. Construa um algoritmo em pseudocdigo para pagamento de comisso de


vendedores de peas, levando-se em considerao que sua comisso
ser de 5% do total da venda e que sero fornecidos os seguintes dados:
Identificao do vendedor
Cdigo da pea
Preo unitrio da pea
Quantidade vendida
E depois construa o diagrama de blocos do algoritmo desenvolvido.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

110

Exerccios: Tipos de Dados - 1


1. Identifique quais os tipos de dados para:

Cotao do dlar
Valor em dlares
Valor em Real
Identificao do vendedor
Cdigo da pea
Preo unitrio da pea
Quantidade vendida

___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________

2. Para realizar uma pesquisa com um grupo de 50 pessoas, foram obtidos os


seguintes dados de cada pessoa: nome, idade, sexo e salrio e depois do
processamento foi informado pelo computador: a quantidade de mulheres
entrevistadas, a quantidade de homens entrevistados e o total de salrio de
todos os entrevistados. Quais os tipos de dados para:

Nome
Idade
Sexo
Salrio
quantidade de mulheres
quantidade de homens
total de salrio

___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

111

Exerccios: Variveis e Constantes - 1


1. Escreva a declarao de constantes e variveis para os exerccios a, b e c.
a) receba cdigo da pea
receba valor da pea
receba quantidade de peas
calcule o valor total da pea (quantidade * valor da pea)
mostre o cdigo da pea e seu valor total
b) A mdia ponderada corresponde a multiplicao de cada valor
fornecido pelo seu peso, a soma de todos os valores dividida pela
soma dos pesos. Se fornecermos trs valores quaisquer e sendo os
pesos 1, 2 e 3, respectivamente, qual ser a mdia ponderada.
c) Para realizar uma pesquisa com um grupo de 50 pessoas, foram
obtidos os seguintes dados de cada pessoa: nome, idade, sexo e
salrio e depois do processamento foi informado pelo computador: a
quantidade de mulheres entrevistadas, a quantidade de homens
entrevistados e a soma total do salrio de todos os entrevistados.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

112

Exerccios: Atribuio - 1
1. Cada um dos comandos de atribuio abaixo tem um erro.
Identifique-os
a) -V A + B

d) PROD A + B

b) 4 I

e) A ((2 + A) * C

c) V - 3,96 X * 1,65

f) A C + D, E + F

2. Escreva comandos de atribuio para efetuar as seguintes tarefas:


a) Atribuir para a varivel X o valor 10, desprezando o antigo valor armazenado
na varivel X.
b) Fazer o valor de I assumir um valor 10 unidades maior que o atual.
c) Trocar o sinal do valor da varivel A.
d) Somar ao valor corrente da varivel BETA o valor 2,51, fazer a soma do novo
valor de BETA com a varivel DELTA e guardar o valor final desta operao
numa varivel chamada GAMA.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

113

Exerccios: Entrada e Sada de Dados - 1


1. Identifique os dados de entrada e sada para os exerccios a, b e c.
a) receba cdigo da pea
receba valor da pea
receba quantidade de peas
calcule o valor total da pea (quantidade * valor da pea)
mostre o cdigo da pea e seu valor total
b) A mdia ponderada corresponde a multiplicao de cada valor
fornecido pelo seu peso, a soma de todos os valores dividida pela
soma dos pesos. Se fornecermos trs valores quaisquer e sendo os
pesos 1, 2 e 3, respectivamente, qual ser a mdia ponderada.
c) Para realizar uma pesquisa com um grupo de 50 pessoas, foram
obtidos os seguintes dados de cada pessoa: nome, idade, sexo e
salrio e depois do processamento foi informado pelo computador: a
quantidade de mulheres entrevistadas, a quantidade de homens
entrevistados e a soma total do salrio de todos os entrevistados.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

114

Exerccios: Entrada e Sada de Dados - 2


2. Escreva os algoritmos dos enunciados abaixo:
a) Leia seu nome, endereo, telefone, data de nascimento, data de hoje. Calcule
a sua idade e escreva na tela.
b) Leia dois nmeros inteiros quaisquer e calcule a soma e o produto entre eles,
e a subtrao e a diviso do primeiro valor com o segundo. Escreva o
resultado na tela. Considere o segundo nmero diferente de zero.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

115

Exerccios: Operadores e Expresses - 1


1. Calcule o valor das expresses:
a) 1 + 7 * 2 2 1

b) 3 * ( 1 2 ) + 4 * 2

2. Exerccio: qual o resultado da expresso relacional A+3 > B quando:


a) A tem valor igual a 5 e B igual a 8;
b) A tem valor igual a 0 e B igual a -3;
c) A tem valor igual a 1 e B igual a 1;
d) A tem valor igual a -3 e B igual a 1;

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

116

Exerccios: Operadores e Expresses - 2


3. Indique a ordem de avaliao das expresses:
a) A * B + C * D E
b) A / B * D / 2 * C
c) B / ( ( A + B ) * C ) + A 2
d) ( A + B + C ) + ( D * E )

4. Preencha a Tabela-verdade
T1

T2

( T1 > T2 ) ou ( T1 = T2 )

( ( T1 + T2 ) - ( T1 * 2 ) ) > ( T2 * 4 )

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

117

Exerccios: Estruturas de Seleo - 1


1. Dado o algoritmo a seguir, responda:
programa pensar
Var A, B, C : lgico
Incio
se A ento
Comando_1
seno
se B ento
se C ento
Comando_2
seno
Comando_3
Comando_4
fim_se
fim_se
Comando_5
fim-se
Comando_6
Fim.

a)

Se A = V, B = V, C = F, quais
comandos sero executados?

b)

Se A = F, B = V, C = F, quais
comandos sero executados?

c)

Se A = F, B = V, C = V, quais
comandos sero executados?

d)

Quais os so os valores de A, B, e
C para que sempre o Comando_5
seja executado?

e)

Quais os so os valores de A, B, e
C para que somente o Comando_6
seja executado?

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

118

Exerccios: Estruturas de Seleo - 2


2. Escreva um programa que verifique se um nmero inteiro qualquer
digitado par ou impar.
3. Escrever um programa que que receba duas variveis reais e atribua
a uma terceira varivel o maior valor.
4. Codifique um programa que avalie se um aluno est aprovado ou no
conforme o critrio de aprovao da Uninove, ou seja, mdia maior
ou igual a 7 o alunos est aprovado, mdia abaixo de 7 exame. Se o
aluno estiver em exame, ler sua nota de exame e verificar se est
aprovado ou no. O critrio para o clculo da mdia final para os
alunos que esto em exame a soma da media com a nota do
exame dividido por dois. A mdia final dever ser maior ou igual a 5.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

119

Exerccios: Estruturas de Seleo - 3


5. Faa um algoritmo para calcular o valor total a pagar por um
consumidor que abasteceu seu carro, sabendo que sero
informados o tipo de combustvel escolhido (G/A/D) e o nmero de
litros consumido. Considere os seguintes preos por litro de
combustvel:

Gasolina R$ 1,70;

lcool R$ 1,20;

Diesel R$ 0,90.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

120

Exerccios: Estruturas de Seleo - 4


6. Escrever um algoritmo que leia o cdigo do item pedido, a
quantidade e calcule o valor a ser pago por aquele lanche. Considere
que a cada execuo somente ser calculado um item.
Cdigo

Item

Preo

100

cachorro-quente

1,10

101

bauru simples

1,30

102

bauru com ovo

1,50

103

refrigerante

0,70

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

121

Exerccios: Estruturas de Seleo - 5


7. Uma empresa conceder um aumento de salrio aos seus
funcionrios, varivel de acordo com o cargo, conforme a tabela
abaixo. Faa um algoritmo que leia o salrio e o cdigo do cargo de
um funcionrio e calcule o novo salrio. Se o cargo do funcionrio
no estiver na tabela, ele dever, ento, receber 40% de aumento.
Mostre o salrio antigo, o novo salrio e a diferena.
Cdigo

Cargo

Aumento

001

gerente

10%

002

engenheiro

20%

003

tcnico

30%

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

122

Exerccios: Estruturas de Seleo - 6


8. Faa um algoritmo que calcule e informe o valor total do salrio
semanal de um vendedor de carros, sabendo que o mesmo ganha
um salrio fixo de R$ 300,00 e mais comisso.
A comisso igual a 3% se ele vender menos de 3 carros p/ semana;
5% se vender entre 4 e 6 carros; e 7% se vender entre 7 e 10 carros;
e 10% se vender alm de 10 carros.
Suponha que todos os carros vendidos custem R$ 10.000,00 e que
ser informado o nmero de carros vendidos p/ semana pelo
vendedor.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

123

Exerccios: Estruturas de Repetio - 1


1. Foi feita uma pesquisa em uma universidade entre os acadmicos
matriculados na instituio. Todos os acadmicos que estavam
presentes no dia da pesquisa, preencheram ao seguinte
questionrio:
Sexo? (M- masculino; F- feminino):
Idade? (em anos):
Gosta do curso que est fazendo? (S- sim; N- no):
O nmero de pessoas que responderam ao questionrio indeterminado.
Faa um algoritmo que seja capaz de calcular e informar:
a) o nmero de homens entrevistados com menos de 23 anos;
b) o nmero de mulheres entrevistadas que esto gostando do curso que
esto fazendo;
c) o total de alunos entrevistados.

2. Escreva um algoritmo que leia um nmero inteiro e calcule o seu


fatorial. (Dica: 5! = 5x4x3x2x1 = 120)
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

124

Exerccios: Estruturas de Repetio - 2


3. Durante os meses de julho e agosto, foram colhidas as temperaturas
mdias dirias de uma determinada regio em graus celsius. Faa
um algoritmo com a estrutura de repetio adequada que calcule e
informe a temperatura mdia do perodo e a temperatura mais alta
do perodo.
4. Durante um perodo indeterminado de dias de um determinado ms,
foram colhidas as temperaturas mdias dirias de uma determinada
regio em graus celsius. Faa um algoritmo com a estrutura de
repetio adequada, que calcule e informe a quantidade de dias
avaliados, temperatura mdia e a temperatura mais alta do perodo.

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

125

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo

Soluo dos
Exerccios de Lgica
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br

Professora Vnia Cristina de Souza Pereira

126

Exerccios: Lgica - 1
1. Menos conhecidos que seus primos distantes, companheiros da Branca de
Neve, os cinco anes desta histria raramente tm companhia. Eles so
lenhadores. Quando vo para a floresta, cada um pe na cabea um bon de
cor diferente. E cada ano derruba apenas um tipo de rvore, diferente da
dos outros quatro.

Com as indicaes a seguir, voc conseguiria associar cada ano ao seu bon e sua
rvore?
Lo usa bon vermelho.
Dino derruba olmos.
O ano que derruba carvalhos no usa bon amarelo.
Quem usa bon verde corta salgueiros
Boni no usa bon amarelo.
Leno usa bon azul e no preto.
Boni derruba maarandubas.
O ano de bon azul derruba pinheiros.

rvore

Tito

Dino

Lo

Boni

Leno

salgueiros

olmos

carvalhos

maarandubas

pinheiros

verde

amarelo

vermelho

preto

azul

Bon

127

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Exerccios: Lgica - 2
2. Oito carros de marcas e cores diferentes esto alinhados, lado a lado, para
uma corrida. Estabelea a ordem em que os carros esto dispostos,
baseando-se nas seguintes informaes:
5 O Ferrari est entre os carros vermelho e cinza
8 O Honda o segundo carro direita do carro creme e o segundo a esquerda
co carro marrom
6 O carro cinza est esquerda da Honda
4 direita do carro verde est o Sauber
2 O Renault no tem carro algum sua esquerda e est esquerda do carro
verde
7 O Mclaren o segundo carro esquerda do Ferrari e o primeiro direita do
carro azul
1 O Williams no tem carro sua direita e est logo depois do carro preto.
3 O carro preto est entre o Williams e o carro amarelo
9 O Toyota o segundo carro esquerda do RBR
Ordem

Cor

Azul

Verde

Vermelho

Creme

Cinza

Amarelo

Preto

Marrom

Carro

Renault

Mclaren

Sauber

Ferrari

Toyota

Honda

RBR

Willians

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

128

Exerccios: Lgica - 3

(Prof. Andr Lus P. Santos)

3. Qual o valor da expresso abaixo ? Por qu ?

P = (a - x) . (b - x) . (c - x) . ... . (z - x)

4. Voc tem trs caixas e apenas uma delas tem um presente dentro. Cada caixa contm
uma inscrio, fornecendo uma pista, mas apenas uma dessas inscries verdadeira.

Caixa n 1 = O presente est aqui


Caixa n 2 = O presente no est aqui
Caixa n 3 = O presente no est na Caixa n 1
Em qual caixa est o presente ? Explique como voc chegou a sua concluso.

5. Daniela mais jovem do que Adriano; Carlos mais velho do que Daniela.

Assinale F para as concluses falsas e V para as concluses verdadeiras :

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Exerccios: Lgica - 4

129

(Prof. Andr Lus P. Santos)

6. Trs senhoras, Dona Branca, Dona Rosa e Dona Violeta, passeavam juntas quando
Dona Rosa disse:
No curioso que estejamos usando vestidos das cores branca, rosa e violeta, embora nenhuma de
ns esteja usando um vestido de cor igual ao seu prprio nome ?
Uma simples coincidncia respondeu a senhora com vestido violeta.
Qual a cor do vestido de cada senhora ? Explique como voc chegou sua concluso.

7. Um mdico receitou 3 comprimidos para tomar 1 a cada 30 minutos.


Quanto tempo o paciente demora para tomar os 3 comprimidos?

8. Um avio brasileiro embarca em destino aos EUA. O avio sofre um acidente na


fronteira do Brasil com o Paraguai. Onde so enterrados os sobreviventes?

9. Pelas leis do Brasil, um homem pode se casar com a irm de sua viva?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

130

Exerccios: Lgica - 5

(Prof. Andr Lus P. Santos)

10. Jos tem o mesmo nmero de irmos e irms. Cada irm, contudo, tem duas vezes
mais irmos que irms. Quantos irmos e irms tem a famlia?

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

Exerccios: Lgica - 5

131

(Prof. Andr Lus P. Santos)

11. Trs pessoas que almoaram em um restaurante, resolveram dividir a conta de R$ 30,00
igualmente, ou seja, cada um colaborou com R$ 10,00. Contudo o dono do restaurante disse ao
garom:
Aqueles so meus conhecidos. Irei cobrar apenas R$ 25,00. Devolva R$ 5,00 a eles.
Porm, o garom pensou:
Como vou dividir R$ 5,00 por 3 pessoas ? Devolverei apenas R$ 3,00 e eles ficaro contentes de
qualquer forma!
Feito isso, o garom guardou R$ 2,00 e devolveu os R$ 3,00 restantes. Ou seja, cada um gastou ento
R$ 9,00 que totalizam R$ 27,00 gastos. Estes R$ 27,00 mais os R$ 2,00 que ficaram com o garom
do R$ 29,00. O que aconteceu com R$ 1,00 ?! Como se explica isso ?

12. Dois guardas vigiam a porta do Cu e a do Inferno. Um deles s fala a verdade. O outro guarda s
fala mentiras, sempre dando respostas contrrias. Voc no sabe qual o mentiroso. Com uma
pergunta apenas, a somente um dos guardas, voc deve descobrir a porta do Cu. Qual pergunta
voc faria ?

Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP

132

Centro Universitrio Nove de Julho - UNINOVE

Algoritmos
Algoritmos ee
Lgica
de
Programao
Lgica
de
Programao
Material de apoio ao estudo
Em
Em caso
caso de
de dvidas
dvidas escreva
escreva para:
para:
vcspereira@uninove.br
vcspereira@uninove.br
Material
Material disponvel
disponvel para
para download
download em:
em:
http://prof.vania.cristina.sites.uol.com.br
http://prof.vania.cristina.sites.uol.com.br
Notas de aulas
Professora Vnia Cristina de Souza Pereira

133