{"id":585,"date":"2019-11-19T10:22:18","date_gmt":"2019-11-19T13:22:18","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=585"},"modified":"2019-11-19T10:22:21","modified_gmt":"2019-11-19T13:22:21","slug":"comecando-com-java-9-fundamentos-5","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/comecando-com-java-9-fundamentos-5\/","title":{"rendered":"Come\u00e7ando com Java 9 Fundamentos #5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Paradigma Imperativo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O paradigma imperativo \u00e9\ntamb\u00e9m conhecido como um paradigma algor\u00edtmico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No paradigma imperativo, um\nprograma consiste em dados e algoritmos (sequ\u00eancia de comandos) que manipulam\nos dados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;Os dados \u00e9 o que define o estado do programa. O\nestado do programa muda os comandos que s\u00e3o executados em uma sequ\u00eancia\nespec\u00edfica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os dados s\u00e3o guardados na mem\u00f3ria.\nLinguagem de programa\u00e7\u00e3o imperativa fornece vari\u00e1veis para referir as loca\u00e7\u00f5es\nde mem\u00f3ria, uma atribui\u00e7\u00e3o de opera\u00e7\u00e3o para mudar o valor de uma vari\u00e1vel e\noutra constr\u00f3i controle o fluxo do programa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na programa\u00e7\u00e3o imperativa,\nvoc\u00ea precisa especificar os passos para resolver o problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suponhamos que temos um\ninteiro com o valor 15, e voc\u00ea quer adicionar 10 ao valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea poderia adicionar de 1 em\n1 ao 15 dez vezes e chegaria no resultado 25.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode escrever um programa\nutilizando a linguagem imperativa para adicionar 10 ao 15, vamos ver como:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">int num = 15;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/num tem o valor 15<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">int counter = 0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/contador come\u00e7a com o valor 0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">while(counter &lt; 10){<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num = num + 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/modificando\nos dados do num<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter = counter + 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/modificando\nos dados do counter<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/num agora tem o valor 25<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As primeiras duas linhas s\u00e3o\ndeclara\u00e7\u00f5es de vari\u00e1veis que representa os dados do programa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O la\u00e7o while representa o\nalgoritmo que \u00e9 a parte que opera os dados. O c\u00f3digo dentro do la\u00e7o while \u00e9 executado\n10 vezes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O la\u00e7o incrementa na vari\u00e1vel\nnum 1 por 1 nos dados a cada intera\u00e7\u00e3o. Quando o la\u00e7o termina, o valor do num\npassa a ser 10.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veja que a programa\u00e7\u00e3o\nimperativa \u00e9 transiente e o algoritmo \u00e9 permanente. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FORTRAN, COBOL e C s\u00e3o\nexemplos de linguagens de programa\u00e7\u00e3o que suporta o paradigma imperativo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paradigma Procedural<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O paradigma procedural \u00e9\nsimilar ao paradigma imperativo com uma diferen\u00e7a: ele combina m\u00faltiplos\ncomandos em uma unidade chamada procedure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma procedure \u00e9 executada como\numa unidade. Executar os comandos contidos em uma procedure \u00e9 conhecido como\nchamar ou invocar a procedure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma linguagem de programa\u00e7\u00e3o\nprocedural consiste em dados e uma sequ\u00eancia de chamadas de procedure que\nmanipula os dados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo a seguir \u00e9 uma t\u00edpica\nprocedure chamada addTen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">void addTen(int num) {<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int counter = 0;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (counter &lt; 10) {<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num = num + 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/modificando dados do num<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter = counter + 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/modificando dados do counter<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">            } <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">            \/\/foi incrementado 10 ao valor num<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">} <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A procedure addTen utiliza um placeholder\n(tamb\u00e9m conhecido como par\u00e2metro) num, o qual \u00e9 fornecida quando executada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo ignora o valor atual\ndo num. Ele simplesmente adiciona 10 ao valor atual do num.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos utilizar este c\u00f3digo\npara adicionar 10 ao valor 15. Veja que a procedure addTen n\u00e3o foi escrita com\nnenhuma linguagem de programa\u00e7\u00e3o espec\u00edfica. O c\u00f3digo apenas serve como\nilustra\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">int x = 15;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/x guarda o valor 15<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">addTen(x);&nbsp;&nbsp;&nbsp;&nbsp; \/\/chamando a procedure addTen ir\u00e1 incrementar\n10 ao valor x<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/x guarda o valor 25<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode ver que o c\u00f3digo de paradigma\nimperativo e procedural s\u00e3o similares na sua estrutura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizando os resultados das procedures\ndentro do c\u00f3digo aumenta a reutiliza\u00e7\u00e3o dos algoritmos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alguns ignora esta diferen\u00e7a e\ntrata os dois paradigmas, imperativo e procedural, como iguais.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No paradigma procedural, a\nunidade de programa\u00e7\u00e3o n\u00e3o \u00e9 uma sequ\u00eancia de comandos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea abstrai a sequ\u00eancia de\ncomandos dentro de uma procedure e seu programa consiste em sequ\u00eancia de\nprocedures.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma procedure tem efeitos colaterais.\nEla modifica parte de dados de um programa que s\u00e3o executados com sua pr\u00f3pria\nl\u00f3gica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C, C++, Java e COBOL s\u00e3o exemplos de linguagens de programa\u00e7\u00e3o que suporta paradigma procedural.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2764\ufe0f&nbsp;Curso Java Para Iniciantes&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&gt;&gt;&gt;&nbsp;<a href=\"http:\/\/bit.ly\/java-swing\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/bit.ly\/java-swing<\/a>&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc4d&nbsp;Curso de Desenvolvimento Web Completo&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&gt;&gt;&gt;&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/bit.ly\/2FnB5Sp\" target=\"_blank\">http:\/\/bit.ly\/2FnB5Sp<\/a>&nbsp;&nbsp;&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Paradigma Imperativo O paradigma imperativo \u00e9 tamb\u00e9m conhecido como um paradigma algor\u00edtmico. No paradigma imperativo, um programa consiste em dados e algoritmos (sequ\u00eancia de comandos) que manipulam os dados. &nbsp;Os dados \u00e9 o que define o estado do programa. O estado do programa muda os comandos que s\u00e3o executados em uma sequ\u00eancia espec\u00edfica. Os dados [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":586,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-585","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=585"}],"version-history":[{"count":1,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/585\/revisions"}],"predecessor-version":[{"id":587,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/585\/revisions\/587"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/586"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}