{"id":5450,"date":"2020-01-29T05:30:43","date_gmt":"2020-01-29T03:30:43","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=5450"},"modified":"2020-02-05T08:01:33","modified_gmt":"2020-02-05T06:01:33","slug":"cocientes-y-restos-de-la-transformacion-decimal","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/cocientes-y-restos-de-la-transformacion-decimal\/","title":{"rendered":"Cocientes y restos de la transformaci\u00f3n decimal"},"content":{"rendered":"<p>La transformaci\u00f3n de una fracci\u00f3n en un n\u00famero decimal se realiza mediante una sucesi\u00f3n de divisiones. Por ejemplo, para transformar a decimal la fracci\u00f3n<\/p>\n<pre lang=\"text\">\n   247813    |19980\n  -19980     ---------------\n  -------     12.40305305...\n    48013\n   -39960\n   ------\n     80530\n    -79920\n    ------\n       6100\n      -   0\n      -----\n       61000\n      -59940\n      ------\n        10600\n       -    0\n       ------\n        106000\n       - 99900\n       -------\n          61000\n          -59940\n          ------\n           10600\n          -    0\n          ------\n          106000\n         - 99900\n         -------\n           61000\n<\/pre>\n<p>La transformaci\u00f3n anterior se puede representar mediante la siguiente lista de cocientes y restos<\/p>\n<pre lang=\"text\">\n   [(12,8053),(4,610),(0,6100),(3,1060),(0,10600),(5,6100),\n                               (3,1060),(0,10600),(5,6100)]\n<\/pre>\n<p>Definir la funci\u00f3n<\/p>\n<pre lang=\"text\">\n   cocientesRestos :: (Integer,Integer) -> [(Integer,Integer)]\n<\/pre>\n<p>tal que (cocientesRestos (n,d)) es la lista de los cocientes y restos de la transformaci\u00f3n decimal de la fracci\u00f3n n\/d como se ha indicado anteriormente. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   \u03bb> take 9 (cocientesRestos (247813,19980))\n   [(12,8053),(4,610),(0,6100),(3,1060),(0,10600),(5,6100),\n                               (3,1060),(0,10600),(5,6100)]\n   \u03bb> take 10 (cocientesRestos (6,2))\n   [(3,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0)]\n   \u03bb> take 10 (cocientesRestos (1,2))\n   [(0,1),(5,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0)]\n   \u03bb> take 10 (cocientesRestos (1,3))\n   [(0,1),(3,1),(3,1),(3,1),(3,1),(3,1),(3,1),(3,1),(3,1),(3,1)]\n   \u03bb> take 10 (cocientesRestos (23,14))\n   [(1,9),(6,6),(4,4),(2,12),(8,8),(5,10),(7,2),(1,6),(4,4),(2,12)]\n<\/pre>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\ncocientesRestos :: (Integer,Integer) -> [(Integer,Integer)]\ncocientesRestos (n,d) =\n  (q,r) : cocientesRestos (10*r, d)\n  where (q,r) = quotRem n d\n<\/pre>\n<h4>Otras soluciones<\/h4>\n<ul>\n<li>Se pueden escribir otras soluciones en los comentarios.\n<li>El c\u00f3digo se debe escribir entre una l\u00ednea con &#60;pre lang=\u00bbhaskell\u00bb&#62; y otra con &#60;\/pre&#62;\n<\/ul>\n<h4>Pensamiento<\/h4>\n<blockquote><p>\n\u00abHay dos maneras de dise\u00f1ar un software. Una forma es hacerlo tan simple que obviamente no haya deficiencias. Y la otra forma es hacerlo tan complicado que no haya deficiencias obvias.\u00bb <\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tony_Hoare\">Tony Hoare<\/a>.\n<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>La transformaci\u00f3n de una fracci\u00f3n en un n\u00famero decimal se realiza mediante una sucesi\u00f3n de divisiones. Por ejemplo, para transformar a decimal la fracci\u00f3n 247813 |19980 -19980 &#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;- 12.40305305&#8230; 48013 -39960 &#8212;&#8212; 80530 -79920 &#8212;&#8212; 6100 &#8211; 0 &#8212;&#8211; 61000 -59940 &#8212;&#8212; 10600 &#8211; 0 &#8212;&#8212; 106000 &#8211; 99900 &#8212;&#8212;- 61000 -59940 &#8212;&#8212; 10600&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[7],"tags":[415,254,6],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/5450"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/comments?post=5450"}],"version-history":[{"count":6,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/5450\/revisions"}],"predecessor-version":[{"id":5530,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/5450\/revisions\/5530"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=5450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=5450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=5450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}