SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
JavaScript
(slides pertencentes à última aula)
Concatenação de strings

• Exemplos:

  • var nome = “Ana” + “Lopes”; => “AnaLopes”

  • var nome = “Ana” + “ Lopes”; => “Ana Lopes”

  • var nome = “Ana” + “ “ + “Lopes”; => “Ana Lopes”

• Concatenação de strings com números:

  • var t = “A minha idade: “ + 21; => “A minha idade: 21”
Conversão para número

• Soma de duas strings que podem ser interpretadas como número:

  • var soma = “12” + “34”; => “1234”

  • var resultado = “2” * “4”; => 8

  • var legumes = 1 + 4 + “nabos”; => “5nabos”

  • var legumes = “nabos” + 1 + 4; => “nabos14”



• Conversão para número

  • parseInt(string); => número inteiro

  • parseFloat(string); => número real
parseInt() e parseFloat()

• Exemplos:

  • var soma = parseInt(“12”) + parseInt(“34”); => 46

  • var numero = parseInt(“342abb”); => 342

  • var numero = parseFloat(“3.02ppp”); => 3.02



• Nem sempre é possível converter para número:

  • var num = parseInt(“teste”); => NaN (Not a Number)

  • var num = parseInt(“a123”); => NaN
Tipos de dados: para mais detalhes

• Estudar Capítulo 3, até à pág. 40, do livro “Professional JavaScript for Web
  Developers”

 • Exemplos mais complexos:

   • var num3 = Number(“000011”); //11

   • isNaN(10); //false

   • if (string) -> true ou false?

   • var num3 = parseInt(“10”, 10); //10 - parsed as decimal

   • ...
Comentários

• Uma linha:

 // Isto é um comentário de uma linha
 // Para segunda linha é necessário repetir código



• Várias linhas:
 /*
        Isto é um comentário multi-linha
        que só termina quando encontrar
 */
JavaScript: Decisões... decisões
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 07, 03-10-2012
E o talvez?
Um computador...

• é capaz de tomar decisões com base na informação recolhida;

• as decisões são tomadas com base em condições;

• todas as condições têm que resultar num valor booleano: true ou false

• normalmente, as condições são construídas tendo por base operadores
  de comparação e operadores lógicos.
Operadores de comparação

                           operador



    operando esquerdo                   operando direito

                         a < b
        “O valor de a é menor do que o valor de b?



                        true      false
Operadores de comparação


 Operador              Significado
    ==                      igual
    <                      menor
    >                      maior
   <=                 menor ou igual
   >=                 maior ou igual
   !=               diferente (não igual)
Operadores de comparação: exemplos

 var a = 5;
 var b = 10;
 var c = 2;

• Qual o resultado das seguintes comparações?
 a > b; //?

 b < 50; //?

 a >= 10 % 2; //?

 a > b > c; //?
Operadores de comparação: precedências



  Operadores             Precedência



 <, >, <=, >=            mais elevada



    ==, !=               menos elevada
Operadores de comparação: exemplos

 var a = 5;
 var b = 10;
 var c = 2;

• Qual o resultado das seguintes comparações?
 a > b == b < c; //?
Tantos iguais?


    Operador                   Significado


        =                       atribuição


       ==                   comparação: igual

                 comparação: igual com verificação de tipo
       ===
                                de dados
Armazenar resultados de comparações

 var age = prompt(“Enter age:”, “”);
 var isOverSixty = parseInt(age) > 60;
 document.write(“Older than 60: “ + isOverSixty);


     //Older than 60: false|true




                                         Exemplo retirado de “Beginning JavaScript”, pág. 54
Operadores lógicos


 Operador             Significado


   &&                   AND (E)


   ||                   OR (OU)


    !                NOT (NEGAÇÃO)
Operadores lógicos: como utilizar

• “A UA tem mais de 45 anos e menos de 50 anos?”



  • 45 < idadeUA < 50; //?



  • idadeUA > 45 && idadeUA < 50; //?



• NOTA: os operadores lógicos têm menor precedência do que os operadores
  de comparação.
Tabelas de verdade: AND


     a          b         a && b

   TRUE        TRUE        TRUE

   FALSE       TRUE       FALSE

   TRUE       FALSE       FALSE

   FALSE      FALSE       FALSE
Tabelas de verdade: OR


     a           b       a || b

   TRUE        TRUE       TRUE

   FALSE       TRUE       TRUE

   TRUE        FALSE      TRUE

   FALSE       FALSE     FALSE
