{"id":1320,"date":"2022-05-25T11:21:15","date_gmt":"2022-05-25T14:21:15","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=1320"},"modified":"2022-05-25T11:21:50","modified_gmt":"2022-05-25T14:21:50","slug":"solicitacao-algoritmo13-pesquisa-opiniao","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/solicitacao-algoritmo13-pesquisa-opiniao\/","title":{"rendered":"Solicita\u00e7\u00e3o de algoritmo 13 &#8211; pesquisa de opini\u00e3o"},"content":{"rendered":"\n<p>Algoritmo foi solicitado pelo Mauricio e \u00e9 um algoritmo que realiza uma pesquisa de opini\u00e3o, mostrando alguns resultados. Segue o enunciado.<\/p>\n\n\n\n<p><strong>Enunciado:<\/strong> a empresa Cara de Pau Ltda resolveu fazer uma pesquisa de mercado, abrangendo o maior n\u00famero de pessoas poss\u00edveis, para saber se as pessoas est\u00e3o gostando ou n\u00e3o de um novo produto lan\u00e7ado no mercado.<br>A informa\u00e7\u00f5es coletadas s\u00e3o: o&nbsp;<strong>sexo<\/strong>&nbsp;(M,F),<strong>&nbsp;<\/strong>a&nbsp;<strong>idade<\/strong>&nbsp;e uma&nbsp;<strong>resposta&nbsp;<\/strong>(S=sim, N=n\u00e3o, I=indiferente) de cada entrevistado.<\/p>\n\n\n\n<p>Fa\u00e7a um algoritmo que calcule:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>quantas pessoas foram entrevistadas;<\/li><li>quantas pessoas disseram sim e quantas disseram n\u00e3o;<\/li><li>quantas mulheres disseram sim e quantos homens disseram n\u00e3o.<\/li><\/ul>\n\n\n\n<p>Embora o enunciado tenha pedido para ler a idade do entrevistado, esse dado n\u00e3o \u00e9 realmente utilizado, mas como est\u00e1 no enunciado est\u00e1 sendo lido mesmo assim. O c\u00f3digo enviado estava praticamente pronto, mas o Mauricio s\u00f3 estava conseguindo contabilizar o sexo dos participantes e n\u00e3o sua opini\u00e3o.<\/p>\n\n\n\n<p>O c\u00f3digo feito pelo Mauricio segue abaixo.  Veja que linha 6 \u00e9 lido qual o sexo do entrevistado, mas com o uso da fun\u00e7\u00e3o <em>strip()<\/em> e o \u00edndice <em>[0]<\/em> \u00e9 pego somente a primeira letra do que \u00e9 digitado e o uso da fun\u00e7\u00e3o <em>upper()<\/em> coloca a letra mai\u00fasculo. Veja que somente essa primeira letra \u00e9 importante, uma vez que na linha seguinte a compara\u00e7\u00e3o com o valor lido \u00e9 feita considerando somente um caractere.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">totM = totH = 0\nwhile True:\n    idade = int(input('idade: '))\n    sexo = ' '\n    while sexo not in 'MF':\n        sexo = str(input( 'Sexo: [Masculino\/Feminino]')).strip().upper()[0]\n    if sexo == 'M':\n        totH += 1 \n    if sexo == 'F':\n        totM += 1 \n    pesquiza = ' ' \n    while pesquiza not in 'SNI':\n        pesquiza = str(input( 'Gostou do novo produto da empresa cara de pau?')).strip().upper() [0]\n    \n    resp = ' '   \n    while resp not in 'SN':\n        resp = str(input('Quer continuar? [S\/N]')).strip().upper()[0]\n    if resp == 'N':\n        break\nprint(f'Total de mulheres:{totM}')\nprint(f'Total de homens:{totH}')\nprint(f'Ao todo temos {totM} mulheres e {totH} homens entrevistados \\n')<\/code><\/pre>\n\n\n\n<p>Na linha 5 no c\u00f3digo do Mauricio, ele colocou um comando <em>while <\/em>para garantir que o usu\u00e1rio fornecesse um entrada v\u00e1lida para o sexo. Enquanto n\u00e3o for fornecido as letras M ou F, o sexo \u00e9 perguntado novamente. Isso \u00e9 muito importante de ser feito, mas na minha solu\u00e7\u00e3o a seguir eu retirei para ficar mais f\u00e1cil entender a solu\u00e7\u00e3o elaborada. A vers\u00e3o simplificada do c\u00f3digo do Mauricio \u00e9 mostrada a seguir. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">totM = totH = 0\nwhile True:\n    idade = int(input('idade: '))\n    sexo = str(input( 'Sexo: [Masculino\/Feminino]')).strip().upper()[0]\n    if sexo == 'M':\n        totH += 1 \n    if sexo == 'F':\n        totM += 1 \n    \n    resp = str(input('Quer continuar? [S\/N]')).strip().upper()[0]\n    if resp == 'N':\n        break\n\nprint(f'Total de entrevistados:{totH+totM}')<\/code><\/pre>\n\n\n\n<p>O c\u00f3digo acima contabiliza quantos entrevistados eram homem ou mulher, sendo o primeiro item a ser mostrado determinado pela soma desses dois valores (conforme mostrado na linha 14).<\/p>\n\n\n\n<p>Para contabilizar a opini\u00e3o de cada entrevistado s\u00e3o necess\u00e1rias mais vari\u00e1veis. Poderiam ser definidas vari\u00e1veis para contabilizar os votos em SIM, N\u00c3O e INDIFERENTE, mas eu preferi contabilizar apenas a quantidade de SIM e INDIFERENTE (com isso economizei vari\u00e1veis e algumas linhas de c\u00f3digo). Isso porque, como se saber\u00e1 a quantidade de votantes, a quantidade de N\u00c3O pode ser obtida pegando a quantidade total de voto e subtraindo a quantidade de SIM e INDIFERENTE. Seria mais f\u00e1cil contabilizar os SIM e N\u00c3O, mas eu fiz de prop\u00f3sito a contabiliza\u00e7\u00e3o do INDIFERENTE para complicar e deixar mais claro que \u00e9 poss\u00edvel contabilizar os votos sem precisar ter vari\u00e1veis para cada tipo de resposta. Esses c\u00e1lculos s\u00e3o feitos l\u00e1 no final do c\u00f3digo. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">totM = totH = 0\ntotMS = totHS = 0\ntotMI = totHI = 0\nwhile True:\n    idade = int(input('idade: '))\n    sexo = str(input( 'Sexo: [Masculino\/Feminino]')).strip().upper()[0]\n    if sexo == 'M':\n        totH += 1 \n    if sexo == 'F':\n        totM += 1 \n\n    pesquisa = str(input( 'Gostou do novo produto da empresa cara de pau? [Sim\/Nao\/Indiferente]')).strip().upper() [0]\n    if pesquisa == 'S':\n        if sexo == 'M':\n            totMS += 1\n        else:\n            totHS += 1\n    elif pesquisa == 'I':\n        if sexo == 'M':\n            totMI += 1\n        else:\n            totHI += 1\n    \n    resp = str(input('Quer continuar? [S\/N]')).strip().upper()[0]\n    if resp == 'N':\n        break\n\nprint(f'Total de entrevistados:{totH+totM}')\nprint(f'{totMS + totHS} entrevistados disseram SIM e {(totH+totM) - (totMS+totHS) - (totMI+totHI)} disseram NAO')\nprint(f'{totMS} mulheres disseram SIM e {totH - (totHS+totHI)} disseram NAO')<\/code><\/pre>\n\n\n\n<p><strong>Teste o c\u00f3digo<\/strong>: <a rel=\"noreferrer noopener\" href=\"https:\/\/py3.codeskulptor.org\/#user307_gudClmf7uq_0.py\" target=\"_blank\">https:\/\/py3.codeskulptor.org\/#user307_gudClmf7uq_0.py<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Algoritmo foi solicitado pelo Mauricio e \u00e9 um algoritmo que realiza uma pesquisa de opini\u00e3o, mostrando alguns resultados. Segue o enunciado. Enunciado: a empresa Cara de Pau Ltda resolveu fazer uma pesquisa de mercado, abrangendo o maior n\u00famero de pessoas poss\u00edveis, para saber se as pessoas est\u00e3o gostando ou n\u00e3o de um novo produto lan\u00e7ado [&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":[58,5],"tags":[37,52],"class_list":["post-1320","post","type-post","status-publish","format-standard","hentry","category-codigo-com-analise","category-python","tag-if","tag-solicitacao-de-algoritmo"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1320","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=1320"}],"version-history":[{"count":3,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1320\/revisions"}],"predecessor-version":[{"id":1323,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/1320\/revisions\/1323"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=1320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=1320"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=1320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}