SlideShare una empresa de Scribd logo
1 de 30
Funciones en lenguaje C 
Prof: Gladys Vergel Rivera.
2 
Funciones 
• Definición: 
– Las funciones son los bloques de construcción 
básicos del lenguaje C. Dentro de ellas se da toda 
la actividad del programa. 
• Criterios para crearlas: 
– Se usa la estrategia de “Dividir y Conquistar”, en 
otras palabras, es realizar la partición de la tarea 
en subtareas más fáciles de abordar. 
– Todo problema se puede resolver con funciones o 
sin ellas, pero su uso adecuado hace que el 
programa sea más eficiente, fácil de leer y probar.
3 
Funciones: ventajas 
1.­Facilita 
el diseño descendente. 
2.­Los 
procedimientos dentro de ellas se pueden 
ejecutar varias veces. 
3.­Facilita 
la división de tareas. 
4.­Se 
pueden probar individualmente 
5.­Con 
funciones apropiadamente diseñadas, es 
posible ignorar como se realiza una tarea, 
sabiendo qué es lo que hacen.
4 
Funciones: Especificación formal 
tipo nombre_funcion(lista de parámetros){ 
cuerpo de la función 
} 
• tipo : especifica el tipo de valor que devuelve la 
función. Si no se especifica tipo, el compilador asume 
que es entero (int). 
• lista de parámetros : es la lista de nombres de 
variables separados por comas con sus tipos 
asociados que reciben los valores de los argumentos 
actuales de la llamada a la función.
5 
La sentencia return 
– Fuerza la salida inmediata de la función en que se 
encuentra. 
– Se puede utilizar para devolver un valor.
6 
Funciones 
– Las funcion es terminan su ejecución ya sea a 
través de la ejecución de la última instrucción o 
utilizando la sentencia return. 
– Una función puede retornar valor sólo cuando el 
tipo de retorno no es void. 
– Las funciones que son de tipos distintos de void 
pueden ser utilizadas como operandos en otras 
expresiones del lenguaje.
7 
Funciones: modos de uso 
1.­Funciones 
diseñadas para realizar 
operaciones a partir de sus argumentos y 
devolver un valor basado en sus cálculos. 
2.­Funciones 
que no reciben argumentos, 
realizan un proceso y devuelven un valor . 
3.­Funciones 
que no tienen argumentos ni 
valor de retorno explícito, operan sobre el 
entorno de variables globales o atributos del 
sistema operativo.
8 
Función main() 
• Mediante la sentencia return, el programa 
puede devolver un código de terminación al 
proceso de llamada (Ej.: entero a Shell de 
comandos en Unix). 
• El valor devuelto puede ser 0 que indica 
terminación normal o un valor que identifica 
un error detectado por el programa. 
• El valor devuelto puede ser usado para 
ejecución condicional de comandos en shell 
en Unix.
9 
Variables locales y globales 
• Variables Locales: 
– Se declaran dentro de la función y sólo están 
disponibles durante su ejecución. 
– Se crean cuando se entra en ejecución una 
función y se destruyen cuando se termina. 
• Variables globales: 
– Se declaran fuera de las funciones. Pueden ser 
utilizadas por todas las funciones. 
– Existen durante toda la vida del programa.
10 
Argumentos de funciones 
• Son variables locales conocidas como parámetros 
formales y se utilizan como un medio para 
entregarle información a la función. 
• Los parámetros formales reciben sus valores 
iniciales desde los parámetros reales, es decir desde 
los valores que se les pasan a traveś de la llamada. 
Ejemplo: 
main( ){ 
imprimeEntero(5); 
} 
void imprimeEntero(int x){ 
printf(“%dn”, x);/* x vale 5 */ 
} 
Parámetro real (llamada) 
Parámetro formal (declaración)
11 
Transferencia de Información 
– por valor: copia el valor de un argumento de la 
llamada en el parámetro formal de la función. Por 
lo tanto, los cambios en los parámetros de la 
función no afectan a las variables que se usan en 
la llamada. 
– por referencia: se copia la dirección del 
argumento en el parámetro. Los cambios hechos 
a los parámetros afectan a las variables usadas 
en la llamada a la función.
12 
Ejemplo 
Construya un programa que calcule el 
cuadrado de los 10 primeros números 
enteros.
13 
Solución 
#include <stdio.h> 
int cuadrado(int x){ 
int r; 
r=x*x; 
return r; 
} 
main(){ 
int i,resultado; 
for (i=0;i<10;i++){ 
resultado = cuadrado (i); 
printf("Cuadrado de %d: %dn",i,resultado); 
} 
return 0; 
}
14 
Ejemplo 
Construya una función que calcule la suma de 
los k primeros números enteros impares.
15 
Solución ? 
#include <stdio.h> 
int sumaImpares(-------){ 
------------------ 
return r; 
}
16 
Ejemplo 
Construya una función que realice intercambio 
de los valores entre 2 variables.
17 
Solución con error ¿porqué? 
#include <stdio.h> 
void intercambio(int x, int y){ 
int temp; 
temp=x; 
x=y; 
y=temp; 
printf(“ x=%d y=%d temp=%dn“,x,y,temp); 
} 
main(){ 
int a=1,b=2; 
printf("a=%d b=%dn",a,b); 
intercambio(a,b); 
printf("a=%d b=%dn",a,b); 
return 0; 
}
18 
Solución correcta 
#include <stdio.h> 
void intercambio(int *x, int *y){ 
int temp; 
temp=*x; 
*x=*y; 
*y=temp; 
printf(“ x=%d y=%d temp=%dn“,*x,*y,temp); 
} 
main(){ 
int a=1,b=2; 
printf("a=%d b=%dn",a,b); 
intercambio (&a,&b); 
printf("a=%d b=%dn",a,b); 
return 0; 
}
19 
Ejemplo 
Realizar una función, en el cual se ingresa un 
número entero de varias cifras y un entero 
con una posición y se retorna el dígito de 
dicha posición. 
– Ejemplo: 
• Entrada: 987 2 
• Salida : 8
20 
Programa 
#include <stdio.h> 
int buscar(int x,int k){ 
int i,n; 
if (k<=0 || x<0) return -1; 
for (i=0;i<k-1;i++) 
x=x/10; 
return (x%10); 
} 
void main(){ 
int n,k,digito; 
printf("Ingrese numero y posicion:"); 
scanf("%d %d",&n,&k); 
digito=buscar(n,k); 
if (digito<0) printf("No encontradon"); 
else printf("El digito encontrado es: %dn",digito); 
return 0; 
}
21 
Prototipos 
• Uso: 
– Identificar el tipo de retorno de la función. 
– Especificar el tipo y el número de argumentos que 
utiliza la función. 
• El prototipo debe aparecer antes de que se 
haga cualquier llamada a la función. 
• No es necesario incluir los nombres reales de 
los parámetros.
22 
Prototipo (cont.) 
#include <stdio.h> 
int cuadrado(int x); /*Prototipo*/ 
main(){ 
int i,resultado; 
for (i=0;i<10;i++){ 
resultado = cuadrado (i); 
printf("El cuadrado de %d es %dn",i,resultado); 
} 
return 0; 
} 
int cuadrado(int x){ 
int a; 
a=x*x; 
return a; 
}
23 
Prototipo (cont.) 
#include <stdio.h> 
void intercambio(int *, int *) /*Prototipo*/ 
main(){ 
int a=5,b=3; 
printf("a=%d b=%dn",a,b); 
intercambio (&a,&b); 
printf("a=%d b=%dn",a,b); 
return 0; 
} 
void intercambio(int *x, int *y){ 
int temp; 
temp=*x; 
*x=*y; 
*y=temp; 
}
funciones 
¿Cómo es que funcionan los Subprogramas? 
A menudo, se utiliza el adjetivo de “Subprogramas”, para referirse así que, debemos familiarizarnos también 
con este término. 
Los subprogramas se comunican con el programa principal, que es el que contiene a las funciones, mediante 
parámetros, que estos pueden ser: Parámetros Formales y Parámetros Actuales. 
Cuando se da la comunicación los parámetros actuales son utilizados en lugar de los parámetros formales. 
Paso de Parámetros 
Existen dos formas de pasar parámetros, las cuales son: 
A) Paso por Valor 
También conocido como parámetros valor. Los valores se proporcionan en el orden de cálculos de entrada. 
Los parámetros se tratan como variables locales y los valores iniciales se proporcionan copiando los valores 
de correspondientes argumentos. 
Los parámetros formales-Locales de una función reciben valores de los parámetros actuales y con ellos se 
ejecutan las acciones descritas en el subprograma. 
Ejemplo: 
A=5; 
B=7; 
C=proc1(A, 18, B*3+4); 
Proc1(X, Y, Z) 
Explicación: 
Donde, se encuentra c, se está llamando la función, denominada proc1, en la cual se están enviando como 
parámetros el valor de A, que es cinco; el cual es recibido por la variable X, en la definición de la función 
proc1; en la misma función, Y tendrá el valor de 18; por que ese es el valor del parámetro formal, mientras 
que Z, tendrá un valor inicial de 25, ya que ese es el resultado del tercer parámetro que resulta ser una 
expresión aritmética.
Funciones(Cont.) 
Explicación: 
Donde, se encuentra c, se está llamando la función, 
denominada proc1, en la cual se están enviando como 
parámetros el valor de A, que es cinco; el cual es recibido por 
la variable X, en la definición de la función proc1; en la 
misma función, Y tendrá el valor de 18; por que ese es el 
valor del parámetro formal, mientras que Z, tendrá un valor 
inicial de 25, ya que ese es el resultado del tercer parámetro 
que resulta ser una expresión aritmética.
Funciones(Cont.) 
b) Paso por Referencia 
Cuando un argumento es una dirección, el 
parámetro recibe la dirección de la variable que se 
ha pasado como argumento al invocar a la función. 
Por lo tanto, el parámetro deberá declararse como 
un puntero y de esta forma se puede modificar el 
contenido de las variables. 
Si una función tiene que devolver más de un valor, lo 
hará utilizando sus parámetros y necesariamente los 
argumentos deben pasarse por referencia.
Funciones(Cont.) 
Ejemplo: 
Void cursor(int *, int *); 
main() 
{ 
int fila, columna; 
... 
cursor(&fila, &columna); 
.... 
} 
void cursor(int *x, int *y) 
{ 
.... 
*x =20; 
..... 
} 
Explicación 
Paso de argumentos por referencia. 
1. Declaración de 2 variables para la 
posición del cursor. 
2. En la llamada a la función, 
los argumentos son las direcciones 
(&fila, &columna). 
3. En la declaración de la función, 
los parámetros formales, representan 
punteros a tipo int. 
4. Se asigna el valor 20 al sitio 
donde apunta el puntero x, que es fila.
Funciones(Cont.) 
Ejemplo 2: 
main() 
{ 
int x = 10, y = 20; 
alternar(&x, &y); 
printf("x = %d, y = %d", x,y); 
} 
void alternar(int *px, int *py) 
{ 
int temp; 
temp = *px; 
*px = *py; 
*py = temp; 
} 
Paso de argumentos por referencia. 
1. Los valores de x e y han sido 
intercambiados.
CONCLUSIONES 
Una función es visible para ella misma y otras funciones desde el momento en que se define. Es visible 
para el propio cuerpo de la función, es decir, la recursividad esta permitida. El código de una función es 
privado a esa función y sólo se puede acceder a él mediante una llamada a esa función. Las variables 
definidas dentro de una función son locales (a no ser que las definamos globales) por lo que no 
conservan su valor de una llamada a otra (excepto si se declaran como static, entonces el compilador no 
las destruye y almacena su valor para la próxima llamada, aunque la variable tiene limitado el ámbito al 
interior de la función). 
En C, todas las funciones están al mismo nivel, es decir, no se puede definir una función dentro de otra 
función. Esto es por lo que C no es técnicamente un lenguaje estructurado por bloques. 
El código de una función es privado a esa función y sólo se puede acceder a él mediante una llamada a 
esa función. Las variables definidas dentro de una función son locales (a no ser que las definamos 
globales) por lo que no conservan su valor de una llamada a otra (excepto si se declaran como static, 
entonces el compilador no las destruye y almacena su valor para la próxima llamada, aunque la variable 
tiene limitado el ámbito al interior de la función).
CONCLUSIONES 
Las funciones son estructuras autónomas similar a los módulos. La 
diferencia radica en que la función se usa para devolver un solo valor de 
un tipo de dato simple a su punto de referencia. La función se relaciona 
especificando su nombre en una expresión, como si fuera una variable 
ordinaria de tipo simple. Las funciones se dividen en estándares y 
definidas por el usuario. 
- Estándar: Son funciones proporcionadas por cualquier lenguaje de 
programación de alto nivel, y se dividen en aritméticas y alfabéticas. 
- Definidas por el usuario: son funciones que puede definirlas el 
programador con el propósito de ejecutar alguna función específica, y 
que por lo general se usan cuando se trata de hacer algún cálculo que 
será requerido en varias ocasiones en la parte principal del programa.

