Clase 10

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 40

Programación

Funciones
Escuela Politécnica nacional
Período 2022-B
Prof. Pablo Barbecho

PROGRAMACIÓN DEPARTAMENTO DE ELECTRÓNICA, TELECOMUNICACIONES Y REDES DE INFORMACIÓN 1


Agenda
1. Definición de Funciones
2. Ventajas
3. Sintaxis de funciones
4. Estructura de Funciones
5. Ejemplos de funciones en C
6. Funciones Booleanas
7. Ejercicios

PROGRAMACIÓN DEPARTAMENTO DE ELECTRÓNICA, TELECOMUNICACIONES Y REDES DE INFORMACIÓN 2


Función - Definición
• Es un segmento de código formado por una serie de instrucciones
que cumplen una tarea específica.
• Cada función en C tiene un valor de retorno.
• El valor de retorno puede ser almacenado en un variable o ser
utilizado en una expresión.

Datos de Entrada Función Datos de salida


Función - Ventajas
• Permite crear un programa modular, lo cual facilita la tarea de
depuración.
• Ayuda a mantener un orden en el código del programa.
• Aumenta la eficiencia del código.
• Facilita la escritura del programa
• Las funciones son invocadas desde otras funciones, con una excepción:
la función main().
• La función main() permite al compilador conocer donde está el punto
inicial de un programa. main() no puede ser invocada desde otras
funciones.
Funciones
Sintaxis

tipo_dato_retorno nombre_funcion (parámetros/argumentos)


{
sentencias;
return (variable/expression);
}

ü Si una función no retorna datos se emplea return sin la necesidad de hacer


referencia a una variable o expression.
Funciones
Sintaxis

Cabecera

Cuerpo
Funciones
Sintaxis

Cabecera

Cuerpo
Funciones
Una función debe ser declarada, definida e invocada.

Declarada Antes de la función main ()

Definida Después de main ()

Invocada / Llamada Dentro de main ()


Dentro de otra función
Funciones
Declaración à Prototipo de la función
No podemos llamar a una función en una sentencia sin que esté declarada
previamente. La declaración de una función se realiza justo debajo de la
declaración de librerías. Una declaración explícita de una función, también
denominada prototipo de la función, tiene la expresión general:

#include <stdio.h>
double calcula_media (double, double);

Prototipo -> Se enviarán a la función dos double y se recibirá un double)


Funciones
Declaración à Prototipo de la función
Una declaración permite al compilador:

• Conocer de antemano las necesidades de memoria


• Permite detectar errores en tiempo de compilación, por ejemplo, si
utilizamos la función con argumentos cuyos tipos no son compatibles
con los definidos en su prototipo.
Funciones
Definición

Es el código que realiza las tareas para las que la función ha sido prevista.
La primera línea de la definición recibe el nombre de cabecera y el resto,
un bloque encerrado entre llaves, es el cuerpo de la función.

tipo nombre_funcion(tipo_1 arg_1, …...., tipo_n arg_n)


{
sentencias;
return expresion; // optativo
}
Funciones
tipo nombre_funcion(tipo_1 arg_1, …...., tipo_n arg_n)
Definición {
sentencias;
return expresion; // optativo
}
tipo: indica el tipo de valor (int, float, etc.) devuelto por la función.
nombre_funcion: es el identificador usado para la función.
La lista de argumentos: es una secuencia de declaración de parámetros separados
por comas y encerrados entre paréntesis. Son los llamados parámetros formales de
la función.
return expresion es un salto incondicional que permite evaluar una expresión y
devolver su valor a la función llamante. Una función puede tener varios puntos en
los que se devuelve un valor con return y, lógicamente, finalizará en el primero que
se ejecute.
Funciones
Definición

Es el código que realiza las tareas para las que la función ha sido prevista.

Cabecera

Cuerpo
Funciones
Invocada/Llamada

La llamada a una función se hace especificando su nombre y, entre


paréntesis, las expresiones cuyos valores se van a enviar como argumentos
de la función.
void main()
{
nombre_funcion1(argumentos); //Si tiene parámetros en la definición

nombre_funcion2(); //Cuando no tiene parámetros definidos

nombre_variable=nombre_funcion3(argumentos); //cuando retorna un dato


}
Funciones
Invocada/Llamada
La llamada a una función se hace especificando su nombre y, entre
paréntesis, las expresiones cuyos valores se van a enviar como argumentos
de la función.
FUNCIONES
Parámetros/argumentos

Argumentos à Valores que se pasa a la variable.

Parámetros à Variable que se crea cada vez que la


función es llamada.
Funciones de C
1. rand: Usada para generar números aleatorios entre [0-max]

i=rand();

Puede ser utilizada a la vez para obtener un número aleatorio


entre [1-n](n=fijado por el usuario)

i= 1+(rand()%n);
Funciones de C
1. rand: Usada para generar números aleatorios entre [0-max]

i=rand();
Funciones de C
1. rand: Puede ser utilizada a la vez para obtener un número
aleatorio entre [1-n](n=fijado por el usuario).

