Tópicos Abordados na Aula IF/ELSE/IF
Dom maio 05, 2019 9:32 pm
No ítem 2.1.3 da apostila trata a função if else if, uma função que permite fazer testes em diversas condições conforme necessidade do programador.
A estrutura fica assim:
if (condição1) { // inicia com a função if e o primeiro teste lógico
bloco de instruções 1; //Caso o primeiro teste retorne TRUE, executa o bloco de instruções 1
} else if (condição2) { // Caso o primeiro teste retorne FALSE, executa o segundo teste na condição2
bloco de instruções2; //Caso a condição2 retorne TRUE, executa o bloco de instruções 2
} else if (condição3) { //Caso o segundo teste retorne FALSE, executa o terceiro teste na condição3
bloco de instruções3; //Caso a condição 3 retorne TRUE, executa o bloco de instruções 3
} else { //Opcionalmente pode ser executado um ELSE caso nenhuma opção acima atenda aos critérios,ou simplesmente não executar nada
bloco de instruções4; // Neste caso executa esse bloco caso nenhuma opção acima atenda aos critérios
} //Fim do último bloco
Algumas s possibilidades para o teste da condição:
if (digitalRead(pino)){ // Esse teste refere-se ao sinal em um pino digital, retorna true e o pino estiver com 5V, ou na condição HIGH
if(variável == numero){ // Vai executar o bloco de instruções se a variável for igual ao numero
if(variável1 >= variavel2){ // Executa as instruções caso a variável1 seja maior ou igual a variável2
if(analogRead(pino) < numero){ // Testa se uma entrada analógica é menor que um numero determinado
Testes lógicos, operações matemáticas também são possíveis, como os exemplos abaixo:
if((digitalRead(pino) && analogRead(pino) >= valor) || (variável2 > variável1 && !digitalRead(pino2))){{
if((variável + numero) >= analogRead(pino) || ((variável2 * analogRead(pino2)) % numero3)){
Os testes lógicos são aqueles descritos na apostila no ítem 1.2.8. Operadores de comparação comparam uma variável com uma constante, ou variáveis entre si. São usados para testar se uma condição é verdadeira.
x == y // x é igual a y
x != y // x não é igual a y
x < y // x é menor que y
x > y // x é maior que y
x <= y // x é menor ou igual a y
x >= y // x é maior ou igual a y
Os operadores lógicos são: Operadores lógicos são usados para comparar duas expressões, retornam 1 ou 0 (verdadeiro/falso).
&& AND porta lógica ‘E’
|| OR porta lógica ‘OU’
! NOT porta lógica NÃO
Operadores matemáticos também podem ser usados nos testes lógico.Operadores Aritméticos Usados para operações matemáticas basicas:
+ // Soma
- // Subtração
* // Multiplicação
/ // Divisão
% // Resto
OPERADORES DE ATRIBUIÇÃO e COMPARAÇÃO
O sinal de igual muda sua função conforme a aplicação, veja abaixo:
numero = 0; //esse comando atribui o valor zero a variável numero
numero == 0; //esse comando compara se o numero é igual a zero, retornando TRUE se igual e FALSE se diferente
A função IF permite também usar uma função dentro de outra, como no exemplo abaixo:
if(condição1){ //primeiro teste de condição para executar o bloco
if(condição2){ // Dentro do bloco realiza outro teste na condição2
if(condição3){ // Neste exemplo realiza outro teste chamado condição 3
bloco de instruções; // Instruções que serão realizadas
} // Fim da condição3
} // Fim da condição2
} // Fim da condição1
Fizemos um programa para transformar o kit num luximetro de 3 leds para aplicação em escritórios para medir se a luminosidade nas mesas estão aquem do necessário, dentro do necessário ou maisque o necessário. A indicação é com 3 leds que sinalizam a cnformidade da luminosidade na mesa.
A estrutura fica assim:
if (condição1) { // inicia com a função if e o primeiro teste lógico
bloco de instruções 1; //Caso o primeiro teste retorne TRUE, executa o bloco de instruções 1
} else if (condição2) { // Caso o primeiro teste retorne FALSE, executa o segundo teste na condição2
bloco de instruções2; //Caso a condição2 retorne TRUE, executa o bloco de instruções 2
} else if (condição3) { //Caso o segundo teste retorne FALSE, executa o terceiro teste na condição3
bloco de instruções3; //Caso a condição 3 retorne TRUE, executa o bloco de instruções 3
} else { //Opcionalmente pode ser executado um ELSE caso nenhuma opção acima atenda aos critérios,ou simplesmente não executar nada
bloco de instruções4; // Neste caso executa esse bloco caso nenhuma opção acima atenda aos critérios
} //Fim do último bloco
Algumas s possibilidades para o teste da condição:
if (digitalRead(pino)){ // Esse teste refere-se ao sinal em um pino digital, retorna true e o pino estiver com 5V, ou na condição HIGH
if(variável == numero){ // Vai executar o bloco de instruções se a variável for igual ao numero
if(variável1 >= variavel2){ // Executa as instruções caso a variável1 seja maior ou igual a variável2
if(analogRead(pino) < numero){ // Testa se uma entrada analógica é menor que um numero determinado
Testes lógicos, operações matemáticas também são possíveis, como os exemplos abaixo:
if((digitalRead(pino) && analogRead(pino) >= valor) || (variável2 > variável1 && !digitalRead(pino2))){{
if((variável + numero) >= analogRead(pino) || ((variável2 * analogRead(pino2)) % numero3)){
Os testes lógicos são aqueles descritos na apostila no ítem 1.2.8. Operadores de comparação comparam uma variável com uma constante, ou variáveis entre si. São usados para testar se uma condição é verdadeira.
x == y // x é igual a y
x != y // x não é igual a y
x < y // x é menor que y
x > y // x é maior que y
x <= y // x é menor ou igual a y
x >= y // x é maior ou igual a y
Os operadores lógicos são: Operadores lógicos são usados para comparar duas expressões, retornam 1 ou 0 (verdadeiro/falso).
&& AND porta lógica ‘E’
|| OR porta lógica ‘OU’
! NOT porta lógica NÃO
Operadores matemáticos também podem ser usados nos testes lógico.Operadores Aritméticos Usados para operações matemáticas basicas:
+ // Soma
- // Subtração
* // Multiplicação
/ // Divisão
% // Resto
OPERADORES DE ATRIBUIÇÃO e COMPARAÇÃO
O sinal de igual muda sua função conforme a aplicação, veja abaixo:
numero = 0; //esse comando atribui o valor zero a variável numero
numero == 0; //esse comando compara se o numero é igual a zero, retornando TRUE se igual e FALSE se diferente
A função IF permite também usar uma função dentro de outra, como no exemplo abaixo:
if(condição1){ //primeiro teste de condição para executar o bloco
if(condição2){ // Dentro do bloco realiza outro teste na condição2
if(condição3){ // Neste exemplo realiza outro teste chamado condição 3
bloco de instruções; // Instruções que serão realizadas
} // Fim da condição3
} // Fim da condição2
} // Fim da condição1
Fizemos um programa para transformar o kit num luximetro de 3 leds para aplicação em escritórios para medir se a luminosidade nas mesas estão aquem do necessário, dentro do necessário ou maisque o necessário. A indicação é com 3 leds que sinalizam a cnformidade da luminosidade na mesa.
- Código:
//DEFINcOES INICIAIS
#define ledVermelho 9
#define ledAmarelo 8
#define ledVerde 7
#define ldr A0
//VARIAVEIS
//SETUP
void setup(){
pinMode(ledVermelho, OUTPUT);
pinMode(ledAmarelo, OUTPUT);
pinMode(ledVerde, OUTPUT);
}
//PROGRAMA PRINCIPAL
void loop(){
if(analogRead(ldr) < 200){
digitalWrite(ledVerde, HIGH);
digitalWrite(ledAmarelo, LOW);
digitalWrite(ledVermelho, LOW);
} else if (analogRead(ldr) < 400){
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarelo, HIGH);
digitalWrite(ledVermelho, LOW);
} else if (analogRead(ldr) >= 400){
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarelo, LOW);
digitalWrite(ledVermelho, HIGH);
}
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|