Baixe o app para aproveitar ainda mais
Prévia do material em texto
Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Informática no Ensino de Ciências Sandra Amato Instituto de Fı́sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2019 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Introdução ao Python - Apresentação Ü Criado por Guido Van Rossum no inı́cio da década de 1990 Ü Linguagem de programação de alto nı́vel Como c, c++, java, ... Ü É uma linguagem interpretada e não compilada Comando ⇒ Interpretador ⇒ Resultado Podemos também usar o modo script Ü Muito utilizada atualmente por ser mais “amigável” Ü É poderosa e flexı́vel, sendo usada em muitas aplicações Web, GUI, computação cientı́fica, desenvolvimento de software, administração de sistemas, ... Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Apresentação Mas ... Ü Esconde os detalhes de um ambiente de programação mais avançado inadequado para este aprendizado Ü Não serve para computação de alto desempenho c, c++, FORTRAN, ... Mas python pode “chamar” código compilado de outras linguagens !! Uso integrado: Ü python: Configuração, testes, análise de resultados, ... Ü c++: cálculos pesados (Monte Carlo, ajustes de funções,..), leitura de milhões de eventos, ... Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Referências Ü Site oficial: https://www.python.org/ Ü Tutorial do site oficial: https://docs.python.org/3/tutorial/index.html Ü Learn X in Y minutes, where X=python: https://learnxinyminutes.com/docs/python/ Ü Como pensar como um cientista da Computação usando Python: https://panda.ime.usp.br/pensepy/static/pensepy/ Ü ipython: http://ipython.readthedocs.io/en/stable/index.html i Nos sistemas Linux normalmente já há um python instalado i Versões atuais (> 3.x) tem algumas incompatibilidades com as anteriores (2.x ou menos) https://www.python.org/ https://docs.python.org/3/tutorial/index.html https://learnxinyminutes.com/docs/python/ https://panda.ime.usp.br/pensepy/static/pensepy/ Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Inicializando python Ü Na linha de comando do terminal linux: sandra$ python Python 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> Ü Para rodar um script ( ou “macro”) chamada teste.py: sandra$ python teste.py Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Operações elementares Python como calculadora ... >>> 1+1 2 >>> 2*10 20 >>> 5/2 # divisao de inteiros 2 >>> 5.0/2 # divisao de reais 2.5 >>> 5%2 # operador resto (inteiros) 1 >>> 7**2 # isto nao temos em c ... 49 >>> 3*(3.+5.)/(2+6) 3.0 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Variáveis e tipos pré-definidos >>> i=5 # inteiro (ja’ e’ o long do c) >>> j=3 >>> i/j 1 >>> f=5. # real (ja’ e’ o double do c) >>> f/j 1.6666666666666667 >>> c=3+2j # complexo >>> c.conjugate() (3-2j) >>> c.real 3.0 >>> c.imag 2.0 >>> b=(c*c.conjugate()).real >>> b 13.0 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Execução de programa em um arquivo >>> a=5. >>> print 1./2*a 2.5 >>> print 1./(2*a) 0.1 >>> print ’Isaac’ + ’ Newton’ Isaac Newton Podemos colocar esses comandos dentro de um arquivo e executá-lo: $ gedit test.py & (Coloque comandos no arquivo e salve) $ python test.py Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Outras funções matemáticas >>> sqrt (9) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name ’sqrt’ is not defined Precisamos importar a biblioteca matemática: >>> from math import sqrt >>> sqrt(9) 3.0 >>> from math import * >>> sin(0) 0.0 >>> sin(3.14/2) 0.9999996829318346 >>> sin(pi/2) 1.0 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Outras funções matemáticas Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Outras funções matemáticas Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Variáveis Variáveis são nomes para valores. Em python, elas não precisam ter um tipo pré-definido: >>> planeta = ’Marte’ >>> planeta = 9 >>> print planeta 9 Mas antes de serem usadas, tem que ter algum valor atribuı́da a ela: >>> print planet #Repare o nome da variavel Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name ’planet’ is not defined O que vier depois de # até o final da linha é considerado um comentário e não é interpretado Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Variáveis e valores Os valores sim, tem tipos pré-definidos >>> a = "dois" >>> b= 3 >>> print a*b doisdoisdois >>> print a+b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate ’str’ and ’int’ objects >>> a="2" >>> print a+b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate ’str’ and ’int’ objects Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Conversão entre tipos >>> a="2" >>> b= 3 >>> print int(a)+b 5 >>> c = 2 >>> print c+b 5 >>> print a+str(b) 23 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Exercı́cio O que será impresso nos seguintes casos: >>> 2**0.5 >>> 2**(1/2) >>> 2**(1./2) >>> 9**1/2 >>> 9.**1/2 >>> a=2 >>> b=3 >>> c=a/b >>> c = c+2 >>> d = c/3. >>> a+b*2 >>> 34/5/2 >>> 34/(5/2) Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Abreviações >>> ano = 19 >>> ano +=1 <--- o mesmo que ano = ano + 1 >>> print ano 20 >>> ano +=2 <--- o mesmo que ano = ano + 2 >>> print ano 22 Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Operadores Relacionais - Comparações >>> a=3 >>> b=5 >>> a<b True >>> a>b False >>> a==b False >>> a!=b True >>> a=b >>> a==b True >>> int(a<b) 1 >>> int(a>b) 0 > maior >= maior ou igual < menor <= menor ou igual == igual != diferente ÜAtenção para a diferença entre a = = b e a = b ÜUma expressão lógica tem valor numérico 0 (zero) se for falsa e 6= 0 se for verdadeira Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Operadores Lógicos A avaliação de uma expressão é feita de acordo com a tabela: V and V = V V and F = F F and V = F F and F = F V or V = V F or V = V V or F = V F or F = F >>> a=2 >>> b=3 >>> c=4 >>> (a<b) and (a<c) True >>> (a<b) and (b>c) False >>> (a<b)or (b>c) True Para saber se um número está dentro de um intervalo: >>> d=3.5 >>> (d>a) and (d<c) ou fora do intervalo >>> e=7 >>> (e<a) or (e>c) Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Mais Sobre Operadores Ü O operador not é o operador de negação. Troca V por F: not(a < b) ⇔ (a >= b) >>> a=2 >>> b=3 >>> (a<b) True >>> not(a<b) False Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão Ü É extremamente frequente a necessidade de tomar alguma decisão dependendo de alguma condição Ü Necessitamos de mecanismos que provoquem bifurcações, ou seja, que permitam que algumas instruções só sejam executadas se determinadas condições forem satisfeitas. Ü Estruturas condicionais existentes em linguagem de programação fornecem esses mecanismos. Ü O funcionamento delas depende da avaliação, como falsa ou verdadeira, de uma determinada afirmativa. Ü Em Python : if elif else Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if Executa um conjunto de instruções quando uma condição é satisfeita. if condição : comandos n = 0 x = 10 if x>0 : print ("x positivo",x) n = n + 1 print n Repare na identação Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n n = 0 x = -10 if x>0 : print ("x positivo",x) n = n + 1 print n O número de espaços na identação não importa, mas tem que ser consistente. Recomenda-se não usar “tab” Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis OperadoresRelacionais Decisões Estruturas de Decisão - if ... else if (condição) : comandos else : comandos Exemplo x = ... if (x > 0) : y = sqrt(x) else : y = sqrt(-x) Repare que não pode haver condição para o else Caso queira colocar uma condição para o else Ü elif Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Estruturas de Decisão - if ... elif ... else coeficiente = 0 if coeficiente < 0: print ’menor’ elif coeficiente == 0: print ’igual’ else: print ’maior’ Ü Pode ter qualquer número de elif, inclusive nenhum Ü else é opcional Ü sempre testado na ordem Ü Cuidado com a igualdade entre reais: if(a==b)... 1.99999999999999.... é igual a 2.0000000000000... ? Melhor escolher uma tolerância aceitável, ex., 1e-10, e pedir: if(fabs(a-b) < 1e-10) ... Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Leitura de valores a partir do teclado Para que o programa leia algum valor inserido pelo teclado, podemos usar a função input: a = input ("uma mensagem") Este comando faz com que o programa escreva na tela ‘‘uma mensagem’’ e fique esperando até que algo seja inserido pelo teclado. Pode ser usada para receber mais de um valor de uma só vez: massa, velocidade = input (‘‘Entre com os valores da massa e da velocidade nessa ordem\n’’ ) O \n é para pular uma linha após a mensagem. Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Exercı́cio Ü Prepare um algoritmo para encontrar as raı́zes de uma equação do segundo grau Ü Implemente este algoritmo escrevendo um programa em python chamado segundoGrau.py com as seguintes caracterı́sticas: 1 O programa deve solicitar a digitação dos coeficientes da equação; 2 Deve ser informado o tipo e o número de raı́zes existentes; 3 As raı́zes devem ser claramente indicadas, inclusive as partes reais e imaginárias das soluções complexas. Ex: Esta equação possui duas raizes x1 = 3 + 2 i x2 = 3 - 2 i 4 Pense em valores para os coeficientes que testem todas as possibilidades Informática no Ensino de Ciências Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Decisões Apresentação Referências Inicializando python Operações Variáveis Operadores Relacionais Estruturas de Decisão
Compartilhar