i= 1+(rand()%n);

Run 1 Run 2
Funciones de C
2. srand: Permite plantar una semilla para la función rand().

srand(semilla)
La semilla puede estar asociada a un valor entero, por ejemplo se
puede considerar la fecha y hora cada vez que se ejecute el
programa.
srand(time(0))
Funciones de C
2. srand: Permite plantar una semilla para la función rand().

srand(semilla)

Run 1 Run 2
Funciones de C
2. srand: La semilla puede estar asociada a un valor entero, por ejemplo se
puede considerar la fecha y hora cada vez que se ejecute el programa.

srand(time(0))

Run 1 Run 2
Funciones de C
• Librerías de las funciones de C

LIBRERÍA FUNCIONES
stdlib.h rand()
srand()
time.h time()
Funciones de C
• Librerías de las funciones de C
math.h
Función Descripción
sqrt(x) Raiz cuadrada de x
pow(x,y) Elevar x a la potencia y
log(x) Logaritmo natural de x
floor(x) Redondear x al entero más grande no mayor que x
ceil(x) Redondear x al entero más pequeño no menor que x
fabs(x) Valor absoluto de x
Ejemplos
Ejemplo 1 – Argumentos / Retorno
PARAMETROS / Función Retorno Variable
ARGUMENTOS

suma
a
c=a+b c

b
Ejemplo 1 – Argumentos / Retorno variable
Declaración

Invocación

Definición
Ejemplo 2 – Sin Argumentos / Sin retorno
PARAMETROS / Función Retorno Variable
ARGUMENTOS

Imprime

printf(“Hola mundo”)
Ejemplo 2 – Sin Argumentos / Sin retorno

Declaración

Invocación

Definición
Funciones Boleanas
• Son funciones que retornan un valor lógico o booleano.
• Los valores a retornar son: True / False
• Son empleadas para validación de datos.

bool nombre_función (parámetros)


{
………..
return true,
………….
return false,
}
Ejemplo 3 – Funciones Booleanas
Cree un programa que valide si dos números enteros son iguales

PARAMETROS / Función Retorno Variable


ARGUMENTOS

compara
int a
a == b true / false

int b
Ejemplo 3 – Funciones Booleanas
Cabecera para uso de booleanos

üTRUE es asociado con el valor 1


üFALSE es asociado con el valor 0
Funciones - Resumen
Ejercicios en Clase
Ejercicio en Clases – Funciones Ejercicio 1
Cree un programa que permita intercambiar variables (swap). El código de intercambio debe estar
en una función llamada intercambio. Imprima las variables antes y después del cambio para validar
el funcionamiento.

PARAMETROS /
Función Retorno Variable
ARGUMENTOS

swap

X = 10 X Y X

Y X Y
Y = 20
Ejercicio en Clases – Funciones Ejercicio 2
Cree un programa que permita verificar si una persona es mayor o menor de edad usando funciones
y variables booleanas.

PARAMETROS /
Función Retorno Variable
ARGUMENTOS
mayor_edad

If (edad >=18 )
return true
edad else bool
return false
Ejercicio en Clases – Funciones Ejercicio 3
Cree una calculadora que permita realizar las operaciones 1. Sacar la raíz cuadrada de un número n
y 2. elevar un número x a una potencia y. El programa deberá:

1. Imprimir un menú con las opciones (1. raíz, 2. potencia)


2. Cada operación debe realizarse en una función (funcion Raiz, funcion Potencia)
3. Imprime el resultado en pantalla.

Recuerde:
1. Como prime paso, debe declarar el prototipo de la función. Aquí definirá si las funciones
reciben parámetros, retornan variables o no retornan nada void.
2. Luego ha de definir las funcion Raiz, funcion Potencia después de la función principal
main() donde se realiza el cálculo respectivo.
3. Por último hace el llamado a las funcion Raiz, funcion Potencia desde la función main().

Vea la siguiente diapositiva.


Ejercicio en Clases – Funciones Ejercicio 3
PARAMETROS / Función Retorno Variable
ARGUMENTOS

raiz

x c = sqrt(x) c

x potencia

c = pow(x,y) c
y
Ejercicio en Clases – Funciones Ejercicio 4
• Cree un programa que permita ingresar un número n. Run 1
• Genere un número aleatorio entre 0 y el número ingresado n.
• Imprima en pantalla el número aleatorio generado.
• Utilice funciones para leer el valor (read_number), otra función
para generar el número aleatorio (random_number) y otra para
imprimir el resultado (print_number).
Run 2

Nota: cada ejecución del programa, debe arrojar un resultado


diferente.
Recuerde que cada función debe declararse, definirse e invocarse.
Recuerde incluir las cabeceras y librerías necesarias.
Ejercicio en Clases – Funciones Ejercicio 4
PARAMETROS / Función Retorno Variable
ARGUMENTOS
read_number

x scanf(“%d”,x)
x
random_number
n
i= 1+(rand()%n);
i

y print_number

printf(“%d”,y)

También podría gustarte