Tabelas de verdade: NOT



       a                   !a



     TRUE                 FALSE



     FALSE                TRUE
Operadores lógicos: exemplos

 var a = 5;
 var b = 10;
 var c = 2;

• Qual o resultado das seguintes comparações?
 a > b && b < c; //?

 a < b && b < c; //?

 a < b || b < c; //?

 a > b && b < c; //?

 !(a > c); //?

 a < b || b < c && a < c; //?
Como tomar decisões?




                                 false
                 Se (condição)




                        true
O que fazer? (1)




                                   false
                   Se (condição)




                          true


                   instruções;
O que fazer? (2)




                             false
             Se (condição)




                    true      instruções;


              instruções;
O que fazer? (3)




                          false
          Se (condição)




                               Se        false
                   true
                           (condição2)

           instruções;

                                  true
if ...

 if (condição)
     instrução;


 if (condição) {
     instruções;
 }
if ... else

 if (condição)
     instrução1;
 else
     instrução2;



 if (condição) {
     instruções1;
 } else {
     instruções2;
 }
if ... else if ... (múltiplos)

 if (condição1) {
    instruções1;
 } else
          if (condição2){
              instruções2;
          } else {
              instruções3;
          }
Como tomar decisões múltiplas?




                                        default
                    variável

        valor1


                               valorN
switch

 switch (n) {
     case 1:
       instruções1;
       break;
     case 2:
       instruções2;
       break;
     default:
       instruções se n é diferente de 1 e 2;
 }

Contenu connexe

Tendances

Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, Assertivas
Elenilson Vieira
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
guestd6da1cd
 

Tendances (20)

Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Manual básico de conversão de pseudocódigo para C#
Manual básico de conversão de pseudocódigo para C#Manual básico de conversão de pseudocódigo para C#
Manual básico de conversão de pseudocódigo para C#
 
Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, Assertivas
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
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
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
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
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticas
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Aula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e LógicasAula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e Lógicas
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 

Similaire à (A07) LabMM3 - JavaScript - Estruturas de decisão

T05_LM3: Javascript (2013-2014)
T05_LM3: Javascript (2013-2014)T05_LM3: Javascript (2013-2014)
T05_LM3: Javascript (2013-2014)
Carlos Santos
 
Minicurso de PHP para iniciantes
Minicurso de PHP para iniciantesMinicurso de PHP para iniciantes
Minicurso de PHP para iniciantes
marioaxavier7
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
raquelcarsi
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
nataferraz
 
