{"id":5304,"date":"2014-06-15T12:00:53","date_gmt":"2014-06-15T17:00:53","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=5304"},"modified":"2026-04-05T17:48:20","modified_gmt":"2026-04-05T22:48:20","slug":"s2eva2008tii_t1-carrera-de-caracoles","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s2eva10\/s2eva2008tii_t1-carrera-de-caracoles\/","title":{"rendered":"s2Eva2008TII_T1 Carrera de caracoles"},"content":{"rendered":"\n<figure class=\"wp-block-image alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"258\" height=\"192\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/03\/caracolescarrera.png\" alt=\"carrera caracoles\" class=\"wp-image-2045\" \/><\/figure>\n\n\n\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-2eva10\/2eva2008tii_t1-carrera-de-caracoles\/\" data-type=\"post\" data-id=\"2926\">2Eva2008TII_T1 Carrera de caracoles<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python<\/strong> para dos caracoles A y B:<\/p>\n\n\n\n<p>Cada caracol inicia en el punto de partida<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>A = 0 \nB = 0 \nt = 0<\/code><\/pre>\n\n\n\n<p>El movimiento de cada caracol se simula con un n\u00famero aleatorio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mueveA = <span style=\"color: #ff00ff\">int<\/span>(rnd.random()*5)-1\nA = A + mueveA<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">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# 2Eva_IIT2008_T1 Carrera de caracoles\n# solo dos caracoles\n\nimport random  as rnd\n\n# INGRESO\nmeta = int(input('meta maxima: '))\n\n# PROCEDIMIENTO\nA = 0\nB = 0\nt = 0\nwhile (A&lt;meta and B&lt;meta):\n    mueveA = int(rnd.random()*5)-1\n    A = A + mueveA\n    \n    mueveB = int(rnd.random()*5)-1\n    B = B + mueveB\n    \n    t = t + 1\n\ngana = 0\nif (A&gt;B):\n    gana = 1\nif (B&gt;A):\n    gana = 2\n    \n# SALIDA\nprint('gan\u00f3 el caracol: ',gana)\nprint('tiempo transcurrido: ', t)\n<\/pre><\/div>\n\n\n<p>Resultado del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>meta maxima: 50\ngan\u00f3 el caracol:  2\ntiempo transcurrido:  38\n&gt;&gt;&gt; \nmeta maxima: 50\ngan\u00f3 el caracol:  1\ntiempo transcurrido:  39\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>Carrera para <strong>n<\/strong> caracoles use un vector e indices entre 1 y <strong>n<\/strong><\/p>\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# 2Eva_IIT2008_T1 Carrera de caracoles\nimport random  as rnd\nimport numpy as np\n\n# INGRESO\nmeta = int(input('meta maxima: '))\nn = int(input('cuantos jugadores: '))\n\n# PROCEDIMIENTO\n# no se usa la posicion 0, caracoles entre&#x5B;1,n]\nposicion = np.zeros(n+1, dtype = int)\n\nt    = 0\ngana = 0\nwhile not(gana&gt;0):\n    \n    jugador = 0\n    while not(jugador&gt;=n):\n\n        mueve = int(rnd.random()*5)-1\n        posicion&#x5B;jugador] = posicion&#x5B;jugador] + mueve\n        \n        if (posicion&#x5B;jugador]&gt;meta):\n            gana = jugador\n\n        jugador = jugador +1\n    \n    t = t + 1\n\n# SALIDA\nprint('posiciones finales:')\nprint(posicion)\nprint('gan\u00f3 el caracol: ',gana)\nprint('tiempo transcurrido: ', t)\n<\/pre><\/div>\n\n\n<p>resultado de algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>meta maxima: 50\ncuantos jugadores: 5\nposiciones finales:\n&#091;38 44 44 32 51  0]\ngan\u00f3 el caracol:  4\ntiempo transcurrido:  39\n&gt;&gt;&gt; \nmeta maxima: 50\ncuantos jugadores: 5\nposiciones finales:\n&#091;46 52 42 33 35  0]\ngan\u00f3 el caracol:  1\ntiempo transcurrido:  36\n&gt;&gt;&gt; <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2008TII_T1 Carrera de caracoles Propuesta de soluci\u00f3n en Python para dos caracoles A y B: Cada caracol inicia en el punto de partida El movimiento de cada caracol se simula con un n\u00famero aleatorio. Algoritmo en Python Resultado del algoritmo Algoritmo en Python Carrera para n caracoles use un vector e indices entre 1 [&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":[131],"tags":[58,157],"class_list":["post-5304","post","type-post","status-publish","format-standard","hentry","category-fp-s2eva10","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5304","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=5304"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5304\/revisions"}],"predecessor-version":[{"id":23645,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5304\/revisions\/23645"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=5304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=5304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=5304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}