Revisão - Programação (com exemplos em Python)
• Trade-off
Escolha entre opções com ganhos e perdas.
velocidade = 'rápido'
memoria = 'baixo uso'
# nem sempre dá pra ter os dois ao máximo
• Compilada – Interpretada – Híbrida
Formas de execução.
# Python é interpretado
print('Olá mundo')
• Erros de sintaxe x semântica
Sintaxe: erro na escrita. Semântica: lógica errada.
# Sintaxe
# print('Olá'
# Semântica
print(2 + 2) # esperado 5 (erro lógico)
• Análise léxica e sintática
Léxica = tokens, sintática = estrutura.
x = 10
# x (identificador), = (operador), 10 (número)
• BNF
Define gramática de linguagens.
<expr> ::= <num> | <expr> + <num>
• 3NF
Evita redundância no banco.
# tabela ruim
usuario = {'nome': 'Ana', 'cidade': 'SP'}
• Árvore sintática
Representa estrutura do código.
# 2 + 3 * 4
# árvore prioriza multiplicação
• Semântica estática
Verificação antes de executar.
x = 'texto'
# print(x + 2) # erro de tipo
• Variável
Espaço na memória.
idade = 20
print(idade)
• Vinculação
Ligação nome → valor.
x = 5
x = 10 # novo valor
• Tipo de dados
Define o tipo do valor.
x = 10 # int
y = 'oi' # str
z = 3.5 # float