Baixe o app para aproveitar ainda mais
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?
Compartilhar