CALCULADORA PYTHON o O Python interativo está preparado para receber comandos como se fosse uma calculadora. É preciso apenas digitar operações e clicar a tecla “Enter” para que ele retorne a resposta. VARIÁVEIS Até agora, você pode apenas executar comandos. Como está, você não poderá usá-los futuramente. Se for executar o mesmo comando futuramente, você terá que executar o comando novamente. Se você está executando várias contas e sempre existir uma constante, como por exemplo: 507/103. Se você precisa executar esta razão várias vezes e precisa de precisão, pode dar muito trabalho fazer isto várias vezes. VARIÁVEIS Para facilitar, o Python possui uma memória interna na qual você pode guardar operações, valores, textos, entre outras coisas. Você pode guardar um valor em uma variável para ser usado em uma outra operação. Veja o exemplo: VARIÁVEL a b VALOR FINAL 5 4 c 10 d e 2 12 NOME DE VARIÁVEIS O que pode conter no nome de uma variável? o Letras e números, além do sublinha (_), não podendo ser iniciadas por números, nem conter espaços em branco. Maiúsculas e minúsculas são diferentes. o Letras com acentos, podendo ser iniciados por sublinha (_). NOME DE VARIÁVEIS o Na hora de nomear as variáveis, procure escolher nomes que estejam relacionados com o objetivo da variável. o Por exemplo, para uma variável que tem como objetivo guardar o resultado da soma de dois números, qual seria o nome adequado para esta variável? o Existem várias opções, dentre elas “soma”, “resultado”, ou até mesmo “r” ou ”s”, o que não seria bom, dependendo da quantidade de variáveis TIPOS DE VARIÁVEIS Em Python as variáveis são divididas em: o o o o Números Inteiros Números Reais Sequências de caracteres (string) Variáveis Lógicas TIPOS DE VARIÁVEIS Exemplos de variáveis em Python: ATRIBUIÇÃO DE VALOR A VARIÁVEL o Observe a seguinte sequências de comando e tente descobrir qual será o valor de cada variável ao término da execução: o Execute todas as linhas e depois digite o valor de cada variável no Python interativo e veja qual foi o valor final de cada uma e tente entender o que aconteceu. ATRIBUIÇÃO DE VALOR A VARIÁVEL o O que acontece é que há uma ordem cronológica em que as coisas acontecem, observe o passo a passo: variável valor tipo a 1 “casa” inteiro string b 1 3 inteiro c 5 1 inteiro 3. Agora é 3que atribuído número inteiro 5 cb“casa” 2. O valor que ao variável b b carrega 1 à variável copiado paraaà a 5. O valor a variável a carrega agora copiado para 1. Primeiramente você atribuindo aéé string 6. 4. valor é atribuído àestá variável variável e agoracarregam ambas carregam número 1 variável c eaaambas o mesmoo valor agora .....variável ATRIBUIÇÃO DE VALOR A VARIÁVEL Uma aplicação na Física o Duas esferas de mesma massa colidem elasticamente. Sabe-se que: Quando dois corpos de mesma massa colidem elasticamente, suas velocidades são trocadas, ou seja, a velocidade inicial de uma se torna a velocidade final da outra. Seja v1 = 0 e v2 = 15, respectivamente a velocidade inicial e a velocidade final de uma esfera. Crie uma sequência de comandos em que, ao final, v1 carregue o valor da velocidade final da outra esfera após a colisão e v2 a velocidade inicial da outra esfera, também após a colisão. ATRIBUIÇÃO DE VALOR A VARIÁVEL O que o problema pede, na prática é que os comandos executados façam v1 e v2 trocarem de valor. Mas como fazer isso? Muitos primeiramente pensam na seguinte solução: O que está incorreto. Note que ao final v1 e v2 carregam o mesmo valor. Lembre-se que na linha 3 o valor que v1 carregava é perdido. ATRIBUIÇÃO DE VALOR A VARIÁVEL Por isso, é necessário uma variável auxiliar para que possamos guardar o valor que v1 tinha: variável valor tipo v1 15 0 inteiro v2 15 0 inteiro aux 0 inteiro auxrecebe recebeoovalor valorde deaux v1 v2v1 o A variável v2 ATRIBUIÇÃO DE VALOR A VARIÁVEL Em Python, este processo pode ser simplificado com a atribuição de valor a variáveis na mesma linha, da seguinte forma: variável valor tipo v1 15 0 inteiro v2 15 0 inteiro o As atribuições das variáveis ocorrem de forma paralela OPERADORES ARITMÉTICOS Como vimos anteriormente, poderíamos utilizar o Python como uma calculadora. Agora que podemos guardar valores em variáveis, podemos executar os mesmos comandos, só que agora utilizando variáveis: E se for necessário calcular a média dos valores a, b e c, Como faríamos? Teste para a segunda solução e verifique se o resultado é correto: PRIORIDADES Por que a solução anterior não retorna o resultado esperado? Em Python e outras linguagens de programação existe uma hierarquia de prioridades com relação às operações. Por exemplo, a operação de divisão tem prioridade em relação a operação de soma. Então primeiramente é executado a operação c / 3 e o seu resultado é somado com a + b. NÍVEL DE PRIORIDADE OPERAÇÃO 1º DIVISÃO E MULTIPLICAÇÃO 2º ADIÇÃO E SUBTRAÇÃO PRIORIDADES Para fazer a média que queríamos, temos que utilizar parênteses, como na matemática básica: Assim, definimos a prioridade de que a soma a + b + c deve ser executada primeiro e este resultado dividido por 3. OUTROS OPERADORES ARITMÉTICOS Podemos utilizar também os seguintes operadores: OPERAÇÃO Potenciação Resto da Divisão Quociente da Divisão EM PYTHON ** % // OPERADORES RELACIONAIS Funcionam de forma parecida com os operadores aritméticos, mas retornam valores de um tipo diferente. Veja os exemplos: O que acontece com os operadores relacionais é que, por exemplo, quando digitamos “5 > 3”, você está pedindo para o Python fazer uma análise se 5 é maior que 3, como isso é verdade, a resposta gerada é o valor lógico True. OPERADORES RELACIONAIS Os operadores relacionais geram resultados booleanos (True ou False). Existem outros operadores relacionais: OPERADOR Menor que Menor ou igual a EM PYTHON < <= Maior que Maior ou igual a Igual a > >= == Diferente de != OPERADORES RELACIONAIS Da mesma forma que os operadores aritméticos, o valor gerado por uma operação relacional pode ser guardado em uma variável: OPERADORES LÓGICOS Os operadores lógicos também geram resultados booleanos. Eles são usados somente em expressões lógicas, e são descritos na tabela a seguir: OPERADOR Conjunção (e) Disjunção (ou) Negação (não) PYTHON and or not SCRIPTS Precisaremos organizar nossos comandos! Os scripts são arquivos com uma série de comandos seguindo o formato padrão (sintaxe) da linguagem desejada para ser executado pelo computador. Quando for criar um módulo, comente o que você está fazendo a fim de, num próximo acesso ao programa, facilitar sua compreensão. SCRIPTS Para começar, salve um arquivo com o nome somaab.py. Nele escreveremos: Se você executar isso no Python interativo, não aparecerá nada na tela, mas não significa que não aconteceu nada. Se você chamar uma dessas variáveis (digitando “a” ou “b” e apertando “Enter”) no Python interativo verá que estas variáveis estão salvas na memória. Quando você executa um arquivo ele é executado como se você digitasse linha por linha. SCRIPTS Criemos agora outros dois arquivos. Um terá o objetivo de executar o resultado de uma multiplicação (multab.py) e outro o resultado do resto da divisão (restoab) com os dois números que tínhamos anteriormente: multab.py: restoab.py: SCRIPTS O que acontece se tentarmos executar qualquer um dos dois scripts anteriores? Este erro acontece porque quando executamos um arquivo no Python interativo ele “esquece” as variáveis que estavam na memória. Mas como fazer com que estes dois scripts funcionem corretamente como se digitássemos uma linha após a outra como vínhamos fazendo? MODULARIZAÇÃO A modularização é um processo no qual uma sequência de comandos é separada em vários arquivos com o objetivo de organizar o código. Assim sendo, um arquivo que depende de outro precisa importá-lo para que ele seja executado. Veja o exemplo: Multab.py: O comando import importa o arquivo somaab para o multab, mas as suas variáveis fazem referência ao arquivo somaab, por isso precisamos digitar “somaab.a”, o que indica que estamos chamando a variável a no módulo somaab. MODULARIZAÇÃO Mas e se quisermos que a variável a seja uma variável no módulo multab, deixando de fazer referência ao módulo somaab, veja o exemplo: A linha 1 na prática faz com que o Python execute todas as linhas do arquivo somaab.py. O “*” não indica multiplicação, e sim uma indicação de que todas as linhas do módulo somaab devem ser executadas como se tivessem digitadas neste arquivo. MODULARIZAÇÃO Note que, neste caso, a variável soma, contida no módulo somaab também é carregada para o arquivo, ocupando espaço na memória. Se quisermos carregar apenas as variáveis a e b, podemos fazer da seguinte forma: Veja que, ao invés de “*”, agora dizemos que queremos importar apenas as variáveis a e b. EXERCÍCIOS • Crie scripts para: • • • • Atribuir valor a duas variáveis Calcular a média aritmética Calcular média ponderada em 30 e 70% Inverter algarismos de um número menor que 1000, o qual deve ser inserido em outro script QUAIS AS DIFERENÇAS NESTE ASSUNTO ENTRE PYTHON E MATLAB? VARIÁVEIS As regras sobre os nomes das variáveis são diferentes em Matlab no seguinte caso: o Em Matlab, as variáveis NÃO podem conter acentos e NÃO podem ser iniciadas por sublinha (_). ATRIBUIÇÃO DE VALOR À VARIÁVEL o O Matlab não permite a troca de valor entre duas variáveis ao mesmo tempo. É necessário utilizar uma variável auxiliar. o Strings em Matlab não podem conter aspas duplas. OPERADORES ARITMÉTICOS As funções dos operadores aritméticos são as mesmas, o que muda é a sintaxe, as diferenças estão apontadas na tabela a seguir: OPERAÇÃO POTENCIAÇÃO MATLAB ^ PYTHON ** RESTO DA DIVISÃO QUOCIENTE DA DIVISÃO mod(X,Y) (X-mod(X,Y))/Y % // OPERADORES RELACIONAIS Os operadores relacionais em Python são quase todos iguais aos do Matlab: OPERADOR MATLAB PYTHON Menor que < < Menor ou igual a <= <= Maior que > > Maior ou igual a >= >= Igual a == == Diferente de ~= != Note que o operador “diferente de” é o único que difere do Matlab. OPERADORES LÓGICOS Os operadores lógicos em Matlab são escritos da seguinte forma: OPERADOR Conjunção (e) Disjunção (ou) MATLAB & | PYTHON and or Negação (não) ~ not SCRIPTS Temos aqui o script que já vimos em Python agora para Matlab: Veja a versão deste script para Python AQUI Note que os comentários em Matlab iniciam com “%” e que ao final de cada linha de comando, há um ponto e vírgula “;”. O ponto e vírgula é muito comum em outras linguagens de programação. MODULARIZAÇÃO A modularização em Matlab, por não isolar as variáveis, é tratada de forma mais simples. Porém, também é necessário cuidado com os nomes na hora de modularizar. Se executados em sequência, os scripts funcionarão : MODULARIZAÇÃO Para executar um módulo em Matlab, você precisa digitar na linha de comando do Matlab o nome do módulo desejado, sem a extensão. Se você executar primeiramente o módulo somaab e depois executar o módulo multab, o segundo vai funcionar corretamente diferentemente do que ocorre em Python. O que o Python faz é garantir maior segurança pela proteção dos seus dados ao obrigar uma declaração de que você deseja acessar dados de outro programa. SET PATH Algumas vezes, pode haver algum problema na hora de encontrar o caminho para o arquivo que deseja ser executado, pois é preciso ensinar o Matlab onde procurar pelo arquivo. O SET PATH contém o caminho de todas as pastas que o Matlab procurará. Para isso, você tem que adicionar a pasta que deseja executar seus programas no SET PATH. SET PATH Para acessar o SET PATH vá em file > Set Path... Clique em Add Folder... Para adicionar a pasta desejada.