Escolar Documentos
Profissional Documentos
Cultura Documentos
ALGORITMO
Método para resolver um
classe de problemas;
ALGORITMO PROBLEMA
1
7/7/2010
Modo script
7 8
2
7/7/2010
9 10
PYTHON
Monty Python
UFPEL ALgoritimos e Programação
PYTHON
11
3
7/7/2010
imaginário
String Seqüência de caracteres 'foo' "bar" """baz""" r'\n'
imutáveis.
4
7/7/2010
<> ou != Diferente
== Igual
5
7/7/2010
IF IF
if x<0:
print "negativo"
elif x==0:
print "zero"
else:
print "positivo"
6
7/7/2010
EXERCÍCIOS: EXERCÍCIOS:
2) O último teorema de Fermat diz que não existem 3) Crie um programa que calcule a distância
inteiros a, b e c que satisfaçam cartesiana entre dois pontos.
UFPEL ALgoritimos e Programação
an+bn = cn
para qualquer valor de n maior que 2. Escreva um 4) A função de Ackermann A(m,n) é definidada
como:
programa que receba como entrada a,b,c,n e
averigua se Fermat estava certo. Se n for maior
que 2 e contradizer o teorema escreva “Caramba, A(m,n) = n+1 se m = 0,
Fermat estava errado”, caso contrário escreva A(m−1,1) se m > 0 e n = 0
“Caramba, Fermat está certo, você não”. O A(m−1,A(m,n−1)) se m > 0 e n > 0.
programa deve perguntar ao usuário se deseja Escreva um programa que retorne a resposta dado
continuar. as entradas feitas pelo usuário.
27 28
7
7/7/2010
8
7/7/2010
Operações Exemplo
from TurtleWorld import *
Operação Resultado
fd ir para frente x passos world=TurtleWorld()
bk ir para trás x passos world.clear
rt Girar a direita x graus (default =90) john =Turtle()
lt Girar a esquerda x graus (default =90) pu(john)
pu Elevar caneta – pen up fd(john,100)
pd Baixar caneta – pen down
pd(john)
set_color Muda a cor da tartaruga
bob = Turtle()
clear Limpa o ambiente
set_color(bob,"green")
print bob,john
wait_for_user()
9
7/7/2010
Seqüências Tuplas
Strings, listas, e tuplas são Tipos de dados seqüenciais no
python.
Uma lista ou uma tupla ao contrário do tipo string
(caracteres) pode se composta de qualquer tipo de dado,
incluindo outras tuplas ou listas.
A diferença principal entre listas e tuples é a mutabilidade;
EM Listas pode-se mudar, adicionar ou remover os
elementos, em uma tupla não;
LISTAS = Linhas de texto de um arquivo;
Tuplas coordenadas x,y,z de um ponto em um espaço
tridimensional.
Tuplas Tuplas
Para criar um tupla com apenas um elemento é
necessário colocar vírgula
10
7/7/2010
Tuplas Tuplas
Forma alternativa de criar tupla
Tuplas Tuplas
Tuplas são imutáveis
11
7/7/2010
Tuplas LISTAS
Listas são mutavéis
LISTAS LISTAS
OPERADOR in
12
7/7/2010
LISTAS
OPERADOR concatenar
LISTAS
PYTHON SEQÜÊNCIAS
Strings, listas, e tuplas são Tipos de dados
Monty Python
seqüenciais no python.
UFPEL ALgoritimos e Programação
13
7/7/2010
TUPLAS TUPLAS
TUPLAS TUPLAS
Para criar um tupla com apenas um elemento é Forma alternativa de criar tupla
necessário colocar vírgula
UFPEL ALgoritimos e Programação
55 56
14
15
7/7/2010
60
TUPLAS
57
59
Mas podem ser substituidas por uma nova tupla.
Tuplas são imutáveis
TUPLAS
TUPLAS
16
7/7/2010
64
Listas são mutavéis
OPERADOR in
LISTAS
LISTAS
UFPEL ALgoritimos e Programação UFPEL ALgoritimos e Programação
61
63
LISTAS
TUPLAS
7/7/2010
LISTAS LISTAS
OPERADOR concatenar OPERADOR Del (remover)
LISTAS LISTAS
Iniciando uma lista Para um lista usada como vetor, com um número
Não é possível atribuir um valor a uma posição predeterminado de elementos, é necessária inicia-
lá
UFPEL ALgoritimos e Programação
inexistente
>>> vetor = [] >>> vetor = [0]*10
>>> vetor [0] = 1 >>> vetor [0] = 3
Traceback (most recent call last): >>> vetor
File "<pyshell#2>", line 1, in <module> [3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
vetor[0]=1
IndexError: list assignment index out of range
67 68
17
7/7/2010
LISTAS LISTAS
OPERADOR none OPERADOR len, min e max
Usado para preencher uma posição com um valor len (lista)- número de elementos de lista
'c'
''
18
7/7/2010
73 74
MATRIZES MATRIZES
Matrizes podem ser construídas a partir de listas Não criar matriz desta forma:
podem ser usadas para guardar matrizes y = [[1]*3]*3
UFPEL ALgoritimos e Programação
Exemplo:
matriz 3x3 com valor null GERA ERRO !!!
m=[]
for i in range(3): Exemplo
m.append([None]*3) >>> y[1][1]=0
>>> print y
[[1, 0, 1], [1, 0, 1], [1, 0, 1]]
75 76
19
7/7/2010
MATRIZES MATRIZES
ERROS NumPy
>>> y=[[0]*3]*3 NumPy é um pacote que inclui:
MATRIZES EXERCÍCIO
Usando a biblioteca numpy para criar uma Escreva um programa:
matriz Que compute o triângulo de Pascal até a linha n l(valor
import numpy inteiro e positivo ), fornecido pelo usuário.
UFPEL ALgoritimos e Programação
20
7/7/2010
EXERCÍCIO EXERCÍCIO
Ex: Ex:
Número de linhas: 7
81 82
FUNÇÕES FUNÇÕES
É uma seqüência rotulada de estruturas que Modulos-bibliotecas de funções
desempenham uma computação. Math, numpy
UFPEL ALgoritimos e Programação
21
7/7/2010
FUNÇÕES FUNÇÕES
Chamada de função usando notação por ponto. def refrao():
>>> ratio = signal_power / noise_power print “ Marcha soldado."
FUNÇÕES FUNÇÕES
>>> print refrao >>> refrao()
def repete_refrao():
refrao()
refrao()
87 88
22
7/7/2010
>>> repete('Spam')
89 90
def fatorial(num):
Faça um programa, com uma função que
if num <= 1:
necessite de um argumento. A função retorna o
return 1 valor de caractere ‘P’, se seu argumento for
else: positivo, e ‘N’, se seu argumento for zero ou
return(num * fatorial(num – 1)) negativo.
Reverso do número. Faça uma função que
retorne o reverso de um número inteiro
informado. Por exemplo: 127 -> 721.
print fatorial(10) 91 92
23
7/7/2010
EXERCÍCIOS
Data com mês por extenso. Construa uma
função que receba uma data no formato
DD/MM/AAAA e devolva uma string no formato
93
24