codigo35.com

Algoritmos

Você sabia que algoritmos são tipo receitas de bolo para computadores? Eles são sequências de instruções que ajudam a resolver problemas e realizar tarefas. Eles são tão importantes na programação que, sem eles, seria impossível criar soluções eficientes para problemas complexos. Além disso, acredite ou não, há até mesmo algoritmo para fazer café!

Os algoritmos são tão versáteis que podem ser usados em várias áreas. Por exemplo, desde a criação de jogos até a análise de dados. Além disso, são uma das habilidades mais importantes para quem deseja seguir uma carreira na área de tecnologia.

Bem, hoje é o dia de nos jogarmos nos conceitos básicos da programação, da lógica dos algoritmos e dar os primeiros passos para criar seus próprios programas. Bora lá!

O que é Algoritmo?

Algoritmos são uma sequência de instruções que resolvem um problema ou realizam uma tarefa específica.

Algoritmos são uma uma sequência de instruções executadas em uma ordem específica.

Essas instruções são escritas de forma clara e precisam ser executadas passo a passo, sem ambiguidades ou contradições.

Antes de vermos um algoritmo de computador, vamos dar uma olhada em como isso funcionaria no mundo real. Já vimos que algoritmos nada mais são do que uma sequência de instruções, que devem ser executadas em uma ordem determinada. 👈

Um exemplo prático

Vamos começar com um exemplo simples do mundo real. Como você descreveria os passos para comprar um pão na padaria? 🥖 😋.

Sim, isso mesmo! Algoritmos podem descrever problemas do mundo real. Vamos ver uma possível solução Prontos? Vamos lá!

1. Escolher a padaria mais próxima.
2. Caminhar até a padaria escolhida.
3. Entrar na padaria.
4. Escolher o pão desejado.
5. Checar o preço do pão escolhido.
6. Se o preço estiver dentro do orçamento, pegue o pão.
7. Senão, escolher um pão mais barato.
8. Caso não tenha nenhum pão dentro do orçamento, deixe a padaria e desista da tarefa.
8. Caso tenha algum pão dentro do orçamento, vá para o caixa pagar.
9. Pegue o recibo do pagamento.
10. Agradeça ao atendente e saia da padaria com o pão comprado.

Viu como um algoritmo pode ser algo simples? De fato, existem algumas características comuns no mundo de desenvolvimento relacionado a criação de algoritmos. São algumas delas:

Como algoritmos funcionam?

Afinal, como algoritmos funcionam?

Eles são como receitas de bolo da programação: começam com um conjunto de ingredientes (os dados de entrada) e seguem uma série de passos lógicos para produzir o resultado final.

Os algoritmos são implementados em diferentes linguagens de programação e variam em complexidade, dependendo do problema que estão resolvendo.

Alguns são absurdamente simples que até quem não conhece programação consegue entender, enquanto outros são tão complexos que só um supercomputador é capaz de processar.

Tupã é um supercomputador que foi criado para rodar algoritmos de previsão de tempo.

Existem vários tipos de algoritmos, como aqueles que organizam dados, procuram dados ou analisam informações. Além disso, eles são tão úteis que até a inteligência artificial, aprendizado de máquina, criptografia e processamento de imagem e som não conseguem viver sem eles.

Exemplo de algoritmo

Vamos agora a um exemplo prático de algoritmo de computador. O objetivo do algoritmo a seguir é simples: pedir que o usuário digite um número qualquer e multiplicar o número por 2 para exibirmos o dobro do valor informado pelo usuário.

O que esperamos que o algoritmo faça:

Digite um número: 3
O dobro do número 3 é 6

Agora vamos ao algoritmo:

# Este é um algoritmo que pede ao usuário para digitar um número e calcula o seu dobro

# Pedir ao usuário para digitar um número
numero = input("Digite um número: ")

# Calcular o dobro do número
dobro = int(numero) * 2

# Exibir o resultado para o usuário
print("O dobro do número", numero, "é", dobro)

Escrevemos o algoritmo acima na linguagem de programação Python. Vamos entender o algoritmo por partes:

Comentários

Linguagens de programação permitem que os programadores enriqueçam seus códigos com comentários, permitindo que ele descreva melhor o que o código faz. Na linguagem Python, comentários iniciam com o símbolo #.

O ideal é que o seu código seja tão claro e fácil de entender que comentários sejam desnecessários. A fim de alcançar essa clareza, é importante focar em ter um código simples, com nomes de funções e variáveis que revelem o propósito deles (evitando criar código usando nomes sem significado, como por exemplo a, b, c).

Variáveis

As variáveis são muito importantes na programação, pois permitem que o programador armazene e manipule informações de maneira eficiente durante a execução do programa. No nosso código temos 2 variáveis:

