Mudanças entre as edições de "MCO018703 2018 2 AULA04"
Linha 6: | Linha 6: | ||
=Funções para Controle de Fluxo= | =Funções para Controle de Fluxo= | ||
− | + | ==if( )== | |
+ | |||
+ | É um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero. | ||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
Linha 16: | Linha 18: | ||
[[imagem:Fig037_MCO018703.jpg|600px|center]] | [[imagem:Fig037_MCO018703.jpg|600px|center]] | ||
− | + | ==if( )...else== | |
+ | |||
+ | Ao se acrescentar mais um bloco de instruções no loop do comando '''if''' pode-se criar o comando '''if...else''', para fazer um novo teste quando o resultado da expressão for falsa. | ||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
Linha 27: | Linha 31: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==if( )...else if( )== | |
+ | |||
+ | E de novo ao se acrescentar agora o comando '''if...else''' no loop do comando if pode-se criar mais um outro comando, o '''if...else if'''. No exemplo abaixo se "expressão1" for verdadeira o "bloco de instruções1" é executado; se "expressão1" for falsa mas "expressão2" for verdadeira "bloco de instruções2" é executado; e se "expressão1" e "expressão2" forem falsas o "bloco de instruções3" é executado. | ||
[[imagem:Fig038_MCO018703.jpg|600px|center]] | [[imagem:Fig038_MCO018703.jpg|600px|center]] | ||
Linha 44: | Linha 50: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==switch...case== | |
+ | |||
+ | É possível ir inserindo comandos '''if...else '''na posição do segundo bloco de instruções de outro comando '''if...else '''e assim criar uma cadeia de comandos para testar dezenas de expressões até encontrar uma que retorne um resultado verdadeiro e executar um dos blocos de instruções; mas existe um comando próprio que simplifica bastante essa seleção, é o comando '''switch...case'''. Esse comando permite comparar uma mesma variável inteira, ou uma expressão que retorne um inteiro, com vários valores possíveis. | ||
; switch..,case | ; switch..,case |
Edição das 16h08min de 14 de agosto de 2018
Objetivos
- Aprender sobre funções para controle de de fluxo;
- Utilizar o comando de decisão if else.
Funções para Controle de Fluxo
if( )
É um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero.
if (expressão){
bloco de instruções; // se "expressão" for verdadeira, "bloco de instruções" é executado
}
if( )...else
Ao se acrescentar mais um bloco de instruções no loop do comando if pode-se criar o comando if...else, para fazer um novo teste quando o resultado da expressão for falsa.
if (expressão) {
bloco de instruções1; // se "expressão" for verdadeira, "bloco de instruções1" é executado
}
else {
bloco de instruções2; // se "expressão" for falsa, "bloco de instruções2" é executado
}
if( )...else if( )
E de novo ao se acrescentar agora o comando if...else no loop do comando if pode-se criar mais um outro comando, o if...else if. No exemplo abaixo se "expressão1" for verdadeira o "bloco de instruções1" é executado; se "expressão1" for falsa mas "expressão2" for verdadeira "bloco de instruções2" é executado; e se "expressão1" e "expressão2" forem falsas o "bloco de instruções3" é executado.
- if( )... else if( )
if (expressão1) {
bloco de comandos1;
}
else if (expressão2) {
bloco de instruções2;
}
else {
bloco de comandos3;
}
switch...case
É possível ir inserindo comandos if...else na posição do segundo bloco de instruções de outro comando if...else e assim criar uma cadeia de comandos para testar dezenas de expressões até encontrar uma que retorne um resultado verdadeiro e executar um dos blocos de instruções; mas existe um comando próprio que simplifica bastante essa seleção, é o comando switch...case. Esse comando permite comparar uma mesma variável inteira, ou uma expressão que retorne um inteiro, com vários valores possíveis.
- switch..,case
switch (expressão) {
case 1: bloco de instruções1;
break;
case 2: bloco de instruções2;
break;
case 3: bloco de instruções3;
break;
default: bloco de instruções4;
}
Operadores Relacionais e Lógicos
Os operadores relacionais e lógicos são os mesmos vistos na aula anterior.
- Relacionais
Operador | Significado |
---|---|
> | maior que |
>= | maior ou igual que |
< | menor que |
<= | menor ou igual que |
== | igual a |
!= | diferente de |
- Lógicos
Operador | Significado |
---|---|
&& | AND (E) |
|| | OR (OU) |
! | NOT (NÃO) |
Ver Operadores Relacionais e Lógicos