Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
1. O que são algoritmos?
2. Algoritmos no nosso dia a dia
3. Importância dos algoritmos na programação.
4. Princípios básicos de programação.
Os algoritmos são uma sequência ordenada de passos que descrevem como resolver um problema
ou executar uma tarefa de forma clara e precisa. Eles são utilizados na programação para resolver
uma ampla variedade de problemas, desde tarefas simples até complexos processamentos de dados.
Eles são uma parte fundamental da programação e são utilizados para criar soluções eficientes e
estruturadas.
Os algoritmos são uma sequência ordenada de passos que descrevem como resolver um
problema ou executar uma tarefa de forma clara e precisa. Eles são utilizados na
programação para resolver uma ampla variedade de problemas, desde tarefas simples até
complexos processamentos de dados.
1. Definição precisa: Um algoritmo deve ser definido de forma clara, sem ambiguidades, para
que qualquer pessoa possa entender e seguir os passos descritos.
2. Entrada: Um algoritmo geralmente requer algum tipo de entrada de dados. Pode ser um
valor numérico, uma sequência de caracteres, um arquivo, entre outros. A entrada é
processada pelo algoritmo para produzir uma saída.
4. Saída: Um algoritmo produz uma saída que é o resultado final do processamento realizado.
Pode ser um valor, um relatório, uma resposta, um arquivo gerado, entre outros.
5. Finitude: Um algoritmo deve ter um número finito de etapas, ou seja, deve ser possível
executar todas as instruções dentro de um tempo razoável. Algoritmos infinitos ou que
nunca terminam não são úteis.
1
Introdução Algoritmos
6. Eficiência: Algoritmos eficientes são aqueles que resolvem o problema de forma rápida e
com uso mínimo de recursos. A eficiência de um algoritmo pode ser medida em termos de
tempo de execução e uso de memória.
1. Receita culinária: Uma receita é um exemplo clássico de algoritmo. Ela fornece uma
sequência de passos precisos para preparar um prato específico. Cada instrução, como
cortar ingredientes, misturar temperos e cozinhar em determinada temperatura, segue uma
ordem específica para obter o resultado desejado.
3. Roteiro de viagem: Ao planejar uma viagem, você cria um roteiro que indica os locais que
deseja visitar e a ordem em que deseja visitá-los. Cada parada e atividade é organizada em
uma sequência lógica para otimizar o tempo e aproveitar ao máximo a experiência de
viagem.
4. Organização de tarefas diárias: Ao criar uma lista de tarefas para o dia, você está
essencialmente criando um algoritmo para gerenciar seu tempo e prioridades. Você define
uma sequência de atividades a serem realizadas, considerando a importância, urgência e
dependências entre as tarefas.
5. Jogos de tabuleiro: Jogos como xadrez, damas são baseados em algoritmos. Cada
movimento feito pelos jogadores segue regras específicas, definidas pelo jogo. Os
jogadores usam estratégias e sequências de movimentos para alcançar seus objetivos.
Esses são apenas alguns exemplos para ilustrar como os algoritmos estão presentes no
nosso cotidiano. Eles nos ajudam a resolver problemas, otimizar processos e organizar
informações, tornando as tarefas mais eficientes e consistentes.
2
Introdução Algoritmos
Os algoritmos estão presentes em muitos aspectos do nosso dia a dia, mesmo que não
percebamos. Aqui estão alguns exemplos de como os algoritmos são utilizados em diversas
situações:
1. Mídias Sociais: Os algoritmos são usados nas plataformas de mídias sociais para determinar
quais conteúdos exibir em seu feed, com base em seus interesses, interações anteriores e
preferências. Eles também são utilizados para sugerir amigos, grupos e páginas com base
em suas conexões e atividades.
2. Recomendação de Produtos: Quando você faz compras online, os algoritmos são usados
para recomendar produtos com base em suas preferências de compra, histórico de
navegação, compras anteriores e padrões de outros consumidores com perfis semelhantes.
Esses são apenas alguns exemplos de como os algoritmos estão presentes em nosso dia a
dia. Eles desempenham um papel fundamental em várias áreas, ajudando a otimizar
processos, fornecer recomendações personalizadas, tomar decisões mais eficientes e
melhorar nossa experiência em diversas atividades.
3
Introdução Algoritmos
5. Tomada de decisão: Algoritmos são utilizados para tomar decisões lógicas e controlar o
fluxo de execução de um programa. Eles permitem que o programa faça escolhas com base
em condições específicas, permitindo que os desenvolvedores implementem lógica de
negócios e regras personalizadas.
4
Introdução Algoritmos
Aqui está um exemplo de algoritmo que aplica descontos com base no valor de venda:
3.1: Se o valor da venda for maior que 10000, calcula o desconto de 10% sobre o valor da
venda, subtrai o desconto do valor da venda e exibe o valor final com o desconto aplicado.
3.2: Se o valor da venda estiver entre 5000 e 9999, calcula o desconto de 5% sobre o valor
da venda, subtrai o desconto do valor da venda e exibe o valor final com o desconto
aplicado.
3.3: Caso contrário, calcula o desconto de 3% sobre o valor da venda, subtrai o desconto do
valor da venda e exibe o valor final com o desconto aplicado.
5
Introdução Algoritmos
Esse exemplo ilustra um algoritmo que aplica diferentes descontos com base no valor da
venda. Dependendo do valor informado, um desconto específico é aplicado e o valor final
da venda é exibido.
Aqui está o exemplo dado anteriormente, adaptado para a linguagem SQL, considerando uma
tabela de vendas:
CASE
WHEN valor BETWEEN 5000 AND 9999 THEN valor - (valor * 0.05)
END AS valor_com_desconto
FROM vendas;
A cláusula CASE é utilizada para avaliar as condições e retornar o valor com desconto
correspondente. No exemplo, a coluna resultante é chamada de "valor_com_desconto". Ela
exibirá o valor original da venda com o desconto aplicado, de acordo com a regra
correspondente.
Ao executar essa consulta SQL na tabela "vendas", você obterá um resultado que inclui o ID
da venda, o valor original da venda e o valor com o desconto aplicado, de acordo com as
condições definidas.
Vale destacar que a mesma regra pode ser escrita de maneira diferente dependendo da linguagem a
ser utilizada ou mesmo do analista que estiver criando o select.
6
Introdução Algoritmos
Exemplo 1.
CASE
END AS valor_com_desconto
FROM vendas;
Exemplo 2
valor *
CASE
ELSE 0.97
END AS valor_com_desconto
FROM vendas;
Exemplo 3
FROM vendas;
Esses são apenas alguns exemplos de como a mesma regra pode ser expressa de maneiras
diferentes em SQL. A escolha da abordagem depende do estilo de codificação preferido
pelo analista ou da estrutura de lógica que melhor se adequa ao sistema ou projeto em
questão.
7
Introdução Algoritmos
4. Algoritmo bem definido: Um algoritmo deve ser bem definido, ou seja, ter uma sequência
lógica de passos que leva à solução do problema. Cada passo deve ser claro, preciso e não
ambíguo.
Esses são alguns dos principais princípios básicos de programação com algoritmos. Seguir
esses princípios ajuda a escrever algoritmos mais eficientes, organizados e fáceis de
entender.
8
Introdução Algoritmos
Aqui estão exemplos com os sete princípios básicos de programação com algoritmo:
Decomposição:
def calcular_media(notas):
soma = 0
soma += nota
return media
media_aluno = calcular_media(notas_aluno)
Neste exemplo, temos uma função chamada calcular_media que recebe uma lista de
notas como parâmetro. Essa função calcula a média das notas fornecidas.
Em seguida, percorremos cada nota na lista usando um loop for e adicionamos seu valor à
variável soma. No final, dividimos a soma pelo número de notas para obter a média.
A função retorna o valor da média, que pode ser atribuído a uma variável e impresso na
tela.
No exemplo, temos dois conjuntos de notas para diferentes alunos. Chamamos a função
calcular_media passando cada conjunto de notas como argumento e atribuímos o
resultado às variáveis media_aluno1 e media_aluno2. Em seguida, imprimimos as médias
dos alunos na tela.
9
Introdução Algoritmos
uma vez que a função calcular_media pode ser usada para calcular a média de diferentes
conjuntos de notas.
Abstração
if forma == "retangulo":
largura = medidas[0]
altura = medidas[1]
raio = medidas[0]
else:
area = None
return area
medidas_retangulo = [4, 5]
medidas_circulo = [2]
Neste exemplo, temos uma função chamada calcular_area que recebe dois parâmetros:
forma e medidas. Essa função calcula a área de diferentes formas geométricas com base nas
medidas fornecidas.
10
Introdução Algoritmos
Essa abstração nos permite escrever um código mais genérico e reutilizável, tornando-o
mais fácil de entender e manter. Podemos adicionar mais formas geométricas ao sistema
sem alterar a estrutura central da função calcular_area, apenas adicionando novas
condições ao mecanismo de seleção condicional.
11
Introdução Algoritmos
Modularização:
# Exemplo de modularização.
def calcular_media(notas):
soma = 0
quantidade = len(notas)
soma += nota
return media
def exibir_situacao_aluno(media):
if media >= 7:
situacao = "Aprovado"
else:
situacao = "Reprovado"
def processar_aluno(notas):
media = calcular_media(notas)
exibir_situacao_aluno(media)
notas_aluno1 = [7, 8, 9, 6]
processar_aluno(notas_aluno1)
notas_aluno2 = [6, 5, 8, 7]
processar_aluno(notas_aluno2)
12
Introdução Algoritmos
A função calcular_media recebe uma lista de notas como parâmetro, realiza o cálculo da
média das notas e retorna o resultado. Essa função é responsável por executar a lógica
relacionada à média, abstraindo-a em um bloco de código reutilizável.
No exemplo, temos dois conjuntos de notas para diferentes alunos. Chamamos a função
processar_aluno passando cada conjunto de notas como argumento. Essa função será
responsável por calcular a média e exibir a situação do aluno para cada conjunto de notas
fornecido.
13
Introdução Algoritmos
1. Início do algoritmo.
3. Calcular a soma dos números lidos e armazenar em uma variável chamada "soma".
4. Calcular o produto dos números lidos e armazenar em uma variável chamada "produto".
6. Se a soma for maior, imprimir a mensagem "A soma é maior que o produto.".
8. Fim do algoritmo.
soma = A + B
produto = A * B
14
Introdução Algoritmos
else:
# Fim do algoritmo.
print("Fim do algoritmo.")
Neste exemplo, o usuário digita dois números inteiros (A e B), e o algoritmo realiza os cálculos da
soma e do produto desses números. Em seguida, é feita a comparação entre a soma e o produto, e é
exibida a mensagem correspondente.
15
Introdução Algoritmos
Estruturas de controle:
else:
Neste exemplo, utilizamos a estrutura de controle if-else para verificar se a idade digitada
pelo usuário é maior ou igual a 18. Caso seja verdadeira essa condição, o programa imprime
a mensagem "Você é maior de idade". Caso contrário, ou seja, se a idade for menor que 18,
o programa imprime a mensagem "Você é menor de idade".
A estrutura if-else permite tomar decisões com base em uma condição, executando um
bloco de código quando a condição é verdadeira e outro bloco de código quando a
condição é falsa.
16
Introdução Algoritmos
largura : É uma variável do tipo float. Ela armazena a largura do retângulo fornecida pelo
usuário.
altura: É uma variável do tipo float. Ela armazena a altura do retângulo fornecida pelo
usuário.
area: É uma variável do tipo float. Ela armazena o resultado do cálculo da área do
retângulo, que é o produto da largura pela altura.
A utilidade das variáveis é armazenar os valores informados pelo usuário e realizar cálculos
com esses valores. No caso específico desse script, as variáveis largura e altura são
utilizadas para obter as dimensões do retângulo, e a variável area é utilizada para
armazenar o resultado do cálculo da área. Em seguida, a área é exibida ao usuário por meio
do comando print.
Comentários:
print("Aumento:", aumento)
Incluir comentários no código para explicar o propósito de certas partes, tornando o código mais
legível e compreensível para outros desenvolvedores.
17