Ir ao conteúdo

Posts recomendados

Postado
23 minutos atrás, Simon Viegas disse:

1#
Os cálculos das médias só precisam ser calculados uma vez, ou seja, devem ficar fora do for.

Não entendi essa parte, tem algum cálculo que está "inútil" no código? @Simon Viegas

adicionado 39 minutos depois

Rodando 100%, testado e aprovado, dados testados na mão batendo 100% com os dados fornecidos pelo programa!

Obrigado a todos envolvidos, agora vou partir para o projeto em linguagem C e irei criar um post e espero a ajuda de vocês, que além de esclarecedora e limpa, é muito útil, a paciência e disposição de vocês para ensinar e o método que utilizam, é incrível, estimulando o iniciante a entender.
Mais uma vez obrigado!!!

WhatsApp Image 2018-05-24 at 13.46.11.jpeg

  • Curtir 3
  • Membro VIP
Postado
39 minutos atrás, Erick Corrêa disse:

Não entendi essa parte, tem algum cálculo que está "inútil" no código? @Simon Viegas


Sim.. está está calculando a média a cada loop... como não está sendo utilizado, está sendo inútil.
 

Veja:

1 hora atrás, Erick Corrêa disse:

      pfilho:=100*contadorf/contador
      ph:=100*homem/contador
      pm:=100*mulher/contador
   fimpara

 


Você deixou os cálculos dentro para. A média só precisa ser calculada uma vez. Logo, depois do para.

  • Curtir 3
  • Membro VIP
Postado

 

 

44 minutos atrás, Erick Corrêa disse:

Rodando 100%, testado e aprovado, dados testados na mão batendo 100% com os dados fornecidos pelo programa!

Obrigado a todos envolvidos, agora vou partir para o projeto em linguagem C e irei criar um post e espero a ajuda de vocês, que além de esclarecedora e limpa, é muito útil, a paciência e disposição de vocês para ensinar e o método que utilizam, é incrível, estimulando o iniciante a entender.
Mais uma vez obrigado!!!

 

Por favor, poste o código aqui para revisarmos.

adicionado 1 minuto depois
agora, Erick Corrêa disse:

No caso serve pra otimizar o programa, é menos processamento, correto?


Também... mas a questão em si não é a quantidade, mas a "lógica envolvida", ou seja, seria "errado" ficar calculando. A média deveria ser calculada de uma vez só.

  • Curtir 4
Postado

Segue, já ajustado:

Algoritmo "Entrevista"
//Aluno: Erick Corrêa da silva
//R.A.: 175.864-45
Var
   nome  : caractere
   idade : inteiro
   sexo  : caractere
   filhos,j, homem, mulher, rena_acime_500: inteiro
   nasc_2000           : inteiro
   rendaf: real
   contador, contadorf:real
   ph,pm,pfilho:real



Inicio
   Para j de 1 ate 2 faca
      escreval ("DIGITE OS DADOS DO ENTREVISTADO")
      escreval ("Tecle ENTER para sair!")
      escreva ("Nome          :")
      leia(nome)
      se compr(nome)=0 então
         interrompa
      fimse
      escreva ("Idade         :")
      leia(idade)
      se idade < 19 então
         nasc_2000:=nasc_2000+1
      fimse
      escreva ("Sexo [M ou F] :")
      leia(sexo)
      se sexo="M" então
         homem:=homem+1
      senao
         se sexo="F" então
            mulher:=mulher+1
         fimse
      fimse
      escreva ("Filhos        :")
      leia(filhos)
      se filhos > 0 então
         contadorf:=contadorf+1
      fimse
      escreva ("Renda Familiar:R$")
      leia(rendaf)
      se rendaf >= 500.00 então
         rena_acime_500:=rena_acime_500+1
      fimse
      limpatela
      contador:=contador+1

   fimpara

   pfilho:=100*contadorf/contador
   ph:=100*homem/contador
   pm:=100*mulher/contador

   escreval("A porcentagem de homens e mulheres é respectivamente:",ph,"% e",pm,"%.")
   escreval("Pessoas com renda familiar acima de R$500,00:",rena_acime_500," pessoas.")
   escreval("Porcentagem de pessoas que tenham ao menos um filho:",pfilho,"%.")
   escreval("Pessoas que nasceram a partir do ano 2000:",nasc_2000,".")




Fimalgoritmo

 

  • Curtir 2
  • Amei 1
  • Membro VIP
Postado

1#
Lembrar de mudar para 20. Está com 2.

 

 

 

2#
Tome cuidado com as divisões por 0. Poderia fazer por exemplo:

se contador <> 0 ENTÃO
   pfilho:=100*contadorf/contador
   ph:=100*homem/contador
   pm:=100*mulher/contador
fimse


***

 

No geral. O código está bom. Parabéns!

  • Curtir 2
Postado
4 minutos atrás, Simon Viegas disse:

1#
Lembrar de mudar para 20. Está com 2.

 

 

 

2#
Tome cuidado com as divisões por 0. Poderia fazer por exemplo:


se contador <> 0 ENTÃO
   pfilho:=100*contadorf/contador
   ph:=100*homem/contador
   pm:=100*mulher/contador
fimse


***

 

No geral. O código está bom. Parabéns!

 

Ajustei de acordo com o indicado, realmente deixa tudo bem explícito ao que deve ser feito, o que o programa realmente deve seguir, sem falhas ou brechas para as mesmas!!

 

Obrigado galera!!

Até o próximo código!!

Abraço!

  • Curtir 1
  • Amei 3
Postado

Para você sair do laço de repetição, mesmo sem atingir 20 pessoas  o comando é:

se ( "variavel para testar a condição" = "") então     
escreval (" resultado da entrevista")
interrompa
fimse

 

