30 de julho de 2021

Do bit Ao Byte

Embarcados, Linux e programação

Desafio maker 04: soma

programador back-end | Incrementar um valor | IoT | Pausar processamento | desafio maker | ordenar um array | caixa dagua | blink sem condicionais

Parece que os desafios têm empolgado a galera. Também pudera, o instinto maker para resolver problemas vem à tona. Dessa vez vamos a um desafio mais fácil: Uma soma.

Desafio maker 04 – Apresentando o desafio

Uma vez fui obrigado a fazer isso para o projeto de um cliente. Vou explicar a razão na resposta do desafio – que agora está adaptado para se tornar algo divertido.

Basicamente, devemos receber 1 número por vez na serial. Pra facilitar, o número só pode ir de 0 à 5. Se o número for 0, zera a soma; se for menor que 5, soma e imprime na serial, somente até 5. Se o resultado for maior que 5, só exibe a mensagem: “Resultado maior que o limite”.

Fácil demais, hum? Eu sabia que você acharia. Ah, ando esquecido! Não pode criar uma variável para guardar o número vindo da serial.

Recapitulando:

  • receber 1 número na serial;
  • somente de 0 à 5;
  • 0 zera a soma;
  • < 5 soma e imprime na serial;
  • > 5 só exibe a mensagem: “Resultado maior que o limite”;
  • Não pode criar uma variável para guardar os valores vindos da serial.

Sobre os desafios

Como citei no primeiro desafio, estava deitado já para dormir quando me ocorreu a ideia dessa brincadeira, então antes de pegar no sono eu pensei em um número razoável de desafios para garantir que poderia dar uma continuidade mínima para um série, ainda que curta. Bem, para criá-los, obviamente me baseei em minhas experiências. Só que houve um evento de um comentário no facebook dizendo que eu plagiei um dos desafios de um site X (pior que o site X tinha mais exemplos do que dispus, pena não ter visto antes) – justamente em relação às funções lambda. Como não vai dar pra mostrar a enormidade de livros que tenho em meu kindle, vou mostrar apenas os impressos:

soma - desafio maker 04

Repare que tem aí um livro de cerveja também, porque eu produzo e gosto de fazer tudo com eximia; controle de sais, controle de PH, rampas de conversão do amido em açucares fermentescíveis, maturação com temperatura controlada, carbonatação natural etc. Do mesmo jeito que faço a cerveja é como lido com as demais coisas que faço, estudando toda minha vida, todos os dias. Quem acha que já sabe tudo é porque já chegou no seu limite; todos os dias temos coisas novas a aprender.

Tem também pessoas resistentes à pesquisas, o que não é meu caso. Por exemplo, me referencio muito ao (já recomendado) site cplusplus para referências rápidas e para conceitos não tem nada melhor do que os livros especialistas. Como já citei em algum outro artigo, aprender não é decorar. Aprender os conceitos lhe permite recorrer à pesquisa, já decorar nem precisa saber o que se está fazendo, mas no segundo caso dificilmente se encontra resposta para algo. Por isso escrevo artigos com dois intuitos; servir como referência de conceito para os leitores e servir como base para meus próprios trabalhos, de modo que agilizo o desenvolvimento dos meus projetos recorrendo às minhas experiências. Assim sendo, tenha certeza de que o que descrevo nos artigos é testado e funcional, além de ter sido estudado, não copiado ou decorado.

Até a resposta do desafio maker 04!