Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer um algoritmo que leia notas e as ordene em forma crescente já fiz alguma coisa mais ainda tem alguns erros de sintaxe, queria pedir ajuda para concluir:
Algoritmo "Obter notas e apresentar em ordem crescente usando funções"
Var
aNotas: VETOR[1..50] DE INTEIRO
I, N, Y, nNumero: INTEIRO
aNotasOrdenadas: VETOR[1..50] DE INTEIRO
FUNCAO Fnotas(Recebe_Y: INTEIRO):INTEIRO
Total: INTEIRO
Inicio
aNotas[I] -> aNotas[I]
Retorne Total
Fimfuncao
Inicio
Escreva("Digite o número de notas que você deseja ordenar: ")
Leia(nNumero)
Para I De 1 Ate nNumero Faca
Escreva("Digite a", I,"° nota: ")
Leia(aNotas[I])
Fimpara
Para I De 1 Ate nNumero Faca
Para N De 1 Ate nNumero-1 Faca
Se aNotas > aNotas+1 Entao
Y <- aNotas[N]
aNotas[N] <- aNotas[N+1]
aNotas[N+1] <- Y
Fimse
Fimpara
Fimpara
Escreval("A ordem crescente dos números é: ")
Para I De 1 Ate N Faca
Escreval(anotas[I])
Fimpara
Fimalgoritmo
Quais erros?
Ele da erro de sintaxe na linha 43 "Retorne FNotas"
Ainda não estou entendendo o "esqueleto" do algortimo.
Você está comparando dois valores basicamente com relação ao resto do vetor, qual é a parte que você tem mais dificuldade?
ATUALIZAÇÃO:
Fiz uma atualização no algoritmo e eu acho que cheguei bem próximo do resultado final. O problema agora é quem tem vezes que eu digito um número de notas que eu desejo ordenar e ele encerra o algoritmo ou tem vezes que ele encerra quando está ordenando os vetores. Depois disso não passou, erro de sintaxe na parte de ordenação não é, já peguei aquela parte separada montei um de ordenar sem função e deu certo. Queria pedir ajuda pra conclui-ló.
Algoritmo "Obter notas e apresentar em ordem crescente"
Var
Resultado: INTEIRO
FUNCAO FNotas(Retorno: INTEIRO):INTEIRO
Var
aNotas: VETOR[1..50] DE INTEIRO
I, N, Y, nNumero, FNotas: INTEIRO
Inicio
Escreva("Digite o número de notas que você deseja ordenar: ")
Leia(nNumero)
Para I De 1 Ate nNumero Faca
Escreva("Digite a", I,"° nota: ")
Leia(aNotas[I])
Fimpara
Para I De 1 Ate nNumero Faca
Para N De 1 Ate nNumero-1 Faca
Se aNotas[N] > aNotas[N+1] Entao
Y <- aNotas[N]
aNotas[N] <- aNotas[N+1]
aNotas[N+1] <- Y
Fimse
Fimpara
Fimpara
Escreval("A ordem crescente dos números é: ")
Para I De 1 Ate N Faca
Escreval(aNotas[I])
Fimpara
Fimfuncao
Inicio
Resultado <- FNotas()
Fimalgoritmo
Podem marcar como tópico resolvido.
Eu dei uma revisada nele, mesmo assim ainda tem erros, mas, ficou assim:
Algoritmo "Obter natas e apresentar em ordem crescente usando funções"
Var
nNumero, I, N: INTEIRO
aNotas: VETOR[1..50] DE INTEIRO
FUNCAO FNotas(Recebe_aNotasI: INTEIRO):INTEIRO
Var
I, N, Y, nNumero: INTEIRO
aNotas: VETOR[1..50] DE INTEIRO
Total: INTEIRO
Inicio
Para I De 1 Ate nNumero Faca
Para N De 1 Ate nNumero-1 Faca
Se aNotas > aNotas+1 Entao
Y <- aNotas[N]
aNotas[N] <- aNotas[N+1]
aNotas[N+1] <- Y
Fimse
Fimpara
Fimpara
FNotas <- aNotas[I]
Retorne Total
Fimfuncao
Inicio
Escreva("Digite o número de notas que você deseja calcular: ")
Leia(nNumero)
Para I De 1 Ate nNumero Faca
Escreva("Digite a", I,"° nota: ")
Leia(aNotas[I])
Fimpara
Escreval("A ordem crescente dos números é: ")
Para I De 1 Ate N Faca
Escreval(FNotas)
Fimpara
Fimalgoritmo