Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Fabio Junior Tic

Python Exercício Crescimento Populacional em Python com While.

Recommended Posts

Boa tarde Galera

Estou com dificuldades de interpretar esse exercício e resolve-lo.

a linguagem é python, estamos iniciando em estruturas de repetição (While), se alguem puder ajudar agradeço.


image.thumb.png.a11be0c09e5fe588585f45413d8ffd2d.png

Editado por DiF
Adicionar o prefixo certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compreendo, estou com dificuldades para entender o problema, uma vez que entendido, eu trataria de resolve-lo.
obrigado pelas dicas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse exercício pode ser resolvido aritmeticamente.


O que temos : duas populações A e B . A população de A vai crescer a uma "taxa" entre > 0% e < 10%  ao ano.

O exercício pede, quanto tempo A vai levar para ultrapassar a população de B.


O crescimento populacional é uma progressão geométrica. Se fizermos a conta, calculamos direto quanto tempo vai levar. Basta calcular a soma dos n termos de uma PG de razão "taxa" para que a população de A seja maior que população de B. Só que a ideia do exercício não é essa. A ideia é fazer usando while

 

Então como fazer ? Eis a dica:

dentro de um while, aplique o crescimento de 1 ano a população de A. Como faz esse crescimento ? Como calcular o aumento da população de A a taxa de x% ??? É a mesma conta de "quanto é o novo salário após um aumento de x%", ou "quanto é o novo preço após um aumento de x%". Reflita sobre essa conta da época da escola.  Bom, aí teste se após o crescimento aplicado a populaçào de A ficou igual ou maior a população de B. Enquanto não ficar maior ou igual, (ou seja enquanto a populacao A menor (<) que populacao B ) conte mais um ano e aplique de novo o crescimento, agora a população nova!

 

Quando sair do enquanto, terá a quantidade de anos que sao necessários.

 

Ficou claro agora ? Consegue fazer ? em Python fica muito bom.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aaaaaaa, era isso que precisava haha, muito obrigado!!!!!
é que em aula o professor explica o while com aquela simples questão: imprima de 0 a 10....

Depois na plataforma de ensino (moodle) tem esse exercício, ai complica!

 

Agora entendi, Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendeu mesmo ? Então mostra pra nós o programa :)

 

Se quiser, pode usar o http://repl.it para compartilhar o fonte do programa

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

pa = int(input())
pb = int(input())
g1 = float(input())
g2 = float(input())

cont = 0

while pb >= pa:
    cont+=1
    pa = (pa + (pa * (g1 / 100.0)))// 1
    pb = (pb + (pb * (g2 / 100.0))) // 1
    if cont <= 100:
        print ("Total de ",cont,"anos!")
    else:
        print("Mais de 1 Século!")

 

Só que está com um erro que não encontro!

Seu eu der as entradas como: 
123

2000

3.0

2.0

ele executa os 2 prints 100 vezes....

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque o if está DENTRo do while
mova ele mais para a esquerda.

 

Outra dica de segurança. Certifique-se que g1 é maior que g2. Senão o programa nunca vai terminar.

 

 

Editado por Boko Moko

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, a parte do if e o else dentro do bloco do while eu entendi, a indentação...
Eu corrigi e deu tudo certo, mas quanto a dica de segurança estou confuso, seria um if g1>g2:....?

 

desde já quero agradecer pela importância de sua ajuda, foi a unica forma que consegui de resolver o exercício!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segurança envolver evitar que o programa entre num loop infinito e derrube o seu computador, consumindo recursos.

 

O teste de segurança é para garantir que a taxa de crescimento da cidade MENOR seja MAIOR que a taxa de crescimento da cidade MAIOR.


Se a taxa de crescimento da cidade maior for maior que a taxa de crescimento da cidade menor o seu programa vai ficar em loop infinito.

 

Faça o teste. Se g1 for < g2, avise "a cidade menor nunca vai alcançar a maior"

 

Concorda ? 

adicionado 18 minutos depois

Já cogitou usar o http://repl.it para compartilhar seus programas ? Assim podemos verificar rapidamente se estão corretos e apontar sugestões.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×