A maior rede de estudos do Brasil

Grátis
56 pág.
Aula06_Decisao_se_senao

Pré-visualização | Página 2 de 4

condição estabelecida for verdadeira, serão executadas 
todas as instruções definidas entre se...então e senão
` Se a condição estabelecida for falsa, serão executadas as 
instruções definidas entre senão e fim_se
` Somente após uma das possibilidades anteriores é que o 
programa executada as instruções existentes após fim_se
19
Desvio condicional composto: sintaxe
programa <nome>
início
se (<condição>) então
<comando 1>
<comando 2>
.
<comando n>
senão
<comando 1>
<comando 2>
.
<comando n>
fim_se
.
.
.
fim
• Caso a condição seja VERDADEIRA, comandos 
dentro do bloco se são executados.
• Depois serão executadas todas as instruções 
existentes após fim_se.
20
Desvio condicional composto: sintaxe
programa <nome>
início
se (<condição>) então
<comando 1>
<comando 2>
.
<comando n>
senão
<comando 1>
<comando 2>
.
<comando n>
fim_se
.
.
.
fim
• Caso a condição seja FALSA, comandos dentro 
do bloco senão são executados.
• Depois serão executadas todas as instruções 
existentes após fim_se.
21
Desvio condicional: exemplo
` Elaborar um algoritmo que leia o nome e a altura de duas 
pessoas. O seu algoritmo deve comparar as duas alturas 
lidas e apresentar como saída o nome da pessoa mais 
alta.
` Para isso:
` Devemos receber como entrada os nomes e as alturas das 
duas pessoas
` Comparar os valores das alturas lidas
` Se a primeira altura lida for maior que a segunda, 
escreveremos o como saída o nome da primeira pessoa. 
Senão, escreveremos o nome da segunda pessoa.
22
Desvio condicional composto: exemplo
programa COMPARACAO_ALTURA
início
fim
` 1º Passo: Crie o corpo mínimo
23
Desvio condicional composto: exemplo
` 2º Passo: Solicite os dados de entrada
programa COMPARACAO_ALTURA
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
fim
24
Desvio condicional composto: exemplo
25
` 3º Passo: Efetue o processamento dos dados
programa COMPARACAO_ALTURA
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
fim
Veja que neste caso, o processamento consiste 
em fazer uma comparação de alturas. 
A variável cond será definida como do tipo lógico
`Elaborar um algoritmo que leia o nome e a altura de duas pessoas. O seu algoritmo deve 
comparar as duas alturas lidas e apresentar como saída o nome da pessoa mais alta.
Desvio condicional composto: exemplo
` 4º Passo: Mostrar a saída
programa COMPARACAO_ALTURA
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
escreva “A pessoa mais alta eh:”, NOME1
escreva “A pessoa mais alta eh:”, NOME2
fim
Aqui temos DUAS possibilidades de saída do 
algoritmo.
26
Desvio condicional composto: exemplo
` 5º Passo: Criando a condição
programa COMPARACAO_ALTURA
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
escreva “A pessoa mais alta eh:”, NOME1
escreva “A pessoa mais alta eh:”, NOME2
fim
Note que cada possibilidade de saída do algoritmo depende do valor 
na variável cond. Assim, o NOME1 deve ser apresentado SE a 
variável cond tiver o valor verdadeiro, senão devemos mostrar o 
NOME227
Desvio condicional composto: exemplo
` 5º Passo: Criando a condição
programa COMPARACAO_ALTURA
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
se (cond = .V.) então
escreva “A pessoa mais alta eh:”, NOME1
senão
escreva “A pessoa mais alta eh:”, NOME2
fim_se
fim
Note que cada possibilidade de saída do algoritmo depende da expressão 
relacional que criamos. Assim, o NOME1 deve ser apresentado SE a condição
for verdadeira, senão devemos mostrar o NOME228
Desvio condicional composto: exemplo
29
` 6º Passo: Declarando variáveis
programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
cond: lógico
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
se (cond = .V.) então
escreva “A pessoa mais alta eh:”, NOME1
senão
escreva “A pessoa mais alta eh:”, NOME2
fim_se
fim
Desvio condicional composto: exemplo
` A variável res é desnecessária
programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
cond: lógico
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
se (cond = .V.) então
escreva “A pessoa mais alta eh:”, NOME1
senão
escreva “A pessoa mais alta eh:”, NOME2
fim_se
fim
A variável cond pode ser excluída sem 
prejuízo ao nosso algoritmo.
Note que com ela está consumindo 
recursos:
-memória porque precisamos de espaço 
para ela;
- processamento porque devemos fazer 
duas comparações relacionais
Vamos ajustar o código para minimizar o 
uso de recursos.
30
Desvio condicional composto: exemplo
` A variável res é desnecessária
programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
cond: lógico
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
cond Å ALTURA1 > ALTURA2
se (cond = .V.) então
escreva “A pessoa mais alta eh:”, NOME1
senão
escreva “A pessoa mais alta eh:”, NOME2
fim_se
fim
programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
se (ALTURA1 > ALTURA2) então
escreva “A pessoa mais alta eh:”, N
senão
escreva “A pessoa mais alta eh:”, N
fim_se
fim
1. Coloque a expressão dentro da condição
2. Remova a linha de atribuição da variável cond
3. Remova a declaração da variável31
Desvio condicional composto: exemplo
Programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia NOME2
escreva “Informe altura da 2a pessoa:”
leia ALTURA2
se (ALTURA1 > ALTURA2) então
escreva “Pessoa mais alta:”, NOME1
senão
escreva “Pessoa mais alta:”, NOME2
fim_se
fim
Atenção: não esqueça de 
fazer a indentação
corretamente aqui.
32
Erros frequentes (1)
Programa COMPARACAO_ALTURA
var
NOME1, NOME2: caractere
ALTURA1, ALTURA2: real
início
escreva “Informe o nome da 1a pessoa:”
leia NOME1
escreva “Informe altura da 1a pessoa:”
leia ALTURA1
escreva “Informe o nome da 2a pessoa:”
leia