PROGRAMANDO EM LINGUAGEM C
Dissertações: PROGRAMANDO EM LINGUAGEM C. Pesquise 862.000+ trabalhos acadêmicosPor: barrosprado • 28/8/2014 • 948 Palavras (4 Páginas) • 275 Visualizações
I.10.2 - Bloco IF (executa se a condição for verdadeira)
Podemos entender o bloco IF como um teste simples.
Temos duas opções básicas, sendo que a condição de teste deverá estar entre
parênteses:
- SE (teste == ok1) “executa esta(s) declaração(ões)”
- SE (teste == ok1) “executa esta(s) declaração(ões)”
SENÃO “executa esta(s) outras declaração(ões)”
Temos vários formatos possíveis para o IF
IF simples, com apenas uma declaração caso o teste seja verdadeiro
if ( A == 0 ) A = 10; // SE a variável A estiver zerada, atribui 10
// à mesma.
// Veja teoria dos operadores lógicos para o “ == “
IF com mais de uma declaração caso o teste seja verdadeiro.
Neste caso o grupo de declarações deverá estar num BLOCO, isto é, entre chaves
‘ { } ‘.
if ( tempo > 10 )
{
tempo = 0;
contador = contador + 1;
}
IF com exceção (se o teste falha, executa outra declaração ou bloco).
Pode na exceção executar uma instrução apenas ou um bloco
if ( teste == sim ) declaração individual ou bloco
else
declaração individual ou bloco da exceção
Importante: A instrução (declaração) simples não precisa estar na mesma linha do IF
ou do ELSE. (Ver item I.10.2.1, nos exemplos de IF’s aninhados).
Linguagem “C” para microcontroladores pic –
www.mecatronicadegaragem.blogspot.com
Podemos então resumir numa tabela todas as combinações dos IF’s:
if (teste desejado) instrução para teste “0K”
if (teste desejado)
{
grupo de instruções para teste “0K”
}
if (teste desejado) instrução para teste “0K”
else instrução para teste “NÃ0 0K”
if (teste desejado)
{
grupo de instruções para teste “0K”
}
else instrução para teste “NÃ0 0K”
if (teste desejado) instrução para teste “0K”
else
{
grupo de instruções para teste “NÃ0 0K”
}
if (teste desejado)
{
}
else
{
}
grupo de instruções para teste “0K”
grupo de instruções para teste “NÃ0 0K”
Linguagem “C” para microcontroladores pic – www.mecatronicadegaragem.blogspot.com
I.10.2.1 - IF’s aninhados (embutidos um no outro)
Chamamos a estrutura de “IF’s aninhados” quando a instrução a ser executada
para um teste (seja verdadeiro ou falso) é na verdade outro IF.
Vamos ver dois exemplos que ajudarão a esclarecer o assunto.
Exemplo 1: Observe os dois trechos de programa a seguir:
if ( X ) | if ( X )
if (Y) | {
a = a * 2; | if (Y)
else | a = a * 2;
a = a * 4; | }
| else
| a = a * 4
No trecho da esquerda, o else refere-se ao if (Y), pois esta “mais próximo” deste.
Somente se o if (Y) resultar falso é que a linha a = a * 4 será executada.
Se o if (X) resultar falso, nenhuma operação será realizada.
No trecho da direita, o else refere-se ao if (X), pois o if (Y) esta dentro de um
bloco, não sendo visível para o else.
Se o if (X) resultar verdadeiro mas o if(Y) resultar falso, nenhuma operação será
realizada.
Exemplo 2: Vários IF’s seqüênciais
if ( posição == 1) // Vê se posição = 1.
peso = 1; // É 1. Faz peso = 1.
else
if (posição == 2)
// Não é 1. Vê se posição = 2.
peso = 2; // É 2. Faz peso = 2.
else if (posição == 3) // Não é 2. Vê se posição = 3.
peso = 4; // É 3. Faz peso = 4.
else if (posição == 4) // Não é 3. Vê se posição = 4.
peso = 8; // É 4. Faz peso = 8.
else peso = 0; // Não é 4. Faz peso = 0.
Linguagem “C” para microcontroladores pic – www.mecatronicadegaragem.blogspot.com
I.10.3 - Bloco FOR (loop para executar por um certo número de vezes)
A idéia do bloco FOR é executar uma instrução ou um bloco de instruções
repetidamente, por um número
...