{"id":492,"date":"2018-04-11T16:08:02","date_gmt":"2018-04-11T19:08:02","guid":{"rendered":"https:\/\/programathor.com.br\/blog\/?p=492"},"modified":"2021-07-20T12:49:33","modified_gmt":"2021-07-20T15:49:33","slug":"preciso-ser-bom-em-matematica-para-programar","status":"publish","type":"post","link":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/","title":{"rendered":"Preciso ser bom em matem\u00e1tica para programar?"},"content":{"rendered":"<p>&#8220;Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?&#8221;. Essa \u00e9 uma das perguntas mais frequentes entre aqueles que est\u00e3o pensando em entrar no mundo da programa\u00e7\u00e3o ou ainda est\u00e3o no come\u00e7o dos seus estudos. E por incr\u00edvel que pare\u00e7a, essa simples d\u00favida, se for mal desvendada, pode acabar afastando muitos do desenvolvimento.<\/p>\n<p>\u00c9 muito comum quando se \u00e9 <a title=\"\" href=\"https:\/\/programathor.com.br\/jobs\" target=\"_blank\" rel=\"noopener\">programador<\/a>, ser considerado por aqueles que n\u00e3o conhecem a \u00e1rea como um mestre das mat\u00e9rias exatas, e esse tipo de preconceito acaba gerando um grande mito e assustando aqueles que s\u00e3o apaixonados por tecnologia mas n\u00e3o tem muita afinidade com a matem\u00e1tica.<\/p>\n<p>Nesse artigo eu vou explicar brevemente a origem deste pensamento e a verdade por tr\u00e1s da matem\u00e1tica aplicada \u00e0 programa\u00e7\u00e3o.<\/p>\n<p><!--more--><\/p>\n<h2>Voc\u00ea n\u00e3o precisa ser bom em matem\u00e1tica para programar<\/h2>\n<p>Um ponto de partida interessante \u00e9 a quantidade de pessoas que come\u00e7aram a programar com menos de 12 anos, sabendo apenas as quatro opera\u00e7\u00f5es b\u00e1sicas(adi\u00e7\u00e3o, subtra\u00e7\u00e3o, multiplica\u00e7\u00e3o e divis\u00e3o). Al\u00e9m disso, os anos se passaram para esses programadores e o m\u00e1ximo que muito deles usam hoje, s\u00e3o pot\u00eancias e ra\u00edzes.<\/p>\n<p>Se voc\u00ea dedicar um pequeno tempo da sua vida para produzir uma linha de c\u00f3digo, j\u00e1 ir\u00e1 descobrir que quase nada tem a ver com a matem\u00e1tica.<\/p>\n<h2>Como esse mito surgiu?<\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-501\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/binary-Language-300x225.jpg\" alt=\"Preciso ser bom em matem\u00e1tica para programar\" width=\"500\" height=\"375\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/binary-Language-300x225.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/binary-Language-768x576.jpg 768w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/binary-Language-676x507.jpg 676w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/binary-Language.jpg 800w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>Era muito comum em filmes antigos (ou n\u00e3o t\u00e3o antigos) sobre hackers e programadores,&nbsp;mostrarem computadores com muitos 0s e 1s em uma fonte esverdeada, fluindo verticalmente ao longo da tela. Esse \u00e9 o c\u00f3digo bin\u00e1rio (e normalmente n\u00e3o se move pela tela, \u00e9 apenas texto est\u00e1tico).<\/p>\n<p>De fato, os computadores entendem c\u00f3digo bin\u00e1rio, mas n\u00e3o \u00e9 disso que se tratam as linguagens de programa\u00e7\u00e3o. Para voc\u00ea que possui um m\u00ednimo conhecimento de programa\u00e7\u00e3o, isso pode parecer muito \u00f3bvio. Por\u00e9m, s\u00e3o incont\u00e1veis as pessoas que ainda acham que programar \u00e9 compreender c\u00f3digos bin\u00e1rios.<\/p>\n<p>Al\u00e9m deste fator mais social, acredito que&nbsp;o outro fator \u00e9 a rela\u00e7\u00e3o estabelecida entre as palavras &#8220;matem\u00e1tica&#8221; e &#8220;l\u00f3gica&#8221;. Para programar, voc\u00ea precisar\u00e1 de matem\u00e1tica e racioc\u00ednio l\u00f3gico, mas assim como o&nbsp; v\u00f4lei e o basquete exigem que uma bola seja jogada, e isso n\u00e3o significa que voc\u00ea precisa saber jogar basquete para se aventurar no v\u00f4lei.<\/p>\n<h2>Provando o meu ponto<\/h2>\n<p>Imagine que voc\u00ea queira criar uma fun\u00e7\u00e3o para imprimir a tabela de multiplica\u00e7\u00e3o de um n\u00famero. Ent\u00e3o, para a entrada 2, nossa fun\u00e7\u00e3o retornar\u00e1:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-499 size-full\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/Why-you-don\u2019t-need-to-excel-at-math-to-learn-how-to-program-Google-Chrome.jpg\" alt=\"Preciso ser bom em matem\u00e1tica para programar\" width=\"474\" height=\"385\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/Why-you-don\u2019t-need-to-excel-at-math-to-learn-how-to-program-Google-Chrome.jpg 474w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/Why-you-don\u2019t-need-to-excel-at-math-to-learn-how-to-program-Google-Chrome-300x244.jpg 300w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/p>\n<p>Voc\u00ea ver\u00e1 como pouca matem\u00e1tica \u00e9 necess\u00e1ria para fazer isso (apesar de estarmos calculando algo &#8220;matem\u00e1tico&#8221;). Para o prop\u00f3sito deste exemplo, usaremos <a title=\"\" href=\"https:\/\/programathor.com.br\/jobs-javascript\" target=\"_blank\" rel=\"noopener\">JavaScript<\/a>.<\/p>\n<div class=\"gtx-body\">Primeiro, declaramos a fun\u00e7\u00e3o. Vamos cham\u00e1-lo de tableOf (n), onde &#8220;n&#8221; \u00e9 o n\u00famero do qual queremos imprimir a tabela.<\/div>\n<div>\n<blockquote>\n<pre id=\"e238\" class=\"graf graf--pre graf-after--p\">function tableOf(n) {<\/pre>\n<pre id=\"2874\" class=\"graf graf--pre graf-after--pre\">\/\/rest of the code&nbsp;\n\n}<\/pre>\n<\/blockquote>\n<\/div>\n<p>Agora vamos implementar algo chamado &#8220;for loop&#8221;. Isso \u00e9 semelhante a uma fun\u00e7\u00e3o, exceto pelo fato de que, quando chega ao fim, volta ao in\u00edcio at\u00e9 que alguma condi\u00e7\u00e3o seja verdadeira.<\/p>\n<p>Queremos imprimir &#8220;n&#8221; vezes algum outro valor (vamos cham\u00e1-lo i) at\u00e9 que esse valor chegue a 10. Temos tamb\u00e9m que levar em conta que eu deveria come\u00e7ar de 0, j\u00e1 que queremos que n x 0 = 0 seja a primeira linha impressa. O c\u00f3digo pode ser o seguinte:<\/p>\n<blockquote>\n<pre id=\"cedb\" class=\"graf graf--pre graf-after--p\">for(i = 0; i &lt; 11; i++) {<\/pre>\n<pre id=\"9918\" class=\"graf graf--pre graf-after--pre\">console.log(n, 'x', i, '=', n*i);<\/pre>\n<pre id=\"9531\" class=\"graf graf--pre graf-after--pre\">}<\/pre>\n<\/blockquote>\n<p>O que acabamos de fazer?<\/p>\n<p><strong>i = 0<\/strong> : significa que eu come\u00e7o de 0 (como quer\u00edamos).<\/p>\n<p><strong>i&lt;11:<\/strong>&nbsp; significa que o loop continuar\u00e1 se eu for menor que 11.<\/p>\n<p><strong> i ++:<\/strong>&nbsp;significa que aumentamos o valor de i por 1 toda vez que o loop come\u00e7a novamente (ent\u00e3o ele eventualmente alcan\u00e7a 11 e sai do loop).<\/p>\n<p>Ent\u00e3o n\u00f3s apenas mostramos &#8220;n&#8221; (o n\u00famero que entramos), &#8216;x&#8217; (n\u00famero de vezes), i (o n\u00famero pelo qual n \u00e9 multiplicado), &#8216;=&#8217; (para o s\u00edmbolo de igual) e finalmente n * i ( a opera\u00e7\u00e3o real, n vezes i).<\/p>\n<p>O c\u00f3digo anterior, combinado:<\/p>\n<blockquote>\n<pre id=\"e1b6\" class=\"graf graf--pre graf-after--p\">function tableOf(n) {<\/pre>\n<pre id=\"8f20\" class=\"graf graf--pre graf-after--pre\">for(i = 0; i &lt; 11; i++) {<\/pre>\n<pre id=\"17c1\" class=\"graf graf--pre graf-after--pre\">console.log(n, 'x', i, '=', n*i);<\/pre>\n<pre id=\"1633\" class=\"graf graf--pre graf-after--pre\">}<\/pre>\n<pre id=\"4eb0\" class=\"graf graf--pre graf-after--pre\">}<\/pre>\n<pre id=\"e3cf\" class=\"graf graf--pre graf-after--pre\">tableOf(2);<\/pre>\n<\/blockquote>\n<p>Achou essa matem\u00e1tica dif\u00edcil? A \u00fanica matem\u00e1tica que fizemos foi aumentar i por um (somar) e verificar se era menor que 11. Para este exemplo concreto, tamb\u00e9m multiplicamos n vezes i.<\/p>\n<h2>O outro lado da moeda<\/h2>\n<p>Como eu disse antes, a programa\u00e7\u00e3o requer racioc\u00ednio l\u00f3gico, assim como a matem\u00e1tica. Ao escrever seus programas, voc\u00ea encontrar\u00e1 muitos problemas que precisam ser resolvidos.&nbsp;A maior parte do tempo com l\u00f3gica (mas, sejamos honestos, \u00e0s vezes, tentativa e erro funcionam bem).<\/p>\n<p>Desenvolver as habilidades para resolver esses problemas definitivamente vai ajud\u00e1-lo com a matem\u00e1tica &#8211; n\u00e3o apenas com os conceitos, mas com a solu\u00e7\u00e3o de problemas.<\/p>\n<p>Espero que este artigo sirva para encorajar as pessoas que querem dar uma chance \u00e0 programa\u00e7\u00e3o. Acredite, grande parte dos programadores que voc\u00ea conhece, podem saber menos de matem\u00e1tica do que voc\u00ea.<\/p>\n<p>Se voc\u00ea \u00e9 um programador e est\u00e1 buscando novas oportunidades profissionais, acesse a&nbsp;<a title=\"\" href=\"https:\/\/programathor.com.br\/\" target=\"_blank\" rel=\"noopener\">ProgramaThor<\/a>, uma stratup focada no recrutamento de desenvolvedores. Para se candidatar \u00e0s vagas e receber notifica\u00e7\u00f5es em casos de matching, basta de cadastrar e completar seu perfil corretamente.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/programathor.com.br\/jobs?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=preciso_saber_matem\u00e1tica_programar\" class=\"large otw-greenish radius otw-button\" target=\"_blank\">VAGAS PARA PROGRAMADORES<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?&#8221;. Essa \u00e9 uma das perguntas mais frequentes entre aqueles que est\u00e3o pensando em entrar no mundo da programa\u00e7\u00e3o ou ainda est\u00e3o no come\u00e7o dos seus estudos. E por incr\u00edvel que pare\u00e7a, essa simples d\u00favida, se for mal desvendada, pode acabar afastando muitos do desenvolvimento. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":503,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Preciso ser bom em matem\u00e1tica para programar? - ProgramaThor<\/title>\n<meta name=\"description\" content=\"&quot;Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?&quot;. Vem aqui conferir e tirar todas suas d\u00favidas!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Preciso ser bom em matem\u00e1tica para programar? - ProgramaThor\" \/>\n<meta property=\"og:description\" content=\"&quot;Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?&quot;. Vem aqui conferir e tirar todas suas d\u00favidas!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog ProgramaThor\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ProgramaThorBr\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/pedro.lucinio.94\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-11T19:08:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-20T15:49:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/apple-blackboard-board-714698-1024x683.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pedro Lucinio\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pedrolucinio27\" \/>\n<meta name=\"twitter:site\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pedro Lucinio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Preciso ser bom em matem\u00e1tica para programar? - ProgramaThor","description":"\"Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?\". Vem aqui conferir e tirar todas suas d\u00favidas!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/","og_locale":"pt_PT","og_type":"article","og_title":"Preciso ser bom em matem\u00e1tica para programar? - ProgramaThor","og_description":"\"Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?\". Vem aqui conferir e tirar todas suas d\u00favidas!","og_url":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/","og_site_name":"Blog ProgramaThor","article_publisher":"https:\/\/www.facebook.com\/ProgramaThorBr\/","article_author":"https:\/\/www.facebook.com\/pedro.lucinio.94","article_published_time":"2018-04-11T19:08:02+00:00","article_modified_time":"2021-07-20T15:49:33+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/04\/apple-blackboard-board-714698-1024x683.jpg","type":"image\/jpeg"}],"author":"Pedro Lucinio","twitter_card":"summary_large_image","twitter_creator":"@pedrolucinio27","twitter_site":"@ProgramaThor","twitter_misc":{"Escrito por":"Pedro Lucinio","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/","url":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/","name":"Preciso ser bom em matem\u00e1tica para programar? - ProgramaThor","isPartOf":{"@id":"https:\/\/programathor.com.br\/blog\/#website"},"datePublished":"2018-04-11T19:08:02+00:00","dateModified":"2021-07-20T15:49:33+00:00","author":{"@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/0d0da03131226876dd51a85cdbe26458"},"description":"\"Ser\u00e1 que eu realmente preciso ser bom em matem\u00e1tica para programar?\". Vem aqui conferir e tirar todas suas d\u00favidas!","breadcrumb":{"@id":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/programathor.com.br\/blog\/preciso-ser-bom-em-matematica-para-programar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/programathor.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Uncategorized","item":"https:\/\/programathor.com.br\/blog\/category\/uncategorized\/"},{"@type":"ListItem","position":3,"name":"Preciso ser bom em matem\u00e1tica para programar?"}]},{"@type":"WebSite","@id":"https:\/\/programathor.com.br\/blog\/#website","url":"https:\/\/programathor.com.br\/blog\/","name":"Blog ProgramaThor","description":"A plataforma de recrutamento  para programadores pensada por programadores. Entenda melhor o mundo da programa\u00e7\u00e3o, a cria\u00e7\u00e3o de uma vaga eficiente, dicas de entrevista, as linguagens do momento, o mercado de desenvolvimento e muito mais!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/programathor.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/0d0da03131226876dd51a85cdbe26458","name":"Pedro Lucinio","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/c57a1d2b28234277049c88e675e47e45.jpg?ver=1780238778","contentUrl":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/c57a1d2b28234277049c88e675e47e45.jpg?ver=1780238778","caption":"Pedro Lucinio"},"description":"Apaixonado por tecnologia e entusiasta da literatura !","sameAs":["http:\/\/www.programathor.com.br","https:\/\/www.facebook.com\/pedro.lucinio.94","https:\/\/twitter.com\/pedrolucinio27"],"url":"https:\/\/programathor.com.br\/blog\/author\/pedro\/"}]}},"_links":{"self":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/492"}],"collection":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/comments?post=492"}],"version-history":[{"count":10,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/492\/revisions"}],"predecessor-version":[{"id":3233,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/492\/revisions\/3233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media\/503"}],"wp:attachment":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media?parent=492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/categories?post=492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/tags?post=492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}