SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Aula #04
Controle de fluxo: tomada de decisão
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Respostas
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
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
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
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
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

Mais conteúdo relacionado

Mais procurados

Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoessamuelthiago
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticosCentro Paula Souza
 

Mais procurados (20)

Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Aprendendo a Usar o Netbeans
Aprendendo a Usar o NetbeansAprendendo a Usar o Netbeans
Aprendendo a Usar o Netbeans
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoes
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 

Destaque

Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Ramon Kayo
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)Alex Camargo
 
08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)Centro Paula Souza
 
Minicurso Javascript
Minicurso JavascriptMinicurso Javascript
Minicurso JavascriptWilker Iceri
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutórialucasleite
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)Alex Camargo
 
Desenvolvimento-web-com-html-css-e-javascript
Desenvolvimento-web-com-html-css-e-javascriptDesenvolvimento-web-com-html-css-e-javascript
Desenvolvimento-web-com-html-css-e-javascriptManuel Fernando
 
javscript para iniciantes
javscript para iniciantesjavscript para iniciantes
javscript para iniciantesbradock1964
 
Livro java script guia pratico do web master
Livro java script guia pratico do web masterLivro java script guia pratico do web master
Livro java script guia pratico do web masterSérgio Reis
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19Loiane Groner
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cWilson Kushima
 

Destaque (17)

Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Apostila CSS e Java Script
Apostila  CSS e Java ScriptApostila  CSS e Java Script
Apostila CSS e Java Script
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)
 
Na prática: STF e CobiT
Na prática: STF e CobiTNa prática: STF e CobiT
Na prática: STF e CobiT
 
Cent os
Cent osCent os
Cent os
 
Minicurso Javascript
Minicurso JavascriptMinicurso Javascript
Minicurso Javascript
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
Javascript
JavascriptJavascript
Javascript
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)
 
Desenvolvimento-web-com-html-css-e-javascript
Desenvolvimento-web-com-html-css-e-javascriptDesenvolvimento-web-com-html-css-e-javascript
Desenvolvimento-web-com-html-css-e-javascript
 
javscript para iniciantes
javscript para iniciantesjavscript para iniciantes
javscript para iniciantes
 
Curso java script
Curso java scriptCurso java script
Curso java script
 
Livro java script guia pratico do web master
Livro java script guia pratico do web masterLivro java script guia pratico do web master
Livro java script guia pratico do web master
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-c
 

Tomada de decisão em programação

  • 1. Aula #04 Controle de fluxo: tomada de decisão
  • 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