workshops
  • Workshop fc
  • Workshop latex
  • Workshop mathematica

Workshop FC - Variáveis

Data sex 02 julho 2021 Workshop Parte 5 de 20 do Workshop FC Tags Programação / Física / Secundário

Open In Colab

Variáveis¶

Os blocos principais de todas as linguagens de programação são as variáveis. Estas permitem guardar dados para serem posteriormente manipulados. Existem vários tipos de variáveis.

Os tipos de variáveis mais importantes são:

  • int (integer): números inteiros
  • float: números reais
  • str (string): Texto
  • list: coleção de múltiplos items ordenados e editáveis
  • tuple: coleção de múltiplos items ordenados e não editáveis
  • bool (boolean): Verdadeiro ou falso
  • complex,dict,set, ...

Iremos apenas forcar-nos nos tipos que nos serão úteis mais à frente.

Podemos definir uma variável através de um nome e um valor:

variavel = valor

Quando queremos mudar o valor da mesma variável, podemos repetir esta operação para um novo valor:

variavel = novo_valor

Este novo valor pode também depender do valor anterior. Se quisermos mudar o valor de uma variável para o seu dobro, por exemplo, podemos simplesmente escrever:

variavel = variavel*2

Na linguagem de programação Python, não necessitamos de especificar o tipo de uma variável, uma vez que este é assumido de acordo com o seu conteúdo.

Relativamente ao nome das variáveis, este não pode começar por números, conter espaços ou caracteres especiais para além do underscore _. Existem também algumas palavras que estão reservadas e não podem ser utilizadas (). Para além disso, é boa prática não utilizar acentos ou cedilhas.

Vejamos agora em que consiste cada tipo de variável.

Integers e floats¶

Estas variáveis representam números, que podem, ou não, ser inteiros. No entanto, tirando algumas situações muito específicas, não existe grande diferença entre ambos, podendo ser tratados da mesma forma.

inteiro = 10
decimal = 3.14

Vejamos como podemos manipular este tipo de variáveis. Comecemos por definir a variável x, com o valor 2, e fazer algumas operações sobre a mesma.

In [ ]:
x = 2
print(x)

print(x+1)  #Soma 
print(x-2)  #Diferença
print(x*2)  #Produto
print(x/4)  #Divisão
print(x**3) #Potência

x = 2*x
print(x)
2
3
0
4
0.5
8
4

Na linha 10, alteramos o valor de xpara ser o seu dobro. É importante não interpretar esta linha como uma equação matemática (que daria 0=2, sendo impossível). A operação deve ler-se da direita para a esquerda, assim "Guardar o valor 2*x na variável x¨.

Podemos definir outras variáveis, onde guardamos o resultado destas operações

In [ ]:
y = x*2
z = x/4
w = x**3

print(x,y,z,w)
4 8 1.0 64

Agora que temos mais variáveis, podemos efetuar operações entre elas, mais ou menos complexas.

Nota: as operações seguem as regras matemáticas usiais da prioridade de parêntesis, multiplicações e divisões antes de somas e subtrações,...

In [ ]:
resultado = x*y - 4*(z**2-w) + y/8 + 5*z
print(resultado)
290.0

Desafio¶

  • Definir as variáveis $a$, $b$, $c$ e $d$ com valores 2, 3.5, 5 e 2.7, respetivamente;
  • Efetuar a operação $a \times (b + 2\times(c^2 + b\times d) - a)$ e guardar o resultado na variável com o nome $resultado$;
  • Imprimir a variável $resultado$ e verificar que se obteve 140.8

Strings¶

Strings representam texto, sendo representadas entre aspas duplas, "texto", ou apóstrofos, 'texto'.

Vejamos como podemos manipular algumas strings.

In [ ]:
string1 = "Olá"
string2 = "Mundo"
ano = 2021

print(string1)
print(string2)

#Somar strings
print(string1 + ", " + string2)

#Formatar strings
print(f"Estamos no ano {ano}")
Olá
Mundo
Olá, Mundo
Estamos no ano 2021

Na linha 9 somamos as duas strings definidas com uma terceira, que não guardamos em nenhuma variável, e o que se obtem é o esperado: o texto é concatenado pela ordem em que é somado.

Na linha 12 usamos um conceito chamado f-string. Quando uma string é precedida de um f, podemos no interior da mesma colocar, entre chavetas, uma variável, cujo valor será convertido para texto, nesse mesmo sítio.

Listas¶

Por vezes, é mais eficiente guardar muitas dados numa única variável. Para isso, usamos listas. Estas guardam n variáveis em lugares numerados de 0 a n-1. Para definirmos uma lista, devemos escrever dentro de parêntesis retos os seus elementos, sepearados de vírgulas.

