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çãoopen in new window

Aula Dev Aprender

Curso Lógica de Programação Completo 2021 [Iniciantes] + Desafios + Muita práticaopen in new window

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:

  1. O programa deve solicitar ao usuário o número de alunos.
  2. Para cada aluno, o programa deve solicitar as notas de três provas.
  3. Após receber todas as notas, o programa deve calcular a média de cada aluno.
  4. 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).
  5. 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:

  1. O programa deve solicitar ao usuário quantos números serão inseridos na lista.
  2. Para cada número, o programa deve solicitar ao usuário que digite o valor.
  3. Após receber todos os números, o programa deve identificar o maior e o menor número da lista.
  4. 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:

  1. O programa deve solicitar ao usuário que digite um número inteiro positivo.
  2. O algoritmo deve calcular o fatorial do número fornecido pelo usuário.
  3. 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:

  1. O programa deve solicitar ao usuário que digite um número inteiro positivo.
  2. O algoritmo deve verificar se o número fornecido pelo usuário é primo.
  3. 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:

  1. O programa deve solicitar ao usuário que insira dois números.
  2. 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.
  3. O programa deve executar a operação escolhida e exibir o resultado na tela.
  4. 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:

  1. O programa deve solicitar ao usuário que digite uma string.
  2. 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.
  3. 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:

  1. 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).
  2. O algoritmo deve ordenar a lista de números fornecida pelo usuário em ordem crescente.
  3. 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:

  1. O programa deve solicitar ao usuário que digite um número de CPF (somente os dígitos).
  2. O algoritmo deve verificar se o número de CPF fornecido é válido de acordo com as regras de validação.
  3. O programa deve exibir na tela se o CPF é válido ou inválido.

Regras de validação do CPF:

  1. O CPF deve ter exatamente 11 dígitos.
  2. Todos os dígitos do CPF devem ser numéricos.
  3. O CPF não pode ter todos os dígitos iguais (ex: 111.111.111-11, 222.222.222-22, etc.).
  4. 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.
  5. 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.

Last Updated:
Contributors: Maicon Cerutti