O documento discute comandos condicionais em programação, apresentando:
1) Objetivos de construir algoritmos com desvio de fluxo e utilizar expressões lógicas e operadores relacionais;
2) Exemplos de como utilizar "se", "então", "senão" para permitir que um programa siga por diferentes caminhos baseado em uma condição;
3) Conceitos como expressões lógicas, operadores relacionais e constantes lógicas para construir condições.
1. Objetivos
• Construir algoritmos com desvio de
fluxo.
• Aplicar e usar expressões lógicas e
operadores relacionais.
• Utilizar os principais comandos
condicionais das linguagens de
programação.
2. Para começar...
Existem comandos que, a partir de uma condição,
permitem que o programa siga por um caminho ou por
outro.
Em programação o uso de condições para permitir a
escolha de executar ou não um trecho de programa é
muito utilizado, principalmente quando precisamos incluir
no programa condições de controle, para evitar situações
não permitidas, que podem resultar em erros. Por exemplo,
para evitar divisões por zero.
3. Para começar...
análise do comando:
as palavras se, então e senão representam o comando
condicional;
a condição deve ser uma expressão lógica.
4. Para começar...
Imagine que queremos escrever um algoritmo ou programa para
ler duas notas de um aluno, calcular a média aritmética e, além
de imprimir os dados lidos e a média calculada, queremos
também que ele nos indique se, com a média obtida, o aluno está
aprovado (maior ou igual a 5) ou reprovado (menor do que 5).
Vejam que agora existe uma escolha a ser feita: o aluno está
aprovado ou reprovado?
5. Para começar...
A resposta é: depende da média obtida. SE a média for
maior ou igual a 5, ENTÃO o aluno está aprovado, SENÃO,
se a média for menor do que 5, então está reprovado.
Reparem nas palavras escritas em letras maiúsculas, elas
compõem a sintaxe dos comandos condicionais na forma
textual.
7. Para começar...
Expressões lógicas: expressões cujos operadores são
lógicos e cujos operandos são: relações, constantes e/ou
variáveis lógicas.
Pode-se construir um comando condicional contendo uma
expressão lógica muito simples, contendo apenas uma
variável lógica, até uma contendo vários operadores lógicos
e relacionais.
8. Para começar...
Exemplo 01: supor a variável alfa do tipo lógico – significa que poderá
receber os valores V (verdade) ou F (falso).
se alfa = V então
comando1
senão
comando2
fimse
Assim, se alfa for verdade então é executado o comando1. Se alfa for
falso não executará o comando1 e executará o comando2.
Observação: não é necessário comparar alfa com V, bastaria construir
a condição com: se alfa então.
9. Para começar...
Exemplo 02: supor as variáveis alfa e beta do tipo lógico e as variáveis x
e y do tipo inteiro.
se alfa = V e beta = F e (x = 0 ou y = 0) então
comando1
senão
comando2
fimse
Assim, se alfa for verdade, beta falso e, x ou y igual a zero então é
executado o comando1 senão, se qualquer coisa diferente ocorrer,
pulará o comando1 e executará o comando2.
10. Para começar...
Do exemplo anterior, na expressão lógica:
alfa = V e beta = F e (x = 0 ou y = 0)
Cada uma das expressões: alfa = V, beta = F, x = 0, y = 0; são chamadas de
expressões relacionais;
O sinal de igualdade (=) que aparece nas expressões relacionais é chamado de
operador relacional e indica uma comparação. Em x = 0, está comparando x
com zero;
e e ou,são os conectores que ligam as expressões relacionais entre si,
formando as expressões lógicas;
V e F são constantes lógicas;
alfa e beta, que são comparadas com as constantes lógicas V e F, são variáveis
lógicas.
11. Para começar...
Operadores Relacionais Conectores
= igual a e – para a conjunção
≠ diferente de (não igual) ou – para a disjunção
> maior que
não – para a negação
≥ maior ou igual a
< Menor que
≤ menor ou igual a
12. Conhecendo a teoria para programar
VisuAlg - Condicional Simples
sintaxe:
se <condição> entao
<sequência-de-comandos>
fimse
análise do comando:
se, entao (sem o til) e fimse são palavras-chave do comando condicional;
condição é uma expressão lógica, que sendo verdadeira, então a sequência-de-
comandos é executada e, sendo falsa, o controle passará para o próximo
comando após a palavra-chave fimse;
13. Conhecendo a teoria para programar
VisuAlg – Condicional Composto
sintaxe:
se <condição> entao
<sequência-de-comandos-1>
senao
<sequência-de-comandos-2>
fimse
análise do comando:
senao (sem o til), palavra-chave, além das já existentes no comando
condicional simples;
condição é uma expressão lógica que, sendo verdadeira, então a sequência-de-
comandos-1 é executada e, sendo falsa, a sequência-de-comandos-2 é executada.
Somente após executada uma das sequências o controle passará para o próximo
comando, que segue a palavra-chave fimse;
14. Conhecendo a teoria para programar
PASCAL – Condicional Simples
sintaxe:
if <condição> then
comando;
análise do comando:
if, then: são palavras-chave do comando condicional;
condição é uma expressão lógica que, sendo verdadeira, então o comando é executado e,
sendo falsa, o controle passará para o próximo comando após o fim do comando
condicional;
Se for necessário executar um bloco de comandos é preciso utilizar as palavras-chave
begin e end;
A linha do comando condicional não possui ponto-e-vírgula;
A condição não precisa estar entre parênteses. Os parênteses são utilizados quando a
condição requer conectores. Por exemplo: (X>0) and (Y>0).
15. Conhecendo a teoria para programar
PASCAL – Condicional Simples
Exemplos:
1) if x>0 then
writeln(‘ x é positivo’);
2) if (x>0) and (y>0) then
begin
writeln(‘ x e positivo’);
writeln(‘ y e positivo’);
end;
16. Conhecendo a teoria para programar
PASCAL – Condicional Composto
sintaxe:
if <condição> then
comando1
else
comando2;
análise do comando:
os destaques contidos na análise do condicional simples valem também
para o composto;
else, palavra-chave, além das já existentes no comando condicional
simples;
17. Conhecendo a teoria para programar
PASCAL – Condicional Composto
análise do comando(continuação):
condição é uma expressão-lógica que sendo verdadeira
então o comando1 é executado e sendo falsa o comando2 é
executado. Somente após executado um dos comandos o
controle passará para o próximo comando, após o fim do
comando condicional;
se o else é usado, no final do comando1 não há ponto-e-
vírgula, para indicar que o comando não acabou.
18. Conhecendo a teoria para programar
PASCAL – Condicional Composto
Exemplo:
if x>0 then
writeln(‘ x é positivo’)
else
writeln(‘x é zero ou negativo’);
19. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Simples
sintaxe:
if (condição)
comando;
análise do comando:
if: palavra-chave do comando condicional;
condição é uma expressão lógica que, sendo verdadeira, então o
comando é executado e, sendo falsa, o controle passará para o próximo
comando após o fim do comando condicional;
A condição deve estar entre parênteses;
20. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Simples
análise do comando (continuação):
se for necessário executar um bloco de comandos é preciso
utilizar as chaves “{ }”, abrindo e fechado o bloco;
na linha do comando condicional não há ponto-e-vírgula.
21. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Simples - Exemplo
Versão em C
if (x>=0)
printf(“ x e positivo”);
Versão em Java
if (x>=0)
System.out.println(“ x e positivo”);
Versão em PHP
if (x>=0)
echo “ x e positivo”;
22. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Composto
sintaxe:
if (condição)
comando1;
else
comando2;
análise do comando:
os destaques contidos na análise do condicional simples valem também
para o composto;
else, palavra-chave, além das já existentes no comando condicional
simples;
23. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Composto
análise do comando (continuação):
Os destaques contidos na análise do condicional simples valem
também para o composto;
else, palavra-chave, além das já existentes no comando condicional
simples;
condição é uma expressão lógica que sendo verdadeira então o
comando1 é executado e sendo falsa o comando2 é executado. Somente
após executado um dos comandos o controle passará para o próximo
comando, após o fim do comando condicional.
24. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Composto - Exemplo
Versão em C:
if (x>=0 && y>=0)
{
printf(“ x e zero ou positivo”);
printf(“ y e zero ou positivo”);
}
else
printf(“x e/ou y sao negativos”);
25. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Composto - Exemplo
Versão em Java:
if (x>=0 && y>=0)
{
System.out.println(“ x e zero ou positivo”);
System.out.println(“ y e zero ou positivo”);
}
else
System.out.println(“x e/ou y sao negativos”);
26. Conhecendo a teoria para programar
C, JAVA e PHP – Condicional Composto - Exemplo
Versão em PHP
<?php
if ($x >= 0){
echo "x e zero ou positivo";
}
else {
echo "x e negativo";
}
?>
27. Vamos Programar
Problema:
Elaborar um algoritmo que faz a leitura de dois
números inteiros A e B, atribui a uma variável chamada
MAIOR o maior entre os dois números lidos e em
MENOR o menor deles e imprime os valores lidos o
conteúdo de MAIOR e o de MENOR.
31. Vamos Programar
C
void main ()
{
int A,B,MAIOR,MENOR;
pritnf(“'Digite 2 numeros inteiros: ”);
scanf(“%d%d”, &A,&B);
if (A>B){
MAIOR = A;
MENOR = B;
}else {
MAIOR = B;
MENOR = A;
}
printf("Numeros lidos: %d e %d", A, B);
printf("Maior = %d", MAIOR);
printf("Menor = %d", MENOR);
}
32. Vamos Programar
JAVA
import java.util.*;
public class MaiorMenor {
public static void main (String[] arg) {
int A,B,MAIOR,MENOR;
Scanner entrada_dado = new Scanner (System.in);
System.out.print (“Digite dois numeros inteiros: ”);
A = entrada_dado.nextInt();
B = entrada_dado.nextInt();
if (A>B){
MAIOR = A;
MENOR = B;
}else {
MAIOR = B;
MENOR = A;
}
System.out.print (“nNumeros lidos:” + A + “ e ” + B);
System.out.print (“Maior = ” + MAIOR);
System.out.print (“Menor = ” + MENOR);
}
}
34. Aprendemos neste capítulo que, a partir de uma condição, o programa tem a
possibilidade de efetuar um desvio e executar um trecho de programa enquanto outro
trecho é ignorado. Algumas vezes, a resposta de uma condição gera outra questão, isto é,
outra condição. Por exemplo, considere a frase do início do capítulo: se chover eu vou à
escola de ônibus, senão vou caminhando. Imagine que para essa frase, na possibilidade
de “não chover” quisermos saber: a escola é longe? Assim, a frase ficaria: se chover eu
vou à escola de ônibus senão, se a escola for perto, vou caminhando, senão (se for longe)
vou de bicicleta.
Essa composição de condições numa mesma frase é o que vamos aprender no
próximo capítulo: comandos condições aninhados, que significa: um comando
condicional dentro de outro condicional.