VariávelO que faz?
numeroGuarda na memória do computador o número que o usuário digitou
dobroGuarda na memória do computador o dobro do número que o usuário digitou
Variáveis no exemplo acima

Funções

Funções em programação são blocos de código que realizam uma tarefa específica e, portanto, podem ser chamados em diferentes partes do programa. Além disso, elas podem receber valores como entrada (parâmetros) e, consequentemente, retornar um valor como saída.

As funções são muito úteis para evitar a repetição de código, tornando-o mais organizado e fácil de entender.

As funções podem ser definidas pelo programador ou já estar disponíveis em bibliotecas de funções. Dessa forma, quando uma função é definida, ela pode ser chamada por qualquer parte do programa que precise executar a tarefa que a função realiza.

As funções também permitem que os programas sejam mais fáceis de manter e atualizar, pois uma vez que uma função é corrigida ou aprimorada, todas as partes do programa que a chamam serão atualizadas automaticamente.

No nosso código utilizamos 3 funções que são disponibilizadas pelo Python:

FunçãoO que faz?Qual o parâmetro recebe?Qual valor retorna?
inputPede ao usuário para digitar algum valor.Texto a ser exibido ao usuário.O texto que o usuário digitou.
intTransforma algum valor para número inteiro.Valor a ser transformado.Número transformado.
printImprime algum texto para o usuárioTexto a ser impressoNão retorna nenhum valor explicito.
Funções no exemplo acima

Algoritmos e lógica de programação

Algoritmos e lógica de programação são como dois irmãos que se amam, mas cada um tem seu próprio talento.

A lógica de programação é como o irmão mais velho, que dá as instruções e orientações para o mais novo. Além disso, ela é o cérebro por trás da criação de programas de computador, utilizando técnicas para resolver problemas e tomar decisões na elaboração de algoritmos.

Já o algoritmo é como o irmão mais novo, que coloca em prática o que aprendeu com o irmão mais velho. Ele é a sequência lógica de instruções usadas para chegar a um determinado resultado. É como um receita de bolo, mas para o computador.

Em outras palavras, a lógica de programação é a habilidade de pensar de forma estruturada para transformar um problema em um algoritmo.

Exercício de lógica de programação

Um exemplo simples de lógica de programação é a criação de um programa que calcule a média de três números.

Para resolver esse problema, podemos utilizar a seguinte lógica:

  1. Ler os três números digitados pelo usuário.
  2. Somar os três números.
  3. Dividir o resultado da soma por 3, que é o número de valores somados.
  4. Exibir o resultado da média para o usuário.

Em pseudocódigo, essa lógica ficaria assim:

1. Ler número1
2. Ler número2
3. Ler número3
4. Soma = número1 + número2 + número3
5. Media = Soma / 3
6. Exibir "A média é: ", Media

Em um programa de verdade, as instruções acima seriam convertidas em código de programação válido para a linguagem utilizada. Mas a lógica de programação é a mesma, independente da linguagem escolhida.

Por exemplo, o pseudocódigo acima escrito em Javascript ficaria assim:

// Ler os números digitados pelo usuário
let numero1 = parseInt(prompt("Digite o primeiro número: "));
let numero2 = parseInt(prompt("Digite o segundo número: "));
let numero3 = parseInt(prompt("Digite o terceiro número: "));

// Somar os três números
let soma = numero1 + numero2 + numero3;

// Calcular a média
let media = soma / 3;

// Exibir o resultado para o usuário
console.log("A média é: " + media);

Neste código, estamos utilizando as funções parseInt() e prompt() para ler os números digitados pelo usuário, a variável soma para armazenar a soma dos três números, a variável media para calcular a média e a função console.log() para exibir o resultado para o usuário.

Quais os principais benefícios dos algoritmos?

Algoritmos são a base fundamental para a criação de softwares, sendo essenciais para a resolução de problemas complexos e/ou repetitivos.

Existem vários benefícios em usar algoritmos na programação, tais como:

Como os algoritmos são usados na internet?

Algoritmos são a base da internet como conhecemos hoje.

Os algoritmos utilizados nos principais aplicativos da internet são construídos com base em diversas técnicas e ferramentas de programação.

Em geral, esses algoritmos são desenvolvidos por equipes de programadores, engenheiros de dados e cientistas da computação. Para criar soluções inteligentes e eficientes, é comum que eles utilizem uma série de metodologias e técnicas, tais como análise de dados, aprendizado de máquina, modelagem matemática, entre outras.

Algumas das técnicas utilizadas na construção de algoritmos para aplicativos da internet incluem:

Google: como funciona o algoritmo de busca?

Google: como funciona o algoritmo de busca?

O algoritmo de busca do Google é um dos algoritmos mais complexos e avançados do mundo. Além disso, ele utiliza uma série de técnicas de processamento de linguagem natural, aprendizado de máquina e análise de dados para fornecer resultados de busca relevantes para o usuário.

