Ir ao conteúdo
  • Cadastre-se

everton.carniato

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por everton.carniato

  1. Antes de ler a resposta aqui consegui fazer, segue o código: 

    algoritmo "exerc17"
    var
       nome,sexo,signo,nomePmaior,nomeAmenor:caracter
       altura,peso,pesomaior,alturamenor,mediapeso:real
       cont,dia,mes,ano,mulheres,idade,mediaid,pessoasD,pessoasG,contH,apoioH,pessoasH,aries,touro,gemeos,cancer,leao,virgem,libra,escorpiao,sagitario,capricornio,aquario,peixes:inteiro
       
    inicio
          mulheres:=0
          idade:=0
          pesomaior:=0
          pessoasD:=0
          alturamenor:=999999999999999999999999999999
          mediapeso:=0
          pessoasG:=0
          apoioH:=0
          pessoasH:=0
          aries:=0
          touro:=0
          gemeos:=0
          cancer:=0
          leao:=0
          virgem:=0
          libra:=0
          escorpiao:=0
          sagitario:=0
          capricornio:=0
          aquario:=0
          peixes:=0
          mediaid:=0
    
          para cont de 1 ate 40 faca
               escreval("|-------------------- FICHA DE INFORMAÇÕES --------------------|")
               escreval(" Preencha os campos abaixo:")
    // Nome ------------------------------------------------------------------------
               escreva (" 1. Nome do aluno: ")
               leia(nome)
               escreval
    // Data ------------------------------------------------------------------------
    
               escreval (" 2. Data de nascimento (DD/MM/AAAA): ")
                 escreva("    Dia: ")
                 leia(dia)
                 escreva("    Mês: ")
                 leia(mes)
                 escreva("    Ano: ")
                 leia(ano)
            REPITA
               Se (dia<1) ou (dia>31) então
                 escreva(" Dia inválido, insira novamente: ")
                 leia(dia)
               fimse
               se (mes<1) ou (mes>12) então
                 escreva(" Mês inválido, insira novamente: ")
                 leia(mes)
               fimse
               se (ano<1900) então
                 escreva(" Ano inválido, insira novamente: ")
                 leia(ano)
               fimse
            ATE (dia>=1) e (dia<=31) e (mes>=1) e (mes<=12) e (ano>=1900)
    
            ENQUANTO ((mes=2) e (ano mod 4=0) e (dia>29)) ou ((mes=2) e (ano mod 4<>0) e (dia>28)) faca
               se (mes=2) então
                 se (ano mod 4<>0) e (dia>28) então
                   escreva(" Dia inválido, insira novamente: ")
                   leia(dia)
                   senao
                     se  (ano mod 4=0) e (dia>29) então
                       escreva(" Dia inválido, insira novamente: ")
                       leia(dia)
                     fimse
                 fimse
               fimse
            fimenquanto
            
            ENQUANTO ((mes=4) ou (mes=6) ou (mes=9) ou (mes=11)) e (dia>30) faca
                     se (mes=4) e (dia>30) então
                       escreva(" Dia inválido, insira novamente: ")
                       leia(dia)
                     fimse
                     se (mes=6) e (dia>30) então
                       escreva(" Dia inválido, insira novamente: ")
                       leia(dia)
                     fimse
                     se (mes=9) e (dia>30) então
                       escreva(" Dia inválido, insira novamente: ")
                       leia(dia)
                     fimse
                     se (mes=11) e (dia>30) então
                       escreva(" Dia inválido, insira novamente: ")
                       leia(dia)
                     fimse
            fimenquanto
             escreval
           //b) média de idade dos alunos
                se (dia>15) e (mes>4) então
                    idade:=2018-ano-1
                    senao
                      idade:=2018-ano
                fimse
                mediaid:=mediaid+idade
           
           //g) percentual de pessoas que nasceram em ano BISSEXTO
                se (ano mod 4=0) então
                  pessoasG:=pessoasG+1
                fimse
                
           //h) quantidade de pessoas que nasceram em dias PRIMO
                 para contH de 1 ate dia faca
                   se (dia mod contH=0) então
                     apoioH:=apoioH+1
                   fimse
                 fimpara
                 se (apoioH=2) então
                   pessoasH:=pessoasH+1
                 fimse
                
    // Sexo ------------------------------------------------------------------------
             repita
               escreva (" 3. Sexo (F/M/O): ")
               leia(sexo)
               escolha sexo
                 caso "M"
                 caso "F"
                 caso "O"
                 outrocaso
                   escreval("Informe um sexo válido.")
               fimescolha
             ate (sexo="F") ou (sexo="M") ou (sexo="O")
               escreval
    
            //a)Percentual de alunos do sexo feminino
               SE (sexo="F") então
                 mulheres:=mulheres+1
               fimse
           
    // Signo -----------------------------------------------------------------------
               se (dia>=21) e (dia<=31) e (mes=3) ou (dia>=1) e (dia<=19) e (mes=4) então
                 signo:="Áries"
                 aries:=aries+1
                 senao
                  se (dia>=20) e (dia<=30) e (mes=4) ou (dia>=1) e (dia<=20) e (mes=5) então
                    signo:="Touro"
                    touro:=touro+1
                    senao
                      se (dia>=21) e (dia<=31) e (mes=5) ou (dia>=1) e (dia<=21) e (mes=6) então
                        signo:="Gêmeos"
                        gemeos:=gemeos+1
                        senao
                          se (dia>=22) e (dia<=30) e (mes=6) ou (dia>=1) e (dia<=22) e (mes=7) então
                            signo:="Câncer"
                            cancer:=cancer+1
                            senao
                              se (dia>=23) e (dia<=31) e (mes=7) ou (dia>=1) e (dia<=22) e (mes=8) então
                                signo:="Leão"
                                leao:=leao+1
                                senao
                                  se (dia>=23) e (dia<=31) e (mes=8) ou (dia>=1) e (dia<=22) e (mes=9) então
                                    signo:="Virgem"
                                    virgem:=virgem+1
                                    senao
                                      se (dia>=23) e (dia<=30) e (mes=9) ou (dia>=1) e (dia<=22) e (mes=10) então
                                        signo:="Libra"
                                        libra:=libra+1
                                        senao
                                          se (dia>=23) e (dia<=31) e (mes=10) ou (dia>=1) e (dia<=21) e (mes=11) então
                                            signo:="Escorpião"
                                            escorpiao:=escorpiao+1
                                            senao
                                              se (dia>=22) e (dia<=30) e (mes=11) ou (dia>=1) e (dia<=21) e (mes=12) então
                                                signo:="Sagitário"
                                                sagitario:=sagitario+1
                                                senao
                                                  se (dia>=22) e (dia<=31) e (mes=12) ou (dia>=1) e (dia<=19) e (mes=1) então
                                                    signo:="Capricórnio"
                                                    capricornio:=capricornio+1
                                                    senao
                                                      se (dia>=20) e (dia<=31) e (mes=1) ou (dia>=1) e (dia<=18) e (mes=2) então
                                                        signo:="Aquário"
                                                        aquario:=aquario+1
                                                        senao
                                                          se (dia>=19) e (dia<=29) e (mes=2) ou (dia>=1) e (dia<=20) e (mes=3) então
                                                            signo:="Peixes"
                                                            peixes:=peixes+1
    
                                                          fimse
                                                      fimse
                                                  fimse
                                              fimse
                                          fimse
                                      fimse
                                  fimse
                              fimse
                          fimse
                      fimse
                  fimse
               fimse
               escreval(" 4. Signo: ",signo)
               escreval
    
    // Altura ----------------------------------------------------------------------
               escreva(" 5. Altura(m): ")
               leia(altura)
              REPITA
               se (altura<=0) então
                 escreva(" Altura inválida, insira novamente: ")
                 leia(altura)
               fimse
              ATE (altura>0)
               escreval
               
           // d) quantidade de pessoas do signo de GEMEOS abaixo de 1,75m de altura
              se (signo="Gêmeos") e (altura<1.75) então
                pessoasD:=pessoasD+1
              fimse
    
           // e) nome e altura da pessoa mais baixa
              se (altura<alturamenor) então
                alturamenor:=altura
                nomeAmenor:=nome
              fimse
           
    // Peso ------------------------------------------------------------------------
               escreva(" 6. Peso: ")
               leia(peso)
               repita
                 se (peso<=0) então
                   escreva(" Peso inválido, insira novamente: ")
                   leia(peso)
                 fimse
               ate (peso>0)
    
            //c) nome e peso da pessoa mais pesada do sexo masculino
               se (sexo="M") e (peso>pesomaior) então
                 pesomaior:=peso
                 nomepmaior:=nome
               fimse
               
            // f) média aritmética de peso de todos os alunos entrevistados
                  mediapeso:=mediapeso+peso
    
    //------------------------------------------------------------------------------
            limpatela
          fimpara
    // Respostas -------------------------------------------------------------------
    
    
    
       escreval("|-------------------- RESULTADOS --------------------|")
       escreval
       escreval("  a) Percentual de alunos do sexo feminino: ",(10*mulheres)/4,"%;")
       escreval("  b) Média de idade dos alunos: ",mediaid/40," anos;")
       escreval("  c) Nome e peso da pessoa mais pesada do sexo masculino: ",nomepmaior," pesa",pesomaior," kg;")
       escreval("  d) Quantidade de pessoas do signo de gêmeos abaixo de 1,75m de altura: ",pessoasD," ;")
       escreval("  e) Nome e altura da pessoa mais baixa: ",nomeAmenor," mede",alturamenor," m;")
       escreval("  f) Média aritmética de peso de todos os alunos entrevistados: ",mediapeso/40," kg;")
       escreval("  g) Percentual de pessoas que nasceram em ano BISSEXTO: ",(10*pessoasG)/4,"%;")
       escreval("  h) Quantidade de pessoas que nasceram em dias PRIMO: ",pessoasH,";")
       escreval("  j) Quantidade de alunos por signo: ")
       escreval("     -Áries: ",aries)
       escreval("     -Touro: ",touro)
       escreval("     -Gêmeos: ",gemeos)
       escreval("     -Câncer: ",cancer)
       escreval("     -Leão: ",leao)
       escreval("     -Virgem: ",virgem)
       escreval("     -Libra: ",libra)
       escreval("     -Escorpião: ",escorpiao)
       escreval("     -Sagitário: ",sagitario)
       escreval("     -Capricórnio: ",capricornio)
       escreval("     -Aquário: ",aquario)
       escreval("     -Peixes: ",peixes)
       
    fimalgoritmo

     

    • Obrigado 1
  2. ENUNCIADO: 

    Uma universidade deseja saber algumas informações estatísticas referente a uma sala de aula com 40 alunos. Para isso, fora elaborado um questionário contendo as seguintes perguntas:

    - Nome do aluno

    - Data de nascimento (DD/MM/AAAA)

    - Sexo (F/M/O)

    - Signo

    - Altura

    - Peso

    Desta forma, deseja-se apresentar no final as seguintes informações:

    a) Percentual de alunos do sexo Feminino

    B) média de idade dos alunos

    c) nome e peso da pessoa mais pesada do sexo masculino

    d) quantidade de pessoas do signo de GEMEOS abaixo de 1,75m de altura

    e) nome e altura da pessoa mais baixa

    f) média aritmética de peso de todos os alunos entrevistados

    g) percentual de pessoas que nasceram em ano BISSEXTO

    h) quantidade de pessoas que nasceram em dias PRIMO

    J) quantidade de alunos por signo

     

    --------------------------------------------------------------------------------------------------

    Eu vi depois o erro, mas agora já estou usando o "SE", porém não estou conseguindo, ele trava o visualg toda vez que executo, só preciso validar a entrada da data de nascimento. Para os meses que só tiverem 30 dias, não permitir inserir 31, e para quando o ano não for bissexto, não permitir que insira o dia 29 em fevereiro.

    segue o código que estou tentando:

     

    <code>

    algoritmo "exerc17"
    var
       nome,sexo,signo:caracter
       altura:real
       peso,cont,dia,mes,ano:inteiro
       
    inicio
    
    
         
               escreval("|-------------------- FICHA DE INFORMAÇÕES --------------------|")
               escreval(" Preencha os campos abaixo:")
    // Nome ------------------------------------------------------------------------
               escreva (" 1. Nome do aluno: ")
               leia(nome)
               escreval
    // Data ------------------------------------------------------------------------
    
               escreval (" 2. Data de nascimento (DD/MM/AAAA): ")
                repita
                 escreva("    Dia: ")
                 leia(dia)
                 se (dia<1) ou (dia>31) então
                   escreval("Dia inválido.")
                 fimse
                ate (dia>=1) e (dia<=31)
    
                repita
                 escreva("    Mês: ")
                 leia(mes)
                 se (mes<1) ou (mes>12) então
                   escreval("Mês inválido.")
                 fimse
                ate (mes>=1) e (mes<=12)
    
                repita
                 escreva("    Ano: ")
                 leia(ano)
                 se (ano<1900) ou (ano>2100) então
                   escreval("Ano inválido.")
                 fimse
                ate (ano>=1900) e (ano<=2100)
    //---
                repita
                  se (mes=4) e (dia>30) então
                    escreva("Dia inválido, insira novamente: ")
                    leia(dia)
                  fimse
    
                  se (mes=6) e (dia>30) então
                    escreva("Dia inválido, insira novamente: ")
                    leia(dia)
                  fimse
    
                  se (mes=9) e (dia>30) então
                    escreva("Dia inválido, insira novamente: ")
                    leia(dia)
                  fimse
    
                  se (mes=11) e (dia>30) então
                    escreva("Dia inválido, insira novamente: ")
                    leia(dia)
                  fimse
    
                  se (mes=2) e (dia>29) então
                    escreva("Dia inválido, insira novamente: ")
                    leia(dia)
                  fimse
    
                ate ((mes=4) e (dia<=30)) ou ((mes=6) e (dia<=30)) ou ((mes=9) e (dia<=30)) ou ((mes=11) e (dia<=30)) ou ((mes=2) e (dia<=29))
    
    fimalgoritmo
    

     

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!