Created with <3 with dartpad.dev.
Created
July 2, 2022 17:12
-
-
Save feliperech/305687aa1fa57c334aa06d349190d961 to your computer and use it in GitHub Desktop.
A03 - Estruturas Condicionais
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* | |
* AULA 03 - Operações Condicionais em Dart | |
* | |
* | |
* As operações condicionais permitem a tomada de decisão em algum | |
* momento do código, permitindo então que o código seja direcionado | |
* baseado em alguma condição. Existem dois tipos de comparações | |
* muito utilizados, sendo o encadeamento if/else e o switch/case. | |
* | |
* | |
* O encadeamento if/else permite a tomada de decisões com base em | |
* uma sequência de condições baseadas na lógica: | |
* 'se, faça isso'/'senão, faça aquilo' | |
* Essa lógica pode ser ampliada para mais de dois caminhos. Por exem- | |
* plo, suponha que um aluno de Engenharia Elétrica deseja criar um | |
* código que imprima para o usuário se o valor de temperatura de uma | |
* máquina está adequado para seu funcionamento. Para isso, ele utiliza | |
* um sensor de temperatura que informa no seu sistema o valor atual da | |
* temperatura da máquina. Baseado nisso, os alertas para o operador seguem | |
* a lógica: | |
* | |
* Se a temperatura estiver acima de 150°, então ligue o resfriamento! | |
* Senão, se a temperatura estiver entre 50° e 150°, fique atento! | |
* Senão, a temperatura está adequada para o funcionamento. | |
* | |
* Perceba que foram utilizados três condicionais: se/senão,se e senão. | |
* Nesse conjunto, três caminhos são possíveis.O exemplo está definido abaixo, | |
* utilizando-se de if/else if e else. Perceba que na estrutura else if existem | |
* duas condições, sendo a primeira que o valor seja inferior ou igual a 150 e | |
* a segunda que o valor seja superior ou igual a 50°. Ambas devem acontecer | |
* simultaneamente para que a condição seja satisfeita e por isso, utiliza-se do | |
* operador lógico '&&' para representar isso. O operador '&&' representa o | |
* equivalente lógico 'E'. Para situações em que uma condição ou outra deve | |
* acontecer, utiliza-se o comando '||', equivalente a 'OU'. Dessa forma, tem-se: | |
* | |
* | |
*************************** TABELA VERDADE && *************************** | |
* | |
* | |
* CONDIÇÃO 01 && CONDIÇÃO 02 RESULTADO | |
* Verdadeiro Verdadeiro Verdadeiro | |
* Verdadeiro Falso Falso | |
* Falso Verdadeiro Falso | |
* Falso Falso Falso | |
* | |
* Logo, pela tabela verdade, é possível dizer que a estrutura else if abaixo | |
* somente irá executar caso ambas as condições sejam verdadeiras! | |
* | |
************************** TABELA VERDADE || *************************** | |
* | |
* | |
* CONDIÇÃO 01 && CONDIÇÃO 02 RESULTADO | |
* Verdadeiro Verdadeiro Verdadeiro | |
* Verdadeiro Falso Verdadeiro | |
* Falso Verdadeiro Verdadeiro | |
* Falso Falso Falso | |
* | |
* Logo, pela tabela verdade, é possível dizer que a estrutura condicional será | |
* executada caso qualquer uma das condições sejam satisfeitas! | |
* | |
* | |
* | |
* A mesma comparação pode ser feita utilizando a estrutura Switch/Case. Essa | |
* estrutura é ideal caso sejam feitas várias comparações, pois deixa o código | |
* mais legível e organizado. Suponha que se deseja montar um cardápio com 5 | |
* opções de prato e exibir a opção para o chef com base na escolha do cliente. | |
* Esse exemplo é feito abaixo,na estrutura Switch/Case. Utiliza-se o comando | |
* 'break' para interromper a execução do código e 'default' caso o cliente es- | |
* colha uma opção errada. | |
* | |
*/ | |
void main(){ | |
//Exemplo utilizando if/else | |
double valorTemperatura = 100.78; //Exemplo de valor lido pelo sensor. | |
if (valorTemperatura > 150){ | |
print('Ativar sistema de resfriamento! '); | |
} | |
else if (valorTemperatura <=150 && valorTemperatura>=50){ | |
print('Atenção! Temperatura na margem de segurança! '); | |
} | |
else{ | |
print('Temperatura da máquina está OK, continuar operação!'); | |
} | |
//Exemplo utilizando Switch/Case | |
int opcaoCliente = 3; //Suponha que o cliente escolheu Carneiro com Amoras. | |
print('\n\n'); | |
switch(opcaoCliente){ //pega a opção escolhida e a 'chaveia' para o caminho certo | |
case 1: | |
print('Escolha do Cliente: Lagosta da casa '); | |
break; | |
case 2: | |
print('Escolha do Cliente: Katsu Kurê! '); | |
break; | |
case 3: | |
print('Escolha do Cliente: Carneiro com Amoras! '); | |
break; | |
case 4: | |
print('Escolha do Cliente: Alcatra acebolada! '); | |
break; | |
case 5: | |
print('Escolha do Cliente: Parmegiana com fritas! '); | |
break; | |
default: | |
print('Escolha do Cliente: Inválido! '); | |
break; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment