SlideShare uma empresa Scribd logo
Python:
algoritmos básicosalgoritmos básicos
Rodrigo de Toledo
(adaptação do original do prof. Alexandre Meslin)
Resumo até agora
• Em programação, temos os seguintes papéis:
– cliente, programador, usuário e computador
• Em python:
– variável: espaço em memória para armazenar
conteúdoconteúdo
– atribuição = (da direita para esquerda)
– print: informar ao usuário
– input: pegar informação do usuário
– ==, !=, >, >=, <, <=, and, or !
– if, elif e else
– while
Dicas valiosas
• Escolha bons nomes de variáveis
– Diminui a chance de você se perder
– Maior legibilidade para o programador futuro
• Foque primeiro em entender qual é o resultado
esperado.esperado.
– Ou seja, pense qual será o seu output
• Pense em diferentes testes de entradas
– Para cada teste de entrada, verifique se a saída está
correta
– Se estiver fazendo no papel, tente fazer um “chinês”
– (o Debugger do Python é equivalente ao chinês no papel)
Matemática
• Relação entre dois valores
– Relação entre a e b:
a) obter os valores de a e b.
b) calcular a / b.b) calcular a / b.
• Percentual entre dois valores
– Percentual de a em relação a b:
a) obter a relação entre a e b.
b) multiplicar o valor obtido por 100
Loops (1/3)
• Loop com quantidade determinada em tempo de
programação (número de vezes constante)
(O comando FOR é o mais apropriado, porém exemplos com WHILE)
Usar uma variável para contar (ex: i)
• Com while, inicializar contador antes do loop e
atualizá-lo dentro.atualizá-lo dentro.
• Exemplo: executar um comando ou um bloco de
comandos 100 vezes.
i = 0
while i<100
<comando>
i = i+1 # i+=1 também funciona,
apenas uma abreviação...
Loops (2/3)
• Loop com quantidade determinada no início da
execução
(O comando FOR é o mais apropriado, porém exemplos com WHILE)
Usar uma variável para contar (ex: i)
• Exemplo: executar um comando ou um bloco de• Exemplo: executar um comando ou um bloco de
comandos n vezes, onde n é uma variável cujo valor já
foi calculado, inicializado ou lido anteriormente:
nnnn = input (“Entre com a quantidade de vezes
:”)
i = 0
while i<nnnn
<comando>
i += 1
Loops (3/3)
• Loop com quantidade indeterminada de vezes
– Inicializar variáveis de controle fora do loop
(geralmente imediatamente antes do loop começar)
– Montar a condição do loop
– Ao final do bloco de comandos, atualizar as variáveis
de controlede controle
• Exemplo: ler uma seqüência de números inteiros até que o
valor digitado seja igual a zero.
num = input(“Entre com o primeiro numero”)
While num!=0:
<comandos>
num = input(“Entre com o proximo
numero”)
Loops exemplo
• O chefe do departamento da universidade gostaria que os
professores informassem a média da turma a cada prova. Para
ajudá-los:
Faça um programa que leia 40 notas e diga a média.
– Quem são o cliente, o usuário e o programador?
• As turmas tem tamanho variado, então, modifique o programa• As turmas tem tamanho variado, então, modifique o programa
anterior para perguntar o total de alunos antes de ler a sequência.
• Os professores reclamaram porque, como alguns alunos faltam a
prova, eles são obrigados a contar o total de provas para rodar o
programa. Modifique o programa anterior para que o professor não
seja obrigado a dizer quantas provas são, o professor pode entrar
diretamente com as notas e, ao final, entrará com um valor
negativo para indicar o fim da série.
As 3 soluções• 40 provas
n = input("Entre com a quantidade de provas: ")
i, soma = 0, 0.0
while i<n:
nota = input("Entre com a proxima nota: ")
i, soma = 0, 0.0
while i<40:
nota = input("Entre com a proxima nota: ")
soma = soma+nota
i = i+1
print "A media eh :", soma / 40
Quantas provas?
nota = input("Entre com a proxima nota: ")
soma = soma+nota
i = i+1
print "A media eh :", soma / n
Terminar com negativo!
i, soma = 0, 0.0
nota = input("Entre com a primeira nota: ")
while nota>=0:
soma = soma+nota
i = i+1
nota = input("Entre com a proxima nota: ")
print "A media eh :", soma / i
Acumulador e Contador
• Inicializar a variável com o valor inicialmente já acumulado (geralmente,
imediatamente antes do loop).
• Dentro do loop, atualizar o acumulador
– Exemplo contador: Leia as notas dos 40 alunos e ao final diga o total em prova
final (<7.0)
i,pf=0,0
while i<40:
nota = input(“Entre com nota: “)
if nota<7.0:
pf +=1pf +=1
i+=1
print “Total em prova final: ”, pf
– Exemplo acumulador: Leia os 12 faturamentos mensais de uma empresa,
indicando o seu faturamento anual.
i,anual=0,0
while i<12:
mensal = input(“Entre com faturamento do mes: ”)
anual += mensal #anual = anual + mensal
i +=1
print “Faturamento anual: ”, anual
Competidor
Cálculo do mais relevante (maior, menor, etc)
• Obter o primeiro elemento da série e armazená-lo como o mais relevante
(normalmente antes do loop)
• Realizar um loop obtendo o restante da série
– Para cada elemento obtido, testar se este é mais relevante do que o que já
estava previamente armazenado como relevante
• Exemplo: O maior de 10 números entrados
maior = input(“Entre com o primeiro numero”)
i=1
while i<=10:
num = input(“Entre com o proximo numero”)
if num > maior
maior = num
i = i+1
print maior
Competidor
(continuação)
• Exemplo: O maior de 10 números entrados, mas em qual posição?
maior = input(“Entre com o primeiro numero”)
i=1
posicao = 1
while i<=10:
num = input(“Entre com o proximo numero”)
if num > maior
maior = num
posicao = i
i = i+1
print “O maior eh”, maior, “na posição”, posicao
Loop dentro de loop
• Exemplo das tabuadas
Exercícios• Percentual:
– Faça um programa que leia as notas finais dos alunos e, ao final, diga total e percentual
de aprovações diretas (>=7), reprovações (<3) e pessoas em prova final. (termina com
<0)
– Faça um programa que leia o preço de compra e o preço de venda de 100 mercadorias.
O programa deverá imprimir quantas mercadorias proporcionam:
• lucro < 10 %
• 10 % <= lucro <= 20 %
• lucro > 20 %
• Competidor:
– Faça um programa que leia os tempos conseguidos pelos corredores em cada uma das 8
raias da prova de 1500m das olimpíadas e diga quem foi o vencedor (ou seja, o número
da raia). Obs: os tempos serão dados em minutos e segundos.da raia). Obs: os tempos serão dados em minutos e segundos.
• Filtro:
– Em uma eleição presidencial, existem quatro candidatos. Os votos são informados
através de código. Os dados utilizados para a escrutinagem obedecem à seguinte
codificação:
• 1, 2, 3, 4 = voto para os respectivos candidatos;
• 5 = voto nulo;
• 6 = voto em branco;
Elabore um programa que calcule e imprima:
• total de votos para cada candidato;
• total de votos nulos;
• total de votos em branco;
• percentual dos votos em branco e nulos sobre o total;
• Se haverá segundo turno (candidato vencedor obteve mais votos que os outros três somados).
Como finalizador do conjunto de votos, tem-se o valor 0.
Exercícios
• Matemática:
– Faça um programa que leia uma seqüência de números inteiros
terminada por 0 (zero) e imprima o número que for múltiplo de sua
posição (primeiro, segundo, terceiro, …) na seqüência. Exemplo:
• posição: 1 2 3 4 5
• valores lidos: 3 7 8 16 5 0
• impressão: 3 16 5
– Faça um programa que calcule e imprima os termos da série ,
onde X e N devem ser lidos da entrada.
obs: tente programar sem usar o comando **
X
N
N
!obs: tente programar sem usar o comando **
– Faça um programa que calcule e imprima a média e a variância das
notas de todos os alunos de uma determinada cadeira. As notas
devem ser lidas via teclado. O fim da leitura é marcado por uma nota
negativa. A média e a variância são calculadas da seguinte forma:
• Observar que ∑(notas2) ≠ (∑notas)2 !!!!!!!!media
notas
numero de alunos
=
∑
_ _
var
( )
_ _
iancia
notas
numero de alunos
media= −
∑ 2
2
N!

