Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardinho nunes

[Resolvido] Soma dos 3 menores números

Recommended Posts

Galera sou iniciante em logica.

um dos primeiros algoritomos que faço, me ajudem.

 

Algoritmo

Dados 4 numeros, fazer um algoritmo para somar os 3 menores.

 

eu tentei fazer da seguinte forma:

OBS: fiz no Visualg, o erro que esta dando é de sintaxe.

 

algoritmo "quatronumeros"

 

var

num1, num2, num3, num4, menor: real

 

inicio

escreva ("Digite o priemeiro numero: ")

leia (num1)

escreva ("Digite o segundo numero..: ")

leia (num2)

escreva ("Digite o terceiro numero.: ")

leia (num3)

escreva ("Digite o quarto numero...: ")

leia (num4)

 

se num1 > (num2 e num3 e num4) entao

menor <- (num2 + num3 + num4)

escreva ("A soma dos três menores numeros é: " , menor)

senao

se num2 > (num1 e num3 e num4) entao

menor <- (num1 + num3 + num4)

escreva ("A soma dos três menores numeros é: " , menor)

senao

se num3 > (num1 e num2 e num4) entao

menor <- (num1 + num2 + num4)

escreva ("A soma dos três menores numeros é: " , menor)

senao

se num4 > (num1 e num2 e num3) entao

menor <- (num1 + num2 + num3)

escreva ("A soma dos três menores numeros é: " , menor)

fimse

 

 

fimalgoritmo

http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

algoritmo "soma3menores"

// Função : Soma 3 menores numeros

// Autor : Rafael Tonini Franco

// Data : 03/03/2010

// Seção de Declarações

var

 

maior, soma: real

n : vetor [1..4] de real

i : inteiro

 

inicio

 

maior := 0

soma := 0

escreva ("Digite o priemeiro numero: ")

leia (n[1])

escreva ("Digite o segundo numero..: ")

leia (n[2])

escreva ("Digite o terceiro numero.: ")

leia (n[3])

escreva ("Digite o quarto numero...: ")

leia (n[4])

 

para i de 1 ate 4 faca

Se n > maior entao

maior := n

fimse

fimpara

para i de 1 ate 4 faca

se n <> maior entao

soma := soma + n

fimse

fimpara

 

escreval ("O maior numero é: ", maior)

escreval ("A soma dos 3 menores numeros é: ", soma)

 

 

// Seção de Comandos

fimalgoritmo

Para os numeros usei um vetor pois fica mais facil na hora de descobrir o maior numero e fazer a soma.

 

No resto se tiver alguma duvida da um toque ae =)

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

rafaeltonin,

obrigado pela dica, mas teria como você fazer na estrutura do (se) ? por favor!

desde já agradeço!

 

Usando se é a mesma coisa, porem no lugar do para você ira colocar os 4 se, e no lugar do vetor use os numero num1, num2, num3 e num4.

Ex:

 

se num1 > maior entao

maior := num1

fimse

se num2 > maior entao

maior := num2

fimse

.

.

.

 

//msma coisa na hora de calcular, use o if para excluir o maior

 

se num1 <> maior entao

soma := soma + num1

fimse

se num2 <> maior entao

soma := soma + num2

fimse

.

.

.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew, Rafael

Fiz aqui e deu certo,

o codigo ficou :

 

algoritmo "quatronumeros"

 

var

num1, num2, num3, num4, maior, soma: real

 

inicio

 

maior <- 0

soma <- 0

 

escreva ("Digite o priemeiro numero: ")

leia (num1)

escreva ("Digite o segundo numero..: ")

leia (num2)

escreva ("Digite o terceiro numero.: ")

leia (num3)

escreva ("Digite o quarto numero...: ")

leia (num4)

 

se num1 > maior entao

maior <- num1

fimse

se num2 > maior entao

maior <- num2

fimse

se num3 > maior entao

maior <- num3

fimse

se num4 > maior entao

maior <- num4

fimse

 

se num1 <> maior entao

soma <- soma + num1

fimse

se num2 <> maior entao

soma <- soma + num2

fimse

se num3 <> maior entao

soma <- soma + num3

fimse

se num4 <> maior entao

soma <- soma + num4

fimse

 

escreval ("O maior numero é: ", maior)

escreval ("A soma dos 3 menores numeros é: ", soma)

 

fimalgoritmo

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

numeros_dados = 4

 

var nm1 = 15

var nm2 = 17

var nm3 = 10

var nm4 = 12

var nm5 = 3

 

se (nm5 > nm1 OU nm5 > nm2 OR nm5 > nm3 ...) ENTAO

setar (nm5, true)

SE NÃO

setar (nm5, false)

 

 

se (nm4 > nm1 OU nm5 > nm2 OR nm5 > nm3 ...) ENTAO

setar (nm4, true)

SE NÃO

setar (nm4, false)

 

 

se (nm3 > nm1 OU nm5 > nm2 OR nm5 > nm4 ...) ENTAO

setar (nm3, true)

SE NÃO

setar (nm3, false)

 

 

AQUI O RESTANTE DO CÓDIGO

 

funcao calcular:

se (setar(nm1,true))

 

 

(...)

 

Desculpe, mas é uma base já para o sistema de lógica.

(tenho 14 anos, e não curso faculdade^^)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.