{"id":1248,"date":"2014-03-04T10:10:37","date_gmt":"2014-03-04T15:10:37","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1248"},"modified":"2026-04-05T17:21:34","modified_gmt":"2026-04-05T22:21:34","slug":"s1eva2004tii_t3-estimar-%cf%80-por-montecarlo","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva10\/s1eva2004tii_t3-estimar-%cf%80-por-montecarlo\/","title":{"rendered":"s1Eva2004TII_T3 Estimar \u03c0 por Montecarlo"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva10\/1eva2004tii_t3-estimar-%cf%80-por-montecarlo\/\" data-type=\"post\" data-id=\"3128\">1Eva2004TII_T3 Estimar \u03c0 por Montecarlo<\/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\" data-type=\"internal\" data-id=\"#algoritmo\">algoritmo<\/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<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"265\" height=\"190\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/circulo02.png\" alt=\"c\u00edrculo centrado en origen radio 100\" class=\"wp-image-16363\" \/><\/figure>\n\n\n\n<p>Ingresar la cantidad de puntos <strong>n<\/strong> para ubicar en el plano de forma aleatoria dentro del rango del cuadrado que contiene al c\u00edrculo.&nbsp; <\/p>\n\n\n\n<p>Usar una variable <strong>k<\/strong> como el <em>contador<\/em> para los puntos que caen dentro del c\u00edrculo.<\/p>\n\n\n\n<p>Al generar aleatoriamente cada punto (<strong>x<\/strong>,<strong>y<\/strong>), se puede calcular la distancia al centro usando Pit\u00e1goras.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> d= \\sqrt{x^2 +y^2} <\/span>\n\n\n\n<p>Se repite el proceso para <strong>n<\/strong> puntos y al final se calcula el valor <strong>estimado<\/strong> de <strong>pi<\/strong> seg\u00fan la relaci\u00f3n del enunciado.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{k}{n} =\\frac{\\pi}{4}<\/span>\n\n\n\n<p><em><strong>Nota<\/strong><\/em>: no se usa como variable la palabra \u201cpi\u201d debido a que es nombre de variable reservada.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Matrices como Arreglos y N\u00fameros Aleatorios en Python. Ejercicio: Estimar \u03c0 con m\u00e9todo de Montecarlo\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/OGPG1gzZHMw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/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\" data-type=\"internal\" data-id=\"#algoritmo\">algoritmo<\/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=\"algoritmo\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva_IIT2004_T3 Estimar Pi por Montecarlo\n# Propuesta de soluci\u00f3n. edelros@espol.edu.ec\n# se usa todo el c\u00edrculo\nimport random as rnd\nimport numpy as np\n\n# INGRESO\nn = int(input('\u00bfCu\u00e1ntos puntos?: '))\nradio = 1\n\n# PROCEDIMIENTO\npunto = np.zeros(shape=(n,2),dtype=float)\nk = 0\ni = 0\nwhile i&lt;n:\n    x = rnd.random()*(2*radio)-1\n    y = rnd.random()*(2*radio)-1\n\n    d = np.sqrt(x**2+y**2)\n    if d&lt;=radio:\n        k = k + 1\n    punto&#x5B;i] = &#x5B;x,y]\n    i = i + 1\n\nestimadopi = 4*k\/n\n\n# SALIDA\nprint(k,n)\nprint('estimador pi: ', estimadopi)\nprint(punto)\n<\/pre><\/div>\n\n\n<p>la estimaci\u00f3n de \u03c0 con n\u00fameros aleatorios que se ubican dentro del c\u00edrculo de radio 1 es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u00bfCu\u00e1ntos puntos?: 1000\n781 1000\nestimador pi:  3.124\n&#091;&#091; 0.15581724  0.43992571]\n &#091;-0.11114653 -0.86426905]\n &#091; 0.51257751 -0.1969925 ]\n ...\n &#091; 0.26965478 -0.01555604]\n &#091;-0.89575602  0.56077385]\n &#091; 0.33467618 -0.59497405]]\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\" data-type=\"internal\" data-id=\"#algoritmo\">algoritmo<\/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\">Diagrama de Flujo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"248\" height=\"705\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2014\/03\/diagramaPiMonteCarlo01.png\" alt=\"diagramaPiMonteCarlo01\" class=\"wp-image-19233\" \/><\/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\" data-type=\"internal\" data-id=\"#algoritmo\">algoritmo<\/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: 1Eva2004TII_T3 Estimar \u03c0 por Montecarlo algoritmo diagrama flujo Ingresar la cantidad de puntos n para ubicar en el plano de forma aleatoria dentro del rango del cuadrado que contiene al c\u00edrculo.&nbsp; Usar una variable k como el contador para los puntos que caen dentro del c\u00edrculo. Al generar aleatoriamente cada punto (x,y), se puede [&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-1248","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\/1248","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=1248"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1248\/revisions"}],"predecessor-version":[{"id":23580,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1248\/revisions\/23580"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}