Vous êtes sur la page 1sur 28

Introduo linguagem

Python
Introduo programao de
computadores EMB 5013

Objetivos da aula
Introduzir a linguagem de programao
Python como uma ferramenta para a
aprendizagem de programao de
computadores

Caractersticas
Python :
Uma linguagem de propsito geral
Uma linguagem de alto nvel
Uma linguagem interpretada
Uma linguagem com sintaxe clara e simples
Uma linguagem com tipagem dinmica
Uma linguagem multiparadigma e multiplataforma

Como comear?
A linguagem pode ser obtida em:
http://python.org/ (site oficial)
http://python.org/download/
Vamos utilizar a verso 2.7 (ou 2.7.2) (32 bits)

Material de apoio
http://www.python.org.br
http://www.python.org.br/wiki/DocumentacaoPython
http://www.python.org.br/wiki/TutorialPython
4

Interpretador IDLE
Acessar a pasta Python x.x e clicar em IDLE
(Python GUI)
possvel executar comandos diretamente no
interpretador
>>> print "oi"
oi
>>>
possvel utilizar o interpretador como uma
calculadora
5

Interpretador IDLE
Operaes matemticas:
>>> 5-1+2
>>> 3*4
>>> 5/2 (diviso inteira)
>>> 5.0/2 (diviso real)
>>> 3**9 (potncia)
>>> 17%4 (mod)

Precedncia de operadores
6

Interpretador IDLE

Operadores relacionais:
>>> a = 1

# atribuio

>>> b = 5

# atribuio

>>> c = 2

# atribuio

>>> d = 1

# atribuio

>>> a == b
>>> b > a
>>> a < b
>>> a == d
>>> b >= a
>>> c <= b
>>> d != a
>>> d != b

Interpretador IDLE
Variveis e tipos
>>> a = 2
>>> b = 3
>>> print a+b
>>> c = a+b
>>> print c
>>> type(1)
>>> type(a)
>>> type(oi)
>>> type(2.3)

Editar programas
Abrir nova
janela para
escrever blocos
de cdigo
Rodar os
programas com
a tecla F5

Editar programas

10

Editar programas
Atribuio: sinal de igualdade (Ex.: A = 2)
Entrada de dados:
x = input('Digite um valor: ')
y = input()
z = raw_input('Digite um caracter: ')
Sada de dados:
print ('Valor digitado: ', x)
print y
Obs.: no utilizar acentos nas mensagens
11

Editar programas
Exemplo:
anos = int(input("Anos de servico: "))
valor_por_ano = float(input("Valor por ano: "))
bonus = (anos - 1)*valor_por_ano
print "Bonus de: ", bonus

Salvar como bonus.py

12

Definio de blocos
No so utilizados delimitadores de bloco
A indentao (tabulao) define os blocos de
instrues
Exemplo:
a=2
b=3
if a == b:
print b
A instruo print b s ser executada se o teste
retornar TRUE
13

Estrutura de Seleo
Condicional simples (apenas bloco verdade):
if <condio 1>:
<comandos>
Condicional com bloco verdade e bloco falso:
if <condio 1>:
<comandos>
else:
<comandos>

14

Estrutura de Seleo
Condicionais aninhados:
if <condio 1>:
<comandos>
else:
if <condio 2>:
<comandos>
else:
if <condio 3>:
<comandos>
else:
<comandos>

15

Estrutura de Seleo
O Python apresenta uma soluo interessante para
aninhar mltipos ifs aninhados: elif (contrao de else
if)
if <condio 1>:
<comandos>
elif <condio 2>:
<comandos>
elif <condio 3>:
<comandos>
else:
<comandos>
16

Resolver em Python
1 - Faa um algoritmo para calcular o volume de
uma esfera de raio R, em que R um dado
fornecido pelo usurio. O volume de uma esfera
dado por V = 4/3 R3.
raio = float(input('digite raio: '))
pi = 3.14
volume = (4.0/3)*pi*(raio ** 3)
print "Volume = ", volume

