Buscar

Aula08_Variaveis(Python)_Leandro

Prévia do material em texto

IEC037
Introdução à Programação de Computadores
Aula 08 – Variáveis em Python
Turma: 03
Professor: Leandro Galvão
E‐mail: galvao@icomp.ufam.edu.br
Página: ipc‐t03.weebly.com
Resolução de Problemas Algorítmicos
Definir as entradas e as 
saídas
Fim
Identificar o problema
Início
Converter o algoritmo em 
declarações da linguagem de 
programação
Projetar o algoritmo
Decompor
Refinar
passo a passo
Testar o programa 
resultante
1
2
3
4
5
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
 Variável é uma região de memória do computador 
que contém um valor e conhecida por um nome 
especificado pelo usuário.
O que são variáveis?
Identificador
12
Maria
3.14
Falso
Moedas
Nome
...
Condicao
Conteúdo
Pi
• Nome dado aos objetos utilizados no programa 
(variáveis, constantes, funções, etc.)Identificador
• Comando que define ou redefine o valor 
armazenado em uma variávelAtribuição
• Pode ser um valor ou um conjunto de 
comandos que resulta em um valorExpressão
Como definir variáveis?
area = 20area = 20
Identificador ExpressãoAtribuição
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
dia_da_semana
dia#3
3o_dia
_dia
Contém espaços
Usa símbolo inválido
Começa com número
Variáveis
:: Observações
 Se você declarar uma variável já existente, o 
conteúdo anterior será perdido.
>>> a = 6>>> a6>>> a = 22>>> a22
>>> a = 6>>> a6>>> a = 22>>> a22
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
divida = 0
compra = 100
divida = divida + compra
compra = 200
divida = divida + compra
compra = 300
divida = divida + compra
compra = 0
print(divida)
divida = 0
compra = 100
divida = divida + compra
compra = 200
divida = divida + compra
compra = 300
divida = divida + compra
compra = 0
print(divida)
10 ?
compradívida
20 100
3100 100
4100 200
5300 200
6300 300
7600 300
8600 0
9600 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:
Tipos
Numérico
Inteiro
Real
Lógico
String de 
caracteres
Tipos Numéricos
:: Classificação
• São números sem a parte 
fracionária.
• Exemplos: 1 | 0 | ‐5 | 567
Inteiros
(int)
• São números com parte fracionária.
• Também conhecidos como ponto 
flutuante.
• Exemplos: 1.0 | 3.1415 | 2.7182
Reais
(float)
Tipos Numéricos
:: Observações
 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.
1 ≠ 1.01 ≠ 1.0
Tipos Numéricos
:: Exemplos
Número Inteiro Ponto flutuante
5
5.0
4.3
-2
100
1.333
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.
x x+ε
0
–max –min +min +max
números 
representáveis
números 
representáveis
Representação de números reais
:: Exemplo de limitação
>>> 10**30 + 0.0001
1e+30
>>> 10**30 + 0.0001
1e+30
>>> 10**3 + 0.0001
1000.0001
>>> 10**3 + 0.0001
1000.0001
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
>>> 2 < 3
True
>>> 3 < 2
False
>>> 3 < 2
False
>>> (15/3) < 5
False
>>> (15/3) < 5
False
>>> (15/3) == 5
True
>>> (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.
A
m o
o
P y t
h o
n
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.
 Você pode usar espaços em uma string de 
caracteres.
texto = "Amo o Python"texto = "Amo o Python"
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".
>>> 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 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.
Entrada Saída
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
• Permitem que o 
usuário do programa 
entre com novos 
valores sem alterar o 
código do script.
• Exemplo:
• Função input()
Comandos de Saída
• Exibem resultados 
no Shell.
• Exemplos:
• Função print()
Saída de dados
:: print()
 Exibe os dados armazenados na variável usada 
como argumento.
>>> x = 109>>> print(x)>>> x = 109>>> print(x)
>>> texto = "ola mundo">>> print(texto)>>> texto = "ola mundo">>> print(texto)
>>> print("Oi")>>> print("Oi")
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.
 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).
