URGENTE!
Preciso, usando função,procedimento e vetor no Visualg entrar com nome idade , peso e altura de 5 pessoas, calcular o IMC e depois dizer quem está acima do peso,normal , magro e abaixo do peso bem como mostrar o imc médio e quem está acima desta média.
Fiz até aqui, mas tá dando erro. Alguém poderia ajudar?
algoritmo "imc de 20 pessoas usando subprograma"
var
pesos,imc,alturas:vetor[1..20]de real
nomes:vetor[1..20]de caracter
x:inteiro
procedimento lernomes
Var
i:inteiro
Inicio
Para i de 1 ate 20 faca
Escreva("Digite o nome da pessoa", i , ": ")
Leia(nomes[i])
fimpara
fimprocedimento
procedimento lerpesoealtura
Var
i:inteiro
Inicio
Para i de 1 ate 20 faca
Escreva("Digite o peso da pessoa", i , ": ")
Leia(pesos[i])
Escreva("Digite a altura da pessoa", i , ": ")
Leia(alturas[i])
fimpara
fimprocedimento
funcao calcularimc (im:real):real
para i de 1 ate 20 faca
lerpesos
fimpara
retorne (pesos[i]/(alturas[i]*alturas[i]))
fimfuncao
inicio
lernomes
lerpesoealtura
calcularimc(im)
fimalgoritmo
Soluções para a tarefa
Respondido por
1
Eu não sou muito bom para reparar códigos já feitos - não me interprete mal.
Então eu refiz esse algoritmo fazendo etapa por etapa:
1) Ler os dados
2) Calcular o IMC
3) Armazenar o valor obtido
4) Efetuar a soma do IMC
5) Após ler todos os valores, calcular a média
6) Escrever o que é pedido no problema
7) Mostrar a média
8) Mostrar as pessoas que possuem IMC acima desse valor
Eu não inseri o procedimento, pois quero que você mesma o adicione. Eu te aconselho a colocar todo o código que imprime os resultados finais dentro do procedimento. Depois colocar o procedimento embaixo do código da função e depois colocar a chamada do procedimento a baixo da variável "media". Blz?
Segue abaixo o algoritmo
Então eu refiz esse algoritmo fazendo etapa por etapa:
1) Ler os dados
2) Calcular o IMC
3) Armazenar o valor obtido
4) Efetuar a soma do IMC
5) Após ler todos os valores, calcular a média
6) Escrever o que é pedido no problema
7) Mostrar a média
8) Mostrar as pessoas que possuem IMC acima desse valor
Eu não inseri o procedimento, pois quero que você mesma o adicione. Eu te aconselho a colocar todo o código que imprime os resultados finais dentro do procedimento. Depois colocar o procedimento embaixo do código da função e depois colocar a chamada do procedimento a baixo da variável "media". Blz?
Segue abaixo o algoritmo
Anexos:
// Função :
// Autor :Rodrigo_S
// Data : 10/5/2015
// Seção de Declarações
var
nome: vetor[1..5] de caractere
idade: vetor[1..5] de inteiro
peso: vetor[1..5] de real
altura: vetor[1..5] de real
cont:inteiro
imc:real
inicio
// Seção de Comandos
para cont de 1 ate 5 faca
escreva("Informe o ",cont,"º nome de 5 pessoas: ")
leia(nome[cont])
limpatela
escreva("Informe a idade de ",nome[cont],":")
leia(idade[cont])
limpatela
escreva("Informe o peso de ",nome[co
Perguntas interessantes
// Função :
// Autor :Rodrigo_S
// Data : 10/5/2015
// Seção de Declarações
var
nome: vetor[1..5] de caractere
idade: vetor[1..5] de inteiro
peso: vetor[1..5] de real
altura: vetor[1..5] de real
cont:inteiro
imc:real
inicio
// Seção de Comandos
para cont de 1 ate 5 faca
escreva("Informe o ",cont,"º nome de 5 pessoas: ")
leia(nome[cont])
limpatela
escreva("Informe a idade de ",nome[cont],":")
leia(idade[cont])
limpatela
escreva("Informe o peso de ",nome[co