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?