IEC037
Introdução à Programação de Computadores
Aula 08 – Variáveis em Python
Turma:
Professor:
Sala:
E-mail:
Página:
Ambiente virtual:
Resolução de Problemas Algorítmicos
Início
1
Identificar o problema
2
Definir as entradas e as
saídas
Decompor
3
Projetar o algoritmo
4
Converter o algoritmo em
declarações da linguagem de
programação
5
Testar o programa
resultante
Fim
Refinar
passo a passo
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
O que são variáveis?
Variável é uma região de memória do computador
que contém um valor e conhecida por um nome
especificado pelo usuário.
Identificador
Moedas
Nome
Pi
Conteúdo
12
Maria
3.14
...
Condicao
Falso
Como definir variáveis?
Identificador
Atribuição
Expressão
area = 20
Identificador
• Nome dado aos objetos utilizados no programa
(variáveis, constantes, funções, etc.)
Atribuição
• Comando que define ou redefine o valor
armazenado em uma variável
Expressão
• Pode ser um valor ou um conjunto de
comandos que resulta em um valor
Regras para identificar variáveis
O nome da variável deve iniciar obrigatoriamente
com uma letra do alfabeto ou o caractere
sublinhado (_).
Os demais caracteres podem conter letras,
números ou o caractere sublinhado (_).
Não use uma palavra-chave reservada:
Regras para identificar variáveis
:: Cuidados
Não use espaços.
Letras maiúsculas e minúsculas são diferentes.
Variáveis
Area e area são distintas.
Regras para identificar variáveis
:: Exemplos
Nome
Válido
Comentário
dia1
diaDaSemana
dia da semana
Contém espaços
dia_da_semana
dia#3
Usa símbolo inválido
3o_dia
Começa com número
_dia
Variáveis
:: Observações
Se você declarar uma variável já existente, o
conteúdo anterior será perdido.
>>>
>>>
6
>>>
>>>
22
a = 6
a
a = 22
a
O valor das variáveis muda com o
tempo
O computador executa um script linha por linha.
Quando alteramos o valor de uma variável, o valor
anterior é substituído pelo novo.
O valor antigo fica perdido para sempre.
O valor das variáveis muda com o
tempo
dívida
compra
0
?
0
100
2 compra = 100
100
100
3 divida = divida + compra
100
200
4 compra = 200
300
200
5 divida = divida + compra
300
300
6 compra = 300
600
300
7 divida = divida + compra
600
0
8 compra = 0
600
0
9 print(divida)
1 divida = 0
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
Tipos de dados
O tipo define a natureza dos dados que a variável
armazena.
Tipos mais comuns no Python:
Inteiro
Numérico
Real
Tipos
Lógico
String de
caracteres
Tipos Numéricos
:: Classificação
Inteiros
(int)
Reais
(float)
• São números sem a parte
fracionária.
• Exemplos: 1 | 0 | -5 | 567
• São números com parte fracionária.
• Também conhecidos como ponto
flutuante.
• Exemplos: 1.0 | 3.1415 | 2.7182
Tipos Numéricos
:: Observações
1 ≠ 1.0
Números inteiros e de ponto flutuante são
representados de maneiras distintas na memória
do computador.
Em Python e na maioria das linguagens de
programação, utilizamos o ponto – e não a vírgula
– como separador entre a parte inteira e a parte
fracionária de um número ponto flutuante.
Tipos Numéricos
:: Exemplos
Número Inteiro
5
5.0
4.3
-2
100
1.333
Ponto flutuante
Representação de números reais
:: Observações (1)
Variáveis de ponto flutuante são representações da
realidade na memória do computador.
O conjunto dos números reais é infinito, mas o
espaço de armazenamento em memória é um
recurso finito.
Logo, somente alguns elementos do conjunto de
números reais podem ser representados em um
computador.
Representação de números reais
:: Observações (2)
Variáveis de ponto flutuante são guardadas no formato
exponencial:
sinal × mantissa × baseexpoente
Épsilon (ε): pequeno intervalo entre cada número real
representável em computador e seu vizinho mais próximo.
O valor de ε aumenta à medida que o expoente aumenta.
números
representáveis
–max
números
representáveis
0
–min
x
+min
x+ε
+max
Representação de números reais
:: Exemplo de limitação
>>> 10**3
1000.0001
+ 0.0001
>>> 10**30 + 0.0001
1e+30
Tipo Lógico
Uma variável do tipo lógico (ou booleano)
armazena um conteúdo que assume apenas um de
dois valores possíveis:
True
(verdadeiro)
False (falso)
Note que as iniciais T e F são escritas em
maiúsculas.
Tipo Lógico
:: Exemplos
>>> 2 < 3
True
>>> 3 < 2
False
>>> (15/3) < 5
False
>>> (15/3) == 5
True
Strings de caracteres
Uma string (= corda) é uma cadeia de caracteres.
Uma cadeia de caracteres é um sequência de
símbolos, tais como letras, números, sinais de
pontuação, etc., que formam textos em geral.
m o
A
o
n
o
h
t
y
P
Strings de caracteres
O início e o fim de uma string são indicados por
aspas ("), de modo a separar o conteúdo da string
do restante do texto do programa.
texto = "Amo o Python"
Você pode usar espaços em uma string de
caracteres.
Strings de caracteres
Se você quiser incluir o símbolo de aspas em uma
string, use a expressão \".
>>> texto2 = "Amo o \"Python\"."
>>> print(texto2)
Amo o "Python".
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
Entrada e Saída de Dados
:: Operação Básica
Entrada
Saída
Entrada são os dados que o programa recebe durante
sua execução.
Uma forma comum de entrada é pelo teclado.
Uma vez que a entrada é recebida, ela é normalmente
processada pelo programa.
Os resultados do processamento são exibidos na tela
como saída programa.
Programação
:: Papéis
Usuário
• Utiliza o script
• Insere dados
Programador
• Projeta e escreve
o script
Comandos de Entrada e Saída
Comandos de Entrada
Comandos de Saída
• Permitem que o
usuário do programa
entre com novos
valores sem alterar o
código do script.
• Exemplo:
• Função input()
• Exibem resultados
no Shell.
• Exemplos:
• Função print()
Saída de dados
:: print()
Exibe os dados armazenados na variável usada
como argumento.
>>> print("Oi")
>>> x = 109
>>> print(x)
>>> texto = "ola mundo"
>>> print(texto)
Entrada de dados pelo usuário
:: input()
Exibe, no Shell, um texto de orientação para o
usuário e aguarda que este digite um valor.
>>> var = input("Digite um numero: ")
O Shell ficará travado até que o usuário digite um
valor.
O valor digitado será armazenado na variável var.
O valor digitado é interpretado como uma string.
Por isso, deve ser convertido ao tipo desejado
(inteiro, float, lógico).
Entrada e Saída de Dados
:: Exemplo
>>> var = input("Digite um numero: ") 1 2 3
>>> print("Voce digitou", var)
4
1
Digite um numero:
15
3
4
var = 15
Voce digitou 15
2
Entrada de Dados
pelo Usuário
pelo Script
• Dinâmico: o script
pode ser usado para
diversas instâncias do
problema
• Estático: o script tem
de ser modificado
para cada instância
do problema
cat1 =
int(input("Digite o
valor do cateto: "))
cat1 = 3
Problema 1
Um estádio oferece três
categorias de assentos:
Classe A – R$ 50
Classe B – R$ 30
Classe C – R$ 20
Escreva um programa
que pergunta quantos
bilhetes de cada classe
foram vendidos, e, em
seguida, exibe a renda
gerada pela venda dos
ingressos.
Problema 1
:: Definir Entradas e Saídas
Entradas
Saídas
Grandeza
Unidade de medida
Faixa de valores
Nº de bilhetes A
bilhetes
≥0
Nº de bilhetes B
bilhetes
≥0
Nº de bilhetes C
bilhetes
≥0
Renda
R$
≥0
Problema 1
:: Solução
início
nA
nB
nC
precoA ← 50
precoB ← 30
precoC ← 20
renda ← precoA * nA
+ precoB * nB
+ precoC * nC
renda
fim
Problema 1
:: Converter o algoritmo em programa
início
nA
nB
nC
precoA ← 50
precoB ← 30
precoC ← 20
renda ← precoA * nA
+ precoB * nB
+ precoC * nC
renda
fim
nA = input("No. bilhetes A: ")
nB = input("No. bilhetes B: ")
nC = input("No. bilhetes C: ")
precoA = 50.0
precoB = 30.0
precoC = 20.0
renda = precoA * nA + precoB *
nB + precoC * nC
print(renda)
Problema 1
:: Testando o programa
nA = input("No. bilhetes A: ")
nB = input("No. bilhetes B: ")
nC = input("No. bilhetes C: ")
precoA = 50.0
precoB = 30.0
precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nC
print(renda)
Por que não
funciona?
p0xx_bilhetes.py
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
Boas práticas de programação
:: Comentários
Códigos devem ser escritos para serem lidos por seres
humanos.
Escreva os comentários no momento em que estiver
escrevendo o código.
Os comentários devem acrescentar informação, e não frasear
o comando:
# Multiplicacao de b por h:
area = b * h
# Calculo da area do retangulo:
area = b * h
Boas práticas de programação
:: Comentários
Faça um cabeçalho no início do arquivo para
explicar a finalidade do script
#------------------------------------------# UNIVERSIDADE FEDERAL DO AMAZONAS
# FULANO DA SILVA
# DATA: 25/04/2013
#
# OBJETIVO: Calcular o volume de combustivel
#
em um tanque cilindrico
#-------------------------------------------
Boas práticas de programação
:: Identificadores (1/2)
Sempre use nomes descritivos e fáceis de lembrar
para suas variáveis:
x = 1.3
raio = 2.2
Use sempre letras minúsculas em nomes de
variáveis:
raio = 1.3
Raio = 4.6
RAIO = 7.9
raio_interno = 1.3
raio_meio
= 4.6
raio_externo = 7.9
Boas práticas de programação
:: Identificadores (2/2)
Não utilize acentos nos nomes das variáveis. Pode
funcionar em alguns sistemas, mas em outros, não.
área = 1.3
area = 2.2
Boas práticas de programação
:: Nome dos arquivos
Não use espaço e nem acentos no nome dos
arquivos de script.
caixa eletrônico.py
caixa_eletronico.py
caixaEletronico.py
Boas práticas de programação
:: Expressões
Use espaços em branco para melhorar a
legibilidade.
Utilize parênteses para melhorar a compreensão e
evitar erros, mesmo que não alterem a
precedência.
H=(A**2+B**2)**0.5
H = ((A ** 2) + (B ** 2)) ** 0.5
Boas práticas de programação
Defina todas as variáveis que você vai utilizar no
início de cada script, a fim de tornar mais fácil a
manutenção do código.
nivel
altura
raio
volume
=
=
=
=
0.8
2.3
1.5
0
#
#
#
#
nivel de combustivel (m)
altura do tanque (m)
raio da secao vertical (m)
volume de combustivel (m3)
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Boas práticas de programação
Erros
Erros
Lidar com erros faz parte do desenvolvimento de
programas.
Erros
de sintaxe
Erros de execução
Erros de sintaxe
Os erros de sintaxe são
violações das regras de
escrita da linguagem.
Quando um programa
Python contém um erro
de sintaxe, uma
mensagem de erro de
sintaxe é produzida pelo
interpretador.
Programas com erros de
sintaxe não são
executados.
¤¥₪
Erros de sintaxe
x1 = 3.14
Instrução correta.
Print(x1)
Letra “P” maiúscula no lugar de “p”
minúsculo.
x 1 = 3.14
Uso errôneo de espaço no nome da
variável (entre x e 1).
x1 = 3. 14
Uso errôneo de espaço no valor
numérico (entre o ponto e 1).
print(x1 \ 10)
A contra-barra não é um operador
válido.
Erros de execução
Erros de execução são
violações da semântica
da linguagem.
A maioria dos erros de
tempo de execução não
pode ser detectada
antes da execução do
programa.
Erros de execução
x1 = 3.14
x2 = 0
print(x1 / x2)
print(X2)
Instruções corretas, que definem as
variáveis x1 e x2, usadas nas
instruções seguintes.
Um erro de execução é causado por
uma divisão por zero.
Um erro de execução é causado
porque nenhuma variável X2 (inicial
maiúscula) foi definida previamente.
Referências bibliográficas
Menezes, Nilo Ney Coutinho (2010). Introdução à
Programação com Python. Editora Novatec.
HETLAND, Magnus Lie (2008). Beginning Python:
From Novice to Professional. Springer eBooks, 2ª
edição. Disponível em:
http://dx.doi.org/10.1007/978-1-4302-0634-7.
Gaddis, Tony (2012). Starting out with Python, 2ª
edição. Editora Addison-Wesley.
DIERBACH, Charles. Introduction to Computer
Science using Python: a computational problemsolving approach. John Wiley & Sons, 2012.
Dúvidas?