Quando pesquisamos no Google por algoritmo, aparecem mais de 4 milhões de resultados! Muita coisa, né? Mas você sabe o que eles são e como usá-los? Todos os dias milhares de desenvolvedores conseguem criar uma carreira e resolver problemas dos mais variados níveis, utilizando algoritmos e a lógica de programação.
Pensando nisso, no artigo de hoje, irei explicar o que são algoritmos, como eles funcionam e darei exemplos práticos de sua utilização. Além disso, você verá como é possível aprender mais sobre algoritmos sem sair de casa, apenas pelo seu computador e celular. Preparado para ter uma aula básica de algoritmos e lógica de programação? Então, vamos lá!
O que é um algoritmo?
Antes de partirmos para o conteúdo completo deste artigo, preciso que você assista ao vídeo a seguir. Trata-se de uma das aulas do curso completo de lógica de programação e algoritmos. Essa aula vai servir para introduzir o assunto, te dar um norte e, além disso, vai te ajudar a compreender melhor o mundo dos algoritmos.
Como você pôde ver no vídeo, todo programa é uma série de algoritmos organizados. Isso significa que enquanto você entrava nesse texto, algoritmos se encarregavam de entender o que você queria, buscar no banco de dados e preparar a tela que você está vendo agora.
Uma das vantagens dos algoritmos é que eles possuem uma lógica em comum. Ou seja, se você aprende a lógica por trás dos algoritmos computacionais, você poderá programar em praticamente qualquer linguagem de programação! O que vai mudar de uma linguagem para a outra, geralmente, são as palavras reservadas, sintaxes e a forma como cada uma irá se estruturar.
No dicionário, o termo que encontramos para algoritmo é o de:
“Uma sequência de raciocínios ou operações que oferece a solução de certos problemas.”
Isso significa que os algoritmos são uma série de passos necessários para resolver um determinado problema.
“OK, mas como aplicamos isso na hora de programar e desenvolver sites e softwares!”
Algoritmos e Softwares
Quando entramos na área de desenvolvimento de software, as coisas podem parecer muito difíceis. Contudo, você precisa entender que programar significa aplicar lógica e algoritmos para solucionar problemas reais do nosso dia-a-dia.
Em outras palavras, qualquer solução de problema exige um pouco de nós, certo? Pois é, na área de programação isso não é diferente. Contudo, uma vez que você vence o obstáculo inicial, que seria criar seus primeiros algoritmos e aprender a programar em uma primeira linguagem, as coisas começam a ficar mais fáceis.
Bom, vamos esclarecer as coisas com um exemplo prático, vamos lá!
Criando um contador de palavras
Imagine que você quer criar um aplicativo que receba uma frase do usuário e conte quantas letras e palavras existem ali (essa funcionalidade está presente no Microsoft Word). Diante disso, de que forma o seu algoritmo deveria funcionar? Vamos pensar primeiramente no passo-a-passo dessa aplicação:
1. Tratando as entradas
A primeira parte de um algoritmo é saber com que tipo de dados que o algoritmo está lidando. Dessa forma, você saberá com o que precisa se preocupar no segundo passo, que é o processamento dos dados. Nesse exemplo, você estará lidando com letras e palavras, correto? Sendo assim, nossas entradas serão especificadas como texto.
2. Pensando no processamento
Tendo recebido as letras e palavras do usuário, de que forma elas podem ser contadas?
- Uma forma de construir esse algoritmo seria tendo um contador que inicie em zero e vá aumentando a cada letra que for adicionada. Além disso, quando o usuário fosse inserir “um espaço”, poderia haver um outro contador que aumente separadamente, visando contar as palavras e não as letras. No total, seriam dois contadores.
- Uma outra ideia que pode ser aplicada no processamento deste exemplo seria contar todas as letras e palavras apenas após todas elas terem sido inseridas.
Resumindo, existem duas formas diferentes de resolver o mesmo problema, e ambas funcionam!
3. Tratando a saída
Ao final, teremos como resultado um número que representa as letras deste exemplo e outro que contou as palavras. Independente da forma como os cálculos forem feitos, poderemos ter essas duas saídas em qualquer um dos casos acima. Isso mostra que algoritmos podem funcionar de diferentes formas, dependendo de quem está desenvolvendo a solução.
Não sou bom em matemática, como fazer?
Muita gente acredita que não pode ser programador, pois não domina a matemática. Bom, temos uma resposta para você: isso não é verdade! Sim, é possível aprender algoritmos e lógica de programação mesmo sem ser um craque nas exatas.
Claro que que, se você tem dificuldade com essas áreas do conhecimento, talvez sua curva de aprendizado seja um pouco maior do que outras pessoas. Em outras palavras, você terá mais dificuldades para aprender. Contudo, isso não quer dizer que você não pode ser um ótimo desenvolvedor no futuro. Por isso, procure aprender e acreditar em si próprio. E, obviamente, estude muito!
Uma boa forma de entender melhor o que é lógica de programação e de saber exemplos de como ela se aplica em nosso dia-a-dia, é através deste artigo. Nele você tem exemplos claros e simples de como é a lógica de programação e algoritmos para iniciantes.
Estruturas de um algoritmo
Quando falamos de lógica de programação e algoritmos, existem alguns padrões que são necessários para se ter uma melhor compreensão do assunto. Vamos citar alguns deles aqui:
Tipos de variáveis
Assim como o exemplo que demos acima, as entradas de um algoritmo são muito importantes porque elas agem de diferentes formas. Trabalhar com números é uma coisa, com letras é outra e, com palavras, algo completamente diferente. Por isso é interessante saber que tipo de entradas existem.
Atualmente as mais comuns são:
- Texto
- Inteiro
- Lógico
- Real
Para ficar mais claro, vamos dar uma aplicação para cada um deles. Imagine que você quer desenvolver um formulário onde as pessoas coloquem seu nome, idade, sexo, se está trabalhando no momento e qual salário recebe. Para que sua aplicação funcione, na hora de processar os dados você terá que fazer a seguinte relação:
- Nome: Texto
- Idade: Inteiro
- Trabalha: Lógico
- Salário: Real
Apenas texto pode ser aceito no campo de nome, como letras e palavras. Inteiros são aqueles números sem vírgula, ou seja, a idade do sujeito é um exemplo perfeito. Sobre o trabalho da pessoa, ela pode responder apenas sim ou não, sendo assim, trata-se de uma variável que armazena “verdadeiro” ou “falso” (também conhecida como booleana). E no caso do salário, o valor real é aquele que permite números com vírgula.
Estruturas de Repetição
Lembra que no nosso exemplo da contagem de palavras a gente citou que seria possível contar cada letra no momento que ela entrasse? Então, para fazer isso utilizamos um recurso chamado estruturas de repetição. Elas funcionam em função do que está vindo como entrada.
A estrutura básica delas é mais ou menos assim:
Enquanto essa condição estiver acontecendo
- Fazer determinada coisa
Se a condição parar de acontecer
- Fazer outra coisa
Na hora de executar o código, ele vai ler linha por linha assim como nós lemos, uma após a outra. No nosso exemplo de contar as palavras, esse algoritmo funcionaria assim:
Enquanto o usuário estiver escrevendo novas letras
- Contar a letra e somar com o número de letras já contadas
Se o usuário parar de inserir letras
- Parar de contar e exibir o número de letras recebidas
Dessa forma, o programa contabilizará cada uma das letras que foi colocada, exibindo um valor final apenas quando não houverem mais letras. Com isso, ele irá parar quando a última letra entrar porque dissemos pra ele rodar apenas ENQUANTO houverem letras.
Claro que esse algoritmo é muito simples e não prevê diversas situações que provavelmente iriam acontecer. Contudo, ele serve muito bem para ilustrar a lógica das estruturas de repetição que existem por trás de praticamente todos os algoritmos.
Em outras palavras, isso também mostra como os algoritmos e a lógica de programação é mais simples do que parece. Não concorda?
Geralmente quando o pessoal escuta a palavra algoritmo, esse mesmo pessoal fica assustado e já imaginando algo complexo e difícil.
Resumindo…
O algoritmo nada mais é do que uma receita, uma sequência de passos e instruções para executar ações, visando solucionar um problema. Achou mais simples do que parecia?
Que tal descobrir mais sobre o que é um algoritmo e aprender tudo sobre o assunto? Veja como fazer tudo isso a seguir.
Aprenda a trabalhar com algoritmos
Como mencionei várias vezes neste texto, aprender algoritmos e lógica de programação NÃO É um bicho de sete cabeças. Talvez você possa ter receios de entrar nessa área, mas confie em nós: aprender algoritmos é possível sim! Afinal de contas, é o primeiro passo que você precisa dar para ser um programador ou desenvolvedor de software.
O primeiro passo não pode ser difícil, não é?
Claro, à medida que você vai evoluindo na carreira, as coisas vão ficando cada vez mais complexas, mas isso são outros quinhentos. Quando você chegar nesse estágio da carreira, você terá uma base muito melhor de conhecimentos e habilidades para solucionar o problema em questão, usando as mais diversas tecnologias para programadores.
Dito isso, para te incentivar a dar esse pontapé inicial, que tal um desconto exclusivo em nosso curso completo de lógica de programação e algoritmos! Basta clicar aqui e aproveitar o desconto para leitores do blog. Se você ainda não está disposto a investir nisso, que tal mais alguns posts gratuitos sobre o tema. Se sim, dê uma olhada em nosso kit para programadores iniciantes. Tenho certeza que você irá gostar.
Espero que você tenha gostado do post e tenha se tranquilizado um pouco em relação ao conceito de algoritmos e, claro, ao seu aprendizado. Dito isso, não esqueça de deixar o seu comentário aqui embaixo. Abraços e até a próxima.