SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Aula #05
Controle de fluxo: laço de repetição
Laço de repetição: ENQUANTO e FAÇA, ENQUANTO
●

Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões.

●

Para repetir instruções por um número de vezes desconhecido, todas as linguagens de alto nível possuem as
instruções ‘ENQUANTO’ e ‘FAÇA, ENQUANTO’.

<script>
var numero = 1;
while (numero != 0) {
numero = prompt(‘Digite um número:’);
alert(numero);
}
alert(‘FIM.’);
</script>

No código acima, o programa pedirá um número ao usuário e o mostrará em seguida, enquanto o número digitado
for diferente de 0. A mensagem ‘FIM’ será mostrada ao fim.

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: ENQUANTO
●

A instrução ENQUANTO possui:
○

Uma condição de execução - é o que define quando o laço deve continuar

○

Um bloco de instruções - é realizado a cada iteração

Condição de execução

while (i != 0) {
alert(i);
Instrução

Bloco de Instruções

alert(‘Você não digitou 0’);
i = prompt(‘Digite um número:’);

}

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Faça, Enquanto
●

A instrução FAÇA, ENQUANTO possui:
○

Uma condição de execução - é o que define quando o laço deve continuar

○

Um bloco de instruções - é realizado antes da primeira iteração e a cada iteração

do {
i = prompt(‘Digite um número:’);
Instrução

Bloco de Instruções

alert(i);

} while (i != 0)
Condição de execução

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Exercícios
1.

Faça um programa que receba números do usuário até que ele digite ‘0’ e então calcule a média aritimética.

2.

Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador
não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar, uma mensagem
‘Você ganhou!’ deve aparecer.

3.

Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador
não acertar o número, uma mensagem ‘Você errou!’ deve aparecer e também uma dica dizendo se o número
secreto é maior ou menor do que o digitado. Se o jogador acertar, uma mensagem ‘Você ganhou!’ deve
aparecer.

4.

Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três
deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o
jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer.

5.

Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três
deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o
jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer. Se o usuário
errar mais de 10 vezes, o programa deve mostrar uma mensagem com a resposta e o texto ‘Fim. Você perdeu’,
e terminar sua execução.

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
●

Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões.

●

Para repetir instruções por um número de vezes conhecido, todas as linguagens de alto nível possuem a
instrução ‘PARA’.

<script>
var numero = prompt(‘Digite o número para qual deseja ver a tabuada.’);
for (var i=1; i<=10; i++) {
alert(numero*i);
}
alert(‘FIM.’);
</script>
No código acima, se o usuário digitar ‘5’, por exemplo, o programa exibirá os números: 5, 10, 15, 20, 25, 30, 35, 40,
45, 50. A mensagem ‘FIM’ será mostrada ao fim.

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
●

A instrução PARA possui:
○

Uma instrução de inicialização - acontece uma vez, antes das iterações

○

Uma condição de execução - é o que define quando o laço deve continuar

○

Uma instrução de pós-iteração - acontece ao final de cada iteração, após o bloco de instruções

○

Um bloco de instruções - é realizado a cada iteração

Inicialização

Condição de execução

Pós-iteração

for (var i=0; i<10; i++) {
alert(‘Iteração:’);
Instrução

Bloco de Instruções

alert(i);
alert(‘i aumentará ao final da repetição’);

}

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

8.

Mostra ‘2’

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

8.

Mostra ‘2’

9.

Aumenta ‘i’ para 3

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

8.

Mostra ‘2’

9.

Aumenta ‘i’ para 3

10.

Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro)

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

8.

Mostra ‘2’

9.

Aumenta ‘i’ para 3

10.

Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro)

11.

Etc...

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Laço de repetição: Para
for (var i=0; i<5; i++) {
alert(i);
}
1.

Cria a variável ‘i’, com o valor ‘0’

2.

Mostra ‘0’

3.

Aumenta ‘i’ para 1

4.

Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro)

5.

Mostra ‘1’

6.

Aumenta ‘i’ para 2

7.

Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro)

8.

Mostra ‘2’

9.

Aumenta ‘i’ para 3

10.

Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro)

11.

Etc...

Aula #05 - Controle de fluxo: laço de repetição

número
Qual é o último
do?
que será mostra

Ramon Kayo - 2013/2014
Laço de repetição: QUEBRE
●

Você pode parar um laço de repetição antes de sua condição falhar com a instrução QUEBRE.

for (var i=0; i<5; i++) {
if (algoImportante) {
break; //sai do laço de repetição
}
}
while (true) {
if (algoImportante) {
break; //sai do laço de repetição
}
}