>>> var = input("Digite um numero: ")>>> var = input("Digite um numero: ")
Entrada e Saída de Dados
:: Exemplo
Digite um numero: 1
15 2
var = 153
>>> var = input("Digite um numero: ")>>> print("Voce digitou", var)>>> var = input("Digite um numero:")>>> print("Voce digitou", var)
Voce digitou 154
11 22 33
44
Entrada de Dados
pelo Usuário
• Dinâmico: o script 
pode ser usado para 
diversas instâncias do 
problema
pelo Script
• Estático: o script tem 
de ser modificado
para cada instância 
do problema 
cat1 = 
int(input("Digite o 
valor do cateto: "))
cat1 = 
int(input("Digite o 
valor do cateto: "))
cat1 = 3cat1 = 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
2 – Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Nº de bilhetes A bilhetes ≥ 0
Nº de bilhetes B bilhetes ≥ 0
Nº de bilhetes C bilhetes ≥ 0
Saídas Renda R$ ≥ 0
Problema 1
3 – Projetar algoritmo
inícioinício
nA
nB
nC
fim
renda
precoA← 50
precoB← 30
precoC← 20
renda ← precoA * nA
+ precoB * nB
+ precoC * nC
Problema 1
4 – Codificar em Python
inícioinício
nA
nB
nC
fim
renda
precoA← 50
precoB← 30
precoC← 20
renda ← precoA * nA
+ precoB * nB
+ precoC * nC
nA = input("No. bilhetes A: ")nB = input("No. bilhetes B: ")nC = input("No. bilhetes C: ")
nA = input("No. bilhetes A: ")nB = input("No. bilhetes B: ")nC = input("No. bilhetes C: ")
precoA = 50.0precoB = 30.0precoC = 20.0
precoA = 50.0precoB = 30.0precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nCrenda = precoA * nA + precoB * nB + precoC * nC
print(renda)print(renda)
Problema 1
5 – Testar o programa
nA = input("No. bilhetes A: ")nB = input("No. bilhetes B: ")nC = input("No. bilhetes C: ")
precoA = 50.0precoB = 30.0precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nC
print(renda)
nA = input("No. bilhetes A: ")nB = input("No. bilhetes B: ")nC = input("No. bilhetes C: ")
precoA = 50.0precoB = 30.0precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nC
print(renda)
Por que não 
funciona?
p0xx_bilhetes.py
Problema 1
5 – Testar o programa
nA = int(input("No. bilhetes A: "))nB = int(input("No. bilhetes B: "))nC = int(input("No. bilhetes C: "))
precoA = 50.0precoB = 30.0precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nC
print(renda)
nA = int(input("No. bilhetes A: "))nB = int(input("No. bilhetes B: "))nC = int(input("No. bilhetes C: "))
precoA = 50.0precoB = 30.0precoC = 20.0
renda = precoA * nA + precoB * nB + precoC * nC
print(renda)
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:
# Calculo da area do retangulo:
area = b * h
# Calculo da area do retangulo:
area = b * h
# Multiplicacao de b por h:
area = b * h
# Multiplicacao de b por h:
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
#-------------------------------------------
#-------------------------------------------
# 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:
 Use sempre letras minúsculas em nomes de 
variáveis:
x = 1.3x = 1.3 raio = 2.2raio = 2.2 
raio = 1.3
Raio = 4.6
RAIO = 7.9
raio = 1.3
Raio = 4.6
RAIO = 7.9
raio_interno = 1.3
raio_meio = 4.6
raio_externo = 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área = 1.3 area = 2.2area = 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_eletronico.pycaixa_eletronico.py
caixa eletrônico.pycaixa eletrônico.py

caixaEletronico.pycaixaEletronico.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.5H = ((A ** 2) + (B ** 2)) ** 0.5
H=(A**2+B**2)**0.5H=(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 = 0.8 # nivel de combustivel (m)
altura = 2.3 # altura do tanque (m)
raio = 1.5 # raio da secao vertical (m)
volume = 0 # volume de combustivel (m3)
nivel = 0.8 # nivel de combustivel (m)
altura = 2.3 # altura do tanque (m)
raio = 1.5 # raio da secao vertical (m)
volume = 0 # 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.14x1 = 3.14 Instrução correta.
Print(x1)Print(x1)
Letra “P” maiúscula no lugar de “p” 
minúsculo.
x 1 = 3.14x 1 = 3.14
Uso errôneo de espaço no nome da 
variável (entre x e 1).
x1 = 3. 14x1 = 3. 14
Uso errôneo de espaço no valor 
numérico (entre o ponto e  1).
print(x1 \ 10)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
x1 = 3.14
x2 = 0
Instruções corretas, que definem as 
variáveis x1 e x2, usadas nas 
instruções seguintes.
print(x1 / x2)print(x1 / x2)
Um erro de execução é causado por 
uma divisão por zero.
print(X2)print(X2)
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 problem‐
solving approach. John Wiley & Sons, 2012.
Dúvidas?

Continue navegando