17

Resolver em Python
2 - Desenvolva um algoritmo para calcular as razes de uma equao
do 2 grau (Ax2 + Bx + C), sendo que os valores A, B e C so fornecidos
pelo usurio.
a = input('digite a: ')
b = input('digite b: ')
c = input('digite c: ')
d = b**2 - 4*a*c
if d >= 0:
x1 = (-b + pow(d, 0.5)) / (2.0*a)
x2 = (-b - pow(d, 0.5)) / (2.0*a)
print x1, x2
else:
print 'nao existem raizes reais.'

18

Resolver em Python
3 - Escreva um algoritmo que leia o ano de nascimento de uma pessoa,
calcule e mostre sua idade e, tambm, verifique e mostre se ela j tem
idade para votar (16 anos ou mais) e para conseguir a Carteira de
Habilitao (18 anos ou mais).
ano = input('digite ano de nascimento: ')
ano_atual = input('digite ano atual: ')
idade = ano_atual - ano
print 'Idade: ', idade
if idade >= 18:
print 'pode votar e dirigir'
elif idade >= 16:
print 'pode votar
else:
print 'nao pode votar e nem dirigir'
19

Repetio no Python
Repetio com teste no incio (enquanto):
while <teste>:
<comandos>
Os comandos sero executados enquanto o
teste retornar True

20

Repetio no Python
Repetio com teste no incio (enquanto):
while <teste>:
<comandos>
Os comandos sero executados enquanto o teste
retornar True
A=1
B=10
while A < B:
print A
A = A+1
21

Repetio no Python
Como interromper uma repetio?
A estrutura while s verifica sua condio de parada
no incio de cada repetio. possvel interromper a
repetio antes do final do bloco while utilizando o
comando break
while <condio 1> :
<comandos>
if <condio 2>:
break
<comandos>

22

Repetio no Python
Repetio com varivel de controle (for):
for <varivel> in <sequencia>:
<comandos>
A cada iterao, <varivel> recebe o valor de um
elemento da <sequencia>;
Para efetuar um lao com um nmero fixo de iteraes
costuma-se utilizar a funo range() para gerar a
sequncia de valores que a varivel de controle vai
assumir
23

Repetio no Python
Funo range()
A funo range() utilizada para gerar uma lista de valores
range(10) [0, 1, 3, 4, 5, 6, 7, 8, 9]
range(1,10) [1, 2, 3, 4, 5, 6, 7, 8, 9]
Sintaxe completa:
range(valor inicial, valor final, passo)
range(2,5,1) [2, 3, 4]
range(2,20,5) [2, 7, 12, 17]
range(20,1,-5) [20, 15, 10, 5]
O ltimo valor da sequncia menor que valor final (intervalo
aberto)
obrigatrio informar pelo menos um argumento na funo
24

Repetio no Python
Exemplos:
>>> for v in range(5):
print v,
Sada gerada: 0,1,2,3,4

>>> for x in range(0,10,2):


print x,
Sada gerada: 0,2,4,6,8

25

Repetio no Python
Exemplo:

Elabore um algoritmo que efetue a soma de todos os nmeros


mpares que so mltiplos de 3 e que se encontram no conjunto dos
nmeros de 1 at 500 (inclusive).

26

Repetio no Python
Incio
inteiro: SI, V; //soma dos mpares mltiplos de 3 e varivel de controle;
SI 0;
para V de 1 at 500 passo 1 faa
se (V mod 2 =1) ento
se (V mod 3 = 0) ento
SI SI +V;
fimse;
fimse;
fimpara;
escreva (Soma = , SI);
Fim.
si = 0

# inicializa si

for i in range(1,501):

# analisa 500 nmeros

if i % 2 == 1:
if i % 3 == 0:
si = si+i
print "Soma = ", si

# testa se par
# testa se mltiplo de 3
# acumula a soma
# apresenta o resultado
27

Prximas aulas
Exerccios em Python
Vetores
Matrizes

28

Vous aimerez peut-être aussi