Com isso, é possível afirmar que o sucesso do Google se deve em grande parte à eficiência desse algoritmo.

Em linhas gerais, o algoritmo de busca do Google funciona da seguinte maneira:

O Google constantemente atualiza e aprimora o algoritmo de busca para fornecer resultados de busca cada vez mais relevantes e úteis para os usuários.

Além disso, o Google também utiliza outros recursos, como featured snippets, mapas, imagens e vídeos para fornecer uma experiência de busca mais rica e diversificada.

Facebook: como funciona o algoritmo de recomendação de amigos?

Como funciona o algoritmo de recomendação de amigos do Facebook?

O algoritmo de recomendação de amigos do Facebook é um dos recursos mais utilizados da plataforma. Além disso, ele funciona através de uma combinação de técnicas de análise de dados e aprendizado de máquina, permitindo que a rede social sugira amizades com maior precisão e eficiência.

Em linhas gerais, o algoritmo de recomendação de amigos do Facebook funciona da seguinte maneira:

Além disso, o algoritmo de recomendação de amigos do Facebook também leva em consideração outras informações, como a localização e a proximidade geográfica dos usuários, para fornecer sugestões de amigos mais relevantes e úteis.

Em resumo, o algoritmo de recomendação de amigos do Facebook utiliza uma combinação de análise de dados e técnicas de aprendizado de máquina para fazer sugestões de amigos aos usuários com base em seus interesses, atividades e conexões na rede social.

Youtube: como funciona o algoritmo de recomendação de vídeos?

Youtube: como funciona o algoritmo de recomendação de vídeos?

O YouTube utiliza diversas estratégias em seu algoritmo para recomendar um vídeo aos usuários. Algumas dessas estratégias incluem:

Instagram: como funciona o algoritmo de recomendação de conteúdo?

Instagram: como funciona o algoritmo de recomendação de conteúdo?


Assim como no algoritmo do Youtube, o algoritmo de recomendação de conteúdo do Instagram leva em consideração diversas métricas. Algumas dessas métricas que o algoritmo leva em consideração são:

Tipos de Algoritmos

Algoritmos podem servir a diversas finalidades e portanto, suas possibilidades são imensas. Porém, com o tempo foi-se identificando que muitos algoritmos serviam para resolver problemas de natureza parecidas.

Com isso, a classificação dos algoritmos criou algumas áreas, possibilitando assim que surgissem famílias de algoritmos com finalidades em comum. Os tipos de algoritmos mais conhecidos são:

Algoritmos de ordenação

Ordenam um conjunto de elementos

São algoritmos que ordenam um conjunto de elementos, como números, em ordem crescente ou decrescente. Exemplos de algoritmos de ordenação são o Bubble Sort, o Quick Sort e o Merge Sort.

Algoritmos de busca

Buscam um elemento em um conjunto de dados

São algoritmos que procuram por um elemento em um conjunto de dados. Exemplos de algoritmos de busca são o Linear Search (ou Busca Linear) e o Binary Search (ou Busca Binária).

Algoritmos recursivos

Chamam a si mesmos quebrando um problema grande em problemas menores até chegarem a uma solução.

São algoritmos que se repetem várias vezes, chamando a si mesmos, para chegar a uma solução. Um exemplo de problema que podemos resolver usando recursividade é o cálculo do fatorial de um número.

Algoritmos de criptografia

Pessoas que possuem a chave podem ler as informações após a conversão para um formato específico.

São algoritmos que transformam informações em um formato que só pode ser lido por pessoas que possuem a chave para decodificar a informação. Exemplos de algoritmos de criptografia são o RSA e o AES.

Algoritmos de inteligência artificial

Usam técnicas de aprendizado de máquina para melhorar seu desempenho.

São algoritmos que usam técnicas de aprendizado de máquina para melhorar seu desempenho ao longo do tempo. Exemplos de algoritmos de inteligência artificial são Redes Neurais e Algoritmos Genéticos.

Criando seu primeiro algoritmo

Sua carreira como desenvolvedor começa com o primeiro algoritmo. Vamos por a mão na massa!

Vamos colocar em prática! Para o primeiro desafio de algoritmo, vamos realizar uma tarefa simples: ler a quantidade de horas trabalhadas por um funcionário e o valor recebido por hora de trabalho. A partir dessas informações, será possível calcular o salário mensal do trabalhador.

Quebrando o problema em partes

Para esse exercício, vamos dividir o desenvolvimento do algoritmo em etapas bem definidas. A nossa intenção nesse primeiro problema é entender todo o processo de elaborar uma solução até o desenvolvimento do programa.

Para isso, seguiremos as seguintes etapas:

Nesse momento vamos seguir essas quatro etapas no processo de desenvolvimento.

