Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Estruturas de Dados I Variáveis e Entrada/Saída de Dados Resolução de Problemas Algorítmicos Definir as entradas e as saídas Fim IdenAficar 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áAcas de programação Erros Conteúdo Variáveis Tipos de variáveis Entrada e saída de dados Boas práAcas 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? Iden+ficador 12 Maria 3.14 Falso Moedas Nome ... Condicao Conteúdo Pi • Nome dado aos objetos uAlizados no programa (variáveis, constantes, funções, etc.) IdenAficador • Comando que define ou redefine o valor armazenado em uma variável Atribuição • Pode ser um valor ou um conjunto de comandos que resulta em um valor Expressão Como definir variáveis? area = 20 IdenAficador Expressão Atribuição Regras para idenAficar 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 idenAficar variáveis :: Cuidados ¨ Não use espaços. ¨ Letras maiúsculas e minúsculas são diferentes. ¤ Variáveis Area e area são disAntas. Regras para idenAficar 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 é subsAtuído pelo novo. ¨ O valor anAgo 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) 1 0 ? compra dívida 2 0 100 3 100 100 4 100 200 5 300 200 6 300 300 7 600 300 8 600 0 9 600 0 Conteúdo Variáveis Tipos de variáveis Entrada e saída de dados Boas práAcas de programação Erros Tipos de dados ¨ O Apo 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 disAntas na memória do computador. ¨ Em Python e na maioria das linguagens de programação, uAlizamos 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 :: Exemplo de limitação >>> 10**30 + 0.0001 1e+30 >>> 10**3 + 0.0001 1000.0001 Tipo Lógico ¨ Uma variável do Apo 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 Boas práAcas 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 • UAliza 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 converAdo ao Apo desejado (inteiro, float, lógico). >>> var = input("Digite um numero: ") Entrada e Saída de Dados :: Exemplo Digite um numero: 1 15 2 var = 15 3 >>> var = input("Digite um numero: ") >>> print("Voce digitou", var) Voce digitou 15 4 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áAco: 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? Conteúdo Variáveis Tipos de variáveis Entrada e saída de dados Boas práAcas de programação Erros Boas práAcas de programação :: Comentários ¨ Códigos devem ser escritos para serem lidos por seres humanos. ¨ Escreva os comentários no momento em que esAver 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áAcas 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áAcas de programação :: IdenAficadores (1/2) ¨ Sempre use nomes descriAvos 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áAcas de programação :: IdenAficadores (2/2) ¨ Não uAlize acentos nos nomes das variáveis. Pode funcionar em alguns sistemas, mas em outros, não. área = 1.3 area = 2.2 ü Boas práAcas 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áAcas de programação :: Expressões ¨ Use espaços em branco para melhorar a legibilidade. ¨ UAlize 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áAcas de programação ¨ Defina todas as variáveis que você vai uAlizar 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áAcas 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ânAca 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 CouAnho (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: hp://dx.doi.org/ 10.1007/978-‐1-‐4302-‐0634-‐7. ¨ Gaddis, Tony (2012). StarAng out with Python, 2ª edição. Editora Addison-‐Wesley. ¨ DIERBACH, Charles. IntroducAon to Computer Science using Python: a computaAonal problem-‐ solving approach. John Wiley & Sons, 2012. Dúvidas?
Compartilhar