IEC037 Introdução à Programação de Computadores Aula 08 – Variáveis em Python Turma:...

Post on 21-Apr-2015

116 views 6 download

Transcript of IEC037 Introdução à Programação de Computadores Aula 08 – Variáveis em Python Turma:...

IEC037Introdução à Programação de

ComputadoresAula 08 – Variáveis em Python

Turma: Professor: Sala:E-mail:Página:Ambiente virtual:

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 algoritmoDecompor

Refinarpasso 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 = 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.

A a≠

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

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

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éricoInteiro

RealLó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 (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.00011e+30

>>> 10**3 + 0.00011000.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 < 3True

>>> 3 < 2False

>>> (15/3) < 5False

>>> (15/3) == 5True

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.

Am o

oP 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

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 34

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

nAnBnC

fim

renda

precoA ← 50precoB ← 30precoC ← 20

renda ← precoA * nA+ precoB * nB+ precoC * nC

Problema 1:: Converter o algoritmo em programa

início

nAnBnC

fim

renda

precoA ← 50precoB ← 30precoC ← 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.0precoB = 30.0precoC = 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.0precoB = 30.0precoC = 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:

# 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: 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.3 raio = 2.2

raio = 1.3Raio = 4.6RAIO = 7.9

raio_interno = 1.3raio_meio = 4.6raio_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.14Instrução correta.

Print(x1)Letra “P” maiúscula no lugar de “p” minúsculo.

x 1 = 3.14Uso errôneo de espaço no nome da variável (entre x e 1).

x1 = 3. 14Uso 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.14x2 = 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?