Algoritmos
Neste módulo, os estagiários aprenderão sobre algoritmos e resolverão problemas comuns usando diferentes estruturas de dados e técnicas de programação.
Aulas
Aula Curso em Vídeo
Curso de Lógica de Programação
Aula Dev Aprender
Curso Lógica de Programação Completo 2021 [Iniciantes] + Desafios + Muita prática
Desafios
Desafio 1: Média de notas
Objetivo: Desenvolver um programa que receba as notas de alunos e calcule a média das notas.
Requisitos:
- O programa deve solicitar ao usuário o número de alunos.
- Para cada aluno, o programa deve solicitar as notas de três provas.
- Após receber todas as notas, o programa deve calcular a média de cada aluno.
- O programa deve exibir a média de cada aluno na tela, juntamente com uma mensagem informando se o aluno foi aprovado ou reprovado (considerando a média mínima para aprovação como 6.0).
- Ao final, o programa deve mostrar a média geral da turma.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Considere utilizar loops para solicitar as notas dos alunos e calcular as médias.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com operações matemáticas básicas.
Desafio 2: Maior e menor número
Objetivo: Desenvolver um programa que encontre o maior e o menor número em uma lista de números.
Requisitos:
- O programa deve solicitar ao usuário quantos números serão inseridos na lista.
- Para cada número, o programa deve solicitar ao usuário que digite o valor.
- Após receber todos os números, o programa deve identificar o maior e o menor número da lista.
- O programa deve exibir o maior e o menor número na tela, juntamente com suas posições na lista.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Considere utilizar loops para receber os números e encontrar o maior e o menor valor.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com operações em listas e comparação de valores.
Desafio 3: Fatorial
Objetivo: Desenvolver um algoritmo que calcule o fatorial de um número.
Requisitos:
- O programa deve solicitar ao usuário que digite um número inteiro positivo.
- O algoritmo deve calcular o fatorial do número fornecido pelo usuário.
- O programa deve exibir o resultado do fatorial na tela.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Considere utilizar loops ou recursão para calcular o fatorial.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
- Valide a entrada do usuário para garantir que apenas números inteiros positivos sejam aceitos.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com operações matemáticas e recursão.
Desafio 4: Números primos
Objetivo: Escrever um programa que verifique se um número é primo.
Requisitos:
- O programa deve solicitar ao usuário que digite um número inteiro positivo.
- O algoritmo deve verificar se o número fornecido pelo usuário é primo.
- O programa deve exibir na tela se o número é primo ou não.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Considere utilizar loops e estruturas condicionais para verificar a primalidade do número.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
- Valide a entrada do usuário para garantir que apenas números inteiros positivos sejam aceitos.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com operações matemáticas e testes de divisibilidade.
Desafio 5: Criar uma calculadora simples
Objetivo: Desenvolver uma calculadora simples que execute as quatro operações básicas: adição, subtração, multiplicação e divisão.
Requisitos:
- O programa deve solicitar ao usuário que insira dois números.
- Em seguida, deve apresentar um menu com as quatro operações básicas disponíveis (adição, subtração, multiplicação e divisão) e solicitar que o usuário escolha a operação desejada.
- O programa deve executar a operação escolhida e exibir o resultado na tela.
- Após a exibição do resultado, o programa deve perguntar se o usuário deseja realizar outra operação. Se a resposta for positiva, o programa deve retornar ao passo 1; caso contrário, deve encerrar.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Lembre-se de tratar possíveis erros, como a divisão por zero.
- Considere utilizar um loop para repetir o processo de cálculo enquanto o usuário desejar.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções e o tratamento de erros, além de melhorar suas habilidades com estruturas condicionais e loops.
Desafio 6: Palíndromo
Objetivo: Desenvolver um programa que verifique se uma string é um palíndromo.
Requisitos:
- O programa deve solicitar ao usuário que digite uma string.
- O algoritmo deve verificar se a string fornecida pelo usuário é um palíndromo, ou seja, se ela é igual quando lida de trás para frente.
- O programa deve exibir na tela se a string é um palíndromo ou não.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Considere utilizar loops e estruturas condicionais para verificar se a string é um palíndromo.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
- Lembre-se de ignorar a diferença entre letras maiúsculas e minúsculas ao verificar se a string é um palíndromo.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com manipulação de strings e comparações de caracteres.
Desafio 7: Ordenação de números
Objetivo: Escrever um algoritmo que ordene uma lista de números em ordem crescente.
Requisitos:
- O programa deve solicitar ao usuário que digite uma lista de números (separados por vírgula, espaço ou qualquer outro delimitador que preferir).
- O algoritmo deve ordenar a lista de números fornecida pelo usuário em ordem crescente.
- O programa deve exibir na tela a lista de números ordenada.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Existem diversos algoritmos de ordenação que você pode implementar, como Bubble Sort, Selection Sort, Insertion Sort, entre outros. Pesquise sobre esses algoritmos e escolha o que achar mais adequado para resolver o desafio.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com manipulação de listas e implementação de algoritmos de ordenação.
Desafio 8: Validação de CPF
Objetivo: Criar um algoritmo que valide um número de CPF.
Requisitos:
- O programa deve solicitar ao usuário que digite um número de CPF (somente os dígitos).
- O algoritmo deve verificar se o número de CPF fornecido é válido de acordo com as regras de validação.
- O programa deve exibir na tela se o CPF é válido ou inválido.
Regras de validação do CPF:
- O CPF deve ter exatamente 11 dígitos.
- Todos os dígitos do CPF devem ser numéricos.
- O CPF não pode ter todos os dígitos iguais (ex: 111.111.111-11, 222.222.222-22, etc.).
- O CPF deve ter dois dígitos verificadores (os dois últimos dígitos) que são calculados com base nos nove primeiros dígitos utilizando o algoritmo de validação do CPF. a. Calcule o primeiro dígito verificador multiplicando os 9 primeiros dígitos pela sequência decrescente de números de 10 a 2 e somando os resultados. Em seguida, divida a soma por 11. Se o resto da divisão for menor que 2, o primeiro dígito verificador é 0; caso contrário, subtraia o resto de 11 para obter o primeiro dígito verificador. b. Calcule o segundo dígito verificador da mesma forma, mas agora considere os 9 primeiros dígitos do CPF e o primeiro dígito verificador, e multiplique-os pela sequência decrescente de números de 11 a 2. Se o resto da divisão por 11 for menor que 2, o segundo dígito verificador é 0; caso contrário, subtraia o resto de 11 para obter o segundo dígito verificador.
- Verifique se os dígitos verificadores calculados são iguais aos fornecidos pelo usuário.
Dicas:
- Utilize funções para organizar e simplificar seu código.
- Preste atenção na formatação e na legibilidade do código para torná-lo fácil de entender e manter.
Este desafio ajudará o estagiário a praticar a lógica de programação, o uso de funções, loops e estruturas condicionais, além de melhorar suas habilidades com manipulação de strings e implementação de algoritmos de validação.