Tópicos Abordados na Aula - Switch / Case
Dom Jul 28, 2019 6:58 pm
Descrição
Da mesma forma que o comando if, o comando switch case controla o fluxo do programa permitindo ao programador especificar código diferente para ser executado em várias condições. Em particular, um comando switch compara o valor de uma variável aos valores especificados nos comandos case. Quando um comando case é encontrado cujo valor é igual ao da variável, o código para esse comando case é executado.
A palavra-chave break interrompe o comando switch, e é tipicamente usada no final de cada case. Sem um comando break, o comando switch irá continuar a executar as expressões seguintes (desnecessariamente) até encontrar um break, ou até o final do comando switch ser alcançado.
Sintaxe
switch (var) {
case valor1:
// comando(s)
break;
case valor2:
// comando(s)
break;
default:
// comando(s)
break;
}
Parâmetros
var: uma variável para ser comparada com os vários cases. Tipos de dados permitidos: int, char
valor1, valor2: constantes. Tipos de dados permitidos: int, char
Da mesma forma que o comando if, o comando switch case controla o fluxo do programa permitindo ao programador especificar código diferente para ser executado em várias condições. Em particular, um comando switch compara o valor de uma variável aos valores especificados nos comandos case. Quando um comando case é encontrado cujo valor é igual ao da variável, o código para esse comando case é executado.
A palavra-chave break interrompe o comando switch, e é tipicamente usada no final de cada case. Sem um comando break, o comando switch irá continuar a executar as expressões seguintes (desnecessariamente) até encontrar um break, ou até o final do comando switch ser alcançado.
Sintaxe
switch (var) {
case valor1:
// comando(s)
break;
case valor2:
// comando(s)
break;
default:
// comando(s)
break;
}
Parâmetros
var: uma variável para ser comparada com os vários cases. Tipos de dados permitidos: int, char
valor1, valor2: constantes. Tipos de dados permitidos: int, char
Exercício realizado na sala de aula
Dom Jul 28, 2019 7:15 pm
Com base no fluxograma abaixo elaborar os programas.
- Código:
#define led1 2
#define led2 3
#define led3 4
#define ldr A0
#define tecla 11
int valor = 0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(tecla, INPUT_PULLUP);
Serial.begin(9600);
Serial.print("Digite 1 para acender o led1 \n Digite 2 para acender o led2 \n Digite 3 para acender o led3 \n");
}
void loop() {
//A expressão abaixo pode ser usado para gerar um número aleatório entre 1 e 3 para fazer um sequencial aleatório
valor = random(1,4);//gera um número randomico entre 1.00 e 3.99
//A expressão abaixo gera um número de 1 a 3 proporcional a luminosidade
valor = map(analogRead(ldr), 200, 800, 1 , 3); //a entrada conforme calibração do ldr a saida de 1 a 3 pod ser usada para acender o led
switch(valor){ //fazendo switch da variável valor
case 1:
digitalWrite(led1,HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
break;
case 2:
digitalWrite(led1,LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
break;
case 3:
digitalWrite(led1,LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
break;
default:
// Serial.print("digita certo cara");
digitalWrite(led2, LOW);
}
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|