Aula #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014
Exercícios
6.

Faça um algoritmo que dada uma entrada numérica do usuário, calcule a tabuada do número até 10.

7.

Faça um algoritmo que dadas duas entrada numéricas do usuário, x e y, calcule a tabuada do x até y.

8.

Faça um algoritmo que dada uma entrada numérica do usuário, mostre uma contagem regressiva até 0.

9.

Faça um algoritmo capaz de calcular o fatorial de um número.

10.

Sabendo que um tabuleiro de batalha naval possui colunas de 1 a 10 e linhas de 1 a 10, faça um algoritmo que
mostre todas as posições possíveis do tabuleiro, com exceção de 2-1, 2-2 e 2-3.

11.

Faça um algoritmo que mostre todos os números ímpares, com exceção do 5, de 1 até o número que o usuário
determinar pela entrada.

12.

Faça um programa que receba 10 valores do usuário e calcule a média aritimética dos valores, utilizando
somente 2 variáveis.

Aula #05 - Controle de fluxo: laço de repetiçã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 #05 - Controle de fluxo: laço de repetição

Ramon Kayo - 2013/2014

Mais conteúdo relacionado

Destaque

Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Ramon 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
 
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
 
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
 
Power point da apresentação na Câmara de Vereadores.
Power point da apresentação na Câmara de Vereadores. Power point da apresentação na Câmara de Vereadores.
Power point da apresentação na Câmara de Vereadores. Giovane Maffini
 
3.patologias respiratórias do rn
3.patologias respiratórias do rn3.patologias respiratórias do rn
3.patologias respiratórias do rnMickael Gomes
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
[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
 
Aula assistência de enfermagem no puerperio imeditato
Aula assistência de enfermagem no puerperio imeditatoAula assistência de enfermagem no puerperio imeditato
Aula assistência de enfermagem no puerperio imeditatoViviane da Silva
 

Destaque (19)

Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
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
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)
 
Apostila CSS e Java Script
Apostila  CSS e Java ScriptApostila  CSS e Java Script
Apostila CSS e Java Script
 
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
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Power point da apresentação na Câmara de Vereadores.
Power point da apresentação na Câmara de Vereadores. Power point da apresentação na Câmara de Vereadores.
Power point da apresentação na Câmara de Vereadores.
 
Malformação Congênitas
Malformação CongênitasMalformação Congênitas
Malformação Congênitas
 
3.patologias respiratórias do rn
3.patologias respiratórias do rn3.patologias respiratórias do rn
3.patologias respiratórias do rn
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a 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
 
Uti Neonatal Parte 1
Uti Neonatal Parte 1Uti Neonatal Parte 1
Uti Neonatal Parte 1
 
Aula assistência de enfermagem no puerperio imeditato
Aula assistência de enfermagem no puerperio imeditatoAula assistência de enfermagem no puerperio imeditato
Aula assistência de enfermagem no puerperio imeditato
 

Semelhante a Lógica de Programação com Javascript - Aula #05

T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)Carlos Santos
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfEnio Filho
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoEder Samaniego
 
ALGEBRA 12 - Lacos de Repeticao -WHILE.ppt
ALGEBRA 12 - Lacos de Repeticao -WHILE.pptALGEBRA 12 - Lacos de Repeticao -WHILE.ppt
ALGEBRA 12 - Lacos de Repeticao -WHILE.ppttridapalliadriana
 
