O documento discute o controle de fluxo e tomada de decisão em programação. Explica que as instruções "SE" e "SENÃO" permitem que os programas tomem decisões com base em condições, e descreve como estruturar blocos de instruções e múltiplas condições com "SE" e "SENÃO". Também cobre tópicos como indentação e exemplos de exercícios.
2. Se isso, então faça
●
Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões.
●
Para tomar decisões, todas as linguagens de alto nível possuem as instruções ‘SE’ e ‘SENÃO’.
<script>
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
}
alert(‘FIM.’);
</script>
No código acima, a mensagem ‘FIM’ será mostrada de toda maneira. Entretanto, a mensagem ‘Maior de idade.’ só
será mostrada se o usuário digitar um número que seja maior ou igual a 18.
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
3. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
Instrução
Condição
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
Bloco
}
●
O bloco é tudo que fica entre chaves.
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
4. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
5. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (25 >= 18) {
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
6. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (25 >= 18) {
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
7. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (true) {
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
8. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (true) { //o bloco será executado
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
9. Se isso, então faça
●
A instrução ‘SE’ sempre possui uma condição e um bloco de instruções.
●
O bloco de instruções só é executado se a condição for avaliada como verdadeira.
//Suponha que a entrada seja 25
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
10. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
} else {
alert(‘Menor de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
11. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
} else {
alert(‘Menor de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
12. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (16 >= 18) {
alert(‘Maior de idade.’);
} else {
alert(‘Menor de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
13. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (16 >= 18) {
alert(‘Maior de idade.’);
} else {
alert(‘Menor de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
14. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (false) {
alert(‘Maior de idade.’); //Este bloco não será executado
} else {
alert(‘Menor de idade.’); //Este bloco será executado
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
15. Senão, faça
●
A instrução ‘SE’ pode ser utilizada em conjunto com a instrução ‘SENÃO’.
●
A instrução ‘SENÃO’ não precisa de condição, pois será executada em todos os casos em que o bloco da
instrução ‘SE’ não for executado..
//Suponha que a entrada seja 16
var idade = prompt(‘Digite sua idade’);
if (idade >= 18) {
alert(‘Maior de idade.’);
} else {
alert(‘Menor de idade.’);
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
16. Senão, Se
●
Você pode concatenar as instruções ‘SE’ e ‘SENÃO’ para criar condições múltiplas.
<script>
var idade = prompt(‘Digite sua idade’);
if (idade < 12) {
alert(‘Criança.’);
} else if (idade < 14) {
alert(‘Pré-adolescente.’);
} else if (idade < 18) {
alert(‘Adolescente.’);
} else if (idade < 60) {
alert(‘Adulto.’);
} else {
alert(‘Idoso.’);
}
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
17. Blocos de Instruções
●
Você pode colocar quantas instruções quiser dentro de um bloco, inclusive outra condição.
<script>
var sexo = prompt(‘Digite seu sexo:’);
var idade = prompt(‘Digite sua idade:’);
if (idade >= 18) {
if (sexo == ‘M’) {
alert(‘Alistamento militar obrigatório.’);
} else {
alert(‘Alistamento militar opcional.’);
}
} else {
alert(‘Dispensado(a) do alistamento militar.’);
}
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
18. Indentação
●
Indentação é uma maneira de organizar o código para que fique mais legível.
●
Indentar é deslocar bloros de código a direita para demonstrar quais estão dentro de quais.
if (a == b) {
if (b > c) {
alert(‘!’);
} else {
if (a == d) {
alert(‘!!’);
}
if (c == d) {
alert(‘!!!’);
} else {
alert(‘!!!!’);
}
}
}
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
19. Exercícios
1.
Desenvolva um programa que calcule o IMC (índice de massa corpórea) e responda qual é a situação da pessoa.
Procure na internet pelo cálculo e pelas faixas de IMC.
2.
A montagem de uma placa necessita de 2 componentes do tipo A, 3 do tipo B e 7 do tipo C. Faça um programa
que receba as quantidades de cada componente e responda quantas placas podem ser montadas no máximo.
3.
Um banco precisa que cada cliente tenha uma senha de 4 dígitos, sendo que todos dígitos devem ser diferentes
de ‘0’. Faça um programa que receba a senha e verifique se a senha é válida.
4.
A prefeitura de uma cidade calcula a base das tarifas de fornecimento de água de acordo com as faixas de
consumo abaixo. Após calculado o valor base, a prefeitura dá um desconto de 5% para os valores até R$100,00
e cobra um acréscimo de 10% para os valores acima de R$200,00. Faça um programa para calcular a cobrança
dado o consumo em m³.
●
Até 20m³ = R$1,60 por m³
●
De 21 a 50m³ = R$2,80 por m³
●
Acima de 50m³ = R$4,20 por m³
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
21. Respostas
1.
Desenvolva um programa que calcule o IMC (índice de massa corpórea) e responda qual é a situação da pessoa.
Procure na internet pelo cálculo e pelas faixas de IMC.
<script>
var peso = prompt(‘Digite seu peso:’);
var altura = prompt(‘Digite seu altura:’);
var imc = peso/(altura*altura);
if (imc < 18) {
alert(‘Abaixo do peso.’);
} else if (imc < 25) {
alert(Peso normal.’);
} else {
alert(‘Acima do peso.’);
}
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
22. Respostas
2.
A montagem de uma placa necessita de 2 componentes do tipo A, 3 do tipo B e 7 do tipo C. Faça um programa
que receba as quantidades de cada componente e responda quantas placas podem ser montadas no máximo.
<script>
var a = prompt(‘Qtde de componentes A:’);
var b = prompt(‘Qtde de componentes B:’);
var c = prompt(‘Qtde de componentes C:’);
var placasA = a/2;
var placasB = b/3;
var placasC = c/7;
var maximo = placasA;
if (placasB < maximo) {
maximo = placasB;
}
if (placasC < maximo) {
maximo = placasC;
}
alert(minimo);
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
23. Respostas
3.
Um banco precisa que cada cliente tenha uma senha de 4 dígitos, sendo que todos dígitos devem ser diferentes
de ‘0’. Faça um programa que receba a senha e verifique se a senha é válida.
<script>
var senha = prompt(‘Digite senha:’);
var valida = true;
valida = (senha % 10) >= 1;
senha = senha/10;
valida = (senha % 10) >= 1 && valida;
senha = senha/10;
valida = (senha % 10) >= 1 && valida;
senha = senha/10;
valida = (senha % 10) >= 1 && valida;
if (valida) {
alert(‘Senha válida.’);
} else {
alert(‘Senha inválida.’);
}
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
24. Respostas
4.
A prefeitura de uma cidade calcula a base das tarifas de fornecimento de água de acordo com as faixas de
consumo abaixo. Após calculado o valor base, a prefeitura dá um desconto de 5% para os (...)
<script>
var m3 = prompt(‘Digite o consumo em m3:’);
var tarifa = 0;
if (m3 <= 20) {
tarifa = m3 * 1.6;
} else if (m3 <= 50) {
tarifa = m3 * 2.8;
} else {
tarifa = m3 * 4.2;
}
if (tarifa <= 100) {
tarifa = tarifa - 0.05 * tarifa;
} else if (tarifa > 200) {
tarifa = 1.10 * tarifa;
}
alert(tarifa);
</script>
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014
25. Créditos
Alguns exercícios e exemplos foram retirados do livro ‘Estudo de Algoritmos: Soluções em C++ 1a Edição’ de Custódio
T. K. Martins e Milton Rodrigues.
Aula #04 - Controle de fluxo: tomada de decisão
Ramon Kayo - 2013/2014