Skip to content

Instantly share code, notes, and snippets.

@feliperech
Created July 2, 2022 17:12
Show Gist options
  • Save feliperech/305687aa1fa57c334aa06d349190d961 to your computer and use it in GitHub Desktop.
Save feliperech/305687aa1fa57c334aa06d349190d961 to your computer and use it in GitHub Desktop.
A03 - Estruturas Condicionais

A03 - Estruturas Condicionais

Created with <3 with dartpad.dev.

/*
*
* 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