Mais conteúdo relacionado

Mais procurados

Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
Marcos Castro
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
111111119
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
IBTA Turma de TI 2009
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
André Phillip Bertoletti
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
Rodrigo Kiyoshi Saito
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
Felipe Marcel
 
05 repeticao
05 repeticao05 repeticao
05 repeticao
GestoFinanceiraFatec
 
Aula python
Aula pythonAula python
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
engenhariadecomputacao
 
Teste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânicaTeste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânica
Thiago Toscano Ferrari
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
Mirlem Pereira
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Gercélia Ramos
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
André Phillip Bertoletti
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
Jocelma Rios
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
Regis Magalhães
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
Elaine Cecília Gatto
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
Andrei Bastos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
rodfernandes
 

Mais procurados (20)

Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
05 repeticao
05 repeticao05 repeticao
05 repeticao
 
Aula python
Aula pythonAula python
Aula python
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Teste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânicaTeste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânica
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Destaque

006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionarios
Leandro Barbosa
 
05 listas
05 listas05 listas
05 listas
Leandro Barbosa
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
Leandro Barbosa
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
Leandro Barbosa
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
Leandro Barbosa
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
Leandro Barbosa
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programar
robinhoct
 
Aula02
Aula02Aula02
Aula02
Yuri Passos
 

