Algorithm in Portugol

Asked

Viewed 211 times

0

I’m doing a college paper and the premise is:

Develop an algorithm that:

a) read 60 ages;

b) group the ages into three vectors according to the age group below.

Remembering that there are possible scenarios in which the user can report only 60 minor age ranges, for example.

Faixa    Intervalo
Menores    0-18 anos
Adultos    19-60 anos
Idosos    Maiores de 60 anos

c) print all ages by band, for example:

Menores: 2, 4, 5, 13, 18.
Adultos: 20, 20, 45, 55, 60. 
Idosos: 67, 68, 72, 78, 79, 80.

d) print the number of people per band, for example:

Menores: 5.
Adultos: 5. 
Idosos: 6.

e) print the age average by band, for example:

Menores: 8,4.
Adultos: 40. 
Idosos: 74.

f) print the general mean, for example:

Média geral: 42,875.

My code went like this:

var
    idade: vetor[1..60] de inteiro
    menor: vetor[1..60] de inteiro
    adulto: vetor[1..60] de inteiro
    idoso: vetor[1..60] de inteiro
    i: inteiro
    ci, cm, ca, cid: inteiro
    si, sm, sa, sid: inteiro
    mi, mm, ma, mid: real
inicio
    // Seção de Comando
    Escreval (" As idades são : ")

   para i de 1 ate 60 faca
        leia(idade[i])
        ci := ci + 1
        si := si + idade[i]
        mi <- si / ci

        se (idade[i] >= 0) e (idade[i] <= 18) entao
            menor[i] <- idade[i]
            cm := cm + 1    // contador
            sm := sm + idade[i]     // soma das idades
            mm <- sm / cm       // média das idades
        fimse

        se (idade[i] >= 19) e (idade[i] <=60) entao
            adulto[i] <- idade[i]
            ca := ca + 1
            sa := sa + idade[i]
            ma <- sa / ca
        fimse

        se idade[i] > 61 entao
            idoso[i] <- idade[i]
            cid := cid + 1
            sid := sid + idade[i]
            mid <- sid / cid
        fimse
   fimpara

   limpatela

    // Impressão das idades por faixas etárias <-ESSA PARTE AQUI TIVE AJUDA
    escreval("Idades por faixa etária")
    escreva ("Menores: ")
    para i de 1 ate ci faca
        escreva (menor[i], ",")
    fimPara
    escreval("")
    escreva ("Adultos: ")
    para i de 1 ate ci faca
        escreva (adulto[i], ",")
    fimPara
    escreval("")
    escreva ("Idosos : ")
    para i de 1 ate ci faca
        escreva (idoso[i], ",")
    fimPara
    escreval("")
    escreval("")
    escreval("-------------------------------------------------------------------")

    // Impressão de quantidades de pessoas por faixa etária e geral
    escreval("Quantidade de pessoas da faixa etária dos Menores: ", cm)
    escreval("Quantidade de pessoas da faixa etária dos Adultos: ", ca)
    escreval("Quantidade de pessoas da faixa etária dos Idosos : ", cid)

    escreval("-------------------------------------------------------------------")

    // Média das idades por faixas etárias e geral
    escreval("Média da faixa etária dos Menores: ", mm)
    escreval("Média da faixa etária dos Adultos: ", ma)
    escreval("Média da faixa etária dos Idosos : ", mid)

    escreval("-------------------------------------------------------------------")

    // Média geral de todas as idades
    escreva("Média geral de todas idades: ", mi)
fimalgoritmo

Help me with the mistakes and the commas, I also need the commas out, someone knows how to solve?

  • 1

    Please format the code correctly

  • Your average calculations should be done only after the end of the loop. Your print loops by age group should not go up to ci but up to cm, ca and Cid (the amounts of people per range).

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.