Skip to content

Latest commit

 

History

History
166 lines (91 loc) · 6.39 KB

02.md

File metadata and controls

166 lines (91 loc) · 6.39 KB

Repetição e formas de representação

Estes problemas focam na capacidade de identificar o tipo de repetição adequado para a resolução de determinados problemas, além de trabalhar a habilidade de entender algoritmos sob diferentes formas de representação.

Lembre-se das três etapas que devem ser seguidas para resolução de cada problema:

  1. Abstrair e modelar o problema
  2. Propor uma solução algorítmica
  3. Implementar e avaliar a solução proposta

Para desenvolver corretamente estas habilidades, utilizaremos o conceito de computação desplugada.

Isto significa que você deverá propor a solução sem o auxílio do computador, apenas com caneta e papel.

Só com a solução já proposta é que você deve implementá-la com blocos ou uma linguagem e testar sua solução 😏

Índice

  1. Fluxogramas
  2. Propriedades dos números
  3. Márveu versus Cápicon
  4. Lance os dados
  5. Três consecutivos

Fluxogramas

Algoritmos podem ser descritos de diferentes formas, sendo as mais comuns pseudocódigos, implementações em linguagens de programação e fluxogramas.

Volte aos exercícios do roteiro 01 e transforme suas soluções em fluxogramas.

Algumas dicas:

  • Consulte este tutorial para entender os símbolos usados em um fluxograma.

Por simplicidade, considere apenas os símbolos de início/fim, processo e decisão 😉

  • O LucidChart permite criar uma conta gratuita e desenhar fluxogramas online. Se preferir, você também pode usar outro editor de sua preferência.

  • Comece pelos exemplos que não envolvem repetição. Quando tiver pego o jeito, você aumenta o desafio 😁

  • Não é possível testar diretamente a execução do fluxogramas nos editores. Combine com um colega para que um avalie o fluxograma do outro.

Isso se chama programação em pares 💃🏻🕺🏻


Propriedades dos números

Willames é um professor de matemática exigente que cobra que seus alunos memorizem números e suas propriedades, como múltiplos, divisores e se são primos.

Crie um código para ajudar os alunos de Willames a passar na sua disciplina. Seu código terá duas funções:

Múltiplos de 6

Dado um número inteiro n, identifique todos os múltiplos de 6 menores que n.

Identifique também o próximo múltiplo de 6 (o menor múltiplo de 6 que é maior que n).

Primo ou composto

Um número inteiro n maior ou igual a 2 é dito primo se ele é divisível apenas por ele mesmo e por 1.

Dado um número inteiro n, informe se ele é primo ou composto.


Márveu versus Cápicon

Dois amigos super competitivos começaram uma disputa que parece que não vai ter mais fim.

Ótimos de memória e com números, eles disputam quem vai conseguir superar o outro em desafios rápidos.

A cada rodada, Márveu escolheu um desafio para Cápicon, e vice-versa.

Para resolver cada desafio, eles te pediram ajuda para escrever códigos.

Os desafios que foram propostos estão listados abaixo. Em todos eles, seu código deverá considerar que o usuário informa 10 números.

Mínimo e máximo

  • Márveu precisa identificar o elemento mínimo informado.
  • Cápicon precisa identificar o elemento máximo informado.

Argumentos mínimo e máximo

  • Márveu precisa identificar em qual momento o elemento mínimo foi informado (se o foi o terceiro número informado, por exemplo).
  • Cápicon precisa identificar em qual momento o elemento máximo foi informado (se o foi o terceiro número informado, por exemplo).

Somatório e produtório

  • Márveu precisa calcular a soma de todos os números informados.
  • Cápicon precisa calcular o produto de todos os números informados.

Média e mediana

  • Márveu precisa calcular a média de todos os números informados.
  • Cápicon precisa calcular a mediana de todos os números informados.

Todos e algum

  • Márveu precisa verificar se todos os números informados são primos.
  • Cápicon precisa verificar se algum número informado é primo.

Lance os dados

Fábio é um cara com bastante sorte nos dados, que descobriu recentemente que sua filha Isabel herdou essa mesma sorte.

Crie um jogo que permita que Fábio e Isabel testem quem se dá melhor nos dados.

Este jogo de tabuleiro começa com a escolha de quantas casas o tabuleiro terá.

Em seguida, os jogadores se alternam lançando um dado de 6 faces, que diz quantas casas cada um pode andar naquela rodada.

Vence quem chegar primeiro (ou ultrapassar) a última casa do tabuleiro.


Três consecutivos

Majô é uma professora que cobra bastante dos seus alunos.

Em um dia de muita bagunça em sala, Majô passou um desafio que os alunos precisariam resolver para não serem suspensos.

Dada uma soma S, os alunos deveriam verificar se existem três números naturais pares ou ímpares consecutivos cuja soma é igual a S.

Ajude os alunos de Majô a escaparem da suspensão:

  • caso haja três números inteiros consecutivos pares cuja soma seja igual a S, informe "SP"
  • caso haja três números inteiros consecutivos ímpares cuja soma seja igual a S, informe "SI"
  • caso contrário, informe "N"

Insights

Se você ainda não resolveu os problemas acima, volte para esta seção mais tarde 👻

Os insights abaixo servem para enriquecer seu aprendizado com os problemas apresentados neste roteiro.

Alguns insights são dicas que te desafiam a resolver o problema novamente sob outra perspectiva ✅

Propriedades dos números [1]

Na identificação dos múltiplos de 6, não é necessário usar testes. Escolha bem o tipo de repetição e pesquise também sobre divisão inteira.

Propriedades dos números [2]

Concluir que um número não é primo é bem mais rápido que concluir que ele é primo 😉

Márveu versus Cápicon [1]

O processamento de um lote de dados resultando em apenas uma saída é conhecido como agregação.

Márveu versus Cápicon [2]

Os cálculos do somatório, produtório, média, mediana, todos e algum envolvem uma técnica conhecida como acumulação.

Lance os dados

Esta questão ensina a usar um laço controlado por dois iteradores. Pesquise o tipo de repetição mais adequado para isso.

Três consecutivos

Para resolver esta questão, pesquise sobre iteração em bloco 🙃