Também está cursando Engenharia de Software?

  • Obrigado 1
Postado

@Silent Rain       creio que seja um equívoco seu , pois se a pessoa tem 18 anos então nasceu em 2000 , mas se tiver 19 anos ele terá nascido em 1999 que é antes do ano 2000 , e o enunciado diz que são as pessoas nascidas a partir de 2000 .    então seria   idade < 19 mesmo  .

  • Membro VIP
Postado
4 horas atrás, devair1010 disse:

@Silent Rain       creio que seja um equívoco seu , pois se a pessoa tem 18 anos então nasceu em 2000 , mas se tiver 19 anos ele terá nascido em 1999 que é antes do ano 2000 , e o enunciado diz que são as pessoas nascidas a partir de 2000 .    então seria   idade < 19 mesmo  .

 

Não é bem assim... depende do critério utilizado.

 

Tecnicamente:

- Quem nasceu em 2000 tem 18 OU 17 anos. Não tem como saber! A não ser que estejamos em 31 de dezembro de 2018.

- Da mesma forma que quem tem 18 anos nasceu em 2000 OU 1999....

 

Resumindo: apenas pelo ano não dá para saber a idade, assim como apenas pela idade não dá para saber o ano. :)

 

Logo, como só tem a idade, a pergunta:

Em 15/05/2018 às 21:38, allanalencar disse:

- Número de pessoas que nasceram a partir do ano 2000.

Não pode ser respondida. O que pode ser feito é "utilizar um critério próprio" como por exemplo "considerar a idade como sendo a que a pessoa fez ou fará em 2018".

 

Em fim... depende da definição de idade.

PS: se alguém que não fez aniversário ainda em 2018, e nasceu em 2000, responderá como "menor de idade" (17 anos).

  • Curtir 1
Postado
19 horas atrás, Erick Corrêa disse:

@Silent Rain sim, estou cursando na Unicesumar, você também?

Eu dei umas ajustadas a mais no código, questão de fórmulas e afins, porém não mexi mais, estou envolvido no de linguagem C agora!

Sim, curso na Unicesumar, já terminei os ajustes desse código, agora estou desenvolvendo a linguagem C também, e estou tendo algumas dificuldades kk, mais estou conseguindo aos poucos caso tenha dúvidas ou queria partilhar informações manda post para manter contato. :) 

iniciou em que mês ?
Curso EAD ?

No curso EAD os Mediadores são muito limitados e não da pra tirar todas as dúvidas com os professores..

  • Curtir 1
Postado

Também faço curso na Unicesumar , eu fiz primeiro o de linguagem c que era mais complicado dai agora eu tive algumas dúvidas no de portugol :s acho que agora resolvi , realmente os Mediadores são muito limitados ...

  • Curtir 1
  • 2 semanas depois...
Postado

@Naty Ribeirotop      isso é por que você não leu o poste todo , onde tem correções para o código ,  e o erro não é nessa linha , 

se compr(nome)=0 então 
  interrompa

o erro é aqui no final ,

se contador <> 0 ENTÃO
     pfilho:=100*contadorf/contador
     ph:=100*homem/contador
     pm:=100*mulher/contador

     escreval("A porcentagem de homens e mulheres é respectivamente:",ph,"% e",pm,"%.")
     escreval("Pessoas com renda familiar acima de R$500,00:",rena_acime_500," pessoas.")
     escreval("Porcentagem de pessoas que tenham ao menos um filho:",pfilho,"%.")
     escreval("Pessoas que nasceram a partir do ano 2000:",nasc_2000,".")
  fimse

onde se o contador for zero e ele será usado como divisor ,  e um numero dividido por zero é impossível ,  por isso dá erro , assim precisa tratar essa possibilidade , evitando que isso aconteça .

então o código com as modificações seria esse  :

Algoritmo "Entrevistas"
Var
   nome                                   : caractere
   idade                                  : inteiro
   sexo                                   : caractere
   filhos,j, homem, mulher, rena_acime_500: inteiro
   nasc_2000                              : inteiro
   rendaf                                 : real
   contador, contadorf                    : real
   ph,pm,pfilho                           : real
Inicio
  para j de 1 ate 10 faca
    escreval ("DIGITE OS DADOS DO ENTREVISTADO")
    escreval ("Tecle ENTER para sair!")
    escreva ("Nome          :")
    leia(nome)
    se compr(nome)=0 ENTÃO
      interrompa
    fimse
    escreva ("Idade         :")
    leia(idade)
    se idade < 19 ENTÃO
      nasc_2000:=nasc_2000+1
    fimse
    escreva ("Sexo [M ou F] :")
    leia(sexo)
    se sexo="M" ENTÃO
      homem:=homem+1
    senao
      se sexo="F" ENTÃO
        mulher:=mulher+1
      fimse
    fimse
    escreva ("Filhos        :")
    leia(filhos)
    se filhos > 0 ENTÃO
      contadorf:=contadorf+1
    fimse
    escreva ("Renda Familiar:R$")
    leia(rendaf)
    se rendaf >= 500.00 ENTÃO
      rena_acime_500:=rena_acime_500+1
    fimse
    limpatela
    contador:=contador+1
    fimpara
    se contador <> 0 ENTÃO
      pfilho:=100*contadorf/contador
      ph:=100*homem/contador
      pm:=100*mulher/contador
      escreval("A porcentagem de homens e mulheres é respectivamente:",ph,"% e",pm,"%.")
      escreval("Pessoas com renda familiar acima de R$500,00:",rena_acime_500," pessoas.")
      escreval("Porcentagem de pessoas que tenham ao menos um filho:",pfilho,"%.")
      escreval("Pessoas que nasceram a partir do ano 2000:",nasc_2000,".")
    fimse
Fimalgoritmo

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!