Imagine que a agenda de seu celular não apresenta função de busca por contatos e, para piorar, seus dados estão completamente desordenados. Não seria muito mais fácil organizar seus contatos em ordem alfabética, para que nós, humanos, possamos utilizar a agenda de maneira mais adequada?
Imagine, agora, que você tem a lista de várias compras e vendas realizadas diariamente em uma organização. Sua lista encontra-se ordenada de acordo com as datas nas quais cada compra ou venda ocorreu. Seu líder lhe solicita que organize a lista de forma a considerar o nome do comprador/vendedor, em ordem alfabética. Como faríamos para ordenar sua lista? desenvolver um algoritmo que seja capaz de receber (ler) três valores numéricos reais. Ao final, seu algoritmo deverá exibir os números informados pelo usuário em ordem não-decrescente (crescente).
A seguir, podemos observar exemplos de entradas e as respectivas saídas produzidas pelo algoritmo, caso a lógica de programação esteja correta:
Entrada saida
123 123
132 123
213 123
231 123
321 123
312 123
122 122
212 122
221 122
322 223
232 223
223 223
111 111
Ou seja, a cada linha da tabela acima, temos a representação da execução do algoritmo. A cada execução, caso os três valores numéricos sejam inseridos na ordem em que aparecem na primeira coluna da tabela, o algoritmo deverá imprimir a respectiva saída, indicada pela segunda coluna. Por exemplo, se o usuário inserir os números 2, 1 e 3, exatamente nessa ordem, o programa deve produzir como saída a impressão dos números 1, 2 e 3, em ordem crescente.
Soluções para a tarefa
Um algoritmo é definido como uma série de instruções passo-a-passo que descrevem explicitamente várias operações.
Tudo o que o computador faz é executar diversas operações baseadas em certas informações fornecidas a ele. Essas informações são as entradas.
Um exemplo de algoritmo que seja capaz de receber (ler) três valores numéricos reais é:
algoritmo "Maior e Menor Valor"
var
v1, v2, v3: inteiro
inicio
escreval("Digite o primeiro valor: ")
leia(v1)
escreval("Digite o segundo valor: ")
leia(v2)
escreval("Digite o terceiro valor: ")
leia(v3)
se(v1 > v2) e (v1 > v3) e (v2 > v3) entao
escreval("O maior valor é: ",v1," e o menor é: ",v3)
senao
se(v1 > v2) e (v1 > v3) e (v3 > v2) entao
escreval("O maior valor é: ",v1," e o menor é: ",v2)
senao
se(v2 > v1) e (v2 > v3) e (v1 > v3) entao
escreval("O maior valor é: ",v2," e o menor é: ",v3)
senao
se(v2 > v1) e (v2 > v3) e (v3 > v1) entao
Espero ter ajudado.
Resposta:
algoritmo "Ordem_Crescente"
var
n1,n2,n3: real
inicio
escreva("Digite o 1º numero: ")
leia (n1)
escreva("Digite o 2º numero: ")
leia (n2)
escreva("Digite o 3º numero: ")
leia (n3)
se (n1>n2)e (n2>=n3) entao
escreva("A ordem crescente é: ",n3,n2,n1)
senao
se (n2>=n1)e(n2>n3)e(n1>=n3)entao
escreva("A ordem crescente é: ",n3,n1,n2)
senao
se(n2>n1)e(n2>=n3)e(n1<=n3)entao
escreva("A ordem crescente é: ",n1,n3,n2)
senao
se (n2>n1)e(n2<=n3)entao
escreva("A ordem crescente é: ",n1,n2,n3)
senao
se(n2<n1)e(n1<n3)entao
escreva("A ordem crescente é: ",n2,n1,n3)
senao
se(n2<n3)e(n3<=n1)entao
escreva("A ordem crescente é: ",n2,n3,n1)
senao
escreval("A ordem crescente é: ",n1,n2,n3)
fimse
fimse
fimse
fimse
fimse
fimse
fimalgoritmo
Explicação: