Algoritmo

O algoritmo é um conjunto de instruções escritas por um programador com intuito de solucionar um problema ou obter um resultado previsto.

Categoria de Tecnologia

Postado em 21 agosto 2022

Atualizado em 21 agosto 2022

Palavras-chave: algoritmo,programacao,programming,solution,problem,big,ozao,tecnologia

Visualizações: 3734



A ciência da computação tem crescido consideravelmente nos últimos anos, porém qualquer dispositivo eletrônico ainda é totalmente dependente de humanos.

Aparelhos como televisões, microondas e máquinas de lavar roupa são exemplos de objetos com um microcomputador embutido, programado para funcionar corretamente.

Funcionar corretamente significa operar da forma como o consumidor ordenou. Por exemplo, ao apertar o botão de ligar da televisão, ela deve ligar, assim como a máquina de lavar roupa deve começar a lavar quando apertamos o botão de início.

Além dessas operações básicas, essas máquinas também estão programadas para funcionar de muitas outras formas, como em caso de excessões, causadas por ordens inesperadas do consumidor.

Todos esses cenários devem ser analisados com cuidado, pois no pior dos casos, podem até trazer riscos ao próprio consumidor.

Todas essas instruções são escritas por um programador, através de um algoritmo.

O que é um algoritmo?

Algoritmo é um conjunto de instruções com o intuito de solucionar um problema ou obter um resultado já esperado. Para esses resultados poderem ser obtidos, o algoritmo precisa ser um processo finito.

Para um algoritmo ter sucesso, as instruções devem ser executadas na mesma ordem como foram escritas de forma precisa e sem pular etapas.

Uma vez que etapas são negligenciadas, o algoritmo perde a sua eficiência trazendo resultados inesperados.

Algoritmo em outras áreas

A expressão “algoritmo” não se limita apenas a ciência da computação, podendo ser usada em outros contextos.

Por exemplo, quando perguntamos para uma pessoa na rua como chegar em um determinado destino, essa pessoa irá oferecer uma série de instruções para resolvermos o problema de como chegar nesse local.

Dependendo da pessoa, essas instruções podem variar, podendo ter sua eficiência afetada negativamente ou positivamente.

O que é o algoritmo na ciência da computação?

O algoritmo na ciência da computação funciona da mesma forma como explicado acima, porém a grande diferença é que as instruções escritas no algoritmo vão ser operadas pela máquina.

algoritmo flowchart

Para um algoritmo poder ser implementado é necessário o uso de uma linguagem de programação.

Atualmente, existem linguagens com vantagens específicas para desenvolvimento web, aplicativos e jogos.

A importância do algoritmo na ciência de computação

Diferente de um humano, a máquina possui muito mais velocidade de execução, podendo executar milhões de instruções por segundo.

Mesmo possuindo essa velocidade de execução, a máquina pode ter seu desempenho afetado devido a um algoritmo mal-escrito.

O avanço da tecnologia permitiu que uma grande quantidade de dados possam ser executados pelo CPU, porém algoritmos ineficientes podem trazer falhas ao sistema, que pode deixar de responder em um cenário pessimista.

Como medir a eficiência de um algoritmo?

As linguagens de programação trazem diversas funcionalidades que facilitam o desenvolvimento de software.

Processos de repetição (loop), condições (if) e estrutura de dados (array) são exemplos desse tipo de funcionalidade.

Porém, práticas como força bruta na programação não é algo recomendável em cenários que utilizam uma grande quantidade de dados de entrada.

Um modo de medir a eficiência de um algoritmo pode ser efetuado através do método da notação do O grande.

Analisando o algoritmo no pior dos cenários é essencial para avaliar se o software atende os requerimentos mínimos de operação.

Conclusão

O algoritmo na ciência da computação é um conjunto de instruções escritas por um programador com intuito de solucionar um problema ou obter um resultado previsto.

Um algoritmo pode ter seu desempenho afetado, dependendo das técnicas utilizadas pelo desenvolvedor.

Uma boa forma de avaliar o tempo de processamento de um algoritmo é através do método big-O.

Projetos práticos

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Veja também

Afinal, para que servem os cookies que sempre são solicitados quando entramos em uma página?

A política de privacidade é obrigatória para qualquer site que utiliza dados pessoais do usuário. Porém, quais dados são esses especificamente?

Já pensou ser redirecionado para um site de banco falso?

O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!

Indústria 4.0

Também conhecida como quarta revolução industrial, utiliza tecnologias modernas para automatizar processos. Iniciou-se em 2011, na Alemanha.

Notação do big-O

A notação do O grande é um método de fácil implementação, usado para avaliar a eficiência de um algoritmo em relação ao tempo de processamento.

Steering Behaviors (Comportamentos de navegação)

Conjunto de técnicas de algoritmo que simulam comportamentos realísticos. Usado em jogos e em pesquisas biológicas para o estudo de comportamentos.

Algoritmo A* (A-estrela)

Algoritmo que busca o caminho com o menor custo entre dois pontos. É usado em jogos e aplicativos de navegação para calcular a menor distância possível.