Falar sobre algoritmo e estrutura de dados é falar sobre algo que está por toda parte. Seja na pesquisa que você realiza em um mecanismo de busca, ou na rede social que você acessa, eles estão definindo os resultados que você recebe, com o quê você interage, mostrando e coletando diversos dos seus dados.
Os algoritmos também estão presentes nas decisões que você toma desde quando acorda. É claro, você não é um computador, mas toda sequência lógica de ações tomadas pode ser considerada um algoritmo!
Neste artigo você se aprofundará sobre agoritmos e estruturas de dados com os seguintes tópicos:
- O que são algoritmos?
- Conheça a estrutura dos algoritmos!
- Como funciona um algoritmo? Exemplo na prática!
- Qual a importância dos algoritmos na computação?
- O que são estruturas de dados?
- O que é análise de dados?
- Qual a relação entre algoritmo e estrutura de dados?
- Conheça o livro: Algoritmo e estrutura de dados!
Boa leitura!
O que são algoritmos?
Algoritmos são sequências lógicas de ações que podem ser aplicadas em infinitas situações. Desse modo, podemos usar algoritmos tanto para dar comandos a máquinas quanto para indicar o passo a passo de montagem de uma mobília, por exemplo.
Algoritmos estruturados
São algoritmos criados a partir de uma linguagem de programação. Esses algoritmos são usados para indicar o que se deseja que um computador realize. Para isso, são escritos uma sequência de comandos lógicos, utilizando palavras imperativas, como “faça”, “faça enquanto”, além de estruturas de repetição e condicionais.
Algoritmos não estruturados
São algoritmos que definem uma sequência lógica de ações. Nesse caso, não há uma linguagem de programação envolvida, mas apenas uma lista de passos. Esse tipo de algoritmo está presente em toda parte — pense em uma receita de bolo ou manual de instruções, estes são exemplos claros de algoritmos não estruturados, pois te dizem exatamente o que deve ser feito e em qual ordem.
Conheça a estrutura dos algoritmos!
Os algoritmos são construídos a partir de uma lógica e utilizam variáveis e comandos de repetição para execução das ações, a fim de se obter o resultado desejado. Tendo isso em mente, vejamos melhor cada um destes aspectos que o compõem.
Lógica
Lógica é a sequência de passos que determina qual ação deverá ser executada em um algoritmo. Portanto, escrever um código que possua passos fora da ordem correta fará com que o computador execute a ação erroneamente.
Para exemplificar, pense em um comando de soma. Para que um computador execute o cálculo, é preciso passar os valores e a operação a ser realizada. Caso você escreva a operação na linha 1 e somente passe os valores para o cálculo na linha 2, haverá um erro, pois a máquina executará a linha primeiramente, que possui dados incompletos.
Variáveis
As variáveis são espaços de armazenamento na memória, que são utilizadas para guardar dados durante as operações dos algoritmos. Essas variáveis podem ter seu valor modificado ao longo da execução do código. Além delas, há também as constantes, que servem ao mesmo propósito, porém seus valores só podem ser atribuídos uma única vez.
As variáveis e constantes, em uma linguagem de programação, podem receber um nome, o valor que irão armazenar e um tipo, como um texto, que é chamado de string, um número, um objeto, entre outros.
Comandos de repetição
Como o nome sugere, são comandos que repetem um trecho de código até que uma determinada condição seja satisfeita. Entre os comandos mais comuns, temos os laços de repetição While e Do While, que repetem um trecho enquanto determinada condição for verdadeira. Além disso, também há o comando For, que executa o código sob um determinado número de vezes atribuído previamente.
Processamento
O processamento se trata da execução do algoritmo em si. Nessa etapa, o computador ou dispositivo irá ler todas as linhas de código escrita, uma a uma sequencialmente, e executar os comandos solicitados. Caso haja alguma inconsistência, o processamento será parado e uma mensagem de erro será exibida.
Dados de saída
Os dados de saída se tratam do resultado final obtido após o processamento do algoritmo. Aqui, poderemos obter o resultado que desejamos ao construirmos nosso código ou um resultado inconsistente, caso a lógica construída não tenha sido correta.
Como funciona um algoritmo? Exemplo na prática!
Nesse exemplo, iremos criar um algoritmo que exibe uma contagem de 0 a 10 na tela. Para isso, usaremos o laço de repetição For. Para escrever o código e exibir o resultado na tela, vamos usar o terminal de comandos do navegador, que pode ser acessado no item “Ferramentas do desenvolvedor”, nas configurações do navegador e em seguida acessando a aba “Console”.
É válido ressaltar que esse terminal utiliza JavaScript. Portanto, essa será nossa linguagem de programação utilizada.
Para criarmos esse algoritmo é muito simples. Como dito anteriormente, o comando For executa um trecho sob um determinado número de vezes. Por isso, devemos passar ao comando três parâmetros.
O primeiro se trata do valor ao qual o comando deverá iniciar a contagem, o segundo é a condição ao qual ele deverá parar a contagem, e o terceiro é o tipo de contagem, crescente ou decrescente. É válido ressaltar que todos esses parâmetros se tratam de variáveis.
Em nosso caso, iremos iniciar a contagem em 0 e nossa contagem será realizada até que o valor 10 seja atingido. Como partiremos do 0 até 10, a contagem será crescente. Mas isso não basta, deveremos ainda indicar que desejamos que esse valor seja impresso na tela, para isso, usaremos o console.log, um método do Javascript, que mostrará os valores.
Desse modo, o código deverá ser o seguinte:
for (var x = 0; x <= 10; x ++) { console.log(x) }
No código, em seu primeiro parâmetro criamos a variável x, que se inicia com 0. Então, em seguida, informamos que a contagem deverá parar ao atingir o valor 10, para isso usamos o operador <= (se lê menor ou igual).
Após isso, é informado que a cada iteração o valor x será acrescido em uma unidade. O “++” no código é o mesmo que x = x + 1, ou seja, o valor atual de x é somado a mais um a cada repetição, até chegar a 10.No centro do comando, o console.log, que está exibindo o valor que x contém, ou seja, os valores de 0 até 10.
Em sua tela, você obterá a seguinte saída de dados:
Qual a importância dos algoritmos na computação?
Os algoritmos são as sequências lógicas de ações pelas quais os computadores e dispositivos tecnológicos podem compreender o que deve ser feito. Essas sequências de comando movem a tecnologia, pois é a partir delas que, por exemplo, um mecanismo de busca consegue encontrar os resultados corretos para as necessidades da pessoa usuária.
Os algoritmos também são o ponto inicial para se realizar o cálculo de valores de uma compra em um site, ou determinar a melhor rota no trânsito de uma cidade, ou obter publicações que mais te interessam em uma rede social, entre outras diversas finalidades. Eles ainda são fundamentais para mover diversos negócios, trazendo a análise de dados e métricas que serão essenciais para a tomada de decisões.
O que são estruturas de dados?
Os dados podem ser organizados em estruturas para que possam ser usados para os mais diversos fins. Vejamos, a seguir, mas sobre os detalhes desse assunto.
Como funcionam as estruturas de dados?
Estruturas de dados se tratam da forma como os dados são organizados. Vejamos, a seguir, as estruturas mais comuns:
- Listas: nas listas, os dados são dispostos sequencialmente, a fim de se saber quem é o predecessor e o precedente;
- Árvores: nessa estrutura, os dados são dispostos de forma hierárquica, havendo um dado principal no topo, chamado de raiz, e várias ramificações, chamados de filhos, que são subordinados à raiz.
- Grafos: nos grafos, os dados formam uma rede, onde existem um conjunto de nós que são interligados por arestas;
- Tabelas hash: na tabela hash os dados são associados a uma chave. Assim, é possível realizar uma busca rápida e objetiva por esses dados partindo da identificação de sua chave.
Dados
Dados são conjuntos de elementos. Esses conjuntos podem ser categorizados em quantitativos e qualitativos. Os dados quantitativos podem ser mensuráveis, isto é, se tratam de medidas, tamanhos, pesos, valores, entre outros. Por outro lado, os dados qualitativos se tratam de questões subjetivas, como bom, ruim, alto, baixo, etc. Os dados por si só não apresentam significado, para isso precisam ser analisados e interpretados.
Informações
Informações são dados estruturados. Isso quer dizer que os dados, antes soltos, passaram por uma análise e interpretação. Para exemplificar, vamos imaginar que tenhamos em mãos uma lista com as notas dos estudantes de um determinado ano escolar. Apenas olhando os números, isso não significa nada, mas quando percebemos que, por exemplo, 7 alunos tiveram nota 5, isso é uma informação.
Conhecimento
O conhecimento é o que você pode levar das informações originadas a partir dos dados. Para entendermos melhor, vamos voltar ao exemplo citado acima. Digamos que na escola citada a nota mínima para aprovação seja 6. Com isso, temos agora o conhecimento de que 7 alunos não foram aprovados e podemos tomar alguma atitude.
O que é a análise de dados?
A análise de dados é o trabalho dedicado ao estudo de uma grande quantidade de dados, em que se é empregado o uso de tecnologias para essa análise. Esses dados podem ser provenientes de diversas fontes, como documentos, planilhas, Big Data, etc. Essa análise pode ser empregada de quatro formas:
- Descritiva: trata-se de uma análise de dados voltada ao contexto do negócio, como vendas, visitas em sites, entre outros;
- Preditiva: é uma análise que visa prever resultados e comportamentos, como número de vendas, crescimento do mercado, etc;
- Prescritiva: é a análise voltada para a definição de estratégias, como na área de marketing;
- Diagnóstica: como o nome sugere, é uma análise que visa realizar um diagnóstico de determinada área ou situação.
Qual a relação entre algoritmo e estrutura de dados?
Algoritmos são sequências lógicas de ações. Já as estruturas de dados são como os dados são organizados. Tanto algoritmos quanto estruturas de dados estão diretamente relacionadas, uma vez que computadores podem receber sequências de comandos que fazem uso de estruturas de dados. Para exemplificar, pense em uma estrutura de dados em lista, para que a lista seja construída e lida por um programa, são necessárias variáveis e comandos de repetição.
Conheça o livro: Algoritmo e Estrutura de Dados!
O livro Algoritmo e Estrutura de Dados é uma ótima opção para quem deseja ampliar ou iniciar seus estudos sobre algoritmos. Fundamentado academicamente, o livro apresenta a teoria e a prática da construção de algoritmos utilizando o PORTUGOL, uma pseudo linguagem de programação, que facilita o entendimento e a criação dos comandos lógicos sem necessidade de se aprofundar em uma linguagem de programação específica para tal.
Conclusão
Neste artigo você conheceu mais sobre os algoritmos e estruturas de dados. Vimos como um algoritmo é composto por lógica, variáveis e comandos de repetição. Além disso, foi possível ter noção sobre como o mundo tecnológico os utiliza, seja em uma busca no navegador ou na definição de uma rota em um aplicativo de transporte e para tudo isso são usados dados, que por si só não significam muito, precisam ser interpretados e podem ser organizados em estruturas.