25
Aula #04 Controle de fluxo: tomada de decisão

Lógica de Programação com Javascript - Aula #04

Embed Size (px)

Citation preview

Page 1: Lógica de Programação com Javascript - Aula #04

Aula #04Controle de fluxo: tomada de decisão

Page 2: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.

Page 3: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Instrução Condição

Bloco

● O bloco é tudo que fica entre chaves.

Page 4: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 5: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 6: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 7: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 8: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 9: Lógica de Programação com Javascript - Aula #04

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

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.’);

}

Page 10: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

//Suponha que a entrada seja 16

var idade = prompt(‘Digite sua idade’);

if (idade >= 18) {

alert(‘Maior de idade.’);

} else {

alert(‘Menor de idade.’);

}

Page 11: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

//Suponha que a entrada seja 16

var idade = prompt(‘Digite sua idade’);

if (idade >= 18) {

alert(‘Maior de idade.’);

} else {

alert(‘Menor de idade.’);

}

Page 12: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

//Suponha que a entrada seja 16

var idade = prompt(‘Digite sua idade’);

if (16 >= 18) {

alert(‘Maior de idade.’);

} else {

alert(‘Menor de idade.’);

}

Page 13: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

//Suponha que a entrada seja 16

var idade = prompt(‘Digite sua idade’);

if (16 >= 18) {

alert(‘Maior de idade.’);

} else {

alert(‘Menor de idade.’);

}

Page 14: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

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

}

Page 15: Lógica de Programação com Javascript - Aula #04

● 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..

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, faça

//Suponha que a entrada seja 16

var idade = prompt(‘Digite sua idade’);

if (idade >= 18) {

alert(‘Maior de idade.’);

} else {

alert(‘Menor de idade.’);

}

Page 16: Lógica de Programação com Javascript - Aula #04

● Você pode concatenar as instruções ‘SE’ e ‘SENÃO’ para criar condições múltiplas.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Senão, Se

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

Page 17: Lógica de Programação com Javascript - Aula #04

● Você pode colocar quantas instruções quiser dentro de um bloco, inclusive outra condição.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Blocos de Instruções

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

Page 18: Lógica de Programação com Javascript - Aula #04

● 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.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Indentação

if (a == b) {

if (b > c) {

alert(‘!’);

} else {

if (a == d) {

alert(‘!!’);

}

if (c == d) {

alert(‘!!!’);

} else {

alert(‘!!!!’);

}

}

}

Page 19: Lógica de Programação com Javascript - Aula #04

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

Exercícios

Page 20: Lógica de Programação com Javascript - Aula #04

Respostas

Page 21: Lógica de Programação com Javascript - Aula #04

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.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Respostas

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

Page 22: Lógica de Programação com Javascript - Aula #04

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.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Respostas

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

Page 23: Lógica de Programação com Javascript - Aula #04

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.

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Respostas

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

Page 24: Lógica de Programação com Javascript - Aula #04

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 (...)

Aula #04 - Controle de fluxo: tomada de decisão Ramon Kayo - 2013/2014

Respostas

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

Page 25: Lógica de Programação com Javascript - Aula #04

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

Créditos