{"id":1232,"date":"2014-03-10T09:25:50","date_gmt":"2014-03-10T14:25:50","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1232"},"modified":"2026-04-05T17:17:03","modified_gmt":"2026-04-05T22:17:03","slug":"s1eva2005tii_t4-juego-escaleras-y-serpientes","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva10\/s1eva2005tii_t4-juego-escaleras-y-serpientes\/","title":{"rendered":"s1Eva2005TII_T4 Juego escaleras y serpientes"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva10\/1eva2005tii_t4-juego-escaleras-y-serpientes\/\" data-type=\"post\" data-id=\"3148\">1Eva2005TII_T4 Juego escaleras y serpientes<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"273\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/03\/escaleraserpiente.jpg\" alt=\"escalera serpiente tablero\" class=\"wp-image-197\" \/><\/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><em>Algoritmo<\/em>:<\/p>\n\n\n\n<p><a href=\"#mientrasrepita\" data-type=\"internal\" data-id=\"#mientrasrepita\">mientras-repita<\/a><\/p>\n\n\n\n<p><a href=\"#repitahasta\" data-type=\"internal\" data-id=\"#repitahasta\">repita-hasta<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\" data-type=\"internal\" data-id=\"#diagramaflujo\">diagrama flujo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>En un primer bosquejo, no se considera el lanzar la moneda para ver cu\u00e1l jugador inicia, semejante al ajedrez en que las fichas blancas salen primero sin considerar el nombre del jugador.<\/p>\n\n\n\n<p>Para determinar las posiciones de las fichas en el tablero, se usar\u00e1n acumuladores para cada jugador A y B, usando como variables \u201c<strong><em>fichaa<\/em><\/strong>\u201d y \u201c<em><strong>fichab<\/strong><\/em>\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #ff0000\"># jugador A<\/span>\ndadoa = <span style=\"color: #ff00ff\">int<\/span>(rnd.random()*6)+1\nfichaa = fichaa + dadoa<\/code><\/pre>\n\n\n\n<p>Ser\u00e1n necesarios otras variables como el contador para el <strong>turno<\/strong>, cada jugador dispondr\u00e1 de una variable generada de forma aleatoria <strong>dadoa<\/strong>, <strong>dadob<\/strong>, que simula un dado de 6 caras.<\/p>\n\n\n\n<p>Se lanza el dado para el jugador A, se avanza acumulando conforme a los puntos del dado, se valida el premio o castigo para luego repetir el proceso para el jugador B, repitiendo el proceso hasta que alguna ficha se ubique o pase la casilla de \u201cllegada\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    <span style=\"color: #d35400\">if<\/span> (fichaa==4 <span style=\"color: #d35400\">or<\/span> fichaa==9 <span style=\"color: #d35400\">or<\/span> fichaa==29 <span style=\"color: #d35400\">or<\/span> fichaa==34 <span style=\"color: #d35400\">or<\/span> fichaa==46):\n        fichaa = fichaa + 3\n    <span style=\"color: #d35400\">if<\/span> (fichaa==8 <span style=\"color: #d35400\">or<\/span> fichaa==19 <span style=\"color: #d35400\">or<\/span> fichaa==38 <span style=\"color: #d35400\">or<\/span> fichaa==50 <span style=\"color: #d35400\">or<\/span> fichaa==60):\n        fichaa = fichaa - 3<\/code><\/pre>\n\n\n\n<p>Terminado el proceso anterior, se determina cu\u00e1l jugador gan\u00f3, observe que se supone que gana tiene inicialmente el valor de 0, para tener la opci\u00f3n de registrar un empate.<\/p>\n\n\n\n<p>Al final se muestran los resultados del juego simulado.<\/p>\n\n\n\n<p><em><strong>Tarea<\/strong><\/em>: Resolver con el lanzamiento de la moneda para ver cu\u00e1l inicia.<\/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><em>Algoritmo<\/em>:<\/p>\n\n\n\n<p><a href=\"#mientrasrepita\" data-type=\"internal\" data-id=\"#mientrasrepita\">mientras-repita<\/a><\/p>\n\n\n\n<p><a href=\"#repitahasta\" data-type=\"internal\" data-id=\"#repitahasta\">repita-hasta<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\" data-type=\"internal\" data-id=\"#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=\"mientrasrepita\">Algoritmo en Python: Mientras-Repita<\/h2>\n\n\n\n<p>Primero se presenta la soluci\u00f3n usando lazo \u201cMientras-Repita\u201d, luego se muestra la versi\u00f3n con el lazo \u201cRepita-Hasta\u201d que se puede escribir en otros lenguajes de programaci\u00f3n.<\/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# 1Eva_IIT2005_T4 Juego escaleras y serpientes\n# Propuesta de soluci\u00f3n: edelros@espol.edu.ec\n\nimport random as rnd\n\n# INGRESO\n# Sortear qui\u00e9n empieza\n\n# PROCEDIMIENTO\nllegada = 64\nfichaa = 0\nfichab = 0\n\nturno = 0\nwhile (fichaa&lt;llegada or fichab&lt;llegada):\n\n    # jugador A\n    dadoa = int(rnd.random()*6)+1\n    fichaa = fichaa + dadoa\n    if (fichaa==4 or fichaa==9 or fichaa==29 or fichaa==34 or fichaa==46):\n        fichaa = fichaa + 3\n    if (fichaa==8 or fichaa==19 or fichaa==38 or fichaa==50 or fichaa==60):\n        fichaa = fichaa - 3\n\n    #jugador B\n    dadob = int(rnd.random()*6)+1\n    fichab = fichab + dadob\n    if (fichab==4 or fichab==9 or fichab==29 or fichab==34 or fichab==46):\n        fichab = fichab + 3\n    if (fichab==8 or fichab==19 or fichab==38 or fichab==50 or fichab==60):\n        fichab = fichab - 3\n\n    turno = turno + 1\n\n# Revisa ganador\ngana = 0\nif fichaa &gt; fichab:\n    gana = 1\nif fichab &gt; fichaa:\n    gana = 2\n\n# SALIDA\nprint('gana el jugador: ')\nprint(gana)\nprint('turnos jugados:')\nprint(turno)\n<\/pre><\/div>\n\n\n<p>Ejecuci\u00f3n del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gana el jugador: \n2\nturnos jugados:\n16\n&gt;&gt;&gt; \ngana el jugador: \n2\nturnos jugados:\n16\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><em>Algoritmo<\/em>:<\/p>\n\n\n\n<p><a href=\"#mientrasrepita\" data-type=\"internal\" data-id=\"#mientrasrepita\">mientras-repita<\/a><\/p>\n\n\n\n<p><a href=\"#repitahasta\" data-type=\"internal\" data-id=\"#repitahasta\">repita-hasta<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\" data-type=\"internal\" data-id=\"#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=\"repitahasta\">Algoritmo en Python: Repita-Hasta<\/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_IIT2005_T4 Juego escaleras y serpientes\n# Propuesta de soluci\u00f3n. edelros@espol.edu.ec\n\nimport random as rnd\n\n# INGRESO\n# Sortear qui\u00e9n empieza \n# PROCEDIMIENTO\n\nllegada = 64\nfichaa = 0\nfichab = 0\n\nturno = 0\nwhile not(fichaa&gt;=llegada or fichab&gt;=llegada):\n\n    # jugador A\n    dadoa = int(rnd.random()*6)+1\n    fichaa = fichaa+dadoa\n    if (fichaa==4 or fichaa==9 or fichaa==29 or fichaa==34 or fichaa==46):\n        fichaa = fichaa+3\n    if (fichaa==8 or fichaa==19 or fichaa==38 or fichaa==50 or fichaa==60):\n        fichaa = fichaa - 3\n\n    #jugador B\n    dadob = int(rnd.random()*6)+1\n    fichab = fichab + dadob\n    if (fichab==4 or fichab==9 or fichab==29 or fichab==34 or fichab==46):\n        fichab = fichab + 3\n    if (fichab==8 or fichab==19 or fichab==38 or fichab==50 or fichab==60):\n        fichab = fichab - 3\n\n    turno = turno+1\n\ngana = 0\nif fichaa&gt;fichab:\n    gana = 1\n\nif fichab&gt;fichaa:\n    gana = 2\n\n# SALIDA\nprint('gana el jugador: ')\nprint(gana)\nprint('turnos jugados:')\nprint(turno)\n<\/pre><\/div>\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><em>Algoritmo<\/em>:<\/p>\n\n\n\n<p><a href=\"#mientrasrepita\" data-type=\"internal\" data-id=\"#mientrasrepita\">mientras-repita<\/a><\/p>\n\n\n\n<p><a href=\"#repitahasta\" data-type=\"internal\" data-id=\"#repitahasta\">repita-hasta<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\" data-type=\"internal\" data-id=\"#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=\"diagramaflujo\">Diagrama de Flujo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"191\" height=\"268\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaEscalerasSerpientes01.png\" alt=\"diagramaEscalerasSerpientes01\" class=\"wp-image-19255\" \/><\/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=\"394\" height=\"1053\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaEscalerasSerpientes02.png\" alt=\"diagramaEscalerasSerpientes02\" class=\"wp-image-19256\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"306\" height=\"495\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaEscalerasSerpientes03.png\" alt=\"diagramaEscalerasSerpientes03\" class=\"wp-image-19257\" \/><\/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><em>Algoritmo<\/em>:<\/p>\n\n\n\n<p><a href=\"#mientrasrepita\" data-type=\"internal\" data-id=\"#mientrasrepita\">mientras-repita<\/a><\/p>\n\n\n\n<p><a href=\"#repitahasta\" data-type=\"internal\" data-id=\"#repitahasta\">repita-hasta<\/a><\/p>\n\n\n\n<p><a href=\"#diagramaflujo\" data-type=\"internal\" data-id=\"#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: 1Eva2005TII_T4 Juego escaleras y serpientes Algoritmo: mientras-repita repita-hasta diagrama flujo En un primer bosquejo, no se considera el lanzar la moneda para ver cu\u00e1l jugador inicia, semejante al ajedrez en que las fichas blancas salen primero sin considerar el nombre del jugador. Para determinar las posiciones de las fichas en el tablero, se usar\u00e1n [&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-1232","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\/1232","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=1232"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1232\/revisions"}],"predecessor-version":[{"id":23573,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1232\/revisions\/23573"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}