lista = [elemento_0, elemento_1, elemento_2, elemento_3, ...]

Os elementos de uma lista podem ser de qualquer tipo, podendo mesmo ser de tipos diferentes entre si (apesar de não ser muito aconselhado este tipo de utilização)

Se quisermos aceder a um elemento i de uma lista, devemos escrever o nome da variável, seguido do valor de i entre parêntesis retos.

lista[i]

É importante manter em mente que o primeiro elemento corresponde a i=0, o segundo a i = 1 e assim sucessivamente. Se o índice for negativo, conta-se do fim (ex: i = -1é o último elemento, i = -2 o penúltimo,...).

Analisemos o seguinte exemplo:

In [ ]:
# Inicialização da lista
lista = [10, 20, 30, 40]

print("Lista completa: ", lista)

# Aceder aos elementos
print("O elemento na posição 2 é:", lista[2])

# Número de elementos da lista
print("O tamanho da lista pode ser obtido pelo comando len(lista):", len(lista))

# Adicionar uma variável à lista
lista.append(50)
print("Foi adicionada uma variável à lista!")
print("Lista completa:", lista)
print("Novo tamanho da lista:", len(lista))

# Alterar uma das entradas da lista
lista[2] = lista[2] + 5
print("Foi somado 5 ao elemento 2 da lista.")
print("Lista completa:", lista)
Lista completa:  [10, 20, 30, 40]
O elemento na posição 2 é: 30
O tamanho da lista pode ser obtido pelo comando len(lista): 4
Foi adicionada uma variável à lista!
Lista completa: [10, 20, 30, 40, 50]
Novo tamanho da lista: 5
Foi somado 5 ao elemento 2 da lista.
Lista completa: [10, 20, 35, 40, 50]

Podemos então resumir algumas funcionalidades das listas utilizadas:

  • Linha 2: Definição inicial da lista (pode ou não começar vazia)
    lista = []
  • Linha 7: Aceder a um elemento da lista (as posições começam a contar de 0)
    lista[i]
  • Linha 13: Adicionar um elemento ao final da lista
    lista.append(x)
  • Linhas 10 e 16: Obter o tamanho da lista
    len(lista)

As strings, que vimos anteriormente, comportam-se também com uma lista, neste caso de strings de comprimento 1, ou seja, de caracteres. Assim, é possível efetuar algumas operações semelhantes às das listas, nomeadamente aceder a elementos ou ver o tamanho da string.

In [ ]:
string = "Física Computacional"

print(len(string))
print(string[7])
20
C

Booleanas¶

Variáveis bool representam apenas valores de verdade, ou seja, verdadeiro ou falso e, como tal, só podem tomar dois valores:

  • True
  • False
In [ ]:
a = True
b = False
x = 2 < 3
y = 3 == 6/2
z = a == 1
w = b == 0

print(a, b, x, y, z, w)
True False True True True True

Aqui usamos a operação ==, que é o equivalente a verificar se o que está à esquerda é igual ao que está à direita. Como podes ver, o Python considera que 0 é igual a False e que 1 é igual a True. Qualquer número diferente de 0 é considerado como verdadeiro, enquanto que 0 é falso.

Podemos ainda usar a operação not, que faz a negação de um booleano.

In [ ]:
print(not True)
print(not False)
False
True

Ficaste com dúvidas? Contacta-nos através das redes sociais ou de nfist.ist@gmail.com

Workshop FC - Parte 5

Anteriores:
  • 1. Introdução ao Workshop
  • 1.1. O que é a programação?
  • 1.2. Funcionamento
  • 2. Introdução à Programação em Python
Seguintes:
  • 2.2. Condições if
  • 2.3. Funções e Bibliotecas
  • 2.4. Ciclos
  • 2.5. A Biblioteca Matplotlib
  • 3. Conceitos Físicos e Matemáticos
  • 3.1. Equações do Movimento
  • 3.2. Equações do Movimento (12° ano)
  • 4. Exemplos Físicos
  • 4.1. Sistema Massa Mola
  • 4.2. O Pêndulo
  • 5. Conclusão
  • 5.1. Erros Comuns
  • 5.2. Soluções dos Desafios
  • 5.3. FAQ's
  • 5.4. Showcase Projetos
  • Segue-nos

    • Facebook
    • Instagram
    • Website
  • Workshop FC

    • Anterior:
      • Introdução à Programação em Python
    • Seguinte:
      • Condições if

© 2021 NFIST · Powered by pelican-bootstrap3, Pelican, Bootstrap

Creative Commons License Content licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, except where indicated otherwise.

Voltar ao início