Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
ARMADAS ESPE
FUNDAMENTOS DE
PROGRAMACIÓN
FUNCIONES
¿Qué son?¿Para qué sirven?
Son un grupo de sentencias bajo el
mismo nombre que realizan una tarea
específica.
Resolución de problemas “Dividir”
Beneficios
Aislar mejor los problemas
Escribir programas correctos más
rápido
Producir programas más fáciles de
mantener
Conceptos
Función
Grupo de sentencias bajo el mismo
nombre que realizan una tarea
específica.
Llamada a una función
Ejecuta el grupo de sentencias de una
función.
Retorno
Una vez “llamada” la función, esta hace
su trabajo, y regresa al mismo punto
donde fue llamada.
Declaración de Funciones
De forma similar a las variables, las
funciones deben ser declaradas:
La forma de declarar una función es
siguiendo la forma predefinida:
tipoDatoRetorno nombreFuncion(lista parámetros);
Por ejemplo:
int potencia(int base, int exponente);
float farenheitACelsius(double celsius);
Implementación de
Funciones
int potencia(int base, int exponente)
{
sentencias; La primera línea se
escribe igual que en la
} declaración, pero sin el
punto y coma.
#include <stdio.h>
}
int main()
{
int xnumero;
printf(“\ningrese un numero entero”);
scanf(“%d”,&xnumero);
printf(“%d! = %d”, xnumero,factorial(xnumero));
}
Lenguaje C: Funciones
La definición de una función tiene la estructura:
int main()
{
printf(“%d!=%d\n”,5,factorial(5)); // llamada
}
Lenguaje C: Funciones
Para poder hacer uso de una función es necesario que ésta esté definida
o declarada con antelación.
printf(“f(%f,%f)=%f\n”,a,b,f(&a,&b)); // llamada
}
Lenguaje C: Funciones
int x=2,y=2;
reiniciar(&x,y); /* x valdrá 0 e y 2 */
Lenguaje C: Funciones
Paso de Parámetros por Referencia (Paso de Punteros)
int x=2,y=2; x 2 y 2
reiniciar(&x,y); x 2 y 2
a b 2
Ejemplo:
int vec[12],mat[4][4];
calcula(vec,mat);
…
void calcula(int v[], int m[4][])
{
…
}
Funciones de Caracter
El archivo de cabecera <ctype.h> define un grupo de
funciones/macros de manipulación de caracteres.
Todas las funciones devuelven un resultado de valor
verdadero (distinto de cero) o falso (cero).
isalpha(c)
Devuelve verdadero (distinto de cero) si c es una letra
mayúscula o minúscula. Se devuelve un
valor falso si se pasa un carácter distinto de letra a esta
función.
islower(c)
Devuelve verdadero (distinto de cero) si c es una letra
minúscula. Se devuelve un valor falso (0),
si se pasa un carácter distinto de una minúscula.
isupper(c)
Devuelve verdadero (distinto de cero) si c es una letra
mayúscula, falso con cualquier otro carácter.
Funciones de Caracter
Las siguientes funciones comprueban caracteres
numéricos:
isdigit(c)
Comprueba si c es un dígito de 0 a 9, devolviendo
verdadero (distinto de cero) en ese caso, y falso en caso
contrario.
isxdigit(c)
Devuelve verdadero si c es cualquier dígito hexadecimal
(0 a 9, A a F, o bien a a f) y falso en cualquier otro caso.
La siguiente función comprueba argumentos numéricos
o alfabéticos:
isalnum(c)
Devuelve un valor verdadero si c es un dígito de 0 a 9 o
un carácter alfabético (bien mayúscula o minúscula) y
falso en cualquier otro caso.
Funciones de Caracter
iscntrl(c)
Devuelve verdadero si c es un carácter de control
(códigos ASCII 0 a 31) y falso en caso contrario.
isgraph(c)
Devuelve verdadero si c es un carácter imprimible (no
de control) excepto espacio; en caso contrario, se
devuelve falso.
isprint(c)
Devuelve verdadero si c es un carácter imprimible,
código ASCII 21 a 127, incluyendo un espacio; en caso
contrario, se devuelve falso.
ispunct(c)
Devuelve verdadero si c es cualquier carácter de
puntuación (un carácter imprimible distinto de espacio,
letra o dígito); falso, en caso contrario.
isspace(c)
Devuelve verdadero si c es carácter un espacio, nueva
línea (\n), retorno de carro (\r), tabulación (\t) o
tabulación vertical (\v).
Funciones de Caracter
tolower(c)
Convierte el carácter c a minúscula, si ya no lo es.
toupper(c)
Convierte el carácter c a mayúscula, si ya no lo es.
Funciones de Caracter
Leer un carácter del teclado y comprobar si es una letra.
#include <iostream>
#include <ctype.h>
Int main()
{
char inicial;
cout << "¿Cuál es su primer carácter inicial?";
cin >> inicial;
while (isalpha(inicial))
{
cout << "\Carácter válido\n";
cout << "¿Cuál es su siguiente inicial?";
cin >> inicial;
}
cout << "¡Terminado!";
return 0;
}
Funciones Numéricas
Virtualmente cualquier operación aritmética es posible en un programa
C++.
Las funciones matemáticas disponibles son las siguientes:
• matemáticas
• trigonométricas
• logarítmicas
• exponenciales
• aleatorias.
Funciones matemáticas
La mayoría de las funciones numéricas están en el archivo de cabecera math.h; las
funciones abs y labs están definidas en math.h y stdlib.h,
ceil(x)
Redondea al entero más cercano.
fabs(x)
Devuelve el valor absoluto de x (un valor positivo).
floor(x)
Redondea por defecto al entero más próximo.
fmod(x, y)
Calcula el resto en coma flotante para la división x/y, de modo que x = i*y+f, donde i
es un entero, f tiene el mismo signo que x y el valor absoluto de f es menor que el
valor absoluto de y.
pow(x, y)
Calcula x elevado a la potencia y (xy). Si x es menor que o igual a cero, y debe ser
un entero. Si x es igual a cero, y no puede ser negativo.
sqrt(x)
Devuelve la raíz cuadrada de x. x debe ser mayor o igual a cero.
Funciones trigonométricas
acos(x)
Calcula el arco coseno del argumento x. El argumento x debe estar entre –1 y 1.
asin(x)
Calcula el arco seno del argumento x. El argumento x debe estar entre –1 y 1.
atan(x)
Calcula el arco tangente del argumento x.
atan2(x, y)
Calcula el arco tangente de x dividido por y.
cos(x)
Calcula el coseno del ángulo x (x se expresa en radianes).
sin(x)
Calcula el seno del ángulo x (x se expresa en radianes).
tan(x)
Devuelve la tangente del ángulo x (x se expresa en radianes).
Funciones Logarítmicas
exp(x), expl(x)
Calcula el exponencial ex, donde e es la base de logaritmos naturales de valor
2.718282.
valor = exp(5.0);
Una variante de esta función es expl, que calcula ex utilizando un valor double long
(largo doble).
log(x), logl(x)
La función log calcula el logaritmo natural del argumento x y logl(x) calcula el citado
logaritmo natural del argumento x de valor long double (largo doble).
log10(x), log10l(x)
Calcula el logaritmo decimal del argumento x, de valor real double en log10(x) y de
valor real long double en log10l(x). x ha de ser positivo.
Funciones Aleatorias
Las funciones usuales de la biblioteca estándar de C++ son: rand, random, randomize y
srand.
Estas funciones se encuentran en el archivo stdlib.h.
rand(void)
La función rand genera un número aleatorio. El número calculado por rand varía
en el rango de 0 a RAND_MAX.
La constante RAND_MAX se define en el archivo stdlib.h como 2E15-1. En
consecuencia, asegúrese de incluir dicho archivo en la parte superior de su
programa.
randomize(void)
La macro randomize inicializa el generador de números aleatorios con una
semilla aleatoria obtenida a partir de una llamada a la función time. Dado que
esta macro llama a la función time, el archivo de cabecera time.h se incluirá en el
programa. No se devuelve ningún valor.
srand(semilla)
La función srand inicializa el generador de números aleatorios. Se utiliza para
fijar el punto de comienzo para la generación de series de números aleatorios;
este valor se denomina semilla. Si el valor de semilla es 1, se reinicializa el
generador de números aleatorios. Cuando se llama a la función rand antes de
hacer una llamada a la función srand, se genera la misma secuencia que si se
hubiese llamado a la función srand con el argumento semilla tomando el valor 1.
random(num)
La macro random genera un número aleatorio dentro de un rango especificado (0
y el límite superior especificado por el argumento num). Se devuelve un número
entre 0 y num -1.