Buscar

Aula01 Variáveis e Estrutura Sequencial Python

Prévia do material em texto

CNCCC 2016
Introdução à Computação com Python
Aula 01 – Variáveis e Estrutural Sequencial 
Python
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Módulos
Boas práticas de programação
Erros
Conteúdo
Variáveis
Tipos de variáveis
Entrada e saída de dados
Módulos
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 = 20
Identificador ExpressãoAtribuição
Variáveis
:: Analogia
Variáveis podem ser vistas como gavetas de 
um armário onde cabe apenas um único valor
largura
altura
4.4
3.2
7.8 largura = 4.4
altura = 3.2
largura = 7.8
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
>>> a
6
>>> a = 22
>>> a
22
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)
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
Módulos
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.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
 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.
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.
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"
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
Módulos
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)
>>> texto = "ola mundo"
>>> print(texto)
>>> 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: ")
Entrada e Saída de Dados
:: Exemplo
Digite um numero: 1
15 2
var = 153
>>> var = input("Digite um numero: ")
>>> print("Voce digitou", var)
Voce digitou 154
1 2 3
4
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 = 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
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
:: Solução
início
nA
nB
nC
fim
renda
precoA ← 50
precoB ← 30
precoC ← 20
renda ← precoA * nA
+ precoB * nB
+ precoC * nC
Problema 1
:: Converter o algoritmo em programa
iní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: ")
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?
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.0
precoB = 30.0
precoC = 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
Módulos
Boas práticas de programação
Erros
Módulos em Python (Bibliotecas)
 Bibliotecas organizam 
funções bastante 
utilizadas em arquivos 
diferentes.
 Assim, elas podem ser 
chamadas quando 
necessário, sem ter de 
reescrever tudo.
 Em Python, as 
bibliotecas também são 
conhecidas como 
módulos.
Uso:
<módulo>.<função>
Simplificando o uso de módulos 
Python
 Se ao longo do código você usa diversas vezes 
funções pertencentes a um módulo Python, a 
programação pode se tornar cansativa.
 Para usar diretamente o nome da função sem 
explicitar o nome do módulo como prefixo, use o 
seguinte comando:
from <nome_do_módulo> import *
Pode ser o math, o random ou 
outro que você necessitar.
Módulo math
 Contém diversas 
funções que podem 
ser usadas ​​em 
cálculos matemáticos.
Módulo math
:: Funções matemáticas e constantes
• Calcula exexp(x)
• Logaritmo natural de x (base e)log(x)
• Logaritmo de x na base 10log10(x)
• Raiz quadrada de xsqrt(x)
• Valor da constante Pipi
• Valor da constante de Eulere
Módulo math
:: Funções trigonométricas
• Calcula o seno de x (em radianos)sin(x)
• Calcula o cosseno de x (em radianos)cos(x)
• Calcula a tangente de x (em radianos)tan(x)
• Calcula o arco-seno de xasin(x)
• Calcula o arco-cosseno de xacos(x)
• Calcula o arco-tangente de xatan(x)
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
# 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: 20/04/2016
#
# 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.3 raio = 2.2 
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_eletronico.py
caixa eletrônico.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 = 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.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
Instruções corretas, que definem as 
variáveis x1 e x2, usadas nas 
instruções seguintes.
print(x1 / x2)
Um erro de execução é causado por 
uma divisão por zero.
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