Anda di halaman 1dari 0

1

Professora Vnia Cristina de Souza Pereira


Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Introduo
Algoritmos e
Lgica de Programao
Introduo
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
2
Introduo
Ementa:
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.
Objetivos:
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
3
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
4
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 ___/___/___
5
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Lgica
Algoritmos e
Lgica de Programao
Lgica
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
6
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
7
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
8
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.
9
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Algoritmos
Algoritmos e
Lgica de Programao
Algoritmos
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
10
Algoritmos - Introduo
Lgica de Programao
a tcnica de encadear pensamentos para atingir determinado objetivo.
Seqncia Lgica
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
11
Algoritmos - Introduo
Algoritmo
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
Programas
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
12
Representao de Algoritmos
Duas principais formas de representao
Pseudocdigo
Fluxograma
Pseudocdigo
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
13
Pseudocdigo
Tem a seguinte estrutura
programa <identificador-do-programa>
<declaraes>
Incio
<instrues>
Fim.
Onde:
<identificador-do-programa>
o nome dado ao algoritmo pelo programador
<declaraes>
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
14
Indica o incio ou
trmino de um
fluxograma
Tomada de deciso
Procedimento interno
e/ou
mudana de contedo
Sada de dados
Entrada de dados
Fluxograma smbolos bsicos
Repetio
ou
ou
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
15
Elaborar o algoritmo que faa a soma de dois nmeros inteiros quaisquer
Exemplo
fim
incio
n1,n2
result
n1+n2
result
Fluxograma
programa somadoisnum
var n1, n2, result: inteiro
incio
leia n1
leia n2
result n1 + n2
escreva result
fim.
Pseudocdigo
program somadoisnum;
var n1, n2, result : integer;
begin
readln( n1 );
readln( n2 );
result := n1 + n2;
writeln(result);
end.
Linguagem de Programao
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
16
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.
Usurio
Programador
17
Algoritmos e
Lgica de Programao
Tipo de Dados
Algoritmos e
Lgica de Programao
Tipo de Dados
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
18
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
19
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
Caractere
Inteiro Real
Lgico Numrico
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
20
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 0 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 * 10
38
e ocupam 6 bytes de memria.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
21
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.
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.
Inteiros
Reais
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
22
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
23
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
24
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:
0 e 1 V e F true e false sim e no
25
Algoritmos e
Lgica de Programao
Variveis
Algoritmos e
Lgica de Programao
Variveis
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
26
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
27
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
28
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
29
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.
Combustvel Dinheiro Beb Filme Flor
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
30
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:
Imposto_de_Renda, F1, soma, desconto, SalarioHora.
Exemplos invlidos:
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
31
Variveis
Atributos (caractersticas) de uma varivel:
Nome, Tipo, Valor associado
Clula de memria
Valor associado (valor armazenado na
clula de memria)
Nome do identificador (varivel)
Tipo de dado que ser armazenado
(inteiro, real, caractere ou lgico)
Endereo Fsico Identificador Tipo de dado Valor Associado
3000: B712 nome caractere Joo
2000: 12EC numero inteiro 12345
3000: 0004 letra caractere H
3000: C223 medida real 0,35
2000: 11DA resposta lgico verdadeiro
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
32
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 falso Z 3,14
i c r h
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
33
Para a escolha do tipo de um identificador: deve-se conhecer bem a
soluo do problema.
Variveis
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;
34
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Constantes
Algoritmos e
Lgica de Programao
Constantes
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
35
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
36
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
37
Varivel
var <identificador> : <tipo de dado>
Exemplo:
programa variavel
var x, y, z: real
nome : caractere
ok : lgico
Inicio
<instrues>
Fim.
Declarao de Variveis e Constantes
Constante
const <identificador> = <valor>
Exemplo:
programa constante
const pi = 3,1415
sexo_m = masculino
Inicio
<instrues>
Fim.
38
Algoritmos e
Lgica de Programao
Atribuio
Algoritmos e
Lgica de Programao
Atribuio
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
39
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
40
Atribuio
Sintaxe
varivel <valor>
varivel <expresso>
Exemplos:
x 34 sexo FEMININO
y x * 3 salrio 128,00
considere as atribuies
a 5 b 2 c 10
se fizermos a b e b c, teremos a = 2, b = 10 e c = 10
41
Algoritmos e
Lgica de Programao
Entrada e Sada
de dados
Algoritmos e
Lgica de Programao
Entrada e Sada
de dados
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
42
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)
ALGORITMO
entrada sada
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
43
Entrada e Sada de Dados
Fluxograma Pseudocdigo Linguagem de
Programao
Entrada de Dados
As informaes recebidas por um algoritmo so armazenadas em variveis.
Sintaxe
Leia <lista de variveis> <lista de variveis> readln(<lista de variveis>);
ou
<lista de variveis>
Exemplos
Leia x , y x , y readln(x , y);
Leia nome_aluno nome_aluno readln(nome_aluno);
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
44
Entrada e Sada de Dados
Fluxograma Pseudocdigo Linguagem de
Programao
Writeln( Voc pesa ,
x * 2 , quilos );
Sada de Dados
As informaes de sada geradas pelo algoritmo podem vir de variveis,
expresses ou constantes.
Sintaxe
Escreva<lista de variveis> <lista de writeln(<lista de variveis>);
variveis>
ou
<lista de
variveis>
Exemplos
Escreva x x writeln(x);
Escreva Voc pesa , x * 2 , quilos Voc pesa ,
x * 2 , quilos
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
45
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.
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
fim
velocidade
Velocidade em KM/h: ,
velocidade * 3.6
Digite velocidade
em m/s:
Fluxograma
46
Algoritmos e
Lgica de Programao
Operadores e
Expresses
Algoritmos e
Lgica de Programao
Operadores e
Expresses
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
47
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
48
Operadores e Expresses Aritmticas
Operadores Aritmticos
Operam sobre tipos de dados numricos.
Prioridade
Matemtica
Operao Operador
Subtrao
Soma
Multiplicao
Diviso
Exponenciao
Inverso de sinal
Manuteno de sinal
4 -
4 +
3 *
3 /
2
1 -
1 +
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
49
Operadores e Expresses Aritmticas
Expresso Algortmica
2 * a + b
a / 2 + b
a * x 2
Qual o resultado da avaliao da expresso
10 - 4 * 2 + 1 ?
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
a
2 . a + b
a . x
2
2
+ b
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
50
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
Os parnteses quebram o ordem de prioridade natural.
a
2+b
a / 2 + b
a / ( 2 + b )
errado
certo
Prioridade Matemtica Operao Operador
Subtrao
Soma
Multiplicao
Diviso
Exponenciao
Inverso de sinal
Manuteno de sinal
4 -
4 +
3 *
3 /
2
1 -
1 +
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
51
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.
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.
a / (a +b) - (2 * (b +c))
2 1
3 4
5
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
52
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).
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.
Operador Exemplo de uso Significado
> A > B, 4 > 3, C > 3
=
Diferente de
Igual a
<= Menor ou igual a B*A < = 0
A = 0
A+B <> C
Menor que
2*A < B 2
Maior que
<
<>
>= Maior ou igual a a > = b'
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
53
Operadores Lgicos
Utilizados no processo de tomada de deciso e em controles de
repetio.
O resultado da operao sempre um valor lgico (verdadeiro/falso).
Os operadores E e OU so binrios e o operador NO unrio.
Operador Exemplo de uso Significado Prioridade
E A e B Conjuno II
Disjuno A ou B OU III
No A No I Negao
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
54
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 E x <= 1
carro = gol OU carro = corsa
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
55
Tabela Verdade
A tabela-verdade representa o funcionamento dos operadores lgicos.
Mostra os resultados das operaes sobre todas as combinaes de
valores dos operandos.
V F F F F Exemplo 4
V V F V F Exemplo 3
F V F F V Exemplo 2
F V V V V Exemplo 1
NO T1 T1 OU T2 T1 E T2 T2 T1
56
Algoritmos e
Lgica de Programao
Estruturas
de Seleo
Algoritmos e
Lgica de Programao
Estruturas
de Seleo
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
57
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 Linguagem de
Programao
se <condio> ento if <condio> then
<instrues> <instrues>;
fim_se
Onde se a <condio> for verdadeira ento executar as instrues, caso
contrrio encerra-se a seleo (fim-se), neste caso, sem executar nenhuma
instruo.
<condio>
<instrues>
Falso
Verdadeiro
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
58
Seleo Simples
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.
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.
Falso
Verdadeiro
inicio
fim
n1, n2, n3, n4
Aprovado
media
(n1+n2+n3+n4)/4
media >= 7
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
59
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:
Pseudocdigo Linguagem de
Programao
se <condio> ento if <condio> then
<instrues> <instrues>
seno else
<instrues> <instrues>;
fim_se
Onde se a <condio> for verdadeira ento executar um determinado grupo
de instrues, caso contrrio executar as instrues que seguem a clusula
seno.
<condio>
<instrues>
Falso
Verdadeiro
<instrues>
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
60
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
61
Exemplo
F
incio
idade
Voc no
pode tirar
a carteira
Voc pode
tirar a
carteira
x
18 - idade
Ainda
faltam , x ,
anos
fim
V
idade >= 18
Linguagem de Programao
program idade;
var idade, x : integer;
begin
readln(idade);
if (idade >= 18) then
writeln( Voc pode tirar a carteira )
else
begin
writeln( Voc no pode tirar a carteira );
x := 18 idade;
writeln( Ainda faltam , x , anos );
end;
end.
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
62
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
Linguagem de Programao
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.
Pseudocdigo
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
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
63
Seleo encadeada
incio
a, b, c
a, o maior
fim
F
V
b, o maior
V
c, o maior
F
a>=b e
a >= c
b>=a e
b >= c
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
64
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 SE-
ENTO 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
65
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
66
Estrutura de Seleo Mltipla
Linguagem de Programao
case <expresso> of
<opo 1>: <instruo 1>;
<opo 2>: <instruo 2>;
<opo n>: <instruo n>;
else <instruo>;
end;
V
V
F
F
F
<opo 1>
<opo 2>
<opo n>
<instruo>
<instruo 2>
<instruo n>
V
<instruo 1>
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
67
Estrutura de Seleo Mltipla - Exemplo
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.
O algoritmo a seguir, pede a digitao de um nmero que represente o
dia da semana, exibindo-o por extenso.
V
V
V
V
V
V
F
F
F
F
F
F
F
V
incio
dia = 1
dia = 3
dia = 4
dia = 5
dia = 6
dia = 2
dia
dia = 7
r Dia invlido
r DOM
r SEG
r TER
r QUA
r QUI
r SEX
r SAB
r fim
Fluxograma
68
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Estruturas
de Repetio
Algoritmos e
Lgica de Programao
Estruturas
de Repetio
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
69
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
70
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
71
Estrutura de Repetio Enquanto
Pseudocdigo
enquanto <condio> faa
<instrues>
fim_enquanto
Lembramos que em uma <condio> o resultado deve ser verdadeiro ou
falso.
Permite executar diversas vezes um trecho do algoritmo, porm, sempre
verificando antes antes de cada execuo se permitido executar o trecho.
Linguagem de
Programao
while <condio> do
<instrues>;
Falso
Verdadeiro
Fluxograma
<condio>
<instrues>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
72
Estrutura de Repetio 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>.
enquanto (<condio>) faa
<instrues>
Fim_enquanto
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
73
Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Pseudocdigo
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
Linguagem de Programao
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
74
Exemplo
F
V
Fluxograma
cont < 30
media
(n1+n2+n3)/3
cont 0
incio
n1, n2, n3
cont cont +1
media
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
75
Estrutura de Repetio Para - Faa
Pseudocdigo
para <varivel> de <incio> at <fim> faa
<instrues>
fim_para
<varivel> um identificador para uma varivel do tipo inteiro
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.
Linguagem de Programao
for <varivel>:= <incio> to <fim> do
<instrues>;
Falso
Verdadeiro
Fluxograma
<variavel>
<inicio>,<fim>
<instrues>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
76
Estrutura de Repetio Para - Faa
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.
para <varivel> de <incio> at <fim> faa
<seqncia de comandos>
fim_para
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
77
Exemplo
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
Linguagem de Programao
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.
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
78
Exemplo
F
V
Fluxograma
cont 1,30
media
(n1+n2+n3)/3
incio
n1, n2, n3
media
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
79
Estrutura de Repetio Repita
Pseudocdigo
repita
<instrues>
at_que <condio>
<condio> uma expresso lgica, ou seja, o resultado deve ser
verdadeiro ou falso.
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.
Linguagem de Programao
repeat
<instrues>
until <condio>
F
V
Fluxograma
<condio>
<instrues>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
80
Estrutura de Repetio Repita
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.
repita
<seqncia de comandos>
At_que <condio>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
81
Linguagem de Programao
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.
Exemplo
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
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
82
Exemplo
F V
Fluxograma
cont > 30
media
(n1+n2+n3)/3
cont 1
incio
n1, n2, n3
cont cont +1
media
fim
83
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Resumo
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
84
CONCEITOS BSICOS
ALGORITMOS
So formas de resoluo de um problema, atravs da especificao passo-a-
passo de como resolv-lo.
A noo de algoritmo bsica em Computao.
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.
Resolu Resolu o de Problemas por Computador o de Problemas por Computador
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
85
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
86
Resoluo de Problemas por Computador
Constantes
Informao que no sofre variao no decorrer do tempo.
Ex: 5, No Fume, 2548, -0,62, R$10,00, Falso.
Variveis
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
87
Resoluo de Problemas por Computador
Declarao de Variveis e Constantes
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.
Tipos de Dados
INTEIRO REAL LGICO CARACTERE
Atribuio
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); leia (a, nota, faltas);
Exemplos do comando de sada escreva:
escreva (x); escreva (a, nota, faltas);
escreva (Bom Dia , nome); escreva (Voc pesa , x * 2, quilos.);
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
88
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 Exponenciao
Div Diviso de Inteiros Mod resto da diviso de inteiros.
Expresses Relacionais
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
89
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
90
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
91
Estruturas de Controle de Fluxo
Seleo mltipla
incio
...
caso <varivel>
seja <valor1> faa <comando 1>
seja <valor2> faa <comando 2>
seja <valorN> faa <comando N>
seno <comando>
fim_caso
...
fim.
Seleo composta
incio
...
se <condio> ento
<comando 1>
<comando 2>
...
<comando n>
seno
<comando 1>
<comando 2>
...
<comando n>
Fim_se
...
fim.
}
}
Bloco
Verdade
Bloco
Falso
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
92
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.
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.
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 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
94
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
95
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.
inicio <= fim (fim inicio)
Implcita no
incio
Para
Condio falsa Mnimo 1 Fim Repita
Condio
verdadeira
Indeterminada Incio Enquanto
Condio de
Existncia
Quantidade de Execues Condio Estrutura
96
Algoritmos e
Lgica de Programao
Nomenclatura
Bsica do Pascal
Algoritmos e
Lgica de Programao
Nomenclatura
Bsica do Pascal
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material de apoio ao estudo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
97
Pascal
Linguagem computacional: largamente utilizada no ensino-
aprendizagem 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
98
Pascal
Equivalncia de termos entre pseudocdigo e Pascal:
Program Algoritmo
:=
Writeln / Write Escreva
Readln / Read Leia
Real Real
Integer Inteiro
String Caractere
End Fim
Begin Incio
Var Declarao de varivel
PASCAL PSEUDOCDIGO
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
99
Pascal
Equivalncia de termos entre pseudocdigo e Pascal:
Case... of Caso
For Para
Until / To At
Repeat Repita
Do Faa
While Enquanto
Else Seno
Then Ento
If Se
PASCAL PSEUDOCDIGO
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
104
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Exerccios
Algoritmos e
Lgica de Programao
Exerccios
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
105
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.
Bon
rvore
Leno Boni Lo Dino Tito
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
106
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
Carro
Cor
Ordem 8 7 6 5 4 3 2 1
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
107
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
108
Exerccios: Lgica - 4 (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
109
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
110
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
111
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
112
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
113
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
114
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
115
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
116
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
117
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
4 2
2 8
( ( T1 + T2 ) - ( T1 * 2 ) ) > ( T2 * 4 ) ( T1 > T2 ) ou ( T1 = T2 ) T2 T1
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
118
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
119
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
120
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
121
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
122
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
123
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
124
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
125
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.
126
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Soluo dos
Exerccios de Lgica
Algoritmos e
Lgica de Programao
Soluo dos
Exerccios de Lgica
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
127
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.
azul preto vermelho amarelo verde Bon
pinheiros maarandubas carvalhos olmos salgueiros rvore
Leno Boni Lo Dino Tito
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
128
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
Carro
Cor
Ordem
Willians RBR Honda Toyota Ferrari Sauber Mclaren Renault
Marrom Preto Amarelo Cinza Creme Vermelho Verde Azul
8 7 6 5 4 3 2 1
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
129
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
130
Exerccios: Lgica - 4 (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
131
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
132
Exerccios: Lgica - 5 (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 ?
133
Material de apoio ao estudo
Notas de aulas
Algoritmos e
Lgica de Programao
Em caso de dvidas escreva para:
vcspereira@uninove.br
Material disponvel para download em:
http://prof.vania.cristina.sites.uol.com.br
Algoritmos e
Lgica de Programao
Em caso de dvidas escreva para:
vcspereira@uninove.br
Material disponvel para download em:
http://prof.vania.cristina.sites.uol.com.br
Professora Vnia Cristina de Souza Pereira
Centro Universit Centro Universit rio Nove de Julho rio Nove de Julho - - UNINOVE UNINOVE

Anda mungkin juga menyukai