Ir ao conteúdo
  • Cadastre-se

VisualG Relatório de entrevistas de pessoas


Posts recomendados

@Erick Corrêa      você precisa colocar um contador  para saber a quantidade de pessoas pesquisada , pois o para vai até vinte , mas se ele sair antes de chegar nesse valor então você não saberia quantos foram pesquisados , então com o contador você saberá a quantidade e assim a porcentagem é a regra de três mesmo e  no visualg seria assim :

    escreval("Renda familiar:R$",rendaf)
    contador:=contador+1  // precisa criar essa variável lá no início
  fimpara
  escreval("o total de homens  é ",homem)
  escreval("o total de mulhers é ",mulher)
  porcentagem_homem := 100*homem/contador // precisa criar essa variável lá no início do tipo real
  escreval("A Porcentagem De Homens é ",porcentagem_homem," Por Cento !")
Fimalgoritmo

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

@devair1010 Compreendi, ja fiz o teste aqui, só preciso alinhar certinho e entender como funciona o contador! porque só colocar o código é fácil eu quero entender como ele funciona também!

adicionado 2 minutos depois

No caso, porque tem que ser contador+1...e ele tem que ser posicionado dessa forma mesmo? antes do fimpara, sendo um contador incluso no laço, correto?

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Erick Corrêa     o contador recebe o valor próprio contador  mais 1  porque será apenas uma pessoa pesquisada a cada loop do laço para ,  pois se fossem pesquisadas duas pessoas a cada loop  então o contador seria contador mais 2 ,  e ele precisa ficar dentro do laço e de preferência  depois de pegar todos os dados assim se você fizer algum cálculo dentro de laço usando o contador ele estará no valor certo .

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Ela está declarada, mas está dando erro na hora que vai imprimir...

escreval("A porcentagem de homens e mulheres é respectivamente:",ph"% e"
,pm"%")

tirei os underlines achando que pudesse ser isso, mas as variáveis estão declaradas, tanto do contador como ph e pm, como "real" e depois que eu finalizo e ele contabiliza, da o erro na hora de imprimir ai...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Erick Corrêa, está com um erro nela linha:

escreval("A porcentagem de homens e mulheres é respectivamente:",ph"% e",pm"%")

teria que ser assim:

escreval("A porcentagem de homens e mulheres é respectivamente:",ph," % e ",pm," %")

Faltou colocar essas vírgulas depois do ph e pm

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

@devair1010 cara que erro fútil, kkkkkkkkk agora foi, vou prestar mais atenção nisso, e quando me falaram que "o código nunca roda 100% de prima" eu não quis acreditar!!!

adicionado 9 minutos depois

Agora meu problema é nos filhos, ta sempre contando ou todos, ou ele zera... nesse caso aqui está zerando:

        se filhos <0 então
           pessoas_com_filho:=pessoas_com_filho+1
        fimse

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

última dúvida, eu estou tentando colocar o cálculo das pessoas que nasceram após o ano de 2000, estou colocando assim e da erro de sintaxe (sintaxe incorreta):

escreva ("Idade         :")
     leia(idade)
        nasc_2000=2018-idade

Ja deixei certo essa parte e tentei colocar a operação junto com as de porcentagem, e ainda da o mesmo erro de sintaxe incorreta!

leia(idade)
        se nasc_2000 >= 2000 então
           nasc_2000:=nasc_2000+1
        fimse

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Po, eu pensei dessa forma, mas achei que seria mt óbvio, ai eu fui tentando pela operação... isso parece mágica, ta loco bicho!

----

Mas se eu colocar dessa forma, mesmo que eu coloque 45 ele vai contabilizar, porque está dizendo que "se idade for maior que 17 então adicione +1 a pessoas que nasceram após o ano 2000"... não faz sentido!

Não seria "se idade for <= a 18 então adicione +1 a nasc_2000" ??

----

Tentei agora com o <=18 e ele da um conflito, sempre conta 1 a mais, e nunca deixa ficar zerado, caso não tenha ninguém que nasceu nos anos 2000 ou após nos cadastros...

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

