Algoritmo é uma sequência finita de instruções bem definidas e lógicas que tem por finalidade executar alguma tarefa. Tem como princípio de funcionamento a entrada (INPUT) e a saída (OUTPUT) de algo, sejam dados, peças, ingredientes, tarefas ou qualquer outro item abstrato ou concreto.
Suas
características fundamentais são:
* Possuir um
número finito de passos, delimitados por um Início e um Fim;
* Cada passo deve
ser bem definido, evitando duplas interpretações (ambiguidades);
* Os passos devem
ser o mais simples possível para que a tarefa seja executada.
Na realidade,
quando se pensa em algoritmo, já vem em mente seu uso na Informática, no
entanto, sua aplicação é bem mais simples do que parece e está muito presente
na vida das pessoas, fora da Informática.
A própria rotina
diária de um trabalhador é um algoritmo, veja (obviamente com algumas
adaptações conforme a individualidade):
1 Início
2 Acordar
3 Levantar da cama
4 Escovar os dentes
5 Fazer necessidades fisiológicas
6 Tirar o pijama
7 Tomar banho
8 Vestir uma roupa de trabalho
9 Tomar o café matinal
10 Escovar os dentes
11 Ir de casa para o trabalho
12 Executar as tarefas do trabalho
13 Almoçar
14 Escovar os dentes
15 Voltar ao trabalho
16 Continuar as tarefas do trabalho
17 Voltar do trabalho para casa
18 Tirar a roupa de trabalho
19 Tomar banho
20 Vestir uma roupa
21 Jantar
22 Escovar os dentes
23 Descansar
24 Tirar a roupa
25 Vestir o pijama
26 Deitar na cama
27 Dormir
28 Fim
Perceba que não é
lógico “13 Almoçar” antes de “3 Levantar da cama”. Ou ainda, “9 Tomar o café
matinal” não é o passo seguinte ao “16 Continuar as tarefas do trabalho”.
Esta sequência de
pequenas tarefas, organizadas conforme certas regras e obedecendo o fluxo
temporal, constituem uma rotina diária e uma não pode ser executada antes da
outra.
Ou ainda, no
exemplo de uma receita de Bolo de Laranja, que possui um passo a passo bem
definido, não é lógico e se torna impossível “12 Untar e enfarinhar a forma”
depois de “13 Despejar a mistura do bolo na forma”!
Acompanhe o
algoritmo:
1 Início
2 Providenciar 1 copo medidor, 1 colher
grande, 1 tigela pequena, 1 forma, 1 panela pequena, 1 batedeira, 1 fogão a
gás, 1 forno, 4 ovos, 2 xícaras de açúcar, 2 xícaras de farinha de trigo, 1
xícara de suco de laranja e 1 envelope de fermento em pó para bolo
3 Separar as claras das gemas (claras na
batedeira e gemas na tigela pequena)
4 Colocar o açúcar na batedeira junto com as
claras
5 Bater as claras em neve na batedeira
6 Adicionar as 4 gemas e mexer com a colher
7 Colocar a farinha de trigo e mexer com a
colher
8 Ligar o forno a 180º C
9 Aquecer o suco de laranja em uma panela
pequena no fogão a gás até a fervura
10 Colocar o suco de laranja aquecido na
mistura e mexer com a colher
11 Colocar o fermento em pó e mexer com a
colher
12 Untar e enfarinhar a forma
13 Despejar a mistura do bolo na forma
14 Colocar a forma no forno pré-aquecido
15 Manter o forno ligado por 40 minutos
16 Desligar o forno
17 Desenformar o bolo
18 Lavar a louça
19 Secar a louça
20 Guardar a louça e a batedeira
21 Saborear o bolo
22 Fim
Ficou com vontade
de comer Bolo de Laranja?
Execute cada
linha deste algoritmo e saboreie esta delícia!
Embora, fazer um
bolo seja algo relativamente simples, dividir o processo (algo complexo) em
partes menores (algo trivial) ajuda a entender a construção e o funcionamento
de um algoritmo.
Por sua vez,
linhas incorretas, de duplo sentido ou que não se relacionam entre si, uma
simples vírgula fora do lugar ou um operador matemático usado por engano nas
linhas do código, levam todo o algoritmo ao erro.
Para exemplificar
o exposto, veja a sequência de passos que tem por objetivo calcular a média
aritmética de três notas de provas.
Acompanhe o
algoritmo:
1 Início
2 Informe a Nota a
3 Informe a Nota b
4 Informe a Nota c
5 Média aritmética = (Nota a + Nota b + Nota
c) / 3
6 Média aritmética = resultado do cálculo
7 Fim
O cálculo correto
para estas três notas de exemplo será:
Nota a = 70
Nota b = 65
Nota c = 90
Média aritmética
= (70 + 65 + 90) / 3
Média aritmética
= (225) / 3
Média aritmética
= 75
Note que se na
linha 5 forem omitidos os parênteses, o resultado do algoritmo será incorreto,
pois a Nota a será somada com a Nota b e por fim, esse resultado será somado
com a divisão da Nota c por 3.
Veja a linha 5
sem os parênteses e, como consequência, o resultado incorreto.
5 Calcule a média aritmética = Nota a + Nota
b + Nota c / 3
Média aritmética
= 70 + 65 + 90/3
Média aritmética
= 135 + 90/3
Média aritmética =
135 + 30
Média aritmética
= 165
Neste caso, é
visivelmente incoerente, mas há casos aparentemente imperceptíveis, o que
demanda tempo e conhecimento para analisar o algoritmo do início ao fim para
detectar a inconsistência. Habilidade muito bem remunerada para o analista de
sistemas, que desenvolve, faz a manutenção, identifica problemas, sugere
melhorias e implementa soluções em sistemas de softwares.
Quer saber mais sobre o uso dos algoritmos na Robótica e Automação?
Comece por aqui 😉