Problema no algoritmo para exibir média [RESOLVIDO]

1. Problema no algoritmo para exibir média [RESOLVIDO]

Paulo Almeida
tufe

(usa Ubuntu)

Enviado em 16/04/2017 - 23:39h

Boa noite, estou aprendendo algoritmos com Visualg e preciso fazer um exercício que leia 10 números e exiba a média entre o maior e o menor, o problema é que o valor do menor não sai de zero.

Inicio
para i <-1 ate 10 faca
escreval("Digite um numero")
leia(num)
se (num>maior) entao
maior<- num
fimse
se (num<menor) entao
menor<- num
fimse
fimpara
med<- (maior + menor)\2
escreva("A média entre o maior e o menor é ",med)


  


2. Re: Problema no algoritmo para exibir média

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/04/2017 - 02:05h

tufe escreveu:

Boa noite, estou aprendendo algoritmos com Visualg e preciso fazer um exercício que leia 10 números e exiba a média entre o maior e o menor, o problema é que o valor do menor não sai de zero.

Inicio
para i <-1 ate 10 faca
escreval("Digite um numero")
leia(num)
se (num>maior) entao
maior<- num
fimse
se (num<menor) entao
menor<- num
fimse
fimpara
med<- (maior + menor)\2
escreva("A média entre o maior e o menor é ",med)


Boa noite, segue um exemplo em shellscript:
#Gera Dez numeros e coloca em um arquivo
for I in {1..10};do printf "%03d\n" $[1+$RANDOM%100];sleep 0.125;done > NUMEROS.txt
# Coloca os Nºs em ordem e pega o menor (1ª linha)
NMENOR=$(sort NUMEROS.txt| head -n1)
#Pega o maior, ultima linha
NMAIOR=$(sort NUMEROS.txt|tail -n1)
Soma os dois e divide por dois . . .
awk '{printf "%s\n" ,($1+$2)/2}' <<< "$NMAIOR $NMENOR"

Att.:
marcelo oliver


3. Re: Problema no algoritmo para exibir média [RESOLVIDO]

Rox
Rochelly

(usa Debian)

Enviado em 17/04/2017 - 10:29h

O problema é a barra que vc está usando para dividir.


4. Re: Problema no algoritmo para exibir média [RESOLVIDO]

Paulo Almeida
tufe

(usa Ubuntu)

Enviado em 20/04/2017 - 06:19h

msoliver escreveu:

tufe escreveu:

Boa noite, estou aprendendo algoritmos com Visualg e preciso fazer um exercício que leia 10 números e exiba a média entre o maior e o menor, o problema é que o valor do menor não sai de zero.

Inicio
para i <-1 ate 10 faca
escreval("Digite um numero")
leia(num)
se (num>maior) entao
maior<- num
fimse
se (num<menor) entao
menor<- num
fimse
fimpara
med<- (maior + menor)\2
escreva("A média entre o maior e o menor é ",med)


Boa noite, segue um exemplo em shellscript:
#Gera Dez numeros e coloca em um arquivo
for I in {1..10};do printf "%03d\n" $[1+$RANDOM%100];sleep 0.125;done > NUMEROS.txt
# Coloca os Nºs em ordem e pega o menor (1ª linha)
NMENOR=$(sort NUMEROS.txt| head -n1)
#Pega o maior, ultima linha
NMAIOR=$(sort NUMEROS.txt|tail -n1)
Soma os dois e divide por dois . . .
awk '{printf "%s\n" ,($1+$2)/2}' <<< "$NMAIOR $NMENOR"

Att.:
marcelo oliver


Bom dia, eu não manjo nada de shell script, mais valeu por tentar ajudar.




5. Re: Problema no algoritmo para exibir média [RESOLVIDO]

Paulo Almeida
tufe

(usa Ubuntu)

Enviado em 20/04/2017 - 06:20h

Rochelly escreveu:

O problema é a barra que vc está usando para dividir.

Bom dia, tentei usar outra barra e mesmo assim a variável menor não acumula nenhum valor.




6. Re: Problema no algoritmo para exibir média [RESOLVIDO]

Paulo Almeida
tufe

(usa Ubuntu)

Enviado em 20/04/2017 - 11:34h

Bom dia, consegui resolver o problema atribuindo os números maiores e menores na variável antes de começar com a sequencia de repetição assim:

maior <- num
menor <- num

muito obrigado a todos que ajudaram, abraços.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts