SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
JavaScript: Sempre a repetir a mesma coisa :-/
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 07, 06-10-2011
Como “simplificar” trabalhos repetitivos?
Como repetir?

• 2 tipos de estruturas de repetição:

 • for

   • repetição baseada num número de vezes pré-determinado

 • while

   • repetição até que uma determinada condição seja verdadeira
Estrutura de repetição: for


       inicialização da          condição de      incremento da
       variável de ciclo        teste do ciclo   variável de ciclo




   for ( cont = valorInicial; cont <= valorFinal; cont++)
   {
       // código a executar
   }
Estrutura de repetição: for

  a variável contadora
     já foi declarada
     anteriormente?



   var cont;
   for ( cont = valorInicial; cont <= valorFinal; cont++)
   {
       // código a executar
   }




   for (var cont = valorInicial; cont <= valorFinal; cont++)
   {
       // código a executar
   }
Observações [idiotas?]

• A variável contadora do ciclo pode ter um nome qualquer

 • “cont” é só um exemplo!

• O incremento da variável contadora pode ser realizado com base em
  qualquer valor inteiro (positivo ou negativo)

 • ++ é um valor muito utilizado... mas apenas isso!

• O valor da variável contadora não deve ser alterado dentro do bloco de
  instruções

 • é possível... mas é bom saber muito bem o que se está a fazer :)
for: como funciona?

1. Executar a parte de inicialização do ciclo.

2. Verificar a condição de teste.

  i. Se verdadeira, continuar;

  ii. Se não, terminar o ciclo.

3. Executar o código existente no bloco a seguir ao ciclo.

4. Executar a parte de incremento do ciclo.

5. Repetir os passos 2 a 4 até que a condição de teste seja falsa.
for: como funciona em fluxograma

                        1. inicialização
                             ciclo;
           5...




    4. incremento de       2. Condição       false
         ciclo;              de teste



                                 true



                       3. bloco de código;
for: Exemplo (1)

•   Qual o resultado?

var i;
for (i = 0; i <= 5; i++)
{
    document.write("O número é " + i);
    document.write("<br />");
}
for: Exemplo (2)

•   Qual o resultado?

var x = 0;
for (x = 10; x >= 0; x = x - 2)
{
    document.write("O número é " + x);
    document.write("<br />");
}
for: Exemplo (3)

•   Qual o resultado?