(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
Carlos Santos
 

Similaire à (A07) LabMM3 - JavaScript - Estruturas de decisão (20)

T05_LM3: Javascript (2013-2014)
T05_LM3: Javascript (2013-2014)T05_LM3: Javascript (2013-2014)
T05_LM3: Javascript (2013-2014)
 
Operadores
OperadoresOperadores
Operadores
 
ptt
pttptt
ptt
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicional
 
Visualg
VisualgVisualg
Visualg
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Minicurso de PHP para iniciantes
Minicurso de PHP para iniciantesMinicurso de PHP para iniciantes
Minicurso de PHP para iniciantes
 
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
 
Operadores Java
Operadores JavaOperadores Java
Operadores Java
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
 
Minicurso de PHP para iniciantes - Mario Araujo Xavier - FLISOL 2017 - Natal
Minicurso de PHP para iniciantes - Mario Araujo Xavier - FLISOL 2017 - NatalMinicurso de PHP para iniciantes - Mario Araujo Xavier - FLISOL 2017 - Natal
Minicurso de PHP para iniciantes - Mario Araujo Xavier - FLISOL 2017 - Natal
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
 
Algoritmos Aula 05
Algoritmos Aula 05Algoritmos Aula 05
Algoritmos Aula 05
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07
 
EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
(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
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
 

Plus 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
 

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

Dernier

SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
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
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 

Dernier (20)

SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
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
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.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
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
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*
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
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
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
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...
 

(A07) LabMM3 - JavaScript - Estruturas de decisão

  • 2. Concatenação de strings • Exemplos: • var nome = “Ana” + “Lopes”; => “AnaLopes” • var nome = “Ana” + “ Lopes”; => “Ana Lopes” • var nome = “Ana” + “ “ + “Lopes”; => “Ana Lopes” • Concatenação de strings com números: • var t = “A minha idade: “ + 21; => “A minha idade: 21”
  • 3. Conversão para número • Soma de duas strings que podem ser interpretadas como número: • var soma = “12” + “34”; => “1234” • var resultado = “2” * “4”; => 8 • var legumes = 1 + 4 + “nabos”; => “5nabos” • var legumes = “nabos” + 1 + 4; => “nabos14” • Conversão para número • parseInt(string); => número inteiro • parseFloat(string); => número real
  • 4. parseInt() e parseFloat() • Exemplos: • var soma = parseInt(“12”) + parseInt(“34”); => 46 • var numero = parseInt(“342abb”); => 342 • var numero = parseFloat(“3.02ppp”); => 3.02 • Nem sempre é possível converter para número: • var num = parseInt(“teste”); => NaN (Not a Number) • var num = parseInt(“a123”); => NaN
  • 5. Tipos de dados: para mais detalhes • Estudar Capítulo 3, até à pág. 40, do livro “Professional JavaScript for Web Developers” • Exemplos mais complexos: • var num3 = Number(“000011”); //11 • isNaN(10); //false • if (string) -> true ou false? • var num3 = parseInt(“10”, 10); //10 - parsed as decimal • ...
  • 6. Comentários • Uma linha: // Isto é um comentário de uma linha // Para segunda linha é necessário repetir código • Várias linhas: /* Isto é um comentário multi-linha que só termina quando encontrar */
  • 7. JavaScript: Decisões... decisões Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 07, 03-10-2012
  • 9. Um computador... • é capaz de tomar decisões com base na informação recolhida; • as decisões são tomadas com base em condições; • todas as condições têm que resultar num valor booleano: true ou false • normalmente, as condições são construídas tendo por base operadores de comparação e operadores lógicos.
  • 10. Operadores de comparação operador operando esquerdo operando direito a < b “O valor de a é menor do que o valor de b? true false
  • 11. Operadores de comparação Operador Significado == igual < menor > maior <= menor ou igual >= maior ou igual != diferente (não igual)
  • 12. Operadores de comparação: exemplos var a = 5; var b = 10; var c = 2; • Qual o resultado das seguintes comparações? a > b; //? b < 50; //? a >= 10 % 2; //? a > b > c; //?
  • 13. Operadores de comparação: precedências Operadores Precedência <, >, <=, >= mais elevada ==, != menos elevada
  • 14. Operadores de comparação: exemplos var a = 5; var b = 10; var c = 2; • Qual o resultado das seguintes comparações? a > b == b < c; //?
  • 15. Tantos iguais? Operador Significado = atribuição == comparação: igual comparação: igual com verificação de tipo === de dados
  • 16. Armazenar resultados de comparações var age = prompt(“Enter age:”, “”); var isOverSixty = parseInt(age) > 60; document.write(“Older than 60: “ + isOverSixty); //Older than 60: false|true Exemplo retirado de “Beginning JavaScript”, pág. 54
  • 17. Operadores lógicos Operador Significado && AND (E) || OR (OU) ! NOT (NEGAÇÃO)
  • 18. Operadores lógicos: como utilizar • “A UA tem mais de 45 anos e menos de 50 anos?” • 45 < idadeUA < 50; //? • idadeUA > 45 && idadeUA < 50; //? • NOTA: os operadores lógicos têm menor precedência do que os operadores de comparação.
  • 19. Tabelas de verdade: AND a b a && b TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
  • 20. Tabelas de verdade: OR a b a || b TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE
  • 21. Tabelas de verdade: NOT a !a TRUE FALSE FALSE TRUE
  • 22. Operadores lógicos: exemplos var a = 5; var b = 10; var c = 2; • Qual o resultado das seguintes comparações? a > b && b < c; //? a < b && b < c; //? a < b || b < c; //? a > b && b < c; //? !(a > c); //? a < b || b < c && a < c; //?
  • 23. Como tomar decisões? false Se (condição) true
  • 24. O que fazer? (1) false Se (condição) true instruções;
  • 25. O que fazer? (2) false Se (condição) true instruções; instruções;
  • 26. O que fazer? (3) false Se (condição) Se false true (condição2) instruções; true
  • 27. if ... if (condição) instrução; if (condição) { instruções; }
  • 28. if ... else if (condição) instrução1; else instrução2; if (condição) { instruções1; } else { instruções2; }
  • 29. if ... else if ... (múltiplos) if (condição1) { instruções1; } else if (condição2){ instruções2; } else { instruções3; }
  • 30. Como tomar decisões múltiplas? default variável valor1 valorN
  • 31. switch switch (n) { case 1:   instruções1;   break; case 2:   instruções2;   break; default:   instruções se n é diferente de 1 e 2; }