Lógica, perguntado por celsotavareslima97, 10 meses atrás

Alguem me ajuda nesta atividade de logica de programação?
1.Faça um programa para ler três números positivos e escrevê-los em ordem crescente.

Soluções para a tarefa

Respondido por guivalves334
0

Resposta:

10 - 20 - 30

Explicação:

Invertendo dois a dois

O grande segredo desse tipo de algoritmo, é comparar e trocar valor das variáveis, duas a duas.

Por exemplo, vamos pegar a sequência:

Por exemplo, vamos pegar a sequência: 30 - 20 - 10

Primeira posição: 30

Segunda posição: 20

Terceira posição: 10

Primeiro vamos comparar a segunda posição com a terceira.

A terceira posição é maior que a segunda? Se for, inverte.

Agora fica: 30 - 10 - 20

Pronto, colocamos em ordem crescente as duas últimas posições.

Agora vamos comparar a primeira posição com a segunda.

A segunda posição tem um valor menor (10) que a primeira (30)?

Sim! Tem! Então inverte essas duas.

Agora fica: 10 - 30 - 20

Note que ao fazer isso, da direita pra esquerda, pegando duas a duas a posição, jogamos sempre o menor número pro começo da ordem.

Por fim, vamos comparar novamente a segunda com a terceira posição.

A terceira é menor que a segunda? Se for, troca! E é.

Agora fica: 10 - 20 - 30

Algoritmo:

1. Compara as duas últimas posições

2. Compara as duas primeiras posições

3. Compara novamente as duas últimas posições

primeiro = int(input('Primeiro numero: '))

segundo = int(input('Segundo numero : '))

terceiro = int(input('Terceiro numero: '))

print(primeiro,'-',segundo,'-',terceiro)

if(terceiro > segundo):

aux = terceiro

terceiro = segundo

segundo = aux

if(segundo > primeiro):

aux = segundo

segundo = primeiro

primeiro = aux

if(terceiro > segundo):

aux = terceiro

terceiro = segundo

segundo = aux

print(primeiro,'-',segundo,'-',terceiro)

Espero ter ajudado :-)


celsotavareslima97: noque eu digo seria
guivalves334: tentei fazer mais não deu
celsotavareslima97: n1,n2,n3: inteiro inicio: escreva("digite o numero")
celsotavareslima97: assim vc sabe?
guivalves334: não
celsotavareslima97: assim
guivalves334: não
guivalves334: tentei. mas deu errado
celsotavareslima97: de boa
guivalves334: foi mal mn.
Perguntas interessantes