Passo a passo pra resolver os primeiros problemas de programação

TL;DR

Too long; Didn’t read

Sempre que preciso resolver um problema, eu procuro ter em mente esses cinco passos.

  1. Procure identificar as palavras-chave do problema
  2. Encontre qual a entrada esperada
  3. Liste as restrições que o problema te fornece
  4. Verifique a saída esperada

A versão longa da história

Antes de mais nada, procure ter sempre por perto um bloco de papel e uma caneta. Muitas vezes vamos querer resolver problemas que ficam mais claros quando tiramos ele do mundo abstrato da nossa mente e trazemos para o plano físico do papel. Isso vai ajudar a entender um pouco melhor o problema e também a estruturar o que precisa ser feito.

Identifique o problema principal

O primeiro passo sempre vai ser entender o problema que temos que resolver. Faça uma leitura atenciosa do problema e marque a parte que achar mais importante.

Procure identificar as palavras-chave do problema

Isso nos ajuda quando temos uma descrição muito grande para o problema. Tente encontrar palavras chaves que conectem as partes do problema e destacar essas palavras de alguma forma.

Encontre qual a entrada esperada

Todo problema (por mais que algumas vezes não pareça) fornece uma entrada esperada. Ela pode estar implícita ou explícita. Os exercícios disponíveis no codewars, por exemplo, são casos em que essa entrada é explícita, ou seja, o problema fornece qual deverá ser sua entrada.

Liste as restrições que o problema te fornece

Essa eu diria ser a parte fundamental para resolver um problema. Identifique no texto coisas que podem atuar como restrição. Por exemplo, dado um problema, a entrada será sempre um vetor de inteiros. Caso o vetor seja vazio, devemos retornar 0 (zero).

  • Caso a entrada seja um vetor vazio, retorne zeo

Verifique a saída esperada

Por fim, precisamos executar um teste e verificar se a saída que tivemos é a saída esperada. Procure usar valores na entrada que você seja capaz de checar manualmente, tirando a prova dos nove de que encontramos o que queríamos. Caso não seja, voltamos ao primeiro passo!

Um exemplo

Vamos resolver o seguinte problema:

  1. Procure identificar as palavras chave do problema;
    inteiro positivo, divisível por 3, divisível por 5, divisível por 3 e por 5.
  2. Encontre qual a entrada esperada;
    Um número inteiro positivo.
  3. Liste as restrições que o problema te fornece;
    Se o número for divisível por 3, retorne “Fizz”
    Se o número for divísivel por 5, return “Buzz”
    Se o número for divísvel por 3 e por 5, retorne “FizzBuzz”
    Se não atender nenhuma das condições acima, retorne “Nem Fizz nem Buzz”
  4. Verifique a saída esperada.
    Aqui podemos verificar algumas entradas que podemos verificar manualmente.

Na Resilia, formamos os melhores profissionais em tecnologia. Para isso, exigimos apenas uma coisa: garra.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store