var num = prompt(“Número?”, “”);
// Aqui falta uma rotina de validação
var i = 0;
for (i = 1; i <= 10; i++)
{
    document.write(num + “ * " + i + “ = “ + num*i);
    document.write("<br />");
}
for...in e for each...in

• estruturas de repetição para utilizar com objetos (arrays na maioria dos
  casos)

 • são rotinas que simplificam o acesso aos diferentes elementos de um
   objecto;

 • tudo o que permitem fazer também pode ser conseguido com um ciclo for
   “normal”;

 • voltaremos mais tarde a estas estruturas de repetição!
Estrutura de repetição: while


    enquanto a condição for
   verdadeira o ciclo continua      a condição pode ser
                                  qualquer expressão que
                                 tenha como resultado um
                                       valor booleano
   while ( condição )
   {
     // código a executar
   }
                                      o código a executar deve
                                     conter alguma instrução que
                                      possa ter impacto no valor
                                             da condição
while: como funciona em fluxograma




                    1. Condição       false
                      de teste



                          true



                2. bloco de código;
while: Exemplo (1)

•   Qual o resultado?

var i = 0;
while (i <= 5)
{
    document.write("O número é " + i);
    document.write("<br />");
}
while: Exemplo (2)

•   Qual o resultado?

var i = 0;
while (i <= 5)
{
    document.write("O número é " + i);
    document.write("<br />");
    i++;
}
Estrutura de repetição: do...while



   do
   {
     // código a executar
   }
   while ( condição )
                                   o código é sempre
                                 executado pelo menos
                                        uma vez
    enquanto a condição for
   verdadeira o ciclo continua
do..while: como funciona em fluxograma




                 1. bloco de código;




                     2. Condição       false
                       de teste




                           true
do...while: Exemplo (1)

•   Qual o resultado?

var i = 0;
do
{
     document.write("O número é " + i);
     document.write("<br />");
     i++;
}
while (i <= 5);
do...while: Exemplo (2)

•   Qual o resultado?

var i = 0;
do
{
     i++;
     document.write("O número é " + i);
     document.write("<br />");
}
while (i <= 5);
do...while: Exemplo (3)

•   Qual o resultado?

var userAge=””;
do
{
      userAge = prompt(“Please enter your age”,””)
}
while (isNaN(userAge) == true);
do...while: Exemplo (4)

•   Qual o resultado?

var userAge=””;
do
{
      userAge = prompt(“Please enter your age”,””)
}
while (isNaN(userAge));
ciclos dentro de ciclos (nested)

•   Qual o resultado?

    var linha = 0, coluna = 0;
    document.writeln("<table>");
    for (linha=1; linha<=10; linha++)
    {
      document.writeln("<tr>");
      for (coluna=1; coluna<=10; coluna++)
      {
        document.writeln("<td>"+linha*coluna+"</td>");
      }
      document.writeln("</tr>");
    }
    document.writeln("</table>");

Más contenido relacionado

La actualidad más candente

Minicurso c++-see-2013
Minicurso c++-see-2013Minicurso c++-see-2013
Minicurso c++-see-2013
Renan Prata
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
Henoc Freire
 

La actualidad más candente (20)

Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
 
Minicurso Node.js fullstack IFCE - 2015-11-28
Minicurso Node.js fullstack IFCE - 2015-11-28Minicurso Node.js fullstack IFCE - 2015-11-28
Minicurso Node.js fullstack IFCE - 2015-11-28
 
Geca - Encontro 0
Geca - Encontro 0Geca - Encontro 0
Geca - Encontro 0
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetição
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascript
 
Minicurso c++-see-2013
Minicurso c++-see-2013Minicurso c++-see-2013
Minicurso c++-see-2013
 
Aula python
Aula pythonAula python
Aula python
 
Aula02 - Lógica de Programação
Aula02 - Lógica de ProgramaçãoAula02 - Lógica de Programação
Aula02 - Lógica de Programação
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Migrando para PHP7 - Novidades
Migrando para PHP7 - NovidadesMigrando para PHP7 - Novidades
Migrando para PHP7 - Novidades
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Usando POP com Programação Funcional
Usando POP com Programação FuncionalUsando POP com Programação Funcional
Usando POP com Programação Funcional
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricks
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
 
Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05
 

Destacado

Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
Eventeam
 
Automatic classification and ontology
Automatic classification and ontologyAutomatic classification and ontology
Automatic classification and ontology
NLPseminar
 
Biobibliografia luisa ducla soares
Biobibliografia luisa ducla soaresBiobibliografia luisa ducla soares
Biobibliografia luisa ducla soares
mdsousagarcia
 
LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13
Carlos Santos
 
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOSAUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
lorenavargas15
 
Boldog karacsonyt2012sziszko
Boldog karacsonyt2012sziszkoBoldog karacsonyt2012sziszko
Boldog karacsonyt2012sziszko
Sziszko B.né
 
Presentacionmodulo 3
Presentacionmodulo 3Presentacionmodulo 3
Presentacionmodulo 3
jsarrion
 
LabMM4 (T01 - 12/13) - Apresentação da UC
LabMM4 (T01 - 12/13) - Apresentação da UCLabMM4 (T01 - 12/13) - Apresentação da UC
LabMM4 (T01 - 12/13) - Apresentação da UC
Carlos Santos
 

Destacado (20)

Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
Offre Eventeam Tournoi des 6 nations 2013 : Angleterre - France
 
Filosofia tema 1
Filosofia tema 1Filosofia tema 1
Filosofia tema 1
 
Exercise 1
Exercise 1Exercise 1
Exercise 1
 
Informatique en humour
Informatique en humourInformatique en humour
Informatique en humour
 
소셜 전략 및 사례 (경기여성능력개발원 2014년 6월)
소셜 전략 및 사례 (경기여성능력개발원 2014년 6월)소셜 전략 및 사례 (경기여성능력개발원 2014년 6월)
소셜 전략 및 사례 (경기여성능력개발원 2014년 6월)
 
Automatic classification and ontology
Automatic classification and ontologyAutomatic classification and ontology
Automatic classification and ontology
 
José
JoséJosé
José
 
Gabi
GabiGabi
Gabi
 
Jews and the reconquista
Jews and the reconquistaJews and the reconquista
Jews and the reconquista
 
Web image annotation by diffusion maps manifold learning algorithm
Web image annotation by diffusion maps manifold learning algorithmWeb image annotation by diffusion maps manifold learning algorithm
Web image annotation by diffusion maps manifold learning algorithm
 
Biobibliografia luisa ducla soares
Biobibliografia luisa ducla soaresBiobibliografia luisa ducla soares
Biobibliografia luisa ducla soares
 
Le Club des Ex.
Le Club des Ex.Le Club des Ex.
Le Club des Ex.
 
LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13
 
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOSAUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
AUDITOR INFORMÁTICO Y SUS CONOCIMIENTOS
 
4 arrays
4 arrays4 arrays
4 arrays
 
Boldog karacsonyt2012sziszko
Boldog karacsonyt2012sziszkoBoldog karacsonyt2012sziszko
Boldog karacsonyt2012sziszko
 
Presentacionmodulo 3
Presentacionmodulo 3Presentacionmodulo 3
Presentacionmodulo 3
 
Programação web ii aulas 03 e 04
Programação web ii   aulas 03 e 04Programação web ii   aulas 03 e 04
Programação web ii aulas 03 e 04
 
Open data
Open dataOpen data
Open data
 
LabMM4 (T01 - 12/13) - Apresentação da UC
LabMM4 (T01 - 12/13) - Apresentação da UCLabMM4 (T01 - 12/13) - Apresentação da UC
LabMM4 (T01 - 12/13) - Apresentação da UC
 

Similar a LabMM3 - Aula teórica 07

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
EvelyneBorges
 
Introdução ao JS1.pptx
Introdução ao JS1.pptxIntrodução ao JS1.pptx
Introdução ao JS1.pptx
LuanDev1
 
GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?
Qaladies
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02
Leandro Rezende
 

Similar a LabMM3 - Aula teórica 07 (20)

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Testing sucks
Testing sucksTesting sucks
Testing sucks
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
Aula2
Aula2Aula2
Aula2
 
Introdução ao JS1.pptx
Introdução ao JS1.pptxIntrodução ao JS1.pptx
Introdução ao JS1.pptx
 
GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Aula3
Aula3Aula3
Aula3
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
TDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para TestersTDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para Testers
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02
 
Pacote web java script
Pacote web   java scriptPacote web   java script
Pacote web java script
 

Más de Carlos Santos

AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
Carlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
Carlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
Carlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
Carlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
Carlos Santos
 

Más de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 

Último (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 

LabMM3 - Aula teórica 07

  • 1.
  • 2. JavaScript: Sempre a repetir a mesma coisa :-/ Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 07, 06-10-2011
  • 4. Como repetir? • 2 tipos de estruturas de repetição: • for • repetição baseada num número de vezes pré-determinado • while • repetição até que uma determinada condição seja verdadeira
  • 5. Estrutura de repetição: for inicialização da condição de incremento da variável de ciclo teste do ciclo variável de ciclo for ( cont = valorInicial; cont <= valorFinal; cont++) { // código a executar }
  • 6. Estrutura de repetição: for a variável contadora já foi declarada anteriormente? var cont; for ( cont = valorInicial; cont <= valorFinal; cont++) { // código a executar } for (var cont = valorInicial; cont <= valorFinal; cont++) { // código a executar }
  • 7. Observações [idiotas?] • A variável contadora do ciclo pode ter um nome qualquer • “cont” é só um exemplo! • O incremento da variável contadora pode ser realizado com base em qualquer valor inteiro (positivo ou negativo) • ++ é um valor muito utilizado... mas apenas isso! • O valor da variável contadora não deve ser alterado dentro do bloco de instruções • é possível... mas é bom saber muito bem o que se está a fazer :)
  • 8. for: como funciona? 1. Executar a parte de inicialização do ciclo. 2. Verificar a condição de teste. i. Se verdadeira, continuar; ii. Se não, terminar o ciclo. 3. Executar o código existente no bloco a seguir ao ciclo. 4. Executar a parte de incremento do ciclo. 5. Repetir os passos 2 a 4 até que a condição de teste seja falsa.
  • 9. for: como funciona em fluxograma 1. inicialização ciclo; 5... 4. incremento de 2. Condição false ciclo; de teste true 3. bloco de código;
  • 10. for: Exemplo (1) • Qual o resultado? var i; for (i = 0; i <= 5; i++) { document.write("O número é " + i); document.write("<br />"); }
  • 11. for: Exemplo (2) • Qual o resultado? var x = 0; for (x = 10; x >= 0; x = x - 2) { document.write("O número é " + x); document.write("<br />"); }
  • 12. for: Exemplo (3) • Qual o resultado? var num = prompt(“Número?”, “”); // Aqui falta uma rotina de validação var i = 0; for (i = 1; i <= 10; i++) { document.write(num + “ * " + i + “ = “ + num*i); document.write("<br />"); }
  • 13. for...in e for each...in • estruturas de repetição para utilizar com objetos (arrays na maioria dos casos) • são rotinas que simplificam o acesso aos diferentes elementos de um objecto; • tudo o que permitem fazer também pode ser conseguido com um ciclo for “normal”; • voltaremos mais tarde a estas estruturas de repetição!
  • 14. Estrutura de repetição: while enquanto a condição for verdadeira o ciclo continua a condição pode ser qualquer expressão que tenha como resultado um valor booleano while ( condição ) { // código a executar } o código a executar deve conter alguma instrução que possa ter impacto no valor da condição
  • 15. while: como funciona em fluxograma 1. Condição false de teste true 2. bloco de código;
  • 16. while: Exemplo (1) • Qual o resultado? var i = 0; while (i <= 5) { document.write("O número é " + i); document.write("<br />"); }
  • 17. while: Exemplo (2) • Qual o resultado? var i = 0; while (i <= 5) { document.write("O número é " + i); document.write("<br />"); i++; }
  • 18. Estrutura de repetição: do...while do { // código a executar } while ( condição ) o código é sempre executado pelo menos uma vez enquanto a condição for verdadeira o ciclo continua
  • 19. do..while: como funciona em fluxograma 1. bloco de código; 2. Condição false de teste true
  • 20. do...while: Exemplo (1) • Qual o resultado? var i = 0; do { document.write("O número é " + i); document.write("<br />"); i++; } while (i <= 5);
  • 21. do...while: Exemplo (2) • Qual o resultado? var i = 0; do { i++; document.write("O número é " + i); document.write("<br />"); } while (i <= 5);
  • 22. do...while: Exemplo (3) • Qual o resultado? var userAge=””; do { userAge = prompt(“Please enter your age”,””) } while (isNaN(userAge) == true);
  • 23. do...while: Exemplo (4) • Qual o resultado? var userAge=””; do { userAge = prompt(“Please enter your age”,””) } while (isNaN(userAge));
  • 24. ciclos dentro de ciclos (nested) • Qual o resultado? var linha = 0, coluna = 0; document.writeln("<table>"); for (linha=1; linha<=10; linha++) { document.writeln("<tr>"); for (coluna=1; coluna<=10; coluna++) { document.writeln("<td>"+linha*coluna+"</td>"); } document.writeln("</tr>"); } document.writeln("</table>");