(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetiçãoCarlos Santos
 
LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07Carlos Santos
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleCurso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleRenato Sousa
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaRenato Sousa
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Eder Samaniego
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07André Phillip Bertoletti
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoEder Samaniego
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoaldoirjava
 

Semelhante a Lógica de Programação com Javascript - Aula #05 (20)

T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
 
Repetir
RepetirRepetir
Repetir
 
Capítulo 2 - Python
Capítulo 2 - PythonCapítulo 2 - Python
Capítulo 2 - Python
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
 
ALGEBRA 12 - Lacos de Repeticao -WHILE.ppt
ALGEBRA 12 - Lacos de Repeticao -WHILE.pptALGEBRA 12 - Lacos de Repeticao -WHILE.ppt
ALGEBRA 12 - Lacos de Repeticao -WHILE.ppt
 
(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição
 
Ruby learning
Ruby learningRuby learning
Ruby learning
 
LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Repetições e vetores
Repetições e vetoresRepetições e vetores
Repetições e vetores
 
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleCurso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-java
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
logica-while.pptx
logica-while.pptxlogica-while.pptx
logica-while.pptx
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
 

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

  • 1. Aula #05 Controle de fluxo: laço de repetição
  • 2. Laço de repetição: ENQUANTO e FAÇA, ENQUANTO ● Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões. ● Para repetir instruções por um número de vezes desconhecido, todas as linguagens de alto nível possuem as instruções ‘ENQUANTO’ e ‘FAÇA, ENQUANTO’. <script> var numero = 1; while (numero != 0) { numero = prompt(‘Digite um número:’); alert(numero); } alert(‘FIM.’); </script> No código acima, o programa pedirá um número ao usuário e o mostrará em seguida, enquanto o número digitado for diferente de 0. A mensagem ‘FIM’ será mostrada ao fim. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 3. Laço de repetição: ENQUANTO ● A instrução ENQUANTO possui: ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Um bloco de instruções - é realizado a cada iteração Condição de execução while (i != 0) { alert(i); Instrução Bloco de Instruções alert(‘Você não digitou 0’); i = prompt(‘Digite um número:’); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 4. Laço de repetição: Faça, Enquanto ● A instrução FAÇA, ENQUANTO possui: ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Um bloco de instruções - é realizado antes da primeira iteração e a cada iteração do { i = prompt(‘Digite um número:’); Instrução Bloco de Instruções alert(i); } while (i != 0) Condição de execução Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 5. Exercícios 1. Faça um programa que receba números do usuário até que ele digite ‘0’ e então calcule a média aritimética. 2. Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar, uma mensagem ‘Você ganhou!’ deve aparecer. 3. Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer e também uma dica dizendo se o número secreto é maior ou menor do que o digitado. Se o jogador acertar, uma mensagem ‘Você ganhou!’ deve aparecer. 4. Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer. 5. Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer. Se o usuário errar mais de 10 vezes, o programa deve mostrar uma mensagem com a resposta e o texto ‘Fim. Você perdeu’, e terminar sua execução. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 6. Laço de repetição: Para ● Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões. ● Para repetir instruções por um número de vezes conhecido, todas as linguagens de alto nível possuem a instrução ‘PARA’. <script> var numero = prompt(‘Digite o número para qual deseja ver a tabuada.’); for (var i=1; i<=10; i++) { alert(numero*i); } alert(‘FIM.’); </script> No código acima, se o usuário digitar ‘5’, por exemplo, o programa exibirá os números: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50. A mensagem ‘FIM’ será mostrada ao fim. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 7. Laço de repetição: Para ● A instrução PARA possui: ○ Uma instrução de inicialização - acontece uma vez, antes das iterações ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Uma instrução de pós-iteração - acontece ao final de cada iteração, após o bloco de instruções ○ Um bloco de instruções - é realizado a cada iteração Inicialização Condição de execução Pós-iteração for (var i=0; i<10; i++) { alert(‘Iteração:’); Instrução Bloco de Instruções alert(i); alert(‘i aumentará ao final da repetição’); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 8. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 9. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 10. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 11. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 12. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 13. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 14. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 15. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 16. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 17. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 18. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 19. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) 11. Etc... Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 20. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) 11. Etc... Aula #05 - Controle de fluxo: laço de repetição número Qual é o último do? que será mostra Ramon Kayo - 2013/2014
  • 21. Laço de repetição: QUEBRE ● Você pode parar um laço de repetição antes de sua condição falhar com a instrução QUEBRE. for (var i=0; i<5; i++) { if (algoImportante) { break; //sai do laço de repetição } } while (true) { if (algoImportante) { break; //sai do laço de repetição } } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 22. Exercícios 6. Faça um algoritmo que dada uma entrada numérica do usuário, calcule a tabuada do número até 10. 7. Faça um algoritmo que dadas duas entrada numéricas do usuário, x e y, calcule a tabuada do x até y. 8. Faça um algoritmo que dada uma entrada numérica do usuário, mostre uma contagem regressiva até 0. 9. Faça um algoritmo capaz de calcular o fatorial de um número. 10. Sabendo que um tabuleiro de batalha naval possui colunas de 1 a 10 e linhas de 1 a 10, faça um algoritmo que mostre todas as posições possíveis do tabuleiro, com exceção de 2-1, 2-2 e 2-3. 11. Faça um algoritmo que mostre todos os números ímpares, com exceção do 5, de 1 até o número que o usuário determinar pela entrada. 12. Faça um programa que receba 10 valores do usuário e calcule a média aritimética dos valores, utilizando somente 2 variáveis. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  • 23. 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 #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014