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

VisualG Relatório de entrevistas de pessoas

Recommended Posts

@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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@Erick Corrêa    o contador é uma variável  que você vai incrementando ela a cada pessoa pesquisada que é o mesmo que a cada loop que o laço de repetição dá , e depois que o programa passar do laço para , o contador conterá a quantidade de pessoas pesquisadas .

Editado por devair1010
  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 Perfeito, sanei todas minhas dúvidas, agora é só indentar tudo e rodar pra ver, obrigado pela atenção, foi de imensa ajuda!!!

Tenha uma boa noite!!

  • Curtir 2

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)
 contador:=contador+1
   fimpara
      p_h:=100*homem/contador
      p_m:=100*mulher/contador

Coloquei dessa forma, e no fim ele da o seguinte erro:

Erro na atribuição de valores à variável P_H:

REAL para INTEIRO.

 

O que estou fazendo errado?

Editado por Erick Corrêa
faltando R na representaçã odo código
  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Erick Corrêa   essa variável precisa ser do tipo real pois depois da divisão o resultado pode ser fracionado .

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, agora o erro é de que a variável não foi encontrada, mesmo eu colocando a fórmula ali, como procedo?

ja tentei colocar após o "fimpara" e antes disso também, não sei onde posicionar ou o que está errado...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Erick Corrêa    se a variável não foi encontrada é por que você não declarou ela lá no início .  

  • Curtir 1

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@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

Editado por Simon Viegas
Separar os códigos
  • Curtir 2
  • Amei 1

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Erick Corrêa    no enunciado ele pede para contar as pessoas que pelo menos um filho , então seria  

se filhos > 0 ENTÃO
  pessoas_com_filhos := pessoas_com_filhos + 1
fimse

 

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

ú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

 

Editado por Erick Corrêa
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@Erick Corrêa    os que nasceram depois de 2000 tem mais de 17 anos , então seria assim  :

se idade < 19 ENTÃO
  nasc_2000 := nasc_2000 + 1
fimse

 

Editado por devair1010
  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

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

Editado por Erick Corrêa
  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Erick Corrêa     isso mesmo  tem que ser idade  menor que 19  

se idade < 19 ENTÃO
  nasc_2000 := nasc_2000 + 1
fimse

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 minutos atrás, Erick Corrêa disse:

estava fazendo com o laço de 1 a 4 no máximo, para ser rápido...

Isso que ia sugerir... para testar, pode usar uma quantidade menor. Depois reajusta.

  • Curtir 2

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×