Vous êtes sur la page 1sur 11

Programao Aplicada

Engenharia
Prof. Wellington Lima dos Santos

Prtica 03 Comandos Condicionais

Comandos ou estruturas condicionais


Uma

estrutura condicional permite alterar o fluxo seqencial


de comandos, com base em uma condio, dada por uma
expresso relacional ou lgica.
O Octave disponibiliza as estruturas condicionais

if endif, com algumas variaes


switch case endswitch com uma variao

Estrutura condicional if simples: if endif


Sintaxe 1:
if condio
comando1
comando2
comandoN
endif

As instrues entre a condio e


endif s sero executadas se a
condio for verdadeira.

Comando condicional if simples


Exemplos

Tornar x no negativo, caso ele seja:


x = input(Digite um nmero: ");
if x < 0
x = -x; %troca o sinal de x, tornando-o positivo
endif

No exemplo acima, o valor de x s ter o seu sinal trocado


se a condio se a condio x < 0 for verdadeira, ou seja,
se x for negativo.

Adicionar um bnus de dois dcimos nota de um aluno,


se ele tiver trs faltas ou menos:
if NumFaltas <= 3
Nota = Nota + 0.2;
endif
3

Comando if composto (variao 1)


Estrutura condicional if composta: if else endif
Sintaxe 2:
if condio
comando1;
comando2;
else
comando3;
comando4;
endif

Se a condio for verdadeira, sero


executados os comandos entre a
condio e else. Se a condio for
falsa sero executados os comandos
entre else e endif.

Exemplo:

Ler um nmero e informar se ele negativo, ou


no negativo:

x = input("Digite um numero qualquer: ");


if x < 0
disp("O numero digitado e' negativo!");
else
disp("O numero digitado e' nulo ou positivo!");
endif

Expanso do nmero de alternativas


Como

s existem dois valores lgicos (F, V), um nico


comando if permite no mximo duas vias ou rotas de
fluxo:
(via 1)
if

V
F
else (via 2)

Comandos ifs aninhados


Mltiplas

vias podem ser obtidas com comandos if


aninhados, ou seja, dentro de outro if:

if
if

via 1

via 2

via 3
if
via 4

Comandos ifs aninhados


Exemplo:

ler um nmero qualquer e classific-lo como


negativo, nulo ou positivo:
x = input("Digite um numero qualquer: ");
if x < 0
disp("O numero digitado e' negativo!");
else % x pode ser nulo ou positivo
if x == 0
disp("O numero digitado e' nulo!");
else
disp("O numero digitado e' positivo!");
endif
endif

0 neg .

x 0 nulo
0 0 pos.

Aninhamento compacto de ifs


Estrutura condicional if aninhada: if elseif else endif
Sintaxe 3:
if condio
comando1;
elseif condio2
comando2;
else
comando3;
endif
Exemplo:

Em vez de usar vrios if, cada um com o


seu endif, substitui-se a seqncia else
e if endif por elseif. Assim usa-se
apenas um endif de fechamento do if.

Ler um nmero e informar se ele negativo, nulo ou


positivo:

x = input("Digite um numero qualquer: ");


if x < 0
disp("O numero digitado e' negativo!");
elseif x == 0
disp("O numero digitado e' nulo!");
else
disp("O numero digitado e' positivo!");
endif

Exerccio 1
Escreva um programa (script arquivo .m) que
leia a temperatura, T, em oC, de uma amostra de
gua e informe o estado fsico desta amostra:

estado slido
(T 0 oC)
estado lquido
(0 < T < 100 oC)
estado de vapor (T 100 oC)

Exerccio 2
Escreva um programa que leia a nota de um aluno
e mostre o seu conceito, conforme a tabela abaixo:
Valor da nota
nota < 6,0
6,0 nota < 7,5
7,5 nota < 9,0
nota 9,0

Conceito
R (reprovado)
C (aprovado)
B (aprovado)
A (aprovado)

Sugesto: use if com elseif

10

Exerccio 3:
Implemente um programa que leia os parmetros (a, b, c) de
uma equao do 2 grau (a x2 + b x + c), e informe quantas
raizes a equao tem.

= b2 4 a c
< 0 no existe raiz real
= 0 existe uma raiz real
> 0 existem duas razes reais
Para Testar :
1) x2 2 x + 3:
no h raiz real
2) x2 6 x + 9:
(x1 = 3)
3) x2 + x 2:
(x1 = 1; x2 = 2)