Más contenido relacionado

La actualidad más candente

DERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIORDERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIOREthel Sullcaray
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltosAngel Jhoan
 
Ecuaciones Diferanciales Homogeneas
Ecuaciones Diferanciales HomogeneasEcuaciones Diferanciales Homogeneas
Ecuaciones Diferanciales HomogeneasJosé Castro
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaTAtiizz Villalobos
 
Calculo integral informe laboratorio
Calculo integral informe  laboratorioCalculo integral informe  laboratorio
Calculo integral informe laboratorioWilliam Castro
 
Serie de fourier. Funciones periodicas, funciones pares e impares.
Serie de fourier. Funciones periodicas, funciones pares e impares.Serie de fourier. Funciones periodicas, funciones pares e impares.
Serie de fourier. Funciones periodicas, funciones pares e impares.Carlos Ramos Pérez
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CCristian Maza
 
Concepto de integral definida (1)
Concepto de integral definida (1)Concepto de integral definida (1)
Concepto de integral definida (1)marcounmsm28
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalomorenito9001
 
Metodos numericos2
Metodos numericos2Metodos numericos2
Metodos numericos2monica
 
Tipos de metodos programacion dos
Tipos de metodos  programacion dosTipos de metodos  programacion dos
Tipos de metodos programacion dosEdesTigse
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoJosé Antonio Sandoval Acosta
 
