Ir ao conteúdo
  • Cadastre-se
allanalencar

VisualG Relatório de entrevistas de pessoas

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no MAPA, é solicitado o numero de pessoas que nasceram A PARTIR DO ANO 2000. Ou seja todo mundo que tem 18 ou mais de idade (idade >=18)

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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  .

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

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

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

×