10.-+Introducción+a+las+funciones.

Anterior. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __Índice __. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Siguiente.

4.10.- Funciones.

 Ejercicios muy fáciles. Fáciles. Dificultad media-baja. Dificultad media.  Dificultad media-alta. Dificultad alta. Dificultad extrema.

1.- Introducción. **Ejemplo: funcion1: ** Programa que convierte un carácter en minúscula a mayúscula utilizando una función definida por el programador.

2.- Definición de una función. **Ejemplo 1: función //minusc_a mayusc // **. Utiliza la instrucción //if-else //, es menos compacta que con el operador condicional, pero más clara. Utiliza 2 instrucciones //return //.

**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo 2: función máximo **. Acepta 2 cantidades enteras. No devuelve ninguna información al punto de llamada.

<span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo 3: factorial: ** Función que calcula el factorial. Si no especificamos tipo, el valor devuelto por la función será expresado como un entero ordinario. El factorial de un número crece muy rápido, (ej: 8! = 40320). Este valor, expresado como un entero ordinario, puede ser muy grande.

<span style="background-color: #ffffff; color: #0000ff; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">3.- Llamada a una función. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion2: ** Programa que calcula el mayor de 3 cantidades enteras. Utilizamos una función que determina la mayor de 2 cantidades enteras. <span style="background-color: transparent; color: #000000; display: block; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;"> 4.- Prototipo de una función. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion3: ** Juego de dados ‘craps’. Lanzas los dados una vez o hasta que ganas o pierdes. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Hay dos formas de ganar: Lanzas los dados y obtienes una puntuación de 7 u 11, ó puedes obtener 4, 5, 6, 8,ó 10 en la primera tirada y conseguir de nuevo la misma puntuación en algunas de las siguientes tiradas antes de obtener un 7.Existen también dos formas de perder: Lanzas los dados una vez y obtienes 2, 3 ó 12, ó puedes obtener 4, 5, 6, 8 ó 10 en la primera tirada y obtener un 7 en una tirada posterior antes de repetir tu puntuación original. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Desarrolla un programa interactivo que simule una tirada de dados cada vez que se puse la tecla //<span style="background-color: transparent; color: #000000; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Intro //. Aparecerá entonces un mensaje informando del resultado de cada lanzamiento. Al final de cada juego te pregunta si quieres continuar jugando o no. <span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">

<span style="background-color: #ffffff; color: #00ff00; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;"> 5.- Ámbito de las variables: Variables globales y locales. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: DeclaracionVbleGlobal **

<span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion4_ÁmbitoVariables **

<span style="background-color: #ffffff; color: #0000ff; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">6.- Tipo de almacenamiento de las variables. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion5_VariablesEstáticas. ** Función que devuelve el número de veces que ha sido llamada desde la función //<span style="background-color: transparent; color: #000000; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">main //.

<span style="background-color: #ffffff; color: #0000ff; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">7.- Paso de argumentos a una función. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion6: ** Paso de argumentos por valor.

<span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion7_Paso_por_referencia_Punteros **

<span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion8_Paso_por_referencia_Arrays. ** Ejemplo de paso como argumento a una función de un array de enteros, otro de caracteres y una cadena de caracteres.

<span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion9_Paso_por_referencia_ArraysMultidim **

<span style="background-color: #ffffff; color: #0000ff; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">8.- Recursividad. <span style="background-color: transparent; color: #000000; display: block; font-family: 'Times New Roman','serif'; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion10: ** Calcular el factorial de n usando recursividad: n! = (n-1)! Condición de fin: 1! = 1

<span style="background-color: transparent; color: #000000; display: block; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">**<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: justify; text-decoration: none; vertical-align: baseline;">Ejemplo: funcion11: ** Leer una línea de texto y escribirla en orden inverso usando recursividad.

<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">Ejemplo: Funciones. <span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">media type="youtube" key="iOS5sPivuJA?version=3" height="390" width="640"

<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">Ejemplo: Función Rand. <span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">media type="youtube" key="0Nuhjvxzwro?version=3" height="390" width="640"

<span style="background-color: transparent; color: #000000; font-family: serif; font-size: 16px; text-align: start; text-decoration: none; vertical-align: baseline;">media type="youtube" key="qs8vVgy5AMc?version=3" height="390" width="640"