SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
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!

Más contenido relacionado

La actualidad más candente

Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de ProgramaçãoMarcos 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
 
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 - Aula02André Phillip Bertoletti
 
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 2engenhariadecomputacao
 
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_javaMirlem 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 - Aula08André Phillip Bertoletti
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine 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 pptAndrei 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çãorodfernandes
 

La actualidad más candente (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
 

Destacado

006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionariosLeandro Barbosa
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listasLeandro 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 stringsLeandro Barbosa
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivosLeandro Barbosa
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoesLeandro Barbosa
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programarrobinhoct
 

Destacado (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
 

Similar a Python Básicos: Algoritmos e Estruturas de Repetição

Similar a Python Básicos: Algoritmos e Estruturas de Repetição (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
 
Laços de repetição
Laços de repetiçãoLaços de repetição
Laços de repetição
 

Más de Leandro Barbosa

Más 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

Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfdottoor
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdfProfGleide
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?MrciaRocha48
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfpaulafernandes540558
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAlexandreFrana33
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdf
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptx
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 

Python Básicos: Algoritmos e Estruturas de Repetição

  • 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!