Algoritmo
Algoritmo
LÓGICA DE PROGRAMAÇÃO
Zareif Dib
[email protected]
OBJETIVO
• Utiliza corretamente o algoritmo
para representar uma tarefa a ser
processada pelo computador;
O PROGRAMADOR
• A meta principal de qualquer programador é
resolver problemas por meio de soluções
lógicas para obter resultados eficazes e
eficientes.
• Porém se esta solução não for planejada
(passo a passo), com certeza esta meta não
será atingida.
LÓGICA
• É a técnica de encadear pensamentos para
atingir determinado objetivo.
LÓGICA DE PROGRAMAÇÃO
Algoritmos só se aprendem:
- Construindo Algoritmos
- Testando Algoritmos
Formas Representar ALGORITMO
• DESCRIÇÃO NARRATIVA
• FLUXOGRAMA
• LINGUAGEM ALGORÍTMICA
DESCRIÇÃO NARRATIVA
ALGORITMO Ligar_Carro;
Inicio
Entrar no carro;
Ajustar o banco e os espelhos retrovisores;
Colocar o cambio no ponto morto;
Ligar o carro;
Colocar o cambio na primeira marcha;
Pisar no acelerador;
Soltar o freio de mão;
Soltar a embreagem devagar;
fim.
DESCRIÇÃO NARRATIVA
ALGORITMO Calculo_Area_Retangulo;
Inicio
Entrar com o valor base;
Entrar com o valor altura;
Área é igual a base multiplicado pela altura;
Apresentar a Área;
fim.
EXERCICIO
• Usando os comando abaixo faça um
algoritmo descritivo para troca de lâmpada.
– Subir escada
– Colocar lâmpada nova
– Retirar lâmpada velha
– Descer escada
– Posicionar escada embaixo da lâmpada
Algoritmo troca_lampada
inicio
testar lampada
ENQUANTO ter lampada queimada FAÇA
Posicionar escada embaixo da lâmpada
Subir escada
Retirar lâmpada velha
Descer escada
pegar a nova lampada
Subir escada
Colocar lâmpada nova
Descer escada
testar lampada
FIMENQUANTO
guardar escada
fim
TROCA DE LÂMPADA COM TESTE
• O programa anterior fará troca mesmo se a
lâmpada estiver funcionando.
Algoritmo troca_com_teste;
inicio
Ligar interruptor;
SE a lâmpada não acender ENTÃO
Posicionar escada embaixo da lâmpada;
Subir escada;
Retirar lâmpada velha;
Colocar lâmpada nova;
Descer escada;
fimse;
fim.
TROCA DE VARIAS LÂMPADAS
• Caso a troca seja de um lustre com varias
lâmpadas.
Ligar interruptor;
Posicionar escada embaixo da lâmpada;
Subir escada;
Se a lâmpada 1 não acender então
Retirar lâmpada velha;
Colocar lâmpada nova;
fimse;
Se a lâmpada 1 não acender então
Retirar lâmpada velha;
Colocar lâmpada nova;
fimse;
Se a lâmpada 1 não acender então
Retirar lâmpada velha;
Colocar lâmpada nova;
fimse;
Descer escada;
LAÇO DE REPETIÇÃO ENQUANTO
• Comando ENQUANTO usado em situações que
não se conhece o numero de repetições a serem
feitas. É necessário o uso de um teste de parada.
Algoritmo troca_com_teste;
inicio
Ligar interruptor;
Posicionar escada embaixo da lâmpada;
Subir escada;
ENQUANTO Lâmpadas não acenderem FAÇA
Retirar lâmpada velha;
Colocar lâmpada nova;
FimEnquanto
Descer escada;
fim.
EXERCICIO - DESCRIÇÃO NARRATIVA
1. Tenho 9 pérolas idênticas, mas sei que
uma delas é falsa, e é mais leve que as
outras; como posso identificar a pérola
falsa, com apenas duas pesagens em uma
balança de dois pratos ?
EXERCICIO - DESCRIÇÃO NARRATIVA
1. Tenho 10 grupos com 10 moedas cada
um; todas as moedas pesam 10 gramas
cada uma, exceto as de um grupo, no qual
as moedas pesam 9 gramas cada uma;
como posso identificar o grupo de moedas
mais leves, com apenas uma pesagem em
uma balança de um prato ?
Torres de Hanói
Objetivo:
• Mover todos os discos da haste A para a
haste C, utilizando o menor número
possível de movimentos, respeitando-se as
regras abaixo.
Regras:
• um disco maior não pode ser colocado
sobre um disco menor;
• pode-se mover um único disco por vez;
• um disco deve estar sempre numa das três
hastes, ou em movimento
A
B
C
FLUXOGRAMA
• Utilização de símbolos gráficos para
representar algoritmos.
• No fluxograma existem símbolos
padronizados para início, entrada de dados,
cálculos, saída de dados, fim, etc
Leia NUM
DOBRO NUM * 2
Escreva DOBRO
Fim
EXEMPLO Dobro de um Numero
Início
Leia NUM
DOBRO NUM * 2
Escreva DOBRO
Fim
EXERCICIO - FLUXOGRAMA
1. Usado fluxogramas faça um algoritmo para ler
o ano de nascimento de uma pessoa e o ano
atual. Calcular sua idade atual. Apresentar
a idade.
2. Criar fluxograma para calcular o total a pagar
nos salgados de uma festa. Deve ser
informado o preço do cento de salgado e a
quantidade de cento. Do total é cobrado mais
5 % de taxa de entrega.
Cálculo Decisão Entrada Saída Início/Fim
Exercicio
1. Crie um algoritmo para ser lido o numero de uma
conta o saldo. Deve ser lido o valor do saque
efetuado no caixa eletrônico e o valor do deposito
apresente o saldo atual
2. Crie um algoritmo que seja informado a largura e o
comprimento de
3. um retângulo e apresente o perímetro e a área.
4. Crie um algoritmo para uma loja de minipeças. O
cliente informa o preço unitário da peça e a
quantidade e o sistema retorna o valor a pagar.
INICIO
LEIA AnoAtual
LEIA AnoNasc
Escreva Idade
FIM
INICIO
LEIA NumConta
LEIA Saldo
LEIA ValSaque
LEIA ValDeposito
Escreva SaldoAtual
FIM
INICIO
LEIA Comp
LEIA Largura
Perimetro(Comp + Largura) * 2
Escreva Perimetro
FIM
INICIO
LEIA ValorUnit
LEIA QtdProd
ValorPagValorUnit * QtdProd
LEIA ValorPag
Escreva ValorPag
FIM
LINGUAGEM ALGORÍTMICA
• Consiste na definição de uma
pseudolinguagem de programação, cujos
comandos são em português, para
representar algoritmos.
Todas as informações
ENTRADA ou SAÍDA
devem assumir um determinado
tipo de Variável.
Os tipos de variáveis podem ser
Admite somente números inteiros.
INTEIRO Geralmente é utilizado para representar
uma contagem (quantidade).
Admite números reais (com ou sem casas
REAL decimais). Geralmente é utilizado para
representar uma medição.
Processamento: totalqtdadd*precounit
valdesc total*porcdesc/100
totalpagtotal-valdesc
Processamento: qtdmd(qtdmax+qtdmin)/2
• processamento: custoconscustofab+(custofab*0,28)+(custofab*0,45)
ou
Custoconscustofab+custofab*0,73
VAR A B C
A,B,C inteiro 2 3 5
Inicio
3 3
A2
B3
CA+B
AB
BA
Fimalgoritmo
Exemplos:” MEMÓRIA RAM
Algoritmo “trocavalor” TESTE DE MESA
VAR A B C
A,B inteiro 2 3
Inicio
3 3
A2
B3
AB
BA
Fimalgoritmo
Exemplos:” MEMÓRIA RAM
Algoritmo “trocavalor” TESTE DE MESA
VAR A B TEMP
A,B,TEMP inteiro 2 3 2
Inicio
3 2
A2
B3
TEMPA
AB
BTEMP
Fimalgoritmo
INICIO
LEIA ValSaque
LEIA
ValDeposito
Escreva Saldo
FIM
1) Faça o Teste de Mesa
A B C
A0 0 1 1
B1 1 3
CA+B
AA+1
BA+B+C
AB e CA = CA e AB
2) A ordem das atribuições é A B C A B C
1 2 3 1 2 3
importante?
2 2 2 1
Faça o teste de mesa.
AB e CA
CA e AB
Um algoritmo deve atender aos
seguintes requisitos:
• possuir um estado inicial;
• possuir dados de entrada;
• consistir de uma seqüência lógica finita de ações
claras e precisas;
• produzir dados de saída;
• possuir estado final previsível (deve sempre
terminar).
• O fluxo de execução do algoritmo, isto é, a
seqüência de ações, deve incluir apenas:
– seqüência;
– bifurcação (seleção condicional);
– laços de repetição de ações.
“Exemplo: Somar dois números.”
INSTRUÇÕES de Entrada
Leia o primeiro número.
INSTRUÇÕES de Entrada
Leia o segundo número.
INSTRUÇÕES de Processamento
Escreva o resultado
Algoritmo resultante, em pseudolinguagem
Algoritmo “Soma2”
Var
Valor1, Valor2, Soma: Inteiro
Inicio
Leia (Valor1)
Leia (Valor2)
Soma (Valor1 + Valor2)
Escreva (Soma)
FimAlgoritmo
Codificação do Programa
• Esta etapa consiste da tradução do
algoritmo para uma linguagem de
programação.
• Veja que um mesmo algoritmo pode ser
traduzido para diferentes linguagens que
sigam o(s) mesmo(s) paradigma(s), uma vez
que a construção do algoritmo já deve ser
direcionada aos recursos da linguagem
desejada.
• O programa resultante desta etapa é
identificado como programa fonte.
ALGORITMOS II
LINGUAGEM ALGORÍTMICA
visualg
Zareif Dib
Funcionamento do Computador
• Todos os computadores,
independentemente dos seus tamanhos, são
conceitualmente semelhantes.
• Resumidamente, podemos afirmar que
existem 3 (quatro) operações básicas que
qualquer computador pode executar,
conhecido como Processamento de Dados.
Todas as informações
ENTRADA ou SAÍDA
devem assumir um determinado
tipo de Variável.
Os tipos de variáveis podem ser
Admite somente números inteiros.
INTEIRO Geralmente é utilizado para representar
uma contagem (quantidade).
Admite números reais (com ou sem casas
REAL decimais). Geralmente é utilizado para
representar uma medição.
A B C=A+B
2 5 7
Constantes
• Constantes são endereços de memória
destinados a armazenar informações fixas,
inalteráveis durante a execução do
programa.
• Exemplo:
• PI = 3.1416;
Identificadores
• São os nomes dados a programas, variáveis, constantes,
Tipo de Dados e Registros.
Regras Para construção de Identificadores:
• Não podem ter nomes de palavras reservadas (comandos
da linguagem);
• Devem possuir como 1º caractere uma letra ou
Underscore ( _ );
• Ter como demais caracteres letras, números ou
Underscore;
• Ter no máximo 127 caracteres;
• Não possuir espaços em branco;
• A escolha de letras maiúsculas ou minúsculas é
indiferente.
Exemplo
^ Exponencial
* Multiplicação
/ Divisão
+ Adição
- Subtração
Modularização de expressões
• A modularização é a divisão da expressão
em partes, proporcionando maior
compreensão e definindo prioridades para
resolução da mesma.
• Em expressões computacionais usamos
somente parênteses “( )” para
modularização.
• Na informática podemos ter parênteses
dentro de parênteses. Onde os parênteses
internos são os prioritários.
Exemplos de prioridades:
2
3 53 1 RESP RESP(2/3+(5-3))+1
Tradicional Computacional
EXERCICIO
• Linearize as expressões abaixo
B
A 2X 3X
2 X1
X C
4
E Y 2 X
D
F
X
2
• X(A+(B/C))/(D-(E/F))
• Y((2*X^2-3*X^(X+1))/2+(4/X))/2^X
Criando o processamento
• Você sabe como fazer suas contas na
calculador. Agora é só dar nomes para os
números digitados.
• Ex. calcular a média de 3 notas.
8 Nota01 Soma<-nota1+nota2+nota3
+ +
7 Nota02
+ +Nota03 MEDIA<- soma/3
9 .
24 I3 . Soma I3 .
0 8 media MEDIA<-(nota1+nota2+nota3)/3
Operadores especiais (MOD e DIV)
• MOD Retorna o resto da divisão entre 2
números inteiros. 5mod2=1
• DIV Retorna o QUOCIENTE DA DIVISÃO
INTEIRA. O Valor inteiro que resulta da
divisão entre 2 números inteiros. 5div2=2
13 /2 13MOD2 13DIV2
10 6,5 1 6 1 6
Operação de atribuição
• A operação de atribuição permite que se
forneça um valor a uma certa variável.
• Se for atribuído uma expressão a variável,
armazenará o resultado.
variável expressão
• Se for atribuído uma outra variável, será
armazenado o conteúdo daquela variável.
variável variável
• O sinal se lê recebe:
variável recebe expressão
Exemplos:
Algoritmo “Atribuir”
MEMÓRIA RAM
VAR
A,B,C inteiro TESTE DE MESA
Inicio A B C
A2 2
B3
3
CA+B
Fimalgoritmo 5
Operações de entrada
• Os cálculos do computador são de pouco valor a
não ser que, primeiro, possamos fornecer os
dados sobre os quais estes cálculos serão
efetuados.
• Definimos aqui o comando da nossa linguagem
algorítmica para manusear entrada de dados.
• O comando LEIA Comando de entrada que
permite a leitura de Variáveis de Entrada
leia (variável-1)
LEIA(variável-2)
LEIA(variável-n);
Exemplos:
Programa “Leia” MEMÓRIA RAM
VAR
TESTE DE MESA
A,B,C inteiro
inicio A B C
LEIA(A ) 10
LEIA(B) 20
CA+B
30
Fimalgoritmo
Operações de saída
• Os dados fornecidos via comando LEIA e as
atribuições são armazenadas na memória RAM.
• Para apresentar o resultado de uma expressão
em um dispositivo de saída como Monitor
devemos usar um comando de Saída.
• O comando ESCREVA Comando de saída que
exibe uma informação (resultados).
escreva (expressão-1)
ESCREVA(expressão-2
ESCREVA(expressão-n)
Exemplos:MEMÓRIA RAM
Algoritmo “Escreva” TESTE DE MESA
VAR A B C
A,B,C inteiro
12 11 1
Inicio
LEIA(A )
LEIA(B)
CA–B
Escreva(C) 12
Fimalgoritmo 11
1
Exemplos:MEMÓRIA RAM
Algoritmo “Escreva” TESTE DE MESA
VAR
A B C
A,B,C inteiro
Inicio 2011 1997 14
Escreva(“Digite ano
atual”)
LEIA(A )
Escreva(“Digite ano
nascimento”)
LEIA(B) DIGITE O ANO ATUAL2011
DIGITE O ANO DE NASC1997
CA–B SUA IDADE = 14
Escreva(‘Sua idade =“)
Escreva(C)
Fimalgoritmo
Operações de saída
• Caso seja necessário apresentar uma
mensagem de saída deve-se colocar o texto
entre ‘aspas’.
“
• ESCREVA( Ola MUNDO ) ”
• Caso acrescentar ao comando escreva a letra
L o programa fará uma quebra de linha.
“
• ESCREVAL( Ola MUNDO ) ”
Exemplos:
Programa “Escreva2” MEMÓRIA RAM
VAR
TESTE DE MESA
A,B,C inteiro
inicio A B C
LEIA(A ) 5
LEIA(B) 7
C (A + B)/2
12
Escreva(“Média”)
Escreva(C) Média
fimalgoritmo 12
Operadores relacionais
• Processamento:
– DistVelmed*TempGas
– QtdGasDist/Kml
– ValGasPreL*QtdGas
• Var saida:
– Dist,QtdGas,ValGas: Real
Algoritmo “CalcGastComb”
Var VelMed, TempGas, KmL, PreL, Dist, QtdGas, ValGas: Real
Inicio
Escreva(“Informe a velocidade media do veiculo”)
Leia(VelMed)
Escreva(“Informe o tempo gasto “)
Leia(TempGas)
Escreva(“Informe quantos KM o veiculo faz com 1 litro”)
Leia(Kml)
Escreva(“Informe o preço do litro do combustível”)
Leia(PreL)
DistVelmed*TempGas
QtdGasDist/Kml
ValGasPreL*QtdGas
escreva(“A distancia = “)
escreva(Dist)
escreva(“A quantidade de litros gasto foi =“)
escreva(QdtGas)
escreva(“O valor gasto =”)
escreva(ValGas)
FimAlgoritmo
Exercícios
1.Faça um algoritmo que receba o preço de dois produtos e
respectivamente a quantidade de cada. Exiba o total a pagar.
2. Faça um algoritmo que receba dois números e ao final mostre a o
resto e quociente inteiro.
3. Escrever um algoritmo para determinar o consumo médio de um
automóvel sendo fornecida a distância total percorrida pelo
automóvel e o total de combustível gasto.
4. Escrever um algoritmo que leia o nome de um aluno e as notas
das três provas que ele obteve no semestre. No final exiba o nome
do aluno e a sua média.
5. Escrever um algoritmo que leia o nome de um vendedor, o seu
salário fixo e o total de vendas efetuadas por ele no mês (em
dinheiro). Sabendo que este vendedor ganha 15% de comissão
sobre suas vendas efetuadas, apresentar o seu nome, o salário fixo
e salário no final do mês.
[email protected]
Exercicios
6. Ler uma temperatura em graus Celsius e apresentá-la convertida
em graus Fahrenheit. A fórmula de conversão é: F=(9*C+160) / 5,
sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
7. Elaborar um algoritmo que efetue a apresentação do valor da
conversão em real (R$) de um valor lido em dólar (US$). O algoritmo
deverá solicitar o valor da cotação do dólar e também a quantidade
de dólares disponíveis com o usuário.
8. Faça um algoritmo que receba um valor que foi depositado e exiba
o valor com rendimento após um ano e meio. Considere fixo o juro
da poupança em 0,70% a. m.
9. A Loja Mamão com Açúcar está vendendo seus produtos em 5
(cinco) prestações sem juros. Faça um algoritmo que receba um
valor de uma compra e mostre o valor das prestações.
10. Faça um algoritmo que receba o preço de custo de um produto e
mostre o valor de venda. Sabe-se que o preço de custo receberá um
acréscimo de acordo com um percentual informado pelo usuário.
Exercicios
11. O custo ao consumidor de um carro novo é a soma do custo de
fábrica com a percentagem do distribuidor e dos impostos (aplicados,
primeiro os impostos sobre o custo de fábrica, e depois a percentagem
do distribuidor sobre o resultado). Supondo que a percentagem do
distribuidor seja de 28% e os impostos 45%. Escrever um algoritmo que
leia o custo de fábrica de um carro e apresente o custo ao consumidor .
12. Crie um algoritmo para ser informado a largura e o comprimento de
uma fazenda de terreno retangular. Calcule e apresente o perimetro, a
area em metros quadrados.
13. Crie um Algoritmo para calcular o gasto em Kilowatts em uma
residência. Sabendo que o preço do Kilowatt é 15% do valor do salario
minimo. Deve ser informado o valor do salario minimo e a quantidade
de kilowatts consumida no mês. Sabendo que do total gasto é
acrescentado 17% de iluminação publica e mais 5% de tarifas
estaduais. Apresente o Total gasto em kilowatt, Total de Iluminação
Publica, Total das tarifas estaduais e o Total final.
Exercicios
14. A Turma de Técnico de Informática da ETER esta organizando o
ChurrasDigital deste ano para isso criarão um sistema para calcular
os gastos com o churrasco.
Crie um algoritmo para ser informado quantas grama de carne uma
pessoa consome e o numero de pessoas que irão assim apresente o
total de quilos de carne que deverá ser comprada. Informe o preço
do kilo de carne e calcule o total de gasto com carne. Para cada 10
kg de carne deve ser comprado um saco de carvão, informe o preço
do saco de carvão e calcule o gasto com o carvão. Será contratado
um churrasqueiro sendo pago 15% do gasto com a carne.
Do total de pessoas metade bebe refrigerante, sendo 1 garrafa de
dois litros por pessoa, e a outra metade bebe cerveja, sendo 4
garrafas por pessoa. Informe o preço do refrigerante e calcule o total
gasto com refrigerante e o preço da cerveja e calcule o total com a
cerveja.
Calcule o valor que será pago por pessoa.
Exercicios
15. Crie uma algoritmo para ser lido um numero e apresente o seu
antecessor e o sucessor.
16. Crie uma algoritmo para ler a altura e o peso de uma pessoa e
apresente o seu IMC. Imc=peso/(altura*altura).
17. Defina a media da idade e a media do peso de dois lutadores de
SUMO.
18. Exibir a temperatura media da semana passada de
Rondonópolis.
19. Informe o Nome e o sobrenome de um autor e apresente com o
exemplo. “ dib, zareif ”
20. Crie um algoritmo para ser lido o prefixo e o numero de telefone
de uma pessoa e apresente como no exemplo. “ (66) 3422-0523 ”
21. Crie um algoritmo para ser lido a idade de uma pessoa em anos
e apresente a idade em meses e dias.
22. Apresente o preço a ser pago em um peixe no pesque e pag do
ETER. Deve ser lido o preço do kilo e o peso do peixe.
Dados a quantidade adquirida de um produto e o preço unitário,
calcular e escrever o total (total = quantidade adquirida x preço
unitário), leia a porcentagem de desconto, calcule e apresente o total
a pagar total a pagar = total –(total*desconto/100).
Algoritmo “calcprecopag”
Objetivo: calcular o preço a pagar var qtdadd: inteiro
precounit,desc,total,totalpag: real
Inicio
Var entrada:
escreva(“informe o prec unit”)
qtdadd: inteiro
leia(precounit)
precounit,desc: real
escreva(“informe a qtd do prod”)
Processamento: leia(qtdadd)
totalqtdadd*precounit escreva(“informe o desc sem a %”)
totalpagtotal-(total*desc/100) leia(desc)
Var saida: totalqtdadd*precounit
total, totalpag:real totalpagtotal-(total*desc/100)
escreva(“ total =“)
escreva(total)
Escreva(“ total a pagar”)
Escreva(totalpag)
fimalgoritmo
Crie um sistema para controle de almoxarifado de um armazém de grãos deve ser
informado quantidade máxima de grãos que o armazém suporta e a quantidade
mínima, calcular e exibir a quantidade média
quantidade média = (quantidade máxima + quantidade mínima)/2
Algoritmo “mediadegraos”
var
Objetivo: qtdmax,qtdmin,qtdmd: real
Inicio
calculo de media de armazenamento de
escreva(“informe a qtd max”)
grãos
leia(qtdmax)
escreva(“informe a qtd min”)
Var entrada: leia(qtdmin)
qtdmax,qtdmin: real
qtdmd(qtdmax+qtdmin)/2
escreva(“qtd media= ”)
Processamento: escreva(qtdmd)
qtdmd(qtdmax+qtdmin)/2 fimalgoritmo
Var saida:
qtdmd:real
O custo ao consumidor de um carro novo é a soma do custo de fábrica com a
percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo
que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um
algoritmo que leia o custo de fábrica de um carro e escreva o custo ao
consumidor.
Algoritmo “PRECOCARRO”
var
• Objetivo:
CUSTOFAB,CUSTOCONS: real
calcular o custo de um carro Inicio
escreva(“informe cust fab”)
• Var entrada: leia(custofab)
custoconscustofab+custofab*0,73
custofab:real
escreva(“o cust consumido”)
escreva(custocons)
• processamento: fimalgoritmo
Custoconscustofab+custofab*0,73
• Var saida:
custocons:real
Comando de Desvio Condicional Simples
• se <teste-lógica> entao
<seqüência-de-comandos>
fimse
• Ao encontrar este comando, o VisuAlg analisa a <expressão-
lógica>. Se o seu resultado for VERDADEIRO, todos os
comandos da <seqüência-de-comandos> (entre esta linha e a
linha com fimse) são executados. Se o resultado for FALSO,
estes comandos são desprezados e a execução do algoritmo
continua a partir da primeira linha depois do fimse.
=se(testelogico;”resp verdade”;”resp falsa”)
entao senao
Comando de Desvio Condicional
• se <teste-lógica> entao
<seqüência-de-comandos-1>
senao
<seqüência-de-comandos-2>
fimse
• Nesta outra forma do comando, se o resultado da avaliação
de <expressão-lógica> for VERDADEIRO, todos os comandos
da <seqüência-de-comandos-1> (entre esta linha e a linha
com senao) são executados, e a execução continua depois a
partir da primeira linha depois do fimse. Se o resultado
for FALSO, estes comandos são desprezados e o algoritmo
continua a ser executado a partir da primeira linha depois
do senao, executando todos os comandos da <seqüência-de-
comandos-2> (até a linha com fimse).
Teste logico
• Variavel operadorRelacional ValorLimiteSituação
• Idade >, <, >=, <=,=,<> 18
• Faça um algoritmo para ler a idade de uma pessoa e
verifique se ela pode ou não tira CNH.
Algoritmo “PODEOUNAOCNH”
var IDADE: INTEIRO
Objetivo: Inicio
ESCREVA (“informe a sua idade”)
Verificar se uma pessoa tira ou não a
LEIA(idade)
CNH
se (idade>=18) entao
escreva(“tira CNH”)
Var entrada: idade: inteiro
senao
escreva(“Não tira CNH”)
Processamento: NÃO TEM fimse
ALGORITMO “maiorq100”
Var n:inteiro
Inicio
escreva(“informe o numero”)
leia(n)
se (n>= 100) entao
escreva(“é maior que 100”)
senao
escreva(“é menor que 100”)
fimse
fimalgoritmo
2) Elabore um algoritmo que leia um número. Se positivo
armazene-o em A, se for negativo, em B. No final mostrar o
numero.
Algoritimo “negativopositivo”
Var num, a, b:inteiro
Inicio
escreva(“digite um numero”)
leia(num)
se(num>0)entao
anum
senao
bnum
fimse
Escreva(“numero”)
Escreva(num)
fimalgoritmo
3) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa
um algoritmo que calcule e apresente seu peso ideal, utilizando as
seguintes fórmulas:
Para homens: (72.7*h) - 58
Para mulheres: (62.1*h) - 44.7
obs.:(h = altura)
Algoritmo “pesoideal”
Var peso,h:real
sexo:caracter
Inicio
escreva(“qual sua altura?”)
leia(h)
escreva(“qual seu sexo?”)
leia(sexo)
Se(sexo=‘masc’)entao
peso72.7*h-58
Senao
peso62.1*h-44.7
Fimse
Escreva(“seu peso ideal =”)
Escreva(peso)
fimalgoritmo
• 5. Um vendedor precisa de um algoritmo
que calcule e apresente o preço total Código Preço unitário
devido por um cliente. O algoritmo deve 'ABCD' R$ 5,30
receber o código de um produto e a 'XYPK' R$ 6,00
quantidade comprada e calcular o preço 'KLMP' R$ 3,20
total, usando a tabela abaixo. Mostre 'QRST' R$ 2,50
uma mensagem no caso de código
inválido.