Este documento discute tipos de dados em JavaScript, incluindo números, strings, booleanos e operações com esses tipos de dados. Ele explica como declarar e atribuir valores a variáveis, fazer cálculos usando operadores aritméticos e de atribuição, além de abordar precedência de operadores e concatenação/conversão de strings.
Material utilizado no Workshop Iniciando com JavaScript no JS Day Recife 2017.
Código fonte dos exemplos: https://github.com/romualdoandre/exemplo-jsday
Material utilizado no Workshop Iniciando com JavaScript no JS Day Recife 2017.
Código fonte dos exemplos: https://github.com/romualdoandre/exemplo-jsday
Do básico ao avançado sobre uma das mais incompreendidas linguagens de programação, o JavaScript.
Palestra realizada no encontrodo do grupo DevRioClaro em 21/6/14
Introdução a linguagem JavaScript desvendando a história e as principais características da linguagem.
Assista a série Desvendando a linguagem JavaScript no meu canal no YouTube: https://www.youtube.com/user/rodrigobranas/videos
Do básico ao avançado sobre uma das mais incompreendidas linguagens de programação, o JavaScript.
Palestra realizada no encontrodo do grupo DevRioClaro em 21/6/14
Introdução a linguagem JavaScript desvendando a história e as principais características da linguagem.
Assista a série Desvendando a linguagem JavaScript no meu canal no YouTube: https://www.youtube.com/user/rodrigobranas/videos
Uma curta apresentação sobre o impacto das tecnologias de Inteligência Artificial no contexto do ensino, baseanda numa analogia com o universo do Dune.
The slides have little text and it is complicated to understand the narrative. I'll give you an idea of the context of the subjects I'll be teaching and which are referred to in the slides:
BDTSS - databases and server-side technologies is an undergraduate course
Web Project is a discipline taught at the end of the first year of a master's degree
Mentoria entre pares de estudantes para estudantesCarlos Santos
Que transformações poderão acontecer quando os estudantes mentores têm a liberdade e responsabilidade de conceptualizar, preparar e realizar as sessões de mentoria para outros estudantes?
O ponto de partida para esta conversa é desafiar a refletir sobre estratégias de mentoria entre pares, que procurem explorar o potencial criativo e de inovação que existe em cada estudante. No entanto, para que esse potencial se possa revelar é indispensável que o professor tenha a capacidade de se colocar em segundo plano, apoiando e validando, mas dando espaço e liberdade para que os estudantes mentores assumam a liderança e responsabilidade pelo processo.
Nesta sessão vamos começar por partilhar uma iniciativa baseada nesta abordagem, no contexto do ensino superior (AVILA Crew), apresentando as estratégias e conteúdos utilizados em sessões de mentoria já realizadas. Partindo da inspiração do modelo anterior, vamos partilhar a sua adaptação para o modelo adotado no projeto “Aprender Mentorando”, implementado em 3 agrupamentos de escolas nacionais, procurando demonstrar a viabilidade da sua adoção em todos os ciclos de estudo.
Slides de abertura do 1º Encontro Científico TCEdu
Apresenta-se a estrutura da Unidade Curricular de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação da Universidade de Aveiro, abordando as estratégias de inovação pedagógica que conduziram à realização do encontro científico.
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
Slides de apoio à aula inicial da UC de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação da Universidade de Aveiro
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
Apresentação de 5 minutos realizada no 4º Encontro sobre Jogos e Mobile Learning, 5 maio 2018, na Faculdade de Psicologia e Ciências da Educação da Universidade de Coimbra
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
Resumo: A disciplina de Laboratório Multimédia 4 da Licenciatura em Novas Tecnologias da Comunicação da Universidade de Aveiro representa um obstáculo significativo para muitos alunos deste curso com um perfil menos tecnológico. Na disciplina anterior, Laboratório Multimédia 3, a maioria destes alunos encontraram pela primeira vez os desafios de uma disciplina que, genericamente, se pode descrever como “Introdução à Programação”. Dado o elevado nível de insucesso que existiu nesta disciplina no presente ano letivo, procurou-se encontrar soluções que permitissem “recuperar” a motivação dos alunos para as temáticas relacionadas com a programação e, se possível, melhorar ainda os resultados relativamente a anos anteriores.
A estratégia delineada passou pela criação de uma equipa de tutoria constituída por ex-alunos da disciplina que demonstraram um desempenho muito bom. A equipa (AVILA Crew) inclui cerca de 20 voluntários e, até ao presente momento, preparou, organizou e realizou de 3 sessões de trabalho (AVILA Sessions), de acordo com os objetivos de ensino/aprendizagem apresentados pelos docentes da disciplina. Todos os conteúdos e soluções foram previamente analisadas e discutidas entre docentes e mentores de modo a garantir a sua correção científica.
Nesta sessão pretende-se apresentar o conceito que levou à constituição da AVILA Crew e discutir as estratégias e os resultados obtidos nas AVILA Sessions. Pretende-se ainda apresentar uma reflexão sobre as dificuldades na execução de um programa deste tipo e possíveis formas de apoio institucional que tornem este tipo de iniciativa mais sustentável.
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
Slides da sessão de acolhimento para os novos alunos do Mestrado em Comunicação Multimédia da Universidade de Aveiro.
Mais informação em http://www.ua.pt/ensino/course/101 e http://mcmm.web.ua.pt
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
Desafio para trabalho prático no âmbito da disciplina de Tecnologias da Comunicação em Educação do Programa Doutoral em Multimédia em Educação - Universidade de Aveiro
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
3. Tipos de dados: JavaScript
• Tipos de dados mais comuns:
• Numéricos
• inteiros (ex: 243, -9, 0)
• frações/floating-point (ex: 1.2321, -43243.2)
• Texto/strings
• “...” ou ‘...’
• Booleanos
• Verdadeiro (true) ou Falso (false)
4. Tipos de dados: Escrever strings com ‘ ou “
• => It’s friday?
• ‘It’s nice!’
• “It’s nice!”
• ‘It’s nice!’ //sequência de escape com
• => É “fabuloso”!
• “É “fabuloso”!”
• ‘É “fabuloso”!’
• “É ”fabuloso”!”
5. Tipos de dados: Exemplo sequências de escape
Tabela retirada de “Beginning JavaScript, pág 19
6. Armazenamento de informação
• Armazenamento temporário
• Variáveis
• armazenadas na memória do computador
• grande velocidade de leitura e escrita
• Armazenamento permanente
• Ficheiros
• txt, cookies,...
• Bases de dados
• em LabMM 4!
7. Variáveis: JavaScript
• Case sensitive
• mVariavel é diferente de mvariavel
• Palavras chave e palavras reservadas
• todas as palavras que fazem parte da linguagem e mais algumas...
• http://www.quackit.com/javascript/javascript_reserved_words.cfm (lista completa)
• Caracteres proibidos - todos os especiais com exceção do “_” e “$”
• &, %, ?,... (palavras com acentos não devem ser utilizadas!)
• Nomes têm que começar com: letra, “_” ou “$”
• Ser consistente nos nomes e na forma!
• por exemplo, lower camel case, nomes com significado, prefixos,...
8. Variáveis: JavaScript
• Declaração
• var minhaVariavel;
• Atribuição
• minhaVariavel = 30;
• var outraVariavel = “Olá”;
• minhaVariavel = outraVariavel;
• Valor de uma variável não inicializada
• undefined
9. typeof() - Qual o tipo de dados?
• Para saber o tipo de dados armazenado numa variável
• typeof(variavel); // retorna o tipo de dados armazenado
• Resultados possíveis:
• “undefined”
• “boolean”
• “string”
• “number”
• “object” //se é um objecto ou null
• “function”
10. Cálculos numéricos: expressões
• Atribuição de valores a variáveis
• var intTotal = 10; // O “=” é o operador de atribuição
• var jogoA = 4, jogoB;
• jogoB = 5;
• intTotal = jogoA + jogoB; // resultado?
11. Operadores aritméticos
• Operadores base
• +, -, *, /
• % Módulo (resto da divisão inteira)
• a = 13 % 4; => 1
• ++/-- Incremento/Decremento
• y++; => y = y + 1;
• y--; => y = y - 1;
• NOTA: numa expressão, y++ ou ++y pode provocar resultados diferentes
• - negação
• y = -a;
12. Operadores de atribuição
• Outros operadores
• x += 5; => x = x + 5;
• x += z; => x = x + z;
• x -= 5; => x = x - 5;
• x *= 5; => x = x * 5;
• x /= 5; => x = x / 5;
• x %= 5; => x = x % 5;
• Assumindo um valor inicial de x = 10 e z = 2, qual o resultado de cada
uma das expressões anteriore?
13. Regras de precedência
• Podem ser muito complexas mas para já só precisamos das aplicáveis na
matemática básica.
• resultado = 5 * 2 + 3; => ?
• resultado = 5 + 2 * 3; => ?
• resultado = 5 * (2 + 3); => ?
• resultado = 2 + 4 * (2 - 1); => ?
• Regras globais de precedência são complexas mas simples de aplicar nos
casos mais regulares!
• https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
14. 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”
15. Conversão para número
• Soma de duas strings que podem ser interpretadas como número:
• var soma = “12” + “34”; => “1234”
• 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
16. 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
17. 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
• ...
18. 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
*/