{"id":769,"date":"2019-04-17T10:40:13","date_gmt":"2019-04-17T13:40:13","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=769"},"modified":"2021-06-18T14:54:21","modified_gmt":"2021-06-18T17:54:21","slug":"solicitacao-algoritmo3","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/solicitacao-algoritmo3\/","title":{"rendered":"Solicita\u00e7\u00e3o de algoritmo 3"},"content":{"rendered":"\n<p>A solicita\u00e7\u00e3o foi realizada por Lendel dos Santos Rodrigues. A d\u00favida envolve um enunciado maior, mas era espec\u00edfica em apenas um ponto da quest\u00e3o, ent\u00e3o fiz redu\u00e7\u00f5es no c\u00f3digo apenas para a d\u00favida espec\u00edfica. O enunciado segue abaixo, mas a d\u00favida envolvia a utiliza\u00e7\u00e3o da express\u00e3o sen(i)\/cos(i) dentro do problema. <\/p>\n\n\n\n<p><strong>Enunciado<\/strong>: defina em uma unidade independente: um novo tipo, usando <em>typedef<\/em>, para representar um vetor com as seguintes caracter\u00edsticas: quantidade m\u00e1xima de componentes: 50; componentes reais. Criar uma fun\u00e7\u00e3o independente para: calcular os n (1 &lt;= n &lt;= 50) componentes reais do vetor atrav\u00e9s da express\u00e3o sen(i) \/ cos(i).<\/p>\n\n\n\n<p>O c\u00f3digo enviado foi bem estruturado em 3 arquivos, um contendo a fun\u00e7\u00e3o principal, o arquivo de <em>header<\/em> das fun\u00e7\u00f5es e o outro as fun\u00e7\u00f5es propriamente ditas. O c\u00f3digo estava inclusive comentado, o que \u00e9 muito bom. Segue os c\u00f3digos contidos nos 3 arquivos. Eu removi dos c\u00f3digos aquilo que n\u00e3o objeto de d\u00favida da solicita\u00e7\u00e3o.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">\/\/arquivo main.ccp\n#include &lt;iostream&gt;\n#include &lt;cmath&gt;\n#include \"Funcoes15003.h\"\n\t\t\t\nusing namespace std;\n\nint main (){\n\tVetor v; \n\tint n;\n\tsortear(v,n);\n\treturn 0;\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">\/\/arquivo Funcoes15003.ccp\n#include \"Funcoes15003.h\"\n#include &lt;cstdlib&gt;\t\/\/ para as fun\u00e7\u00f5es srand e rand\n#include &lt;ctime&gt;\t\/\/ para a fun\u00e7\u00e3o time\n#include &lt;cmath&gt;\n\nvoid sortear(Vetor &amp;v, int n) {\n\tsrand(time(0));\t\t\/\/ Inicializa gerador\n\tfor(int i = 0; i &lt; n; i++) \/\/ Varia de 0 at\u00e9 n -1\n\tv[i] = rand() % 51;\/\/ Sorteia os componentes\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">\/\/arquivo Funcoes15003.h\n#ifndef VETORES_H\n#define VETORES_H\nconst int MAX = 50;\n\ntypedef int Vetor[MAX];\n\nvoid sortear(Vetor &amp;v, int n);\n#endif<\/code><\/pre>\n\n\n\n<p>Vamos as corre\u00e7\u00f5es, come\u00e7ando com o arquivo de <em>header<\/em>. Nele uma corre\u00e7\u00e3o necess\u00e1ria \u00e9 na defini\u00e7\u00e3o do <em>typedef<\/em>. A quest\u00e3o solicitava um vetor com valores reais e foi especificado no c\u00f3digo um vetor de inteiros. A corre\u00e7\u00e3o deve ser feita na linha 6, alterando ela para: typedef <strong>float<\/strong> Vetor[MAX];<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c line-numbers\">\/\/arquivo Funcoes15003.h\n#ifndef VETORES_H\n#define VETORES_H\nconst int MAX = 50;\n\ntypedef float Vetor[MAX];\n\nvoid sortear(Vetor &amp;v, int n);\nvoid mostrar(Vetor &amp;v, int n);\n#endif<\/code><\/pre>\n\n\n\n<p>Como o objetivo da quest\u00e3o est\u00e1 em preencher um vetor com valores, eu especifiquei uma fun\u00e7\u00e3o para mostrar os valores do vetor e ela j\u00e1 est\u00e1  aparecendo no <em>header<\/em>.<\/p>\n\n\n\n<p>O Lendel preencheu o vetor em sua fun\u00e7\u00e3o com valores aleat\u00f3rios entre 0 e 50. \u00c9 no preenchimento do vetor que paira d\u00favida da solicita\u00e7\u00e3o.  O enunciado, que pede que o preenchimento seja feito com o resultado da express\u00e3o <em>sen(i) \/ cos(i)<\/em>. A altera\u00e7\u00e3o segue abaixo. Um detalhe importante \u00e9 que a fun\u00e7\u00e3o para o seno \u00e9 a fun\u00e7\u00e3o sin() e n\u00e3o sen() como aparece no enunciado.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c line-numbers\">#include \"Funcoes15003.h\"\n#include &lt;cmath&gt;\n\n#include &lt;iostream&gt;\nusing namespace std;\n\nvoid sortear(Vetor &amp;v, int n) {\n\tfor(int i = 0; i &lt; n; i++)\n                v[i] = sin(i+1)\/cos(i+1);\n}\n\nvoid mostrar(Vetor &amp;v, int n) {\n\tfor(int i = 0; i &lt; n; i++)\n                cout &lt;&lt; v[i] &lt;&lt; \", \";\n}<\/code><\/pre>\n\n\n\n<p>Veja que o enunciado solicitou a varia\u00e7\u00e3o de <br>1 &lt;= n &lt;= 50. Como os valores da vari\u00e1vel <em>i<\/em> do la\u00e7o de repeti\u00e7\u00e3o est\u00e3o variando de 0 at\u00e9 49,  fiz a express\u00e3o com o valor de <em>i<\/em> acrescido de 1.<\/p>\n\n\n\n<p>A altera\u00e7\u00e3o foi bem simples. A d\u00favida do Lendel deve ter sido realmente na interpreta\u00e7\u00e3o do que era necess\u00e1rio fazer na quest\u00e3o. Um detalhe \u00e9 que para utilizar as fun\u00e7\u00f5es <em>sin()<\/em> e <em>cos()<\/em> \u00e9 preciso fazer a inclus\u00e3o da biblioteca <em>cmath<\/em> (feita na linha 2). <\/p>\n\n\n\n<p>Vendo agora o arquivo com o c\u00f3digo da fun\u00e7\u00e3o principal temos algumas modifica\u00e7\u00f5es. Eu removi a inclus\u00e3o da biblioteca <em>cmath <\/em>j\u00e1 que ela n\u00e3o \u00e9 necess\u00e1ria nesse arquivo, apenas no que contem a codifica\u00e7\u00e3o das fun\u00e7\u00f5es. Eu tamb\u00e9m fiz a inicializa\u00e7\u00e3o da vari\u00e1vel <em>n<\/em>. O uso de vari\u00e1veis n\u00e3o inicializadas \u00e9 grave, embora seja um esquecimento corriqueiro. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">#include &lt;iostream&gt;\n#include \"Funcoes15003.h\"\n\nusing namespace std;\n\nint main () {\n\tVetor v;\n\tint n=50;\n\tsortear(v,n);\n\tmostrar(v,n);\n\n        return 0;\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A solicita\u00e7\u00e3o foi realizada por Lendel dos Santos Rodrigues. A d\u00favida envolve um enunciado maior, mas era espec\u00edfica em apenas um ponto da quest\u00e3o, ent\u00e3o fiz redu\u00e7\u00f5es no c\u00f3digo apenas para a d\u00favida espec\u00edfica. O enunciado segue abaixo, mas a d\u00favida envolvia a utiliza\u00e7\u00e3o da express\u00e3o sen(i)\/cos(i) dentro do problema. Enunciado: defina em uma unidade [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,58],"tags":[52],"class_list":["post-769","post","type-post","status-publish","format-standard","hentry","category-c","category-codigo-com-analise","tag-solicitacao-de-algoritmo"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/types\/post"}],"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=769"}],"version-history":[{"count":7,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/769\/revisions"}],"predecessor-version":[{"id":1040,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/769\/revisions\/1040"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=769"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}