Instituto Federal de Mato Grosso do SulMarço/2024
05. Variáveis
Algoritmos 1
Prof. Rodrigo Duran
Nesta aula vamos:
-
Aprender a trabalhar com variáveis de dados em JavaScript
Hoje nós vamos aprender o que são variáveis e como armazenar valores em variáveis usando uma atribuição. Vamos aprender sobre os tipos de variáveis, como nomear variáveis e alterar valores de variáveis.
Variáveis
Relembrando...
`Metade de 100 é ${100 / 2}`
Até agora, os nossos programas eram essencialmente concretos. As expressões não eram dinâmicas pois seu resultado era sempre determinado estaticamente.
Mais do que isso, essas expressões não eram capazes de generalizar um modelo, e lidavam apenas com o caso específico. E se quiséssemos calcular não apenas a metade de 100, mas sim a metade de qualquer número?Geralmente, em fórmulas matemáticas é comum armazenarmos os resultados parciais de um cálculo em um local. Isso possui duas vantagens:
- Isola elementos e nos permite calculá-los em separado. Pense no Delta na equação de Bhaskara \begin{gather} {\textstyle \ \frac{-b\ \pm \ {\textstyle \sqrt{\Delta }}}{2a}} \notag\\ \Delta \ =\ b^{2} \ -\ 4ac \end{gather}
- Ao nomear algo, damos sentido (implícito) a isso. Ao ler a equação sabemos o que Delta significa devido ao contexto. Mas o nome Delta, por si só, não tem esse poder. O contexto deve ser confirmado pelo comportamento do programa.
Regra #11: Uma variável é um local na memória do computador que tem um nome. Você pode criar e nomear variáveis no código.
Imagine o programa para calcular as seguintes funções aritméticas:
- O cubo do número 7, ou seja 7 3.
- O fatorial do número 7, ou seja 7!
- O fatorial do número 7, ao cubo, ou seja: 7! 3
7*7*7
7*6*5*4*3*2*1
(7*6*5*4*3*2*1)*(7*6*5*4*3*2*1)*(7*6*5*4*3*2*1)
Regra #12: Uma variável deve ser inicializada ao ser criada! Uma variável nunca fica vazia!
Regra #13: Você pode atribuir algo a uma variável para armazenar um valor na memória.
Regra #14: Uma variável só pode armazenar um valor em um determinado momento.
No JavaScript podemos nomear uma variável usando a palavra reservada let e atribuir um valor a essa variável utilizando a atribuição usando o identificador =
Regra #15: O computador faz a atribuição resolvendo a expressão ("do lado direito") e armazenando um valor na variável destino.
let cubo = 7*7*7let fatorial = 7*6*5*4*3*2*1let cuboFatorial = fatorial*fatorial*fatorial
Regra #16: O nome de uma variável é uma expressão.
let pi = 3.141516
console.log(pi)
Regra #17: O computador executa os comandos em sequência.
Regra #18: Quando o nome de uma variável aparece como uma expressão, ela é avaliada com o conteúdo daquela variável naquele momento.
let nome = "Fulano de Tal"
nome = "Ciclano de Tal"
console.log(nome)
Em JavaScript, as atribuições não são resolvidas como equações matemáticas "de uma vez". Siga a Regra #15!
let valor = 20let outroValor = valor + 10outroValor = outroValor*2 "O valor final é " + outroValor
Nomeando Variáveis
Programas são feitos para serem lidos por humanos!
Portanto, use nomes de variáveis representativos. Apesar do nome da variável não atribuir diretamente uma função à variável (o programa é responsável por isso) é uma boa ideia usar nomes que nos ajudem a entender o que a variável deveria representar.
Apesar de não ser obrigatório, existe uma convenção de nomenclatura chamada camelCase que nos ajuda a nomear as variáveis: variáveis sempre iniciam com letras minúsculas e quando possuem um nome composto, a primeira letra do nome é capitalizada.
let nome = "Rodrigo"let segundoNome = "Duran"- Não use espaços nos nomes das variáveis. Underline (_) é possível, mas evitamos no camelCase.
- Números são permitidos, mas o nome da variável não pode iniciar com um número.
- Não use caracteres especiais (# $ ?)
- Variáveis não podem ter o mesmo nome que palavras reservadas do JavaScript
- Caracteres maiúsculos são diferentes de caracteres minúsculos em JavaScript! Tenha cuidado.
let minha idade = 23let minha_idade = 23let 1variavel = 13let variavel1 = 13let let = 23let meunome = "José"let meuNome = "João"console.log(meunome, meuNome)Tipos de Variáveis
JavaScript é uma linguagem dinamicamente tipada. Ou seja, o tipo da variável é o mesmo do valor que ela armazena.
let meunome = "José"let minhaIdade = 23O valor das variáveis pode ser atualizado a qualquer momento ...
Inclusive a variável pode ser atualizada com o seu próprio valor...
Mas nunca, jamais, sob hipótese alguma, "reaproveite" uma variável para servir a outro propósito dentro do código!
let a = "José"
console.log(a)
a = 13
console.log(a)Posfácio
Relembrando ...
Um caso concreto...
`Metade de 100 é ${100 / 2}`
Um caso "abstrato"?
let valor = 100
let frase = "Metade de " + valor + " é " + valor / 2
Nós definimos programas como dinâmicos pois seu resultado era definido pela interação de seu procedimento (algoritmo) com suas entradas.
As variáveis concedem um elemento de dinamicidade pois saem do caso concreto (um literal) para uma abstração do tipo (qualquer valor)
Entretanto, ao rodar o programa anterior, infinitas vezes, ele sempre apresentará o mesmo resultado : ele tem sempre a mesma entrada e executa o mesmo processo → logo terá sempre a mesma saída!
Nós (programadores) precisamos de algo que permita os usuários alterarem as entradas (valores) para que o programa possa efetivamente generalizar seus resultados (o modelo já está generalizado no algoritmo).
