{"id":382,"date":"2022-10-04T15:18:26","date_gmt":"2022-10-04T13:18:26","guid":{"rendered":"http:\/\/quadern-programacio.recursos.uoc.edu\/?page_id=382"},"modified":"2022-10-04T15:18:26","modified_gmt":"2022-10-04T13:18:26","slug":"3-8-funciones-con-valores-de-retorno","status":"publish","type":"page","link":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/3-8-funciones-con-valores-de-retorno\/","title":{"rendered":"3.8. Funciones con valores de retorno"},"content":{"rendered":"<p>Podemos tambi\u00e9n crear funciones que realicen una serie de c\u00e1lculos y nos devuelvan el resultado de esos c\u00e1lculos para utilizarlos en nuestro c\u00f3digo. El valor que nos devuelva la funci\u00f3n podemos almacenarlo en una variable o utilizarlo directamente como par\u00e1metro para otra funci\u00f3n.<\/p>\n<p>Para usar funciones con valores de retorno, podemos realizar los c\u00e1lculos que queramos dentro del cuerpo de la funci\u00f3n, pero necesitaremos la palabra clave <span class=\"courier\">return<\/span> en la \u00faltima l\u00ednea del cuerpo precediendo el valor que queremos que sea retornado. Lo haremos de la siguiente manera:<\/p>\n<figure id=\"attachment_106\" aria-describedby=\"caption-attachment-106\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"size-full wp-image-106\" src=\"\/wp-content\/uploads\/2022\/10\/PID_00290094_036.jpg\" alt=\"\" width=\"800\" height=\"307\" srcset=\"\/wp-content\/uploads\/2022\/10\/PID_00290094_036.jpg 800w, \/wp-content\/uploads\/2022\/10\/PID_00290094_036-300x115.jpg 300w, \/wp-content\/uploads\/2022\/10\/PID_00290094_036-768x295.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-106\" class=\"wp-caption-text\">Figura 37. Funci\u00f3n con return<br \/>Fuente: elaboraci\u00f3n propia.<\/figcaption><\/figure>\n<p>En la figura 37 podemos ver c\u00f3mo utilizamos la funci\u00f3n <span class=\"courier\">celsiusToFarenheit()<\/span> para, a partir de un valor en grados Celsius, convertir ese valor a grados Farenheit por medio de una serie de operaciones. Primero pasamos el valor de la variable <span class=\"courier\">grados<\/span> a la funci\u00f3n <span class=\"courier\">celsiusToFarenheit()<\/span> como par\u00e1metro; en el cuerpo de la funci\u00f3n creamos una variable para guardar el resultado de las operaciones que vamos a realizar con ese valor y, por \u00faltimo, retornamos el valor ya convertido.<\/p>\n<p>Veamos otro ejemplo muy sencillo en el que usemos el valor retornado como par\u00e1metro de otra funci\u00f3n:<\/p>\n<p><figure id=\"attachment_108\" aria-describedby=\"caption-attachment-108\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"size-full wp-image-108\" src=\"\/wp-content\/uploads\/2022\/10\/PID_00290094_037.jpg\" alt=\"\" width=\"800\" height=\"415\" srcset=\"\/wp-content\/uploads\/2022\/10\/PID_00290094_037.jpg 800w, \/wp-content\/uploads\/2022\/10\/PID_00290094_037-300x156.jpg 300w, \/wp-content\/uploads\/2022\/10\/PID_00290094_037-768x398.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-108\" class=\"wp-caption-text\">Figura 38. Funci\u00f3n con <span class=\"courier\">return<\/span> utilizada como par\u00e1metro<br \/>Fuente: elaboraci\u00f3n propia.<\/figcaption><\/figure>El ejemplo anterior nos sirve para entender c\u00f3mo funcionan las funciones con <span class=\"courier\">return<\/span>, pero en este caso ser\u00eda mucho m\u00e1s sencillo usar directamente <span class=\"courier\">circle(300, height * 0.5, valor1 + valor2);<\/span> en la l\u00ednea 15.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Podemos tambi\u00e9n crear funciones que realicen una serie de c\u00e1lculos y nos devuelvan el resultado de esos c\u00e1lculos para utilizarlos en nuestro c\u00f3digo. El valor que nos devuelva la funci\u00f3n podemos almacenarlo en una variable o utilizarlo directamente como par\u00e1metro para otra funci\u00f3n. Para usar funciones con valores de retorno, podemos realizar los c\u00e1lculos que [&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-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/382"}],"collection":[{"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/comments?post=382"}],"version-history":[{"count":1,"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/382\/revisions"}],"predecessor-version":[{"id":383,"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/382\/revisions\/383"}],"wp:attachment":[{"href":"http:\/\/quadern-programacio.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/media?parent=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}