Ir ao conteúdo

Posts recomendados

Postado

saudações a todos, estou entrando nessa de programação agora com 38 anos então peguem leve, hehe.

gostaria da opinião de vocês para melhorar o código.

 

 



   algoritmo "semnome"
// Função :
// Autor :
// Data : 02/06/2019
// Seção de Declarações Faça um algoritmo que solicite a digitação da idade e do sexo de uma
//pessoa (o sexo deve ser F ou M) e depois pergunte se o usuário deseja
//informar uma nova pessoa. Esse processo deve se repetir até que o usu-ário informe que não deseja mais informar novas pessoas. Quando isso
//acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do
//sexo masculino informadas; a quantidade de pessoas do sexo feminino
//informadas; a média das idades informadas para pessoas de sexo mas-culino; e a média das idades informadas para pessoas de sexo feminino.
var

    sexo_f, sexo_m, idade1, idade2 : inteiro
    inclui,sexo : literal
    idade_f, idade_m : real

inicio

      inclui <- ("sim")
      idade_f <-0
      idade_m <-0
      sexo_f  <-0
      sexo_m  <-0
      idade1 <- 0
      idade2 <- 0
      
      enquanto inclui = ("sim")  faca
      escreva ("digite seu sexo")

      leia (sexo)

      se (sexo) = ("f") entao
        sexo_f <- (sexo_f + 1)
        escreva ("digite sua idade")
        leia (idade1)
        idade_f <- ( idade_f + idade1 )
        escreval ("incluir outro")
        leia (inclui)

        fimse

        se inclui = ("nao") entao
        escreval ("media idade feminino",idade_f / sexo_f)
        escreval ("media idade masculino",idade_m / sexo_m)
        escreva ("pessoas do sexo feminino ",sexo_f ,"pessoas do sexo masculino ", sexo_m)
        fimse

         se sexo = ("m") entao
          sexo_m <- (sexo_m + 1)
          escreva ("digite sua idade")
          leia (idade2)
          idade_m <- (idade2 + idade_m)
         escreval ("incluir outro")

          leia (inclui)
           se inclui = ("nao") entao
            escreval ("media idade feminino  ",idade_f / sexo_f)
            escreval ("media idade masculino  ",idade_m / sexo_m)
            escreva ("pessoas do sexo feminino ",sexo_m," pessoas do sexo masculino ", sexo_f)

      fimse
      fimse
       fimenquanto


fimalgoritmo

 

  • Membro VIP
Postado

Olá @Rogério Francisco.

 

Alguns pontos:

- A variável da idade é uma só. Não precisa de uma cada sexo;

- O resultado fica fora do laço.

- Inicie as frases com letras maiúsculas.

 

Tem outros detalhes, mas por enquanto seria isso.

 

Qualquer coisa posta o novo código para reanalisarmos.

  • Membro VIP
Postado

Dicas:

Se estiver utilizando VisuAlg:

  1. recomendo utilizar a versão 3.0.6.5. No momento é versão a mais estável. Link para download: https://baixe.net/visualg;
  2. nas versões mais novas acho que não funciona o tipo literal, usam-se o caractere;
  3. para indentar o código, pressione a combinação CTRL+G. Veja, SEMPRE mantenha o código identado. No VisuAlg, esse comando ajuda bastante, mas o ideal é já ir pegando o costume e já implementar deixando indentado... aí de vez em quando pressiona CTRL+G para ver se deixou indentado mesmo.
  4. ao pressionar CTRL+G e o código ficar meio bagunçado, já será um indicativo que tem algo errado no código, por exemplo, quando esquece de colocar um fimSe... experimente pra ver. Remova um comando e coloque para reindentar...

 

Se não estiver utilizando VisuAlg, qual programa está utilizando?

  • Curtir 1
  • Membro VIP
Postado
1 minuto atrás, Rogério Francisco disse:

@Simon Viegas beleza, to so no começo e estou a responder os exercícios de uma apostila que baixei, estou usando o tempo vago que tenho para estudar logica. obrigado Simon.

 

Massa. Mas caso queira tirar alguma dúvida, faz assim: para cada exercício crie um tópico novo. Não misture contextos diferentes num mesmo tópico :)

 

 

Sobre:

13 horas atrás, Rogério Francisco disse:

Obrigado pela atenção, vou fazer as alterações e posto de novo.

 

Estou no aguardo. Poste o código para analisarmos.

 

 

 

5 horas atrás, Simon Viegas disse:

Se não estiver utilizando VisuAlg, qual programa está utilizando?

 

Qual compilador está utilizando?

 

Postado

@Simon Viegas