Para complementar.

Vide o enunciado:

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

Para esta atividade MAPA queremos que você exercite o conteúdo que está sendo apresentado na disciplina. Sendo assim: Escreva um algoritmo que faça a entrevista de 20 pessoas.


Seu algoritmo em Portugol deve conter os seguintes requisitos:
I. Realizar a leitura dos seguintes dados, para cada uma das 20 pessoas:
   - Nome.
   - Idade.
   - Sexo.
   - Quantidade de filhos.
   - Renda mensal familiar.

Obs.: Sair do laço de repetição se um nome não for preenchido, mesmo se não atingir 20 pessoas.

II. Com base nos dados coletados, apresente na tela as seguintes informações:
     - Percentual de mulheres e homens.  //aqui usa contador, ou seja, % em relação ao total
     - Número de pessoas com renda familiar de 500.00 (quinhentos reais) ou acima. //usa um contador próprio
     - Percentual de pessoas que tem ao menos 1 filho. //usar outro contador próprio
     - Número de pessoas que nasceram a partir do ano 2000. //usa outro contador próprio

 

 

Obs.:

Sobre:

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

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

 

1) O que seria "A PARTIR de um ano"?
A primeira coisa é saber o que significa "a partir"... ela inclui ou não o ano? ou seja, é o mesmo que "após 2000" ou "de 2000 em diante"? tem diferença!!! Isso precisa ser verificado...

Em fim, vamos suporte que é de 2000 em diante... então seria algo como nascido em 2000, 2001, 2002, 2003... etc. Tá, mas como vai saber em que ano nasceu, já que esse dado (o ano) não foi informado? ou seja, é impossível!

 

Veja?

Quem nasceu em 01/01/2000 hoje tem 18 anos.

Quem nasceu em 11/09/1999 hoje tem 18 anos.

Nasceram em anos diferentes, mas ambos tem 18 anos!

 

E ai?

Para efeitos práticos, use o tal "se idade < 19 ENTÃO" ou "se idade <= 18 ENTÃO... mas tenha consciência que tem algo errado!

@Erick Corrêa, por favor, poste seu código atual para analisarmos...

PS: para indentar o código, pressione CTRL+G no Visualg. Veja, sempre mantenha seu código indentado... a medida que vai inserindo as linhas, já deixa na indentação correta... se modificar, já ajusta... ou seja, não tem desculpa!! Sempre deve ficar indentado... verás que a organização ajuda em muito no desenvolvimento...

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Sim, eu pensei dessa forma também, mas para esse tipo de informação teria que ser algo bem mais complexo e elaborado, o que eu acho que não seria o caso, se não seria pedido também a data de nascimento, assim eu poderia calcular utilizando o mês e determinar quem ja completou 19 anos ou não, assim dizendo que é dos anos 2000!

@Simon Viegas Logo eu posto, estou fazendo os últimos ajustes aqui e vou testar o código inteiro com as 20 pessoas, estava fazendo com o laço de 1 a 4 no máximo, para ser rápido...

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Meu código ficou assim, acabei de testar com as 20 pessoas, 3 parâmetros funcionaram, o único que deu errado foi das pessoas que nasceram a partir/ em diante do ano 2000, ficou com o valor de 1.

Algoritmo "Entrevista"
//Aluno: Erick Corrêa da silva
//R.A.: 175.864-45
Var
   nome  : caractere
   idade : caractere
   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 20 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
      pfilho:=100*contadorf/contador
      ph:=100*homem/contador
      pm:=100*mulher/contador


   fimpara

   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("Pessoas que tenham ao menos 1(um) filho:",pfilho,"%.")
   escreval("Pessoas que nasceram a partir do ano 2000:",nasc_2000,".")




Fimalgoritmo

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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

 

 

 

2#
Você definiu idade como caractere, mas no se está comparando com um número (inteiro)... são tipos diferentes.

 

Altere o idade para inteiro.

 

 

 

***

 

No aguardo.
 

 

 

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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