Factorizacion lu
Factorizacion luFactorizacion lu
Factorizacion lujonathann89
 

La actualidad más candente (20)

Presentación poo
Presentación pooPresentación poo
Presentación poo
 
DERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIORDERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIOR
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Interpolaion c++
Interpolaion c++Interpolaion c++
Interpolaion c++
 
Omega Up
Omega UpOmega Up
Omega Up
 
Colas
ColasColas
Colas
 
Ecuaciones Diferanciales Homogeneas
Ecuaciones Diferanciales HomogeneasEcuaciones Diferanciales Homogeneas
Ecuaciones Diferanciales Homogeneas
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Calculo integral informe laboratorio
Calculo integral informe  laboratorioCalculo integral informe  laboratorio
Calculo integral informe laboratorio
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Serie de fourier. Funciones periodicas, funciones pares e impares.
Serie de fourier. Funciones periodicas, funciones pares e impares.Serie de fourier. Funciones periodicas, funciones pares e impares.
Serie de fourier. Funciones periodicas, funciones pares e impares.
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación C
 
Concepto de integral definida (1)
Concepto de integral definida (1)Concepto de integral definida (1)
Concepto de integral definida (1)
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalo
 
Metodos numericos2
Metodos numericos2Metodos numericos2
Metodos numericos2
 