Destaque (8)

006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionarios
 
05 listas
05 listas05 listas
05 listas
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programar
 
Aula02
Aula02Aula02
Aula02
 

Semelhante a 03 algoritmos basicos

Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
Mario Jorge Pereira
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
Felipe Santos
 
Pj 2009 avioes_overflow
Pj 2009 avioes_overflowPj 2009 avioes_overflow
Pj 2009 avioes_overflow
Thiago Luis Colozio Casácio
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
GustavoBarrosLins1
 
Aula 4 aed - parte 1
Aula 4   aed - parte 1Aula 4   aed - parte 1
Aula 4 aed - parte 1
Elaine Cecília Gatto
 
Campeonato
CampeonatoCampeonato
Algoritmos
AlgoritmosAlgoritmos
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptx
Cristiano Marçal Toniolo
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
Marcelo Rodrigues
 
logica d programacaorepeticaoRepitaAte.pdf
logica d programacaorepeticaoRepitaAte.pdflogica d programacaorepeticaoRepitaAte.pdf
logica d programacaorepeticaoRepitaAte.pdf
Carlos Allexadre Gustavo de Souza
 
Conta de água e pedágio
Conta de água e pedágioConta de água e pedágio
Conta de água e pedágio
Thiago Luis Colozio Casácio
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
FATEC São José dos Campos
 
Programando em python comandos basicos
Programando em python   comandos basicosProgramando em python   comandos basicos
Programando em python comandos basicos
samuelthiago
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
engenhariadecomputacao
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Ricardo Rodrigues
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
Osvaldo Santana Neto
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
Hilário Santos Russo
 
Python
PythonPython
C aula introdutoria, programacao iniciante.ppt
C aula introdutoria, programacao iniciante.pptC aula introdutoria, programacao iniciante.ppt
C aula introdutoria, programacao iniciante.ppt
MuriloSilvaSantana2
 

Semelhante a 03 algoritmos basicos (20)

Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Pj 2009 avioes_overflow
Pj 2009 avioes_overflowPj 2009 avioes_overflow
Pj 2009 avioes_overflow
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Aula 4 aed - parte 1
Aula 4   aed - parte 1Aula 4   aed - parte 1
Aula 4 aed - parte 1
 
