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

Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Ramon Kayo
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAlberto Simões
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 

Mais procurados (20)

Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Visualg
VisualgVisualg
Visualg
 
Apostila sobre o Visualg
Apostila sobre o VisualgApostila sobre o Visualg
Apostila sobre o Visualg
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 

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
 
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
 
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
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
[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
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
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 (20)

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
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
 
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
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
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