Tipos de metodos programacion dos
Tipos de metodos  programacion dosTipos de metodos  programacion dos
Tipos de metodos programacion dos
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Sumas de riemann
Sumas de riemannSumas de riemann
Sumas de riemann
 
Factorizacion lu
Factorizacion luFactorizacion lu
Factorizacion lu
 

Similar a Funcionesenlenguaje c

Similar a Funcionesenlenguaje c (20)

07 funciones
07 funciones07 funciones
07 funciones
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Funciones
FuncionesFunciones
Funciones
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.com
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 

Más de Gladys Coromoto Vergel Rivera (7)

Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Tema7
Tema7Tema7
Tema7
 
Tema1ec
Tema1ecTema1ec
Tema1ec
 
Algoritmos2
Algoritmos2Algoritmos2
Algoritmos2
 
Algoritmos2
Algoritmos2Algoritmos2
Algoritmos2
 
Evaluación de páginas web1
Evaluación de páginas web1Evaluación de páginas web1
Evaluación de páginas web1
 

Último

texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 

Último (20)

texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

Funcionesenlenguaje c

  • 1. Funciones en lenguaje C Prof: Gladys Vergel Rivera.
  • 2. 2 Funciones • Definición: – Las funciones son los bloques de construcción básicos del lenguaje C. Dentro de ellas se da toda la actividad del programa. • Criterios para crearlas: – Se usa la estrategia de “Dividir y Conquistar”, en otras palabras, es realizar la partición de la tarea en subtareas más fáciles de abordar. – Todo problema se puede resolver con funciones o sin ellas, pero su uso adecuado hace que el programa sea más eficiente, fácil de leer y probar.
  • 3. 3 Funciones: ventajas 1.­Facilita el diseño descendente. 2.­Los procedimientos dentro de ellas se pueden ejecutar varias veces. 3.­Facilita la división de tareas. 4.­Se pueden probar individualmente 5.­Con funciones apropiadamente diseñadas, es posible ignorar como se realiza una tarea, sabiendo qué es lo que hacen.
  • 4. 4 Funciones: Especificación formal tipo nombre_funcion(lista de parámetros){ cuerpo de la función } • tipo : especifica el tipo de valor que devuelve la función. Si no se especifica tipo, el compilador asume que es entero (int). • lista de parámetros : es la lista de nombres de variables separados por comas con sus tipos asociados que reciben los valores de los argumentos actuales de la llamada a la función.
  • 5. 5 La sentencia return – Fuerza la salida inmediata de la función en que se encuentra. – Se puede utilizar para devolver un valor.
  • 6. 6 Funciones – Las funcion es terminan su ejecución ya sea a través de la ejecución de la última instrucción o utilizando la sentencia return. – Una función puede retornar valor sólo cuando el tipo de retorno no es void. – Las funciones que son de tipos distintos de void pueden ser utilizadas como operandos en otras expresiones del lenguaje.
  • 7. 7 Funciones: modos de uso 1.­Funciones diseñadas para realizar operaciones a partir de sus argumentos y devolver un valor basado en sus cálculos. 2.­Funciones que no reciben argumentos, realizan un proceso y devuelven un valor . 3.­Funciones que no tienen argumentos ni valor de retorno explícito, operan sobre el entorno de variables globales o atributos del sistema operativo.
  • 8. 8 Función main() • Mediante la sentencia return, el programa puede devolver un código de terminación al proceso de llamada (Ej.: entero a Shell de comandos en Unix). • El valor devuelto puede ser 0 que indica terminación normal o un valor que identifica un error detectado por el programa. • El valor devuelto puede ser usado para ejecución condicional de comandos en shell en Unix.
  • 9. 9 Variables locales y globales • Variables Locales: – Se declaran dentro de la función y sólo están disponibles durante su ejecución. – Se crean cuando se entra en ejecución una función y se destruyen cuando se termina. • Variables globales: – Se declaran fuera de las funciones. Pueden ser utilizadas por todas las funciones. – Existen durante toda la vida del programa.
  • 10. 10 Argumentos de funciones • Son variables locales conocidas como parámetros formales y se utilizan como un medio para entregarle información a la función. • Los parámetros formales reciben sus valores iniciales desde los parámetros reales, es decir desde los valores que se les pasan a traveś de la llamada. Ejemplo: main( ){ imprimeEntero(5); } void imprimeEntero(int x){ printf(“%dn”, x);/* x vale 5 */ } Parámetro real (llamada) Parámetro formal (declaración)
  • 11. 11 Transferencia de Información – por valor: copia el valor de un argumento de la llamada en el parámetro formal de la función. Por lo tanto, los cambios en los parámetros de la función no afectan a las variables que se usan en la llamada. – por referencia: se copia la dirección del argumento en el parámetro. Los cambios hechos a los parámetros afectan a las variables usadas en la llamada a la función.
  • 12. 12 Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros.
  • 13. 13 Solución #include <stdio.h> int cuadrado(int x){ int r; r=x*x; return r; } main(){ int i,resultado; for (i=0;i<10;i++){ resultado = cuadrado (i); printf("Cuadrado de %d: %dn",i,resultado); } return 0; }
  • 14. 14 Ejemplo Construya una función que calcule la suma de los k primeros números enteros impares.
  • 15. 15 Solución ? #include <stdio.h> int sumaImpares(-------){ ------------------ return r; }
  • 16. 16 Ejemplo Construya una función que realice intercambio de los valores entre 2 variables.
  • 17. 17 Solución con error ¿porqué? #include <stdio.h> void intercambio(int x, int y){ int temp; temp=x; x=y; y=temp; printf(“ x=%d y=%d temp=%dn“,x,y,temp); } main(){ int a=1,b=2; printf("a=%d b=%dn",a,b); intercambio(a,b); printf("a=%d b=%dn",a,b); return 0; }
  • 18. 18 Solución correcta #include <stdio.h> void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp; printf(“ x=%d y=%d temp=%dn“,*x,*y,temp); } main(){ int a=1,b=2; printf("a=%d b=%dn",a,b); intercambio (&a,&b); printf("a=%d b=%dn",a,b); return 0; }
  • 19. 19 Ejemplo Realizar una función, en el cual se ingresa un número entero de varias cifras y un entero con una posición y se retorna el dígito de dicha posición. – Ejemplo: • Entrada: 987 2 • Salida : 8
  • 20. 20 Programa #include <stdio.h> int buscar(int x,int k){ int i,n; if (k<=0 || x<0) return -1; for (i=0;i<k-1;i++) x=x/10; return (x%10); } void main(){ int n,k,digito; printf("Ingrese numero y posicion:"); scanf("%d %d",&n,&k); digito=buscar(n,k); if (digito<0) printf("No encontradon"); else printf("El digito encontrado es: %dn",digito); return 0; }
  • 21. 21 Prototipos • Uso: – Identificar el tipo de retorno de la función. – Especificar el tipo y el número de argumentos que utiliza la función. • El prototipo debe aparecer antes de que se haga cualquier llamada a la función. • No es necesario incluir los nombres reales de los parámetros.
  • 22. 22 Prototipo (cont.) #include <stdio.h> int cuadrado(int x); /*Prototipo*/ main(){ int i,resultado; for (i=0;i<10;i++){ resultado = cuadrado (i); printf("El cuadrado de %d es %dn",i,resultado); } return 0; } int cuadrado(int x){ int a; a=x*x; return a; }
  • 23. 23 Prototipo (cont.) #include <stdio.h> void intercambio(int *, int *) /*Prototipo*/ main(){ int a=5,b=3; printf("a=%d b=%dn",a,b); intercambio (&a,&b); printf("a=%d b=%dn",a,b); return 0; } void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp; }
  • 24. funciones ¿Cómo es que funcionan los Subprogramas? A menudo, se utiliza el adjetivo de “Subprogramas”, para referirse así que, debemos familiarizarnos también con este término. Los subprogramas se comunican con el programa principal, que es el que contiene a las funciones, mediante parámetros, que estos pueden ser: Parámetros Formales y Parámetros Actuales. Cuando se da la comunicación los parámetros actuales son utilizados en lugar de los parámetros formales. Paso de Parámetros Existen dos formas de pasar parámetros, las cuales son: A) Paso por Valor También conocido como parámetros valor. Los valores se proporcionan en el orden de cálculos de entrada. Los parámetros se tratan como variables locales y los valores iniciales se proporcionan copiando los valores de correspondientes argumentos. Los parámetros formales-Locales de una función reciben valores de los parámetros actuales y con ellos se ejecutan las acciones descritas en el subprograma. Ejemplo: A=5; B=7; C=proc1(A, 18, B*3+4); Proc1(X, Y, Z) Explicación: Donde, se encuentra c, se está llamando la función, denominada proc1, en la cual se están enviando como parámetros el valor de A, que es cinco; el cual es recibido por la variable X, en la definición de la función proc1; en la misma función, Y tendrá el valor de 18; por que ese es el valor del parámetro formal, mientras que Z, tendrá un valor inicial de 25, ya que ese es el resultado del tercer parámetro que resulta ser una expresión aritmética.
  • 25. Funciones(Cont.) Explicación: Donde, se encuentra c, se está llamando la función, denominada proc1, en la cual se están enviando como parámetros el valor de A, que es cinco; el cual es recibido por la variable X, en la definición de la función proc1; en la misma función, Y tendrá el valor de 18; por que ese es el valor del parámetro formal, mientras que Z, tendrá un valor inicial de 25, ya que ese es el resultado del tercer parámetro que resulta ser una expresión aritmética.
  • 26. Funciones(Cont.) b) Paso por Referencia Cuando un argumento es una dirección, el parámetro recibe la dirección de la variable que se ha pasado como argumento al invocar a la función. Por lo tanto, el parámetro deberá declararse como un puntero y de esta forma se puede modificar el contenido de las variables. Si una función tiene que devolver más de un valor, lo hará utilizando sus parámetros y necesariamente los argumentos deben pasarse por referencia.
  • 27. Funciones(Cont.) Ejemplo: Void cursor(int *, int *); main() { int fila, columna; ... cursor(&fila, &columna); .... } void cursor(int *x, int *y) { .... *x =20; ..... } Explicación Paso de argumentos por referencia. 1. Declaración de 2 variables para la posición del cursor. 2. En la llamada a la función, los argumentos son las direcciones (&fila, &columna). 3. En la declaración de la función, los parámetros formales, representan punteros a tipo int. 4. Se asigna el valor 20 al sitio donde apunta el puntero x, que es fila.
  • 28. Funciones(Cont.) Ejemplo 2: main() { int x = 10, y = 20; alternar(&x, &y); printf("x = %d, y = %d", x,y); } void alternar(int *px, int *py) { int temp; temp = *px; *px = *py; *py = temp; } Paso de argumentos por referencia. 1. Los valores de x e y han sido intercambiados.
  • 29. CONCLUSIONES Una función es visible para ella misma y otras funciones desde el momento en que se define. Es visible para el propio cuerpo de la función, es decir, la recursividad esta permitida. El código de una función es privado a esa función y sólo se puede acceder a él mediante una llamada a esa función. Las variables definidas dentro de una función son locales (a no ser que las definamos globales) por lo que no conservan su valor de una llamada a otra (excepto si se declaran como static, entonces el compilador no las destruye y almacena su valor para la próxima llamada, aunque la variable tiene limitado el ámbito al interior de la función). En C, todas las funciones están al mismo nivel, es decir, no se puede definir una función dentro de otra función. Esto es por lo que C no es técnicamente un lenguaje estructurado por bloques. El código de una función es privado a esa función y sólo se puede acceder a él mediante una llamada a esa función. Las variables definidas dentro de una función son locales (a no ser que las definamos globales) por lo que no conservan su valor de una llamada a otra (excepto si se declaran como static, entonces el compilador no las destruye y almacena su valor para la próxima llamada, aunque la variable tiene limitado el ámbito al interior de la función).
  • 30. CONCLUSIONES Las funciones son estructuras autónomas similar a los módulos. La diferencia radica en que la función se usa para devolver un solo valor de un tipo de dato simple a su punto de referencia. La función se relaciona especificando su nombre en una expresión, como si fuera una variable ordinaria de tipo simple. Las funciones se dividen en estándares y definidas por el usuario. - Estándar: Son funciones proporcionadas por cualquier lenguaje de programación de alto nivel, y se dividen en aritméticas y alfabéticas. - Definidas por el usuario: son funciones que puede definirlas el programador con el propósito de ejecutar alguna función específica, y que por lo general se usan cuando se trata de hacer algún cálculo que será requerido en varias ocasiones en la parte principal del programa.