Campeonato
CampeonatoCampeonato
Campeonato
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptx
 
Visualg
VisualgVisualg
Visualg
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
logica d programacaorepeticaoRepitaAte.pdf
logica d programacaorepeticaoRepitaAte.pdflogica d programacaorepeticaoRepitaAte.pdf
logica d programacaorepeticaoRepitaAte.pdf
 
Conta de água e pedágio
Conta de água e pedágioConta de água e pedágio
Conta de água e pedágio
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Programando em python comandos basicos
Programando em python   comandos basicosProgramando em python   comandos basicos
Programando em python comandos basicos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Python
PythonPython
Python
 
C aula introdutoria, programacao iniciante.ppt
C aula introdutoria, programacao iniciante.pptC aula introdutoria, programacao iniciante.ppt
C aula introdutoria, programacao iniciante.ppt
 

Mais de Leandro Barbosa

011 programando em python - conjuntos
011   programando em python - conjuntos011   programando em python - conjuntos
011 programando em python - conjuntos
Leandro Barbosa
 
05 biomassa
05 biomassa05 biomassa
05 biomassa
Leandro Barbosa
 
python
pythonpython
python.tipos
python.tipospython.tipos
python.tipos
Leandro Barbosa
 
Estrutura cristalina
Estrutura cristalinaEstrutura cristalina
Estrutura cristalina
Leandro Barbosa
 
Lista de integração
Lista de integraçãoLista de integração
Lista de integração
Leandro Barbosa
 

Mais de Leandro Barbosa (6)

011 programando em python - conjuntos
011   programando em python - conjuntos011   programando em python - conjuntos
011 programando em python - conjuntos
 
05 biomassa
05 biomassa05 biomassa
05 biomassa
 
python
pythonpython
python
 
python.tipos
python.tipospython.tipos
python.tipos
 
Estrutura cristalina
Estrutura cristalinaEstrutura cristalina
Estrutura cristalina
 
Lista de integração
Lista de integraçãoLista de integração
Lista de integração
 

Último

AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdfAULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
SthafaniHussin1
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
fran0410
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
AurelianoFerreirades2
 
Cartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptxCartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptx
Zenir Carmen Bez Trombeta
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
Manuais Formação
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdfJOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
ClaudiaMainoth
 
Slide de biologia aula2 2 bimestre no ano de 2024
Slide de biologia aula2  2 bimestre no ano de 2024Slide de biologia aula2  2 bimestre no ano de 2024
Slide de biologia aula2 2 bimestre no ano de 2024
vinibolado86
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
Eró Cunha
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
eaiprofpolly
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
CarinaSantos916505
 
A festa junina é uma tradicional festividade popular que acontece durante o m...
A festa junina é uma tradicional festividade popular que acontece durante o m...A festa junina é uma tradicional festividade popular que acontece durante o m...
A festa junina é uma tradicional festividade popular que acontece durante o m...
ANDRÉA FERREIRA
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptxAtpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
joaresmonte3
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 

Último (20)

AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdfAULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
AULA-001---AS-CELULAS_5546dad041b949bbb7b1f0fa841a6d1f.pdf
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
 
Cartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptxCartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptx
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdfJOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
JOGO DA VELHA FESTA JUNINA - ARQUIVO GRATUITO.pdf
 
Slide de biologia aula2 2 bimestre no ano de 2024
Slide de biologia aula2  2 bimestre no ano de 2024Slide de biologia aula2  2 bimestre no ano de 2024
Slide de biologia aula2 2 bimestre no ano de 2024
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
 
A festa junina é uma tradicional festividade popular que acontece durante o m...
A festa junina é uma tradicional festividade popular que acontece durante o m...A festa junina é uma tradicional festividade popular que acontece durante o m...
A festa junina é uma tradicional festividade popular que acontece durante o m...
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptxAtpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
Atpcg PEI Rev Irineu GESTÃO DE SALA DE AULA.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 

