Logo Passei Direto

A maior rede de estudos do Brasil

Grátis
22 pág.
06 estrutura se

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

Estruturas condicionais
Algoritmo
Algoritmo trabalhador brasileiro: (anterior a 2017)
1. trabalhe durante o mês inteiro;
2. receba o salário ao final do mês;
3. pague suas contas;
4. retorne ao passo (1).
Passos sugeridos para construir um algoritmo
1. Identificar o problema (objetivo) mediante leitura atenta do 
respectivo enunciado;
2. Extrair do enunciado as entradas de dados, ou seja, identificar 
os dados que devem ser fornecidos ao algoritmo;
Passos sugeridos para construir um algoritmo
3. Extrair do enunciado as saídas de dados que devem ser 
devolvidas pelo algoritmo como resultado da solução;
4. Determinar o que deve ser feito para transformar as entradas 
nas saídas desejadas. O então chamado processamento, 
determina a sequência de ações que leva à solução do problema.
Estruturas condicionais
Possibilitam a utilização de desvios lógicos progressivos em algoritmos.
Com estes desvios pode-se saltar de maneira progressiva blocos de instruções de 
acordo com o resultado da condição avaliada.
Condição diz respeito a uma expressão booleana que orientará o fluxo de execução 
para o desvio.
Tomando como exemplo o seguinte algoritmo:
programa resultado;
 variáveis
nota1, nota2 : inteiro;
media : real;
 início
media := 0;
nota1 := 0;
nota2 := 0;
escreva('Digite a nota do primeiro semestre:');
leia(nota1);
escreva('Digite a nota do segundo semestre:');
leia(nota2);
media := (nota1 + nota2)/2;
escreva('Sua média é:');
escreva(media);
fim.
O Problema:
• Conforme a média calculada, exibir a situação do aluno: aprovado ou reprovado.
• O conjunto de instruções visto até aqui não possibilita que se execute trechos 
exclusivos de código.
• Trabalhou-se, até o presente, com uma mera progressão do fluxo de controle, 
linha após linha.
• Nesta progressão, a linha sucessora é executada incondicionalmente após a linha 
atual.
• Dentro disso, não há como bifurcar o fluxo de controle para:
• Se o aluno estiver aprovado, executar:
escreva('Aprovado');
• Caso contrário, ou seja, se o aluno estiver reprovado, executar:
escreva('Reprovado');
algoritmo RESULTADO
inicio
inteiro: nota1, nota2;
real: media; 
media 0;
nota1 0;
nota2 0;
escreva(“Digite a nota do primeiro semestre:“);
leia(nota1);
escreva(“Digite a nota do segundo semestre:“);
leia(nota2);
media (nota1 + nota2)/2;
escreva(“Sua média é:“);
escreva(media);
se (media >= 70) então
escreva (“Aprovado”);
senão
escreva(“Reprovado”);
fim-se;
fim;
fim algoritmo.
Condição:
• Trata-se de uma expressão booleana que será avaliada pela estrutura condicional Se;
• Como se trata de uma expressão booleana, o resultado da avaliação desta permite 
somente dois valores possíveis:
• Verdadeiro, se a variável média for maior ou igual a 70;
• O fluxo de controle será direcionado ao bloco correspondente ao caso verdadeiro;
• Falso, se a variável média for menor do que 70;
• direcionado ao bloco correspondente ao caso falso.
Omissão do Senão:
• Há problemas em que se deseja executar um bloco de instruções caso uma 
determinada condição seja verdadeira, porém não há bloco de instruções alternativo 
para o caso contrário;
• Assim, omitir o trecho referente ao senão consiste em uma construção válida.
• Exemplo: parabenizar o aluno caso a média seja maior do
que 90.
se (media >= 90) então
escreva(“Parabéns pelo seu desempenho!”);
fim-se;
Operadores Relacionais
Igual = se (a = b) então ...
Diferente <> se (divisor <> 2) então ...
Maior > se (salario > salarioMinimo) então ...
Maior ou Igual >= se (peso >= pesoIdeal) então …
Menor < se (cotacaoDollar < cotacaoEuro) então ...
Menor ou Igual <= se (percentualFaltas <= 0,75) então ...
Operadores Lógicos
• Operador NÃO (not)
Corresponde à negação ou NÃO lógico.
Trata-se de um operador unário, ou seja, requer um único operando.
Sendo a uma expressão booleana, NÃO(a) é a expressão cujo valor 
lógico é o oposto daquele de a.
• Se a avaliação do valor lógico de a for verdadeira, então NÃO(a) é 
falso;
• Se a avaliação do valor lógico de a for falsa, então NÃO(A) é 
verdadeiro.
Operadores Lógicos
Operador NÃO
Usos
se NÃO(a = b) então ...
Tem a mesma denotação que:
se (a <> b) então ...
Operadores Lógicos 
 • Operador E (and) 
Corresponde ao E lógico. 
Sendo duas expressões booleanas, a e b, a expressão a E b é verdade 
apenas quando tanto a quanto b são verdadeiras. 
• Para quaisquer outros valores de a e b, o resultado é falso. 
Trata-se de um operador binário, ou seja, requer dois operandos. 
Operadores Lógicos 
 • Operador E (and) 
Usos 
se (a E b) então ...
 
se ((media >= 70) E (freq >= 0,75)) então ...
 
se ((idade > 65) E (sexo = ‘M’)) então ... 
Operadores Lógicos 
 • Operador OU (or) 
Corresponde ao OU lógico. 
Sendo duas expressões booleanas, a e b, a expressão a OU b é verdade 
apenas quando ao menos uma das preposições a e b é verdadeira. 
• O resultado é falso somente quando a e b (simultaneamente) são 
falsos.
Trata-se de um operador binário, ou seja, requer dois operandos. 
Operadores Lógicos 
 • Operador OU (or) 
Usos 
se (a OU b) então ...
 
se ((salario < minimo) OU (faltas < 2)) então ...
 se ((idade > 65) OU (sexo = ‘M’)) então ... 
 O Problema:
Conforme a média calculada, exibir a situação do aluno:
aprovado, reprovado ou em exame.
• Um único se-senão torna-se insuficiente para resolver este tipo de 
problema, pois permite somente as alternativas de caso verdadeiro e 
caso contrário.
Aninhamento de estruturas condicionais
se (media >= 70) então 
escreva(“Aprovado.”);
senão 
 se (media ,>= 50) então
escreva(“Em exame.”);
senão 
escreva(“Reprovado.”);
fim-se;
 fim-se;
fim;
fim algoritmo.