Não consigo

Algoritmo “maiormenorsernegativo”
var
maior, n, menor:inteiro
inicio
repita
escreval(“escreva um número, de preferencia números diferentes”)
leia(n)
se (n>maior) então
maior<- n
se (menor>n) então
menor <- n
fimse
fimse
ate (n < 0)
escreval ("O maior número digitado foi " ,maior, " menor número " ,menor)

fimalgoritmo
O FINAL SEMPRE DA 0

se o menor começa em 0 e N não pode ser menor que 0 então logico que menor sempre serar zero amigo

Para consertar esse bug você pode definir que
se (menor == 0) então
menor <- n