Você está na página 1de 20

Algoritmos e Lógica de Programação

 Conjunto de comandos que são executados


numa sequência linear, de cima para baixo,
na mesma ordem em que aparecem.

algoritmo “nome_do_algoritmo”
var
// declaração de variáveis
inicio
// corpo do algoritmo
ação1
ação2
ação3
fimalgoritmo // fim do algoritmo
 Estrutura que possibilita desvios de fluxos de
execução nos programas de acordo com uma
determinada opção

 Permite a escolha de um grupo de ações e


estruturas a serem executadas de acordo com
a aceitação ou não de certas condições,
possibilitando alterar a estrutura sequencial
de execução.
 Utilizada quando se precisa testar uma certa
condição antes de executar uma ação
se condição então
Ação1
Ação2 //sequência de ações
...
AçãoN
fimse
 Se condição for verdadeira, a(s) Ação(ões) será(ão)
executada(s); caso contrário (secondição for
falsa), encerra-se a seleção (fimse).
algoritmo “selecao_simples”
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
escreva (“Digite as 4 Notas:”)
leia (Nota1, Nota2, Nota3, Nota4)
Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4
escreval(“Média das notas:”, Media)
se Media >= 7 entao
escreva(“Aluno Aprovado.”)
fimse
fimalgoritmo
algoritmo "selecao_simples"
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
escreva ("Digite as 4 Notas:")
leia (Nota1, Nota2, Nota3, Nota4)
Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4
se Media >= 7 entao
escreval("Média das notas:",Media)
escreva("Aluno Aprovado")
fimse
fimalgoritmo
 Ler um número e se ele for maior do que 20, então
mostrar a metade do número.

algoritmo “metade_numero”
var
Numero: real
inicio
escreva ("Digite um número:")
leia (numero)
se numero > 20 entao
escreva(“A metade do número é”,numero/2)
fimse
fimalgoritmo
 Utilizada na situação em que duas
alternativas dependem de uma mesma
condição, uma de a condição ser verdadeira
e outra de a condição ser falsa.

 Estrutura Condicional que realiza uma ação


caso a condição seja Verdadeira e realiza
outra caso seja Falsa
se condição então
Ação1
Ação2 //sequência de ações
...
AçãoN
senão
Ação1
Ação2 //sequência de ações
...
AçãoN
fimse
algoritmo "selecao_composta"
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
escreva ("Digite as 4 Notas:")
leia (Nota1, Nota2, Nota3, Nota4)
Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4
escreval("Média das notas =",Media)
se Media >= 7 entao
escreval("Aluno Aprovado")
escreva(“Parabéns!”)
senao
escreval("Aluno Reprovado")
escreva(“Estude mais!”)
fimse
fimalgoritmo
 Ler um número e se ele for maior do que 20, mostrar a
metade do número; caso contrário, mostrar o próprio
número.
algoritmo “metade_ou_mesmo_numero”
var
Numero: real
inicio
escreva ("Digite um número:")
leia (numero)
se numero > 20 entao
escreva(“A metade do número é”,numero/2)
senao
escreva(“O número é:”,numero)
fimse
fimalgoritmo
 Quando, devido à necessidade de
processamento, agrupa-se várias seleções.

 Ocorre quando uma determinada ação ou


bloco deve ser executado se um grande
conjunto de possibilidades ou combinações
de situações for satisfeito.

◦ Seleção Encadeada Heterogênea


◦ Seleção Encadeada Homogênea
Quando não se consegue identificar um padrão lógico de
construção em uma estrutura de seleção encadeada.
...
se condição1 entao Ação
se condição2 entao Cond Cond Cond Cond Cond
Executa
1 2 3 4 5
Ação2 da
fimse
senao V V -- -- -- Ação 2
se condição3 entao
Ação3 F -- V -- -- Ação 3
senao
se condição4 entao
F -- F V V Ação 5
se condição5 entao
Ação5
fimseF -- F F -- Ação 4
senao
Ação4
fimse
fimse
fimse
...
Construção de diversas estruturas de seleção encadeadas que
seguem um determinado padrão lógico.

 Se então se
se condição1 entao
se condição2 entao
se condição3 entao
se condição4 entao
Ação1
fimse
fimse
fimse
fimse

se condição1 e condição2 e condição3 e condição4 entao


Ação1
fimse
 Se senão se
◦ Somente um, e apenas um, comando pode ser executado. Trata-
se de uma situação excludente.

se (x = v1) entao
Ação1
fimse
Se x é igual a v3, não é igual a v1
se (x = v2) entao
nem a v2 nem a v4
Ação2
fimse
se (x = v3) entao Todas as condições serão avaliadas
Ação3 e ocorrerão testes desnecessários
fimse
se (x = v4) entao O que fazer para diminuir a
Ação4 quantidade de testes?
fimse
 Se senão se

se (x = v1) entao
Ação1
senao
se (x = v2) entao Nessa estrutura os teste terminam
depois de encontrada a primeira
Ação2
condição verdadeira
senao
se (x = v3) entao
Ação3
senao
se (x = v4) entao
Ação4
fimse
fimse
fimse
fimse
 Seleção de Múltipla Escolha
◦ Quando um conjunto de valores discretos precisa ser
testado e ações diferentes são associadas a esses valores.

escolha x escolha x
caso v1 caso v1
Ação1 Ação1
caso v2 caso v2
Ação2 Ação2
caso v3 caso v3
Ação3 Ação3
caso v4 caso v4
Ação4 Ação4
fimescolha outrocaso
Ação5
fimescolha
 Ler um número e mostrar se ele é positivo, negativo ou
nulo.
algoritmo “posit_negat_nulo”
algoritmo “posit_negat_nulo”
var
var
Numero: real
Numero: real
inicio
inicio
escreva ("Digite um número:")
escreva ("Digite um número:")
leia (numero)
leia (numero)
se numero > 0 entao se numero > 0 entao
escreva(“POSITIVO”) escreva(“POSITIVO”)
fimse senao
se numero < 0 entao se numero < 0 entao
escreva(“NEGATIVO”) escreva(“NEGATIVO”)
fimse senao
se numero = 0 entao escreva(“NULO”)
escreva(“NULO”) fimse
fimse fimse
fimalgoritmo fimalgoritmo
 Ler um numero inteiro entre 1 e 12 e
escrever o mês correspondente. Caso o
usuário digite um número fora desse
intervalo, deverá aparecer uma mensagem
informando que não existe mês com este
número.
FORBELLONE, André Luiz Villar. Lógica de Programação: a construção de
algoritmos e estruturas de dados. 3. ed. – São Paulo: Prentice Hall,
2005.

LOPES, Anita. Introdução à programação. Rio de Janeiro: Elsevier, 2002.

GAMA, Claudia. Introdução à Lógica de Programação. Disponível em


<www.inf.ufg.br> . Acesso em Jul. 2009.

Você também pode gostar