03 algoritmos basicos

  • 1. Python: algoritmos básicosalgoritmos básicos Rodrigo de Toledo (adaptação do original do prof. Alexandre Meslin) Resumo até agora • Em programação, temos os seguintes papéis: – cliente, programador, usuário e computador • Em python: – variável: espaço em memória para armazenar conteúdoconteúdo – atribuição = (da direita para esquerda) – print: informar ao usuário – input: pegar informação do usuário – ==, !=, >, >=, <, <=, and, or ! – if, elif e else – while Dicas valiosas • Escolha bons nomes de variáveis – Diminui a chance de você se perder – Maior legibilidade para o programador futuro • Foque primeiro em entender qual é o resultado esperado.esperado. – Ou seja, pense qual será o seu output • Pense em diferentes testes de entradas – Para cada teste de entrada, verifique se a saída está correta – Se estiver fazendo no papel, tente fazer um “chinês” – (o Debugger do Python é equivalente ao chinês no papel) Matemática • Relação entre dois valores – Relação entre a e b: a) obter os valores de a e b. b) calcular a / b.b) calcular a / b. • Percentual entre dois valores – Percentual de a em relação a b: a) obter a relação entre a e b. b) multiplicar o valor obtido por 100
  • 2. Loops (1/3) • Loop com quantidade determinada em tempo de programação (número de vezes constante) (O comando FOR é o mais apropriado, porém exemplos com WHILE) Usar uma variável para contar (ex: i) • Com while, inicializar contador antes do loop e atualizá-lo dentro.atualizá-lo dentro. • Exemplo: executar um comando ou um bloco de comandos 100 vezes. i = 0 while i<100 <comando> i = i+1 # i+=1 também funciona, apenas uma abreviação... Loops (2/3) • Loop com quantidade determinada no início da execução (O comando FOR é o mais apropriado, porém exemplos com WHILE) Usar uma variável para contar (ex: i) • Exemplo: executar um comando ou um bloco de• Exemplo: executar um comando ou um bloco de comandos n vezes, onde n é uma variável cujo valor já foi calculado, inicializado ou lido anteriormente: nnnn = input (“Entre com a quantidade de vezes :”) i = 0 while i<nnnn <comando> i += 1 Loops (3/3) • Loop com quantidade indeterminada de vezes – Inicializar variáveis de controle fora do loop (geralmente imediatamente antes do loop começar) – Montar a condição do loop – Ao final do bloco de comandos, atualizar as variáveis de controlede controle • Exemplo: ler uma seqüência de números inteiros até que o valor digitado seja igual a zero. num = input(“Entre com o primeiro numero”) While num!=0: <comandos> num = input(“Entre com o proximo numero”) Loops exemplo • O chefe do departamento da universidade gostaria que os professores informassem a média da turma a cada prova. Para ajudá-los: Faça um programa que leia 40 notas e diga a média. – Quem são o cliente, o usuário e o programador? • As turmas tem tamanho variado, então, modifique o programa• As turmas tem tamanho variado, então, modifique o programa anterior para perguntar o total de alunos antes de ler a sequência. • Os professores reclamaram porque, como alguns alunos faltam a prova, eles são obrigados a contar o total de provas para rodar o programa. Modifique o programa anterior para que o professor não seja obrigado a dizer quantas provas são, o professor pode entrar diretamente com as notas e, ao final, entrará com um valor negativo para indicar o fim da série.
  • 3. As 3 soluções• 40 provas n = input("Entre com a quantidade de provas: ") i, soma = 0, 0.0 while i<n: nota = input("Entre com a proxima nota: ") i, soma = 0, 0.0 while i<40: nota = input("Entre com a proxima nota: ") soma = soma+nota i = i+1 print "A media eh :", soma / 40 Quantas provas? nota = input("Entre com a proxima nota: ") soma = soma+nota i = i+1 print "A media eh :", soma / n Terminar com negativo! i, soma = 0, 0.0 nota = input("Entre com a primeira nota: ") while nota>=0: soma = soma+nota i = i+1 nota = input("Entre com a proxima nota: ") print "A media eh :", soma / i Acumulador e Contador • Inicializar a variável com o valor inicialmente já acumulado (geralmente, imediatamente antes do loop). • Dentro do loop, atualizar o acumulador – Exemplo contador: Leia as notas dos 40 alunos e ao final diga o total em prova final (<7.0) i,pf=0,0 while i<40: nota = input(“Entre com nota: “) if nota<7.0: pf +=1pf +=1 i+=1 print “Total em prova final: ”, pf – Exemplo acumulador: Leia os 12 faturamentos mensais de uma empresa, indicando o seu faturamento anual. i,anual=0,0 while i<12: mensal = input(“Entre com faturamento do mes: ”) anual += mensal #anual = anual + mensal i +=1 print “Faturamento anual: ”, anual Competidor Cálculo do mais relevante (maior, menor, etc) • Obter o primeiro elemento da série e armazená-lo como o mais relevante (normalmente antes do loop) • Realizar um loop obtendo o restante da série – Para cada elemento obtido, testar se este é mais relevante do que o que já estava previamente armazenado como relevante • Exemplo: O maior de 10 números entrados maior = input(“Entre com o primeiro numero”) i=1 while i<=10: num = input(“Entre com o proximo numero”) if num > maior maior = num i = i+1 print maior Competidor (continuação) • Exemplo: O maior de 10 números entrados, mas em qual posição? maior = input(“Entre com o primeiro numero”) i=1 posicao = 1 while i<=10: num = input(“Entre com o proximo numero”) if num > maior maior = num posicao = i i = i+1 print “O maior eh”, maior, “na posição”, posicao
  • 4. Loop dentro de loop • Exemplo das tabuadas Exercícios• Percentual: – Faça um programa que leia as notas finais dos alunos e, ao final, diga total e percentual de aprovações diretas (>=7), reprovações (<3) e pessoas em prova final. (termina com <0) – Faça um programa que leia o preço de compra e o preço de venda de 100 mercadorias. O programa deverá imprimir quantas mercadorias proporcionam: • lucro < 10 % • 10 % <= lucro <= 20 % • lucro > 20 % • Competidor: – Faça um programa que leia os tempos conseguidos pelos corredores em cada uma das 8 raias da prova de 1500m das olimpíadas e diga quem foi o vencedor (ou seja, o número da raia). Obs: os tempos serão dados em minutos e segundos.da raia). Obs: os tempos serão dados em minutos e segundos. • Filtro: – Em uma eleição presidencial, existem quatro candidatos. Os votos são informados através de código. Os dados utilizados para a escrutinagem obedecem à seguinte codificação: • 1, 2, 3, 4 = voto para os respectivos candidatos; • 5 = voto nulo; • 6 = voto em branco; Elabore um programa que calcule e imprima: • total de votos para cada candidato; • total de votos nulos; • total de votos em branco; • percentual dos votos em branco e nulos sobre o total; • Se haverá segundo turno (candidato vencedor obteve mais votos que os outros três somados). Como finalizador do conjunto de votos, tem-se o valor 0. Exercícios • Matemática: – Faça um programa que leia uma seqüência de números inteiros terminada por 0 (zero) e imprima o número que for múltiplo de sua posição (primeiro, segundo, terceiro, …) na seqüência. Exemplo: • posição: 1 2 3 4 5 • valores lidos: 3 7 8 16 5 0 • impressão: 3 16 5 – Faça um programa que calcule e imprima os termos da série , onde X e N devem ser lidos da entrada. obs: tente programar sem usar o comando ** X N N !obs: tente programar sem usar o comando ** – Faça um programa que calcule e imprima a média e a variância das notas de todos os alunos de uma determinada cadeira. As notas devem ser lidas via teclado. O fim da leitura é marcado por uma nota negativa. A média e a variância são calculadas da seguinte forma: • Observar que ∑(notas2) ≠ (∑notas)2 !!!!!!!!media notas numero de alunos = ∑ _ _ var ( ) _ _ iancia notas numero de alunos media= − ∑ 2 2 N!