{"id":398,"date":"2014-04-23T16:41:13","date_gmt":"2014-04-23T19:41:13","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?page_id=398"},"modified":"2020-04-26T08:59:08","modified_gmt":"2020-04-26T11:59:08","slug":"texto-algoritmos-e-engenharia","status":"publish","type":"page","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/material-complementar\/texto-algoritmos-e-engenharia\/","title":{"rendered":"Texto: algoritmos e engenharia"},"content":{"rendered":"<p><em>* retirado do livro: Introdu\u00e7\u00e3o \u00e0 programa\u00e7\u00e3o para engenharia : resolvendo problemas com algoritmos<\/em><\/p>\n<p><strong>Algoritmos e engenharia<\/strong><\/p>\n<p>Penso que algoritmos s\u00e3o importantes, e voc\u00ea deve saber como fazer seu computador resolver seus problemas, em vez de resolver os problemas que um outro programador pensou que voc\u00ea resolveria. Penso tamb\u00e9m que algoritmos s\u00e3o loucamente divertidos de criar. Quando criamos um algoritmo, come\u00e7amos com um problema a resolver e passamos por todo o processo de engenharia: projetamos uma solu\u00e7\u00e3o, implementamos, testamos, refinamos essa solu\u00e7\u00e3o e procuramos torn\u00e1-la elegante.<\/p>\n<p>Aprender a projetar e implementar algoritmos aperfei\u00e7oar\u00e1 sua habilidade em pensamentos l\u00f3gicos; isto lhe dar\u00e1 uma base para avaliar os resultados e simula\u00e7\u00f5es por computador nos quais voc\u00ea, como engenheiro, confiar\u00e1; uma oportunidade antecipada para dedicar-se \u00e0 an\u00e1lise e ao projeto que \u00e9 o centro do ensino e da pr\u00e1tica da engenharia; e uma ferramenta para melhor entender e explorar a ci\u00eancia e a matem\u00e1tica.<\/p>\n<p><strong>Algoritmos para engenheiros<\/strong><\/p>\n<p>Em quais algoritmos os engenheiros est\u00e3o interessados?<\/p>\n<p>Felizmente em todos eles \u2013 naqueles escritos h\u00e1 muito tempo, por pessoas mais experientes que voc\u00ea e eu, e naqueles que ainda n\u00e3o foram criados, em cuja constru\u00e7\u00e3o estamos envolvidos. N\u00f3s, engenheiros, frequentemente criamos e utilizamos algoritmos que modelam a estrutura de algum sistema que estamos projetando, dando-nos um meio de testar parcialmente um projeto sem realmente constru\u00ed-lo. Isto nos d\u00e1 meios de examinar alternativas de projetos para um sistema, com base nos resultados de tais simula\u00e7\u00f5es, sem despesas nem atrasos por constru\u00ed-los concretamente. Para alguns problemas voc\u00ea pode at\u00e9 programar o computador para ele mesmo selecionar o melhor projeto. Introduzimos tamb\u00e9m computadores dentro de outras maquinas, para control\u00e1-las e monitor\u00e1-las.<\/p>\n<p>Mas voltemos \u00e0 minha afirma\u00e7\u00e3o do in\u00edcio \u2013 a raz\u00e3o mais importante para estudar e criar algoritmos n\u00e3o \u00e9, na verdade, sua utilidade natural, mas em vez disso, a habilidade de pensamento que a sua cria\u00e7\u00e3o nos for\u00e7a a desenvolver. Para ser mais exato, o racioc\u00ednio l\u00f3gico necess\u00e1rio lhe proporcionar\u00e1 boas condi\u00e7\u00f5es quando voc\u00ea tiver problemas a analisar, mesmo se esses problemas n\u00e3o puderem ser resolvidos por meio de algoritmos formalmente constru\u00eddos.<\/p>\n<p><strong>Computadores na engenharia<\/strong><\/p>\n<p>Computadores s\u00e3o uma ferramenta maravilhosa para a an\u00e1lise em engenharia. Portanto, eu o incentivo a desconfiar deles e olhar os resultados que eles produzem com ceticismo.<\/p>\n<p>A computa\u00e7\u00e3o nos fornece meios de simular o mundo f\u00edsico e, consequentemente, nos fornece meios de analisar um projeto de engenharia sem realmente constru\u00ed-lo. Podemos utilizar modelos computacionais para prever a for\u00e7a do vento em um arranha-c\u00e9u ou a press\u00e3o em uma v\u00e1lvula de cora\u00e7\u00e3o artificial. Podemos utilizar computadores para prever o campo de radia\u00e7\u00e3o criado por um acelerador m\u00e9dico ou para descrever o que os n\u00eautrons fazem em um reator nuclear. Com algoritmos de otimiza\u00e7\u00e3o, podemos at\u00e9 utilizar computadores para ajudar a selecionar o melhor dentre um conjunto de projetos. Estas ferramentas computacionais s\u00e3o maravilhosamente \u00fateis para nos ajudar a realizar nosso trabalho de engenheiros.<\/p>\n<p>Mais computadores n\u00e3o podem projetar sozinhos. Ainda \u00e9 responsabilidade da intelig\u00eancia e imagina\u00e7\u00e3o humanas reconhecer o problema, fazer as perguntas certas, formular as quest\u00f5es corretamente e projetar uma solu\u00e7\u00e3o criativa. O computador pode apenas calcular respostas; ele n\u00e3o pode fazer as perguntas certas.<\/p>\n<p>Os algoritmos que criamos, para nos permitir modelar realidades f\u00edsicas ou ent\u00e3o nos ajudar em v\u00e1rios projetos de engenharia, s\u00e3o raramente perfeitos. Primeiro, eles s\u00e3o cria\u00e7\u00f5es da nossa intelig\u00eancia imperfeita. Em seguida, eles devem ser executados dentro dos limites do computador. Qualquer programa que tenta modelar a realidade sempre o faz de uma forma aproximada. Todo modelo pode omitir algum pequeno ponto-chave de import\u00e2ncia f\u00edsica que n\u00e3o pareceu t\u00e3o importante ao seu criador, ou n\u00e3o era importante em uma classe antiga de problemas, mas que \u00e9 importante no novo problema que voc\u00ea est\u00e1 querendo resolver. Muitos fen\u00f4menos, mesmo os fen\u00f4menos quotidianos como a ebuli\u00e7\u00e3o da \u00e1gua, s\u00e3o t\u00e3o dif\u00edceis de entender que n\u00e3o existem na verdade modelos computacionais de primeira categoria para eles, e apenas grosseiras, in\u00fameras aproxima\u00e7\u00f5es tecnologicamente especificas. Muitos programas cont\u00eam realidades f\u00edsicas maravilhosas e s\u00e3o surpreendentemente precisos, mas mesmo o melhor tem seus limites, al\u00e9m do que eles podem falhar silenciosamente.<\/p>\n<p>Voc\u00ea at\u00e9 agora escreveu alguns poucos programas, sabendo que pode ser estranhamente dif\u00edcil faz\u00ea-los corretamente. Assim voc\u00ea n\u00e3o deve se surpreender se os programas que lhe forem vendidos para realizar an\u00e1lises de engenharia estejam frequentemente incorretos, embora isto seja raramente informado na embalagem. Os engenheiros e os programadores que criam programas<br \/>\ncomerciais n\u00e3o s\u00e3o super-homens, eles cometem erros tamb\u00e9m.<\/p>\n<p>Assim, \u00e0 medida que voc\u00ea avan\u00e7ar na sua carreira de engenheiros, voc\u00ea usar\u00e1, e dever\u00e1 utilizar, modelos computacionais. Mas voc\u00ea deve faz\u00ea-lo cuidadosamente, com d\u00favidas em mente. Voc\u00ea tem que ter alguma intui\u00e7\u00e3o pr\u00f3pria de como s\u00e3o as respostas \u00e0s suas quest\u00f5es, de maneira que possa julgar o que o programa diz. Voc\u00ea deve explorar a variedade de respostas que o programa pode dar \u00e0 medida que os par\u00e2metros de entrada variam, desenvolvendo assim uma certa confian\u00e7a adicional em seus resultados. \u00c9 f\u00e1cil na pressa dos prazos das tarefas simplesmente executar e acreditar em um programa, mas um caminho como este de aceita\u00e7\u00e3o cega n\u00e3o \u00e9 uma op\u00e7\u00e3o s\u00e1bia.<\/p>\n<p>Voc\u00ea deve sempre se perguntar. \u201cComo eu sei que isto est\u00e1 certo?\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>* retirado do livro: Introdu\u00e7\u00e3o \u00e0 programa\u00e7\u00e3o para engenharia : resolvendo problemas com algoritmos Algoritmos e engenharia Penso que algoritmos s\u00e3o importantes, e voc\u00ea deve saber como fazer seu computador resolver seus problemas, em vez de resolver os problemas que um outro programador pensou que voc\u00ea resolveria. Penso tamb\u00e9m que algoritmos s\u00e3o loucamente divertidos de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":372,"menu_order":0,"comment_status":"open","ping_status":"open","template":"page-full-width.php","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-398","page","type-page","status-publish","hentry"],"aioseo_notices":[],"amp_enabled":false,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/pages\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/comments?post=398"}],"version-history":[{"count":1,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/pages\/398\/revisions"}],"predecessor-version":[{"id":399,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/pages\/398\/revisions\/399"}],"up":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/pages\/372"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}