<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://es.wikieducator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Usuario%3AManuelRomero%2FProgramacionWeb%2FINAEM2021%2FFunciones</id>
		<title>Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Usuario%3AManuelRomero%2FProgramacionWeb%2FINAEM2021%2FFunciones"/>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;action=history"/>
		<updated>2026-06-20T00:50:00Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.23.14</generator>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30795&amp;oldid=prev</id>
		<title>ManuelRomero en 05:18 13 dic 2023</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30795&amp;oldid=prev"/>
				<updated>2023-12-13T05:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 05:18 13 dic 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{MRM_Objetivos_generales|Title=Qué veremos aquí|&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Las funciones nos van a permitir realizar código modular&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Estos pequeños módulos serán funciones que vamos creando &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Las funciones mejorarán mucho nuestros programas&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Este concepto es la base de la programación&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Nos va a permitir dividir un programa en módulos más pequeños y manejables. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* El uso de funciones facilita la organización del código y mejora la legibilidad&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30793&amp;oldid=prev</id>
		<title>ManuelRomero: Página reemplazada por «{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}»</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30793&amp;oldid=prev"/>
				<updated>2023-12-13T05:03:57Z</updated>
		
		<summary type="html">&lt;p&gt;Página reemplazada por «{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}»&lt;/p&gt;
&lt;a href=&quot;https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;amp;diff=30793&amp;amp;oldid=30792&quot;&gt;Mostrar los cambios&lt;/a&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30792&amp;oldid=prev</id>
		<title>ManuelRomero en 05:03 13 dic 2023</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30792&amp;oldid=prev"/>
				<updated>2023-12-13T05:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 05:03 13 dic 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/nav}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=parrafo&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=parrafo&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30788&amp;oldid=prev</id>
		<title>ManuelRomero en 05:01 13 dic 2023</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30788&amp;oldid=prev"/>
				<updated>2023-12-13T05:01:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 05:01 13 dic 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/nav}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones/nav}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=parrafo&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=parrafo&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Funciones==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Funciones==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30787&amp;oldid=prev</id>
		<title>ManuelRomero: Página creada con «&lt;div class=parrafo&gt; ==Funciones== &lt;br /&gt; {{MRM_Objetivo| ;Las funciones es un elemento  fundamental *Permite crear código modular *Una forma de estructurar nuestro program...»</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Funciones&amp;diff=30787&amp;oldid=prev"/>
				<updated>2023-12-13T04:59:51Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con «&amp;lt;div class=parrafo&amp;gt; ==Funciones== &amp;lt;br /&amp;gt; {{MRM_Objetivo| ;Las funciones es un elemento  fundamental *Permite crear código modular *Una forma de estructurar nuestro program...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=parrafo&amp;gt;&lt;br /&gt;
==Funciones==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Objetivo|&lt;br /&gt;
;Las funciones es un elemento  fundamental&lt;br /&gt;
*Permite crear código modular&lt;br /&gt;
*Una forma de estructurar nuestro programa&lt;br /&gt;
}}&lt;br /&gt;
;Qué son las funciones&lt;br /&gt;
{{MRM_Definicion|&lt;br /&gt;
*Una función es una declaración de un conjunto de instrucciones que indentificamos  con un nombre, al que le vamos a asignar una serie de acciones o instrucciones y de su ejecución podemos o no obtener un valor como resultado de su ejecución &lt;br /&gt;
}}&lt;br /&gt;
{{MRM_Puntos clave |Title =Son muy importantes|&lt;br /&gt;
;Las funciones son la base de la programación modular:&lt;br /&gt;
 Creamos nuestro programa como módulos que van haciendo acciones&lt;br /&gt;
;Una función agrupa una serie de instrucciones relacionadas semáticamente&lt;br /&gt;
 Por ejemplo mostrar_menu(), validar_usuario($usuario), dame_numero_par() &lt;br /&gt;
;El identificador a de ser significativo semánticamente&lt;br /&gt;
 Solo con leer el identificado debemos intuir qué hace esa función&lt;br /&gt;
;Va a evitar duplicar código&lt;br /&gt;
 Si vemos un conjunto de accinoes que repetimos muchas veces, &lt;br /&gt;
 va a ser un claro indicador de que debemos de crear una función&lt;br /&gt;
;Va a permitir hacer código más legible&lt;br /&gt;
 Un código mucho más fácil de leer&lt;br /&gt;
;Es una decisión del programador&lt;br /&gt;
 No debemos obsesionarnos con crear funciones.&lt;br /&gt;
 Surgirán según las veamos y concivamos,&lt;br /&gt;
;Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función&lt;br /&gt;
}}&lt;br /&gt;
{{MRM_Puntos clave |Title =Valor de retorno:Acciones o Procedimientos|&lt;br /&gt;
;Existen una diferencia en cuanto a que retorne o no un valor&lt;br /&gt;
*Es este un concepto matemático:&lt;br /&gt;
 Si una función no retorna valor, en realidad se llama procedimiento&lt;br /&gt;
  &amp;lt;source lang=php&amp;gt;&lt;br /&gt;
   function saludo(){&lt;br /&gt;
     echo &amp;quot;Hola cómo estás&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 Si una función devuelve un valor, es propiamente una función &lt;br /&gt;
*En otros lenguajes de programación, existe la diferencia entre función y procedimiento. En php no&lt;br /&gt;
*Cuando una función retorna un valor, usamos la palabra reservada '''''return'''''&lt;br /&gt;
}}&lt;br /&gt;
{{MRM_Puntos clave |Title =Los parámetros|&lt;br /&gt;
;A una función le podemos pasar una serie de valores para que haga algo&lt;br /&gt;
*Estos valores que le pasamos se llaman Parámetros&lt;br /&gt;
* por ejemplo&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
 function sumar ( $num1, $num2){&lt;br /&gt;
  $suma = $num1+$num2;&lt;br /&gt;
  return $num1+$num2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
 Creamos nuestro programa como módulos que van haciendo acciones&lt;br /&gt;
;Una función agrupa una serie de instrucciones relacionadas semáticamente&lt;br /&gt;
 Por ejemplo mostrar_menu(), validar_usuario($usuario), dame_numero_par() &lt;br /&gt;
;El identificador a de ser significativo semánticamente&lt;br /&gt;
 Solo con leer el identificado debemos intuir qué hace esa función&lt;br /&gt;
;Va a evitar duplicar código&lt;br /&gt;
 Si vemos un conjunto de accinoes que repetimos muchas veces, &lt;br /&gt;
 va a ser un claro indicador de que debemos de crear una función&lt;br /&gt;
;Va a permitir hacer código más legible&lt;br /&gt;
 Un código mucho más fácil de leer&lt;br /&gt;
;Es una decisión del programador&lt;br /&gt;
 No debemos obsesionarnos con crear funciones.&lt;br /&gt;
 Surgirán según las veamos y concivamos,&lt;br /&gt;
;Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
===Declaración de funciones===&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
function nombreFuncion ($paramFormal1, $paramFormal2 ,...){&lt;br /&gt;
  //Instrucciones de la función&lt;br /&gt;
  return $valorRetorno //Opcionalmente en caso de que devuelva algún valor la función&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
*Es importante diferenciar entre declarar una función e invocar a una función&lt;br /&gt;
*Algo obvio, pero importante&lt;br /&gt;
*En la declaración tenemos tres partes&lt;br /&gt;
#nombre o identificación de funciones&lt;br /&gt;
#parámetros formales entre paréntesis (Estos han de existir, aunque no haya parámetros)&lt;br /&gt;
#Cuerpo de la función, dentro de él puede estar la instrucción return, en cuyo momento termina la ejecución de la función y se vuelve a la siguiente instrucción del programa, siguiente a la invocación de la función.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
;Identificador de función&lt;br /&gt;
* El nombre de función es un identificador que empieza por una letra o guión bajo, seguido 0 o muchas letras, números o guiones bajos  &lt;br /&gt;
{{Tip|Expresión regular para el identificador de funciones &lt;br /&gt;
 '''''[a-zA-Z_f_][a-zA-Z0-9_]*'''''&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
;Parámetros formales&lt;br /&gt;
*Son nombres de variables que usaré al escribir el código o cuerpo de la función&lt;br /&gt;
*El nombre ha de ser significativo y se convertirán en variables locales a la función&lt;br /&gt;
*Una vez que se termina la función estas variables desaparecerán de memoria&lt;br /&gt;
{{MRM_Puntos clave|Title=parámetros formales|&lt;br /&gt;
Los parámetros formales son variables locales a la función}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
===Proceso de creación / invocación de una función===&lt;br /&gt;
;Lo primero es declarar una función&lt;br /&gt;
*Esto implica dejar una zona de memoria identificada con el nombre de la función&lt;br /&gt;
*En contenido de esas posiciones de memoria serán las acciones de la función&lt;br /&gt;
*Estas acciones estarán establecidas no con valores reales, sino con los parámetros de la declaración&lt;br /&gt;
*Estos parámetros se conocen como parámetros formales&lt;br /&gt;
[[Archivo:declaracion_funcion.png]]&lt;br /&gt;
;Invocación de función&lt;br /&gt;
*Es un tipo de instrucción, invocar a una acción o función.&lt;br /&gt;
[[Archivo:invocacion_funcion_1.png]]&lt;br /&gt;
*lo primero que ocurrirá es que voy a esa zona de memoria&lt;br /&gt;
[[Archivo:invocacion_funcion_2.png]]&lt;br /&gt;
*Lo siguiente es dar los valores reales (de la invocación) a los parámetros de la función (de la declaracion.&lt;br /&gt;
[[Archivo:invocacion_funcion_3.png]]&lt;br /&gt;
*Una vez que la función termina  de ejecutarse, se retornará a la instrucción siguiente de la invocación&lt;br /&gt;
*Si la función devuelve algún valor, se recogerá y asignará a la variable de la instrucción de asignación desde la cual se invocó&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
{{MRM_Actividad|Title=Ejercicio usando funciones|&lt;br /&gt;
'''''Haz un programa donde en el programa principal se creen dos variables $a y $b'''''&lt;br /&gt;
*Crea una función que reciba como parámetros locales '''''$a''''' y '''''$b'''''&lt;br /&gt;
*La función visualizará el valor de las variables, las modificará y las volverá a visualizar&lt;br /&gt;
*El programa principal &lt;br /&gt;
#asignará valor a las variables&lt;br /&gt;
#las visualizará&lt;br /&gt;
#invocará a la función&lt;br /&gt;
#volverá a visualizar las variables&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
*Una posible solución&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;    &amp;lt;?php&lt;br /&gt;
       function a($a, $b){&lt;br /&gt;
           echo &amp;quot;Dentro de la función visualizando valores &amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
           echo &amp;quot;Valor de los parámetros \$a = $a \$b = $b &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
           $a+=5;&lt;br /&gt;
           $b+=5;&lt;br /&gt;
           echo &amp;quot;Valor de los parámetros \$a = $a \$b = $b &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
           echo &amp;quot;Salgo de la función&amp;quot;;&lt;br /&gt;
       }&lt;br /&gt;
       //Ahora considero programa principal&lt;br /&gt;
       $a=100;&lt;br /&gt;
       $b=200;&lt;br /&gt;
       echo &amp;quot;En el main antes de invocar a la función visualizando variables&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
       echo &amp;quot;Valor de variables \$a = $a \$b = $b &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
       a($a,$b);&lt;br /&gt;
       echo &amp;quot;En el mail  después de invocar a la función visualizando variables&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
       echo &amp;quot;Valor de variables \$a = $a \$b = $b &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parámetros formales: Valores y referencias===&lt;br /&gt;
*Cómo hemos visto, los parámetros formales son valores pasados en la invocación a la función&lt;br /&gt;
*Si queremos que la función pueda modificar el valor de los valores de los parámetros, en este caso hemos de pasarlos por referencia&lt;br /&gt;
*En este caso lo que ocurre en realidad es que pasamos la dirección de memoria dónde se guarda el valor.&lt;br /&gt;
*La dirección de memoria, no la podremos visualizar ni operar con ella, pues en php no existe la aritmética de punteros o direcciones de memoria&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
;Parámetros formales: Valores y referencias&lt;br /&gt;
Para pasar el parámetro por referencia, simplemente hay que poner el símbolo de dirección de memoria '''''&amp;amp;''''' antes del nombre de la variable en la declaración de parámetros&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
function nombre_funcion(&amp;amp;$paramRef1, &amp;amp;$paramRef2, $paramVal1){&lt;br /&gt;
   ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
{{MRM_Actividad|Title=Ejercicio usando funciones parámetros|&lt;br /&gt;
'''''Haz un programa donde en el programa principal se creen dos variables $a y $b y $c'''''&lt;br /&gt;
*Crea una función que reciba como parámetros locales '''''&amp;amp;$num1''''','''''&amp;amp;$num2''''' y '''''$num3'''''&lt;br /&gt;
*La función visualizará el valor de las variables, las modificará y las volverá a visualizar&lt;br /&gt;
*El programa principal &lt;br /&gt;
#asignará valor a las variables&lt;br /&gt;
#las visualizará&lt;br /&gt;
#invocará a la función&lt;br /&gt;
#volverá a visualizar las variables&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?php&lt;br /&gt;
       function a(&amp;amp;$num1, &amp;amp;$num2, $num3){&lt;br /&gt;
           echo &amp;quot;Dentro de la función visibilizando valores &amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
           echo &amp;quot;Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
           $num1+=5;&lt;br /&gt;
           $num2+=5;&lt;br /&gt;
           $num3+=5;&lt;br /&gt;
           &lt;br /&gt;
           echo &amp;quot;Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
           echo &amp;quot;Salgo de la función&amp;quot;;&lt;br /&gt;
       }&lt;br /&gt;
       //Ahora considero programa principal&lt;br /&gt;
       $a=100;&lt;br /&gt;
       $b=200;&lt;br /&gt;
       $c=300;&lt;br /&gt;
       echo &amp;quot;En el main antes de invocar a la función visualizando variables&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
       echo &amp;quot;Valor de variables \$a = $a \$b = $b \$c = $c &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
       a($a,$b,$c);&lt;br /&gt;
       echo &amp;quot;En el mail  después de invocar a la función visualizando variables&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
       echo &amp;quot;Valor de variables \$a = $a \$b = $b \$c = $c &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
;Invocando funciones&lt;br /&gt;
*Una vez creada una función la podemos invocar como si fuera una instrucción del lenguaje&lt;br /&gt;
*No sin razón en determinados ambientes se conoce a las funciones y procedimientos como instrucciones virtuales ...&lt;br /&gt;
*En php puedo invocar a una función antes de declararla, siempre que la declare en el mismo fichero&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MRM_Ejemplo|Title = ejemplo invocación a funciones|&lt;br /&gt;
{{Tip|Este código funcionará correctamente}}&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
      a(5,6);  &lt;br /&gt;
      /*Mas instrucciones*/&lt;br /&gt;
      function a ($a, $b){&lt;br /&gt;
          echo &amp;quot;valor de $a&amp;quot;;&lt;br /&gt;
          echo &amp;quot;valor de $b&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=slide&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MRM_Ejemplo|Title = ejemplo invocación a funciones|&lt;br /&gt;
{{Tip|Este código no  funcionará }}&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
      a(5,6);  &lt;br /&gt;
      /*Mas instrucciones*/&lt;br /&gt;
      include (&amp;quot;funciones.php&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Contenido del ficheor funciones.php&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function a ($a, $b){&lt;br /&gt;
          echo &amp;quot;valor de $a&amp;quot;;&lt;br /&gt;
          echo &amp;quot;valor de $b&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;slide&amp;quot;&amp;gt;&lt;br /&gt;
===Variables dentro de una función===&lt;br /&gt;
*Dentro de una función las variables que declaremos son locales a esa función.&lt;br /&gt;
*No podré acceder a su valor fuera de la función&lt;br /&gt;
*Esto también implica que dentro de una función no puedo acceder al valor de una variable definida fuera de la función&lt;br /&gt;
*Observa el siguiente ejemplo&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function modifica_valor(){&lt;br /&gt;
    echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; dentro de función -$var1- &amp;lt;br /&amp;gt; &amp;quot;;&lt;br /&gt;
    $var1++;&lt;br /&gt;
    echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; dentro de función moficada -$var1- &amp;lt;br /&amp;gt; &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$var1 = 20;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; en programa principal antes de invocar función: -$var1- &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
modifica_valor();&lt;br /&gt;
echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; en progrma principal después de invocar la función: -$var1- &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Vemos que genera la siguiente salida&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 Valor de var1 en programa principal antes de invocar función: -20- &lt;br /&gt;
Valor de var1 dentro de función -- &lt;br /&gt;
Valor de var1 dentro de función moficada -1- &lt;br /&gt;
Valor de var1 en progrma principal después de invocar la función: -20- &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Sin embargo si quieremos acceder al valor de '''''$var ''''' dentro de la función, sí que podemos&lt;br /&gt;
*Ĥemos de usar la palabra reservada '''''$global'''''&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function modifica_valor(){&lt;br /&gt;
    global $var1; //Indicamos que esta variables se puede globalizar&lt;br /&gt;
    echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; dentro de función -$var1- &amp;lt;br /&amp;gt; &amp;quot;;&lt;br /&gt;
    $var1++;&lt;br /&gt;
    echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; dentro de función moficada -$var1- &amp;lt;br /&amp;gt; &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$var1 = 20;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; en programa principal antes de invocar función: -$var1- &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
modifica_valor();&lt;br /&gt;
echo &amp;quot;Valor de &amp;lt;b&amp;gt;var1&amp;lt;/b&amp;gt; en progrma principal después de invocar la función: -$var1- &amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Ahora podemos observar cómo sí que se accede al valor dentro de la función&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
Valor de var1 en programa principal antes de invocar función: -20- &lt;br /&gt;
Valor de var1 dentro de función -20- &lt;br /&gt;
Valor de var1 dentro de función moficada -21- &lt;br /&gt;
Valor de var1 en progrma principal después de invocar la función: -21- &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	</feed>