{"id":1273,"date":"2014-03-19T08:55:43","date_gmt":"2014-03-19T13:55:43","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1273"},"modified":"2026-04-05T16:46:49","modified_gmt":"2026-04-05T21:46:49","slug":"s1eva2010tii_t3-juego-del-amigo-secreto","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva10\/s1eva2010tii_t3-juego-del-amigo-secreto\/","title":{"rendered":"s1Eva2010TII_T3 Juego del amigo secreto"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva10\/1eva2010tii_t3-juego-del-amigo-secreto\/\" data-type=\"post\" data-id=\"3218\">1Eva2010TII_T3 Juego del amigo secreto<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\">diagrama flujo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"158\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/amigosecreto01.png\" alt=\"juego amigo secreto\" class=\"wp-image-16425\" \/><figcaption class=\"wp-element-caption\">http:\/\/www.fabu.com.ec\/2017\/12\/22\/ideas-para-el-amigo-secreto\/<\/figcaption><\/figure>\n\n\n\n<p>Inicie preguntando el n\u00famero de parejas que van a participar.<\/p>\n\n\n\n<p>Por simplicidad, considere solo una pareja para luego realizarlo para <strong>n<\/strong> parejas .<\/p>\n\n\n\n<p>El sorteo se registra con arreglos\/vectores que contienen las banderas de amigo\/amiga en cero,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AmigA = np.zeros(n+1,dtype=<span style=\"color: #ff00ff\">int<\/span>)\nAmigO = np.zeros(2*n+1,dtype=<span style=\"color: #ff00ff\">int<\/span>)<\/code><\/pre>\n\n\n\n<p>para poner luego el valor sorteado a cada uno, si a\u00fan no se ha repetido.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dama = int(rnd.random()*n)+(n+1)<\/code><\/pre>\n\n\n\n<p>El valor repetido se verifica revisando el estado del arreglo en la posici\u00f3n correspondiente, esperando que sea vacio <code>AmigO[dama]==0<\/code>, solo all\u00ed se asigna el amigo y se pasa al siguiente sorteo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #ff0000\"># sortea dama para cada AmigO<\/span>\ni = 1\n<span style=\"color: #d35400\">while<\/span> (i&lt;=n):\n    dama = <span style=\"color: #ff00ff\">int<\/span>(rnd.random()*n)+(n+1)\n    <span style=\"color: #d35400\">if<\/span> (AmigO&#091;dama]==0):\n        AmigO&#091;dama] = i\n        i = i+1<\/code><\/pre>\n\n\n\n<p>ser repite el mismo proceso para el otro g\u00e9nero.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\">diagrama flujo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algoritmo\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# ICM00794-Fundamentos de Computaci\u00f3n - FCNM-ESPOL\n# 1Eva_IIT2010_T3 Juego del amigo secreto\n# Propuesta de solucion. edelros@espol.edu.ec\n\nimport numpy as np\nimport random as rnd\n\n# INGRESO\nn = int(input('\u00bfn\u00famero de parejas?: '))\n\n# PROCEDIMIENTO\nAmigA = np.zeros(n+1,dtype=int)\nAmigO = np.zeros(2*n+1,dtype=int)\n\n# sortea dama para cada AmigO\ni = 1\nwhile (i&lt;=n):\n    dama = int(rnd.random()*n)+(n+1)\n    if (AmigO&#x5B;dama]==0):\n        AmigO&#x5B;dama] = i\n        i = i+1\n\n# sortea caballero para cada AmigA\nj = n+1\nwhile (j&lt;=(2*n)):\n    caballero = int(rnd.random()*n)+1\n    if (AmigA&#x5B;caballero]==0):\n        AmigA&#x5B;caballero] = j\n        j = j+1\n\n# SALIDA\nprint('pareja de caballeros')\ni = 1\nwhile (i&lt;=n):\n    print(i,' , ',AmigA&#x5B;i])\n    i = i+1\n    \nprint('pareja de damas')\nj = n+1\nwhile (j&lt;=(2*n)):\n    print(j,' , ',AmigO&#x5B;j])\n    j = j+1\n<\/pre><\/div>\n\n\n<p>Resultado del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u00bfn\u00famero de parejas?: 4\npareja de caballeros\n1  ,  5\n2  ,  8\n3  ,  7\n4  ,  6\npareja de damas\n5  ,  3\n6  ,  4\n7  ,  1\n8  ,  2\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\">diagrama flujo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Diagrama de Flujo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"696\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaAmigoSecreto01.png\" alt=\"diagrama Amigo Secreto 01\" class=\"wp-image-19326\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"264\" height=\"782\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaAmigoSecreto02.png\" alt=\"diagrama Amigo Secreto 02\" class=\"wp-image-19327\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\">diagrama flujo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2010TII_T3 Juego del amigo secreto algoritmo diagrama flujo Inicie preguntando el n\u00famero de parejas que van a participar. Por simplicidad, considere solo una pareja para luego realizarlo para n parejas . El sorteo se registra con arreglos\/vectores que contienen las banderas de amigo\/amiga en cero, para poner luego el valor sorteado a cada uno, [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-ejemplos","format":"standard","meta":{"footnotes":""},"categories":[125],"tags":[58,157],"class_list":["post-1273","post","type-post","status-publish","format-standard","hentry","category-fp-s1eva10","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=1273"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1273\/revisions"}],"predecessor-version":[{"id":23556,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1273\/revisions\/23556"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}