{"id":798,"date":"2019-08-19T10:51:31","date_gmt":"2019-08-19T08:51:31","guid":{"rendered":"http:\/\/quadern-tpi.recursos.uoc.edu\/2-4-1-introduccio\/"},"modified":"2019-10-15T12:35:24","modified_gmt":"2019-10-15T10:35:24","slug":"2-4-1-introduccio","status":"publish","type":"page","link":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/2-4-1-introduccio\/","title":{"rendered":"2.4.1. Introducci\u00f3n"},"content":{"rendered":"<p>En el men\u00fa \u00abOperadores\u00bb de Snap! hay un bloque denominado <strong>\u00abN\u00famero al azar entre X e Y\u00bb<\/strong> que nos facilita introducir la aleatoriedad en nuestros programas.<\/p>\n<p>Ve\u00e1moslo con un ejemplo sencillo. Haremos un programa que repita mil veces \u00abdibujar una peque\u00f1a l\u00ednea\u00bb usando un bucle, y que despu\u00e9s realice un \u00e1ngulo aleatorio (por ejemplo, entre \u201345 y 45\u00b0). Tambi\u00e9n haremos que rebote si el personaje llega al l\u00edmite del escenario. A continuaci\u00f3n ten\u00e9is el sencillo c\u00f3digo de este programa y la visualizaci\u00f3n de su ejecuci\u00f3n. Cada vez que lo ejecutemos, el resultado final ser\u00e1 diferente: hemos generado impredecibilidad.<\/p>\n<figure id=\"attachment_1296\" aria-describedby=\"caption-attachment-1296\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"wp-image-1296 size-full\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_27_cast.jpg\" alt=\"\" width=\"800\" height=\"898\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_27_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_27_cast-267x300.jpg 267w, \/wp-content\/uploads\/2019\/10\/20.212_27_cast-768x862.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-1296\" class=\"wp-caption-text\"><a href=\"https:\/\/snap.berkeley.edu\/snapsource\/snap.html#present:Username=uoc_tpi&amp;ProjectName=aleatori%20senzill\" target=\"_blank\" rel=\"noopener noreferrer\">C\u00f3digo del programa<\/a><\/figcaption><\/figure>\n<p>En esta clase de proyectos es interesante no solo el resultado final: el mismo proceso de ejecuci\u00f3n puede ser una parte de la obra, ya que generamos movimiento mientras la producimos. En la gu\u00eda 4 hablaremos con detalle del movimiento.<\/p>\n<p>Volviendo al ejemplo anterior, hemos hecho que el giro sea aleatorio, pero podr\u00edamos a\u00f1adir impredecibilidad con otros par\u00e1metros. Repetiremos el programa, pero en esta ocasi\u00f3n haciendo que la distancia que avanza tambi\u00e9n sea aleatoria (entre 5 y 50 pasos) y que el color de cada segmento tambi\u00e9n sea aleatorio (entre 0-rojo y 170-magenta).<\/p>\n<p>Fij\u00e9monos en que al construir el programa, lo que hacemos en realidad es definir las reglas de producci\u00f3n de la obra:<\/p>\n<ol>\n<li><strong>Repite 1.000 veces.<\/strong><\/li>\n<li><strong>Avanza un n\u00famero aleatorio de pasos entre 5 y 50.<\/strong><\/li>\n<li><strong>Gira un n\u00famero aleatorio de grados entre \u201345 y 45.<\/strong><\/li>\n<li><strong>Fija el color en un n\u00famero entre 0 y 170.<\/strong><\/li>\n<li><strong>Rebota si tocas los m\u00e1rgenes.<\/strong><\/li>\n<\/ol>\n<figure id=\"attachment_1298\" aria-describedby=\"caption-attachment-1298\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"wp-image-1298 size-full\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_28_cast.jpg\" alt=\"\" width=\"800\" height=\"934\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_28_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_28_cast-257x300.jpg 257w, \/wp-content\/uploads\/2019\/10\/20.212_28_cast-768x897.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-1298\" class=\"wp-caption-text\"><a href=\"https:\/\/snap.berkeley.edu\/snapsource\/snap.html#present:Username=uoc_tpi&amp;ProjectName=aleatori%20senzill_v2\" target=\"_blank\" rel=\"noopener noreferrer\">C\u00f3digo del programa<\/a><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>En el men\u00fa \u00abOperadores\u00bb de Snap! hay un bloque denominado \u00abN\u00famero al azar entre X e Y\u00bb que nos facilita introducir la aleatoriedad en nuestros programas. Ve\u00e1moslo con un ejemplo sencillo. Haremos un programa que repita mil veces \u00abdibujar una peque\u00f1a l\u00ednea\u00bb usando un bucle, y que despu\u00e9s realice un \u00e1ngulo aleatorio (por ejemplo, entre [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/798"}],"collection":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/comments?post=798"}],"version-history":[{"count":4,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/798\/revisions"}],"predecessor-version":[{"id":1300,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/798\/revisions\/1300"}],"wp:attachment":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/media?parent=798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}