algoritmo "cadastro de pessoas"
// Função : cadastrar pessoas por idade e sexo, informar quantidade e media de idade
// Autor : Rogério
// Data : 02/06/2019
// Seção de Declarações Faça um algoritmo que solicite a digitação da idade e do sexo de uma
//pessoa (o sexo deve ser F ou M) e depois pergunte se o usuário deseja
//informar uma nova pessoa. Esse processo deve se repetir até que o usu-ário informe que não deseja mais informar novas pessoas. Quando isso
//acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do
//sexo masculino informadas; a quantidade de pessoas do sexo feminino
//informadas; a média das idades informadas para pessoas de sexo mas-culino; e a média das idades informadas para pessoas de sexo feminino.
var

sexo_f, sexo_m, idade1, idade2 : inteiro
inclui,sexo : literal
idade_f, idade_m : real

inicio

inclui <- ("sim")  //responsavel pelo laço (loop)
idade_f <-0 //vai armazenar a soma das idades do sexo feminino
idade_m <-0 //vai armazenar a soma das idades do sexo masculino
sexo_f  <-0 //vai armazenar a quantidade de pessoas do sexo feminino
sexo_m  <-0 //vai armazenar a quantidade de pessoas do sexo masculino
idade1 <- 0 //armazena a idade digitada para o sexo escolhido no caso o "F"
idade2 <- 0 //armazena a idade digitada para o sexo escolhido no caso o "M"

enquanto inclui = ("sim")  faca  //inicio do laço
   escreva ("digite seu sexo")

   leia (sexo)

   se (sexo) = ("f") entao
      sexo_f <- (sexo_f + 1) //soma quantidade de "F"
      escreva ("digite sua idade")
      leia (idade1)
      idade_f <- ( idade_f + idade1 ) //soma a idade de "F"
      escreval ("incluir outro")
      leia (inclui)     //espera o comando "sim" ou "nao"

   fimse
   // se inclui for "nao" divide a soma das idades e divide pela quantidade de pessoas de "F" e de "M"
   // por fim informa a quantidade de cada sexo, e encerra o laço fechando o programa
   se inclui = ("nao") entao
      escreval ("media idade feminino",idade_f / sexo_f:2:1)
      escreval ("media idade masculino",idade_m / sexo_m:2:1)
      escreva ("pessoas do sexo feminino ",sexo_f ,"pessoas do sexo masculino ", sexo_m)
   fimse

   se sexo = ("m") entao
      sexo_m <- (sexo_m + 1)
      escreva ("digite sua idade")
      leia (idade2)
      idade_m <- (idade2 + idade_m)
      escreval ("incluir outro")

      leia (inclui)
      se inclui = ("nao") entao
         escreval ("media idade feminino  ",idade_f / sexo_f)
         escreval ("media idade masculino  ",idade_m / sexo_m)
         escreva ("pessoas do sexo feminino ",sexo_m," pessoas do sexo masculino ", sexo_f)

      fimse
   fimse
fimenquanto


fimalgoritmo   //fim do laço

 

  • Membro VIP
Postado

@Rogério Francisco, você precisa ajustar esses pontos:

 

22 horas atrás, Simon Viegas disse:

- A variável da idade é uma só. Não precisa de uma cada sexo;

- O resultado fica fora do laço.

- Inicie as frases com letras maiúsculas.

 

Qualquer dúvida é só perguntar.

 

No aguardo.

  • Curtir 1
Postado

@Simon Viegas, deu pra enxugar e rodou beleza.

algoritmo "cadastro de pessoas"
// Função : cadastrar pessoas por idade e sexo, informar quantidade e media de idade
// Autor : Rogério
// Data : 02/06/2019
// Seção de Declarações Faça um algoritmo que solicite a digitação da idade e do sexo de uma
//pessoa (o sexo deve ser F ou M) e depois pergunte se o usuário deseja
//informar uma nova pessoa. Esse processo deve se repetir até que o usu-ário informe que não deseja mais informar novas pessoas. Quando isso
//acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do
//sexo masculino informadas; a quantidade de pessoas do sexo feminino
//informadas; a média das idades informadas para pessoas de sexo mas-culino; e a média das idades informadas para pessoas de sexo feminino.
var

sexo_f, sexo_m, idade : inteiro
inclui,sexo : literal
idade_f, idade_m : real

inicio

inclui <- ("sim")  //responsavel pelo laço (loop)
idade_f <-0 //vai armazenar a soma das idades do sexo feminino
idade_m <-0 //vai armazenar a soma das idades do sexo masculino
sexo_f  <-0 //vai armazenar a quantidade de pessoas do sexo feminino
sexo_m  <-0 //vai armazenar a quantidade de pessoas do sexo masculino
idade   <-0 //armazena a idade digitada para o sexo escolhido


