Ir para conteúdo
carloshcj

Elabore um algoritmo que solicite ao operador a idade de um grupo de pessoas (várias) - Visualg

Recommended Posts

Alguém pode me ajudar com esse trabalho da Faculdade? to sem ideia de onde começar.

 

– Elabore um algoritmo que solicite ao operador a idade de um grupo de pessoas (várias), processe e apresente:

a)    a idade média das pessoas;

b)    a maior idade e quantas pessoas a tiveram;

c)     a menor idade e quantas pessoas a tiveram.

 

Atenção:

1)    quando a idade informada for igual a zero, finalizar as entradas e mostrar os resultados processados.

2)    Validar corretivamente para que a idade não seja inferior a zero e nem superior a 120.

3)    Verificar se houve entrada de dados, caso não, dê uma mensagem.

4)    Lembre-se que a primeira idade informada será a maior e/ou menor em relação as demais idades que serão informadas.

 

Observação1:

1)    Criar as seguintes funções:

a)    Uma função para validar corretivamente a idade para estar no intervalo de 0 a 130.

b)    uma função para processar o cálculo da média, retornando o resultado para o código principal onde será mostrado.

2)    NÃO usar estrutura de vetor e/ou matriz.

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

  • Conteúdo Similar

    • Por irwingato
      Var // Seção de Declarações das variáveis romano:caractere subtexto :caractere i:inteiro letra1:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) para i de 1 ate Compr(romano) faca subtexto <- Copia(romano,i,1) escreval(subTexto) fimpara Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra.
      Alguém  tem alguma ideia?
      Acho que sei como finalmente fazer primeiramente eu pegaria o valor em romano digitado, pegaria o tamanho da letra valor atribuído seria n tamanho da letra e desse tamanho da letra tiraria n-1, depois tentaria dividir a letra, não sei o comando no VisualG para separar as letras e criaria um variável para armazenar o separamento dessas letras nesse caso separador criaria outra variável nesse caso s e receberia zero depois faria um para onde i =0 e i tem que ser menor que o tamanho da letra nessa e iria somando por +1 depois abriria um se verificando se a divisão da letras separador = "M" então s= s+1000 e dentro desse se abriria outro se  e se se separador[i-1]= "C" então s= s-200, terminaria esse se depois abriria outro se verificando se separador = "D" então s=s+500 e dentro abriria outro se e se separador[i-1] = "C" então s=s-200 depois fecharia esse se e abriria outro se separador = "C" então s=s+100 e dentro desse se abriria outro se se separador[i-1] = "X" e então s=s-20 depois terminaria esse se e abriria outro se, se separador = "L" então s=s+50 dentro abriria outro se, se separador[i-1] = "X" então
      s=s-20 depois terminaria esse se e abriria outro se, se separador="X" então s=s+10 abriria outro se, se separador[i-1] = "I" então s=s-2 depois fecharia esse se depois abriria outro se, se separador="V" então s=s+5 e dentro desse se abriria outro se, se separador[i-1] = "I" então s=s-2 fecharia esse se depois abriria outro se se separador = "I" então s=s+1
      depois daria um escreval(s)
      O problema está na hora de separar as letras qual o comando no VisualG para separar letra ou não tem?
      O comando copia é útil somente se separar letra por letra porém falha na hora, por exemplo de copiar um número romano, eu eu tenho que já passar esse comando com parâmetros já pré-deficinidos copie desta casa até esta casa (romano;1;2), que no não teria como colocar todos os parâmetros para todos os números de 1 a 3999
       
    • Por irwingato
      Var // Seção de Declarações das variáveis Fatorial,Numero,x : Inteiro Primo,Resposta : Inteiro vetorr : vetor[0..1000] de inteiro Flag : Logico Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Limpatela Mudacor("Amarelo","Frente") Escreva("Deseja até que número primo: ") leia(Numero) Escreval Escreva(" 1") Para Primo de 2 ate Numero faca Fatorial<- 2 Flag <- Falso enquanto (Primo<>fatorial) faca Resposta <- Primo MOD Fatorial Fatorial <- Fatorial + 1 se Resposta = 0 entao Flag <- Verdadeiro fimse fimenquanto se (Nao Flag) entao escreva(" , ",Primo) vetorr[x] := primo x := x + 1 fimse fimpara escreval escreval escreval("O Número Primo Anterior A ",numero," é ",vetorr[x-1]) O código ficou bom mas contém um erro o número 1 não é primo e preciso otimizá-lo ainda para ficar mais eficiente gostaria de quando você múltiplo de um número já removesse da contagem e passasse para o próximo número, pois quando é múltiplo já não é mais primo pois somente precisa ter 2 divisores exatos que no caso seria o 1 e o número digitado, a e outra falha no algoritmo tem que ser um número primo anterior e caso o número digitado seja primo deve informar o número primo anterior a este digitado
    • Por irwingato
      Var // Seção de Declarações das variáveis respostas,gabarito: vetor[1..3]caractere i,acertos, erros: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... //Escreval("Digite a resposta") //Escreval("Digite o gabarito") para i de 1 ate 3 faca Escreval("Digite a resposta") leia(respostas[i]) se(respostas[i]<>a) e (respostas[i]<>b) e (respostas[i]<>c) e (respostas[i]<>d) Escreval("Por favor digite respostas válidas de a,b,c e d") fimse fimpara para i de 1 ate 3 faca Escreval("Digite o gabarito") leia(gabarito[i]) se(gabarito[i]<>a) e (gabarito[i]<>b) e (gabarito[i]<>c) e (gabarito[i]<>d) Escreval("Por favor digite um gabarito válido de a,b,c e d") fimse fimpara acertos<-0 para i de 1 ate 3 faca se(respostas[i] = gabarito[i]) entao acertos<-acertos+1 fimse erros<-3-acertos fimpara escreval("O número de acertos foi:",acertos) escreval("O número de erros foi:", erros) Fimalgoritmo Criei esse algoritmo porém o mesmo apresenta o erro variável RESPOSTAS[1] não foi encontrada, já tentei achar o erro e nada, o algoritmo que fiz é para pedir as respostas de a até d caso não seja informado isso irá pedir para informar esse valor no gabarito também e também conta os acertos e os erros
    • Por Ravierf
      Galera, sou novo em programação, alguem poderia me ajudar nessa nessa questão em Visual G?
       
      1-A padaria PãoFresco vende uma certa quantidade de pães franceses e uma quantidade de biscoitos a cada dia. Cada pãozinho custa R$ 0,25 e o biscoito custa R$ 1,70. Ao final do dia, o dono quer saber quanto arrecadou com a venda dos pães e broas (separados) e o total dos 2 juntos. O dono também quer saber quanto deste valor deve guardar numa conta de poupança (sendo este 10% do total arrecadado). Com base nestas informações, desenvolva um algoritmo para ler as quantidades de pães e de biscoitos diários  e calcule e imprima as seguintes informações:
      - Total do valor dos pães
      - Total do valor dos biscoitos
      - Total do valor dos pães e biscoitos juntos
      - Valor que será colocado na poupança
      - Valor final para o dono ( sem o valor aplicado na poupança)
    • Por lucas russo
      Boa noite ,pessoal não estou conseguindo resolver um exercício de algoritmo ,poderiam  me ajudar?
      Segue o exercício :
       
      Elabore um algoritmo que peça ao usuário que digite 1 numero maior que 500 retorne a soma dos fatoriais  de cada numero digitado compreendido  num inervá-lo de 2 números digitados .
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.