Algoritmo é uma sequência de passos simples, bem estruturados e não ambíguos,que, quando executados em ordem correta, fornece resolução de algum problema.
Como Assim?
Bom, eu lembro de ter lido que em tempos antes de Cristo, um homem propôs que poderíamos executar diversas tarefas da seguinte maneira:Tendo algumas pessoas, dizemos a cada uma uma tarefa muito simples, e cada uma executa sua tarefa, em ordem. Nenhuma sabe o processo todo. Mas espera-se que no fim, o processo inteiro se complete!
Um exemplo:
Cada número representa uma pessoa. 1: escreve G em uma folha e entrega a 2 2: escreve L em uma folha, coloca no fim das folhas, e as entrega a 3 3: escreve O em uma folha, coloca no topo das folhas, e as entrega a 4 4: escreve A em uma folha, coloca no fim das folhas, e as entrega a 5 5: inverte a ordem das folhasSe você observar bem, leremos "ALGO" no final, folha por folha.
Apesar de cada passo parecer desconexo, no fim obteve-se um resultado!
Essa lógica por trás da sequência de passos que é chamada de lógica de programação. Claro que geralmente o que queremos obter é algo mais complexo, e os tipos de passos que dispomos são mais bem definidos e mais simples.
Interessante!
Agora verifique um exemplo com um laço, ou loop:Há algumas pedras, de diferentes tamanhos 1: se há pedras, escolhe a menor e dá para 2 2: coloca a pedra no fim de uma fila, e pede a 1 outra pedra
Perceba que nesse caso, 1 vai escolher primeiro a menor pedra de todas, e 2 vai colocá-la em primeiro lugar na fila.
Em seguida, 1 escolhe a segunda menor pedra (para 1, é a menor pedra que tinha, mas no total, ela é a segunda menor, afinal a menor já foi), e 2 a coloca atrás da primeira pedra, na fila.
No fim, teremos que as pedras estarão em ordem crescente!
Este foi um exemplo de algoritmo de ordenação.
E no computador?
Utilizamos as linguagens de programação para transcrever o passo-a-passo que o computador deve executar, e é isso que ocorre.Note que quando compilamos um programa, é gerado um outro código, ainda mais simples, porque o computador compreende e é capaz de executar apenas uma pequena quantidade de comandos muito simples.
No entanto, unidos, esses comando muito simples se tornam algo maior e que faz sentido!
Algo importante a notar é que os exemplos dados aqui estão em alto nível, ou seja, há comandos que são relativamente complexos, e que no computador precisaríamos separá-los em instruções ainda menores e mais simples. Mas para nós, humanos, não é difícil compreender esses passos em alto nível, assim fica mais fácil escrevê-los desta forma.
Perceba também que apesar de se falar em algoritmos de computador, um algoritmo não pressupõe um computador! (É só lembrar do homem antes de Cristo, já criando a lógica de programação! XD)
Dois algoritmos podem ter o mesmo resultado?
Sim!Pense no primeiro exemplo dado aqui!
Um meio mais fácil de formar a palavra "ALGO" seria cada pessoa escrever uma letra, na ordem, não?
Pois bem, faça isso e obterá o exato mesmo resultado que o outro algoritmo!
Nenhum comentário:
Postar um comentário