{"id":1240,"date":"2014-03-22T08:55:46","date_gmt":"2014-03-22T13:55:46","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1240"},"modified":"2026-04-05T17:41:07","modified_gmt":"2026-04-05T22:41:07","slug":"s1eva2012tii_t3-hundir-barco-enemigo","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva20\/s1eva2012tii_t3-hundir-barco-enemigo\/","title":{"rendered":"s1Eva2012TII_T3 Hundir barco enemigo"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva20\/1eva2012tii_t3-hunde-el-barco-enemigo\/\" data-type=\"post\" data-id=\"3248\">1Eva2012TII_T3 Hundir barco enemigo<\/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<p>Ingrese el n\u00famero de municiones o disparos que se pueden hacer y las coordenadas del barco a hundir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n  = <span style=\"color: #ff00ff\">int<\/span>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'\u00bfCu\u00e1ntas municiones?: '<\/span>))\nbx = <span style=\"color: #ff00ff\">int<\/span>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'Barco \u00bfCoordenada bx?: '<\/span>))\nby = <span style=\"color: #ff00ff\">int<\/span>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'Barco \u00bfCoordenada by?: '<\/span>)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>eje y<\/td><td><strong>5<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td colspan=\"2\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" width=\"46\" height=\"62\" class=\"wp-image-16609\" style=\"width: 46px\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/BarcoPirata.gif\" alt=\"\"><\/td><\/tr><tr><td>&nbsp;<\/td><td><strong>4<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td><strong>3<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td><strong>2<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td>&nbsp;<\/td><td><strong>1<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><tr><td colspan=\"2\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" width=\"81\" height=\"40\" class=\"wp-image-237\" style=\"width: 81px\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/03\/canonpirata.gif\" alt=\"ca\u00f1on pirata\"><\/td><td><strong>1<\/strong><\/td><td><strong>2<\/strong><\/td><td><strong>3<\/strong><\/td><td><strong>4<\/strong><\/td><td><strong>5<\/strong><\/td><td>eje x<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Indique las coordenadas al punto de disparo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    <span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'\\nIntento '<\/span>+<span style=\"color: #ff00ff\">str<\/span>(disparo+1))\n    <span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'Barco enemigo en ('<\/span>+<span style=\"color: #ff00ff\">str<\/span>(bx)+<span style=\"color: #008000\">','<\/span>+<span style=\"color: #ff00ff\">str<\/span>(by)+<span style=\"color: #008000\">')'<\/span>)\n    cx = <span style=\"color: #ff00ff\">int<\/span>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'Disparo \u00bfCoordenada cx?: '<\/span>))\n    cy = <span style=\"color: #ff00ff\">int<\/span>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'Disparo \u00bfCoordenada cy?: '<\/span>))<\/code><\/pre>\n\n\n\n<p>Luego calcule el movimiento del barco de forma aleatoria como se indica en el enunciado. Mueva el barco a la nueva posici\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    d = <span style=\"color: #ff00ff\">int<\/span>(rnd.random()*4)+1 <span style=\"color: #ff0000\"># direccion<\/span>\n    p = <span style=\"color: #ff00ff\">int<\/span>(rnd.random()*3)+1 <span style=\"color: #ff0000\"># pasos<\/span>\n\n    <span style=\"color: #d35400\">if<\/span> d==1:\n        by = by + p\n    <span style=\"color: #d35400\">if<\/span> d==2:\n        by = by - p\n    <span style=\"color: #d35400\">if<\/span> d==3:\n        bx = bx + p\n    <span style=\"color: #d35400\">if<\/span> d==4:\n        bx = bx - p\n    <span style=\"color: #d35400\">if<\/span> (bx==cx <span style=\"color: #d35400\">and<\/span> by==cy):\n       hundido = 1<\/code><\/pre>\n\n\n\n<p>Compare si las coordenadas de disparo y la nueva posici\u00f3n del barco son iguales para confirmar hundimiento.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    <span style=\"color: #d35400\">if<\/span> (bx==cx <span style=\"color: #d35400\">and<\/span> by==cy):\n       hundido = 1<\/code><\/pre>\n\n\n\n<p>Sino repita la operaci\u00f3n desde el inicio de disparo hasta que se acaben las municiones.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">while<\/span> (disparo&lt;n <span style=\"color: #d35400\">and<\/span> hundido==0):<\/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\" 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_IIT2012_T3 Hundir barco enemigo\n# Propuesta de soluci\u00f3n. edelros@espol.edu.ec\n\nimport random as rnd\n\nn  = int(input('\u00bfCu\u00e1ntas municiones?: '))\nbx = int(input('Barco \u00bfCoordenada bx?: '))\nby = int(input('Barco \u00bfCoordenada by?: '))\n\nhundido = 0\ndisparo = 0\n\n# Juego\nwhile (disparo&lt;n and hundido==0):\n\n    print('\\nIntento '+str(disparo+1))\n    print('Barco enemigo en ('+str(bx)+','+str(by)+')')\n    cx = int(input('Disparo \u00bfCoordenada cx?: '))\n    cy = int(input('Disparo \u00bfCoordenada cy?: '))\n\n    d = int(rnd.random()*4)+1 # direccion\n    p = int(rnd.random()*3)+1 # pasos\n\n    if d==1:\n        by = by + p\n    if d==2:\n        by = by - p\n    if d==3:\n        bx = bx + p\n    if d==4:\n        bx = bx - p\n    if (bx==cx and by==cy):\n       hundido = 1\n\n    disparo = disparo+1\n\n    print('Movimiento direccion:',d,\n          ' con:',p,'casillas')\n    print('Disparados: ',disparo)\n    print('   Hundido: ',hundido)\n\n# SALIDA\nprint('Barco Hundido:', hundido)\nprint('Disparos realizados:',disparo)\n<\/pre><\/div>\n\n\n<p>Resultado del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u00bfCu\u00e1ntas municiones?: 5\nBarco \u00bfCoordenada bx?: 10\nBarco \u00bfCoordenada by?: 10\n\nIntento 1\nBarco enemigo en (10,10)\nDisparo \u00bfCoordenada cx?: 10\nDisparo \u00bfCoordenada cy?: 11\nMovimiento direccion: 4  con: 1 casillas\nDisparados:  1\n   Hundido:  0\n\nIntento 2\nBarco enemigo en (9,10)\nDisparo \u00bfCoordenada cx?: 9\nDisparo \u00bfCoordenada cy?: 11\nMovimiento direccion: 1  con: 1 casillas\nDisparados:  2\n   Hundido:  1\nBarco Hundido: 1\nDisparos realizados: 2\n&gt;&gt;&gt; \n<\/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\" id=\"diagramaflujo\">Diagrama de Flujo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"735\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaHundeBarco01.png\" alt=\"diagrama Hunde Barco 01\" class=\"wp-image-19370\" \/><\/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=\"334\" height=\"487\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaHundeBarco02.png\" alt=\"diagrama Hunde Barco 02\" class=\"wp-image-19371\" \/><\/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: 1Eva2012TII_T3 Hundir barco enemigo algoritmo diagrama flujo Ingrese el n\u00famero de municiones o disparos que se pueden hacer y las coordenadas del barco a hundir. eje y 5 &nbsp; &nbsp; &nbsp; &nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&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":[130],"tags":[58,157],"class_list":["post-1240","post","type-post","status-publish","format-standard","hentry","category-fp-s1eva20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1240","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=1240"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1240\/revisions"}],"predecessor-version":[{"id":23624,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1240\/revisions\/23624"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}