1. Definição do problema

O primeiro passo é definir claramente qual é o problema que se deseja resolver. Olhando para descrição o problema, temos:

Ler a quantidade de horas trabalhadas de um funcionário e quantos reais esse funcionário recebe por hora trabalhada, para então calcular e exibir o salário mensal dele.

Entendemos então que o problema que queremos resolve é exibir o salário mensal de um funcionário. Para isso, vamos estruturar alguns passos que serão descritos na próxima etapa.

2. Identificar os passos necessários

Nesse exemplo simples, identificamos as seguintes operações:

3. Escrever um rascunho do possível algoritmo

Esse passo é importante para trazer para a realidade as idéias para a solução. Para esse momento, vamos optar por usar a estrutura de um pseudocódigo onde a gente possa expressar nossa imaginação sem nos preocuparmos com detalhes de implementação que as linguagens de programação possam impor.

Vamos lá:

Início
   //Declaração das variáveis
   Real horasTrabalhadas, valorHora, salarioTotal
   
   //Leitura das entradas
   Escreva("Digite a quantidade de horas trabalhadas: ")
   Leia(horasTrabalhadas)
   
   Escreva("Digite o valor da hora trabalhada: ")
   Leia(valorHora)
   
   //Cálculo do salário total
   salarioTotal = horasTrabalhadas * valorHora
   
   //Exibição do resultado
   Escreva("O salário total é: ", salarioTotal)
Fim

Nesse pseudocódigo encontramos:

Com a sua evolução como programador, essa etapa de criar um pseudocódigo naturalmente desaparecerá e você já desenvolverá a sua solução em uma linguagem real.

4. Desenvolver o algoritmo

Enfim, a codificação em uma linguagem de programação de verdade! Neste exemplo, iremos desenvolver a aplicação usando a linguagem Python. Para desenvolver e testar a sua aplicação, o Python oferece diversas opções de ambiente de desenvolvimento – alguns inteiramente online.

Código:

# Leitura das entradas
horas_trabalhadas = float(input("Digite a quantidade de horas trabalhadas: "))
valor_hora = float(input("Digite o valor da hora trabalhada: "))

# Cálculo do salário total
salario_total = horas_trabalhadas * valor_hora

# Exibição do resultado
print("O salário total é: ", salario_total)

Nesse código, lemos as entradas do usuário usando a função input() e convertemos os valores para o tipo float usando a função float().

Em seguida, calculamos o salário total multiplicando as horas trabalhadas pelo valor da hora e armazenamos o resultado na variável salario_total. Por fim, exibimos o resultado na tela usando a função print().

Outros desafios

Programar é uma arte que precisamos exercitar bastante. Assim, quanto mais você pratica, mais fluente se torna na linguagem de programação. Por isso, deixo abaixo alguns desafios que você pode encarar como parte da aprendizagem.

Não deixe de compartilhar nos comentários suas dúvidas, dificuldades e soluções!

Média das notas

Desenvolva um programa que seja capaz de ler as notas de 2 provas de um aluno e imprima na tela a média.


Calculadora de gorjeta

Desenvolva um programa que leia o valor da conta de um restaurante e calcule o valor da gorjeta (acrescentando 10%).


Conversor de tamanho

Desenvolva um programa que leia um tamanho em metros e imprima o seu valor em centímetros


Conversor de temperatura

Desenvolva um programa que seja capaz de ler uma temperatura em Fahrenheit e converta para Celsius. Lembrando que para converter as 1 grau Fahrenheit para Celsius você deve pegar o valor em Fahrenheit e subtrair 32 para depois dividir por 0.5556 (ou 5/9).


Menor valor

Desenvolva um programa que leia 3 notas e diga qual delas é a menor.



Par ou ímpar?

Desenvolva um programa que leia um número fornecido pelo usuário e informe se o valor é par ou impar. Dica: aqui você terá que identificar se o resto de uma divisão é igual a zero.

Considerações finais

Pratique programação constantemente, começando com o básico.

Os algoritmos são conjuntos de instruções que ajudam a resolver um problema específico. Eles são a base de qualquer programa de computador e são essenciais para a programação.

Se você está iniciando seus estudos em programação, há alguns conselhos importantes que podem ajudá-lo a progredir. É crucial começar com os conceitos básicos, como variáveis, estruturas de controle, loops e funções, para compreender os fundamentos da programação.

Além disso, é essencial praticar constantemente, começando com exercícios simples e, à medida que avança, desafiando-se com projetos mais complexos.

Um aspecto importante da programação é a habilidade de solucionar problemas. Por isso, é preciso aprender a dividir problemas em partes menores e resolvê-las individualmente.

Aprenda com seus erros e continue avançando.

Recomendações de Leitura e Ferramentas

Exit mobile version