Funciones en lenguaje C

Slides:



Advertisements
Presentaciones similares
Métodos y parámetros.
Advertisements

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
PROGRAMACIÓN EN C.
Programación de Computadores
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Funciones y recursividad
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Programación modular Procedimientos y Funciones
Procedimientos y Funciones
Introducción a la Programación
Funciones. Programación, Algoritmos y Estructuras de Datos.
FUNCIONES EN C.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Funciones Funciones De biblioteca Definidas por el usuario
Objetivos Específicos de la Unidad
Curso Práctica 3 1 Funciones CONTENIDO Consideraciones sobre funciones Estructura de un programa en C Uso de funciones Paso de parámetros Punteros.
17/09/2014Catedra de Programacion I1 Programación I Funciones.
Acciones y funciones Concepto
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
2 Acciones y funciones 2.1 Concepto
Funciones y procedimientos
Funciones Computación.
FUNCIONES EN C.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -
Subrutinas.

Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Lenguaje C.
Semana 5 Subprogramas..
PROCEDIMIENTOS FUNCIONES
FUNCIONES EN C.
Estructura de un programa en C
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Programación Modular (Pseudocódigo)
Descomposición Modular. Funciones
Computación II Unidad IV Funciones y Módulos. Objetivos: –Comprender como construir programas en forma modular partiendo de pequeñas partes conocidas.
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Fundamentos de Programación
EXPRESIONES Y SENTENCIAS
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Unidad II Introducción a la programación en C++
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Informática Ingeniería en Electrónica y Automática Industrial
Elementos básicos del lenguaje
Funciones Definidas por el Programador
COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
Curso de C # República Bolivariana de Venezuela Área de Computación
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
INTRODUCCION A LA PROGRAMACION
INTRODUCCIÓN AL LENGUAJE C++
ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Una función es un bloque de instrucciones que se ejecuta al ser llamada desde algún punto del programa, con nombre, que ejecuta una tarea específica y.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
MEMORIA DINÁMICA.
PROCEDIMIENTOS Y FUNCIONES
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Transcripción de la presentación:

Funciones en lenguaje C

Funciones Definición: Criterios para crearlas: Las funciones son los bloques de construcción básicos de 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. 2

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. 3

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. 4

La sentencia return Fuerza la salida inmediata de la función en que se encuentra. Se puede utilizar para devolver un valor. 5

Funciones Las funciones terminan su ejecución ya sea a través de la ejecución de la última instrucción o utilizando la sentencia return. Un 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. 6

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. 7

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. 8

Variables locales y globales 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. 9

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: Parámetro real (llamada) main( ){ imprimeEntero(5); } void imprimeEntero(int x){ printf(“%d\n”, x);/* x vale 5 */ Parámetro formal (declaración) 10

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. 11

Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros. 12

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: %d\n",i,resultado); return 0; 13

Ejemplo Construya una función que calcule la suma de los k primeros números enteros impares. 14

Solución ? #include <stdio.h> int sumaImpares(-------){ ------------------ return r; } 15

Ejemplo Construya una función que realice intercambio de los valores entre 2 variables. 16

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=%d\n“,x,y,temp); } main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio(a,b); return 0; 17

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=%d\n“,*x,*y,temp); } main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio (&a,&b); return 0; 18

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 19

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 encontrado\n"); else printf("El digito encontrado es: %d\n",digito); return 0; 20

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. 21

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 %d\n",i,resultado); } return 0; int cuadrado(int x){ int a; a=x*x; return a; 22

Prototipo (cont.) #include <stdio.h> void intercambio(int *, int *) /*Prototipo*/ main(){ int a=5,b=3; printf("a=%d b=%d\n",a,b); intercambio (&a,&b); return 0; } void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp; 23