enquanto inclui = ("sim")  faca  //inicio do laço
   escreva ("Digite seu sexo  ")

   leia (sexo)

   se (sexo) = ("f") entao
      sexo_f <- (sexo_f + 1) //soma quantidade de "F"
      escreva ("Digite sua idade  ")
      leia (idade)
      idade_f <- ( idade_f + idade ) //soma a idade de "F"
      escreval ("Incluir outro")

   fimse

   se sexo = ("m") entao
      sexo_m <- (sexo_m + 1)     //soma quantidade de "M"
      escreva ("Digite sua idade")
      leia (idade)
      idade_m <- (idade_m + idade) //soma a idade de "M"
      escreval ("Incluir outro")
      leia (inclui)


      se inclui = ("nao") entao
         escreval ("Media idade feminino  ",idade_f / sexo_f)   //media de idade soam das idades dividida pela quantidade de pessoas "F"
         escreval ("Media idade masculino  ",idade_m / sexo_m)  //media de idade soam das idades dividida pela quantidade de pessoas "M"
         escreva ("Pessoas do sexo feminino ",sexo_m," Pessoas do sexo masculino ", sexo_f) // Quantidade de pessoas por sexo

      fimse
   fimse
fimenquanto    //fim do laço


fimalgoritmo
  • Membro VIP
Postado

@Rogério Francisco, bom dia.

 

Mais a baixo postei um código com alterações (como sugestão) para ajustar algumas coisas na lógica. Mas veja: ainda ainda não está completo, apenas "adiantei" algumas possíveis melhorias. Sugiro analise esse código e tende entender as alterações.

 

Qualquer dúvida é só perguntar.

 

Passos que sugiro:

- Baixe e use a versão 3.6.0.5 do VisuAlg. Link para download: https://baixe.net/visualg. É a versão mais estável e provavelmente a mais popular. Obs.: nesse versão, precisa mudar o tipo de literal para caractere;

- Use o código que postei como base. Faça alguns testes e veja o que acha que precisa ajustar ou modificar. Sugiro peça outra pessoa para executar o programa e quais possíveis dificuldades ocorreram e no que você poderia ajustar.

 

Segue o código:

algoritmo "Cadastro de pessoas"
// Função: Cadastrar pessoas por idade e sexo, informar quantidade e media de
//         idade
// Autor : Rogério
// Data  : 02/06/2019
// ENUNCIADO :
// Faça um algoritmo que solicite a digitação da idade e do sexo de uma pessoa
// (o sexo deve ser F ou M) e depois pergunte se o usuário deseja informar uma
// nova pessoa. Esse processo deve se repetir até que o usuário informe que não
// deseja mais informar novas pessoas. Quando isso acontecer, o algoritmo deve
// imprimir na tela a quantidade de pessoas do sexo masculino informadas; a
// quantidade de pessoas do sexo feminino informadas; a média das idades
// informadas para pessoas de sexo mas-culino; e a média das idades informadas
// para pessoas de sexo feminino.

var
   sexo_f, sexo_m, idade : inteiro
   incluir, sexo : literal
   //incluir, sexo : caractere
   idade_f, idade_m : real

inicio
   incluir <- "sim" //responsavel pelo laço (loop)
   idade_f <- 0 //soma das idades do sexo feminino
   idade_m <- 0 //soma das idades do sexo masculino
   sexo_f  <- 0 //quantidade de pessoas do sexo feminino
   sexo_m  <- 0 //quantidade de pessoas do sexo masculino
   idade   <- 0 //idade digitada para o sexo escolhido
   enquanto incluir = "sim" faca
      escreva("Digite sua idade: ")
      leia (idade)
      escreva("Digite seu sexo : ")
      leia(sexo)
      se sexo = "f" entao
         sexo_f <- sexo_f + 1 //atualiza a quantidade das "F"
         idade_f <- ( idade_f + idade ) //atualiza a soma das idade das "F"
      fimse
      se sexo = "m" entao
         sexo_m <- sexo_m + 1) //atualiza a quantidade dos "M"
         idade_m <- idade_m + idade //atualiza a soma das idade dos "M"
      fimse
      escreval("Incluir outro?")
      leia (incluir)
   fimenquanto
   escreval("Media idade feminino     : ", idade_f / sexo_f) //media das idades das pessoas do sexo feminino
   escreval("Media idade masculino    : ", idade_m / sexo_m) //media das idades das pessoas do sexo masculino
   escreval("Pessoas do sexo feminino : ", sexo_m) //Quantidade de pessoas do sexo feminino
   escreval("Pessoas do sexo masculino: ", sexo_f) //Quantidade de pessoas do sexo masculino
fimalgoritmo

 

Faça as alterações que deseja fazer e poste o novo código aqui.

 

 

 

Qualquer dúvida é só perguntar.

 

No aguardo.

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!