06/08/2015 FUNCIONES EN C PROF. ADDYS DE LAM Dra. Addys de Lam.

Slides:



Advertisements
Presentaciones similares
PROGRAMACIÓN EN C.
Advertisements

Instrucciones Básicas Entrada de Información
El lenguaje C Introducción.
MANUAL EXPRESS DE C J.M.sevilla.
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Fundamentos de la Programación Estructurada
Procedimientos y Funciones
Funciones. Programación, Algoritmos y Estructuras de Datos.
Variables Prof. Gonzalo Pastor.
FUNCIONES EN C.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Funciones Funciones De biblioteca Definidas por el usuario
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Funciones en lenguaje C
Funciones Computación.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -
Tema 3 Entrada y Salida.
Lenguaje C.
Semana 5 Subprogramas..
Tema 7c Entrada y salida de funciones. Funciones Funcion Entradas SalidasTareas.
Características de “C”
Cadenas y apuntadores Programación.
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.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Programación en Lenguaje C
Elementos básicos del lenguaje
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Punteros.
PARCIAL DE JUNIO DEL 2014 LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Lenguaje de Programación  Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan.
LENGUAJE “C” Programación. Condicionales Los condicionales permiten al programa escoger entre varios posibles resultados dependiendo de la evaluación.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
Trazado. 1 Intercambio sin error #include void intercambio(int *, int *); /* prototipo */ main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio(&a,&b);
Funciones Definidas por el Programador
Definición de subprogramas en C
FUNDAMENTOS DE PROGRAMACIÓN
INTRODUCCIÓN AL LENGUAJE C++
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
PRINCIPIOS DE PROGRAMACIÓN

LENGUAJE “C” Programación.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 9: Funciones, variables y arreglos en BASH Nombre.
Algoritmo.
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
CICLOS EN C – PARTE 3.
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.
Corporación Universitaria del Caribe CECAR Fundamentos de programación II.
 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.
TIPOS DE DATOS PARCIAL III FUNCIONES. Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman ciertos valores.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
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.
ESTRUCTURAS DE CONTROL REPETITIVAS
Transcripción de la presentación:

06/08/2015 FUNCIONES EN C PROF. ADDYS DE LAM Dra. Addys de Lam

OBJETIVOS DEFINIR QUE ES UNA FUNCIÓN Y CUAL ES SU FORMATO. CODIFICAR FUNCIONES, SU FORMA DE ACCESO, DECLARACIONES Y AMBITO DE LAS VARIABLE. UTILIZACIÓN DE LAS FUNCIONES EN PROGRAMAS COMPLETOS EN C. CREAR FUNCIONES COMO PARTE DE LIBRERIAS. 06/08/2015 Dra. Addys de Lam

06/08/2015 FUNCIONES Una función es un segmento de programa que realiza determinadas tareas bien definidas. Las funciones en C son porciones de código que devuelven uno o ningún valor.. DEFINICION DE UNA FUNCION Tiene tres componentes principales: la primera línea, la declaración de argumentos y el cuerpo de la función. FORMATO: tipo nombre (argumento formal 1, argumento formal n) declaración de los argumentos formales { cuerpo de la función } Se devuelve información desde la función hasta el punto del programa desde donde se llamó mediante la sentencia return y devuelve el control al punto de llamada. FORMATO: return expresion ; Se devuelve el valor de expresión al punto de llamada. ( expresión es opcional). Dra. Addys de Lam

06/08/2015 Dra. Addys de Lam Funciones sin argumentos Cuando la función no recibe parámetros se declara con void entre par é ntesis o paréntesis vacios. Ejemplo: int decide(void) ó int decide( ) {... } Accede: resp = decide();

06/08/2015 EJEMPLO 1: Función para convertir un carácter de minúscula a mayúscula. minusc_a_mayusc (c1) /* primera línea */ char c1; /* declaración de argumento */ { char c2; c2 = ( c1 > = ‘a’ && c1 < = ‘z’) ? ( ‘A’+ c1 - ‘a’) : c1; return (c2); } /* Fin del cuerpo de la función */ NOTA: La primera línea no tiene especificado el tipo, asume un valor entero. Dra. Addys de Lam

06/08/2015 EJEMPLO 2: Función que determina el mayor de dos cantidades enteras. void maximo ( x,y ) /* Declaración de argumentos formales */ int x, y; { int z; z = (x > = y ) ? x : y; printf (“\n\nValor maximo = %d”, z); return; } NOTA:void indica que la función no devuelve nada. Dra. Addys de Lam

06/08/2015 EJEMPLO 3: Función que calcula el factorial de un número entero positivo dado. long int factorial ( n ) int n; { int i; long int prod = 1; if ( n> 1) for ( i= 2; i <= n; ++i ) prod * = i; return ( prod); } Dra. Addys de Lam

06/08/2015 ACCESO A UNA FUNCION: FORMATO: nombre de la función ( argumento actual 1, , argumento actual n) ó nombre de la función ( ) EJEMPLO 1: Convierte un carácter de minúscula a mayúscula. #include main ( ) { char minusc, mayusc; char minusc_a_mayusc(char minusc); /* declaración de la función */ printf ( “Entre una letra minuscula:”); scanf (“%c”, &minusc); mayusc = minusc_a_mayusc ( minusc); /* acceso a la función */ printf (“\nLa mayuscula equivalente es %c\n\n, mayusc); } minusc_a_mayusc (c1) /* primera línea */ char c1; /* declaración de argumento */ { char c2; c2 = ( c1 > = ‘a’ && c1 < = ‘z’) ? ( ‘A’+ c1 - ‘a’) : c1; return (c2); } Dra. Addys de Lam

06/08/2015 EJEMPLO 2: Determinar el mayor de tres cantidades: #include main ( ) { int a, b, c, d; printf ( “\na =”); scanf (“%d”, &a); printf ( “\nb =”); scanf (“%d”, &b); printf ( “\nc =”); scanf (“%d”, &c); d = maximo ( a, b); /* acceso a la función */ printf (“\nMaximo es %d”, maximo(c, d)); /* acceso a la función */ getch(); } maximo ( x,y ) /* determina el mayor de dos cantidades */ int x, y; { int z; z = (x > = y ) ? x : y; return (z); } Dra. Addys de Lam

06/08/2015 DECLARACIONES DE FUNCIONES En principio, en C, la declaración de una función se puede hacer de tres maneras: a) Mediante una llamada a la función. En efecto, cuando una función es llamada sin que previamente haya sido declarada o definida, esa llamada sirve como declaración suponiendo int como tipo del valor de retorno, y el tipo de los argumentos actuales como tipo de los argumentos formales. Esta práctica es muy peligrosa (es fuente de numerosos errores) y debe ser evitada. b) Mediante una definición previa de la función. Esta práctica es segura si la definición precede a la llamada, pero tiene el inconveniente de que si la definición se cambia de lugar, la propia llamada pasa a ser declaración como en el caso a). c) Mediante una declaración explícita, previa a la llamada. Esta es la práctica más segura y la que hay que tratar de seguir siempre. La declaración de la función se hace mediante el prototipo de la función, bien fuera de cualquier bloque, bien en la parte de declaraciones de un bloque. Dra. Addys de Lam

06/08/2015 La forma general del prototipo de una función tipo_valor_de_retorno nombre_funcion (lista de tipos de argumentos); Ejemplo: intercambia los valores de dos variables. void permutar(double x, double y) /* Paso por valor */ { double temp; temp = x; x = y; y = temp; } Dra. Addys de Lam

06/08/2015 #include void permutar(double, double); void main() { double a=1.0, b=2.0; printf("a = %lf, b = %lf\n", a, b); permutar(a, b); printf("a = %lf, b = %lf\n", a, b); /*No se refleja el cambio porque es por valor */ } La función anterior podría ser llamada y comprobada de la siguiente forma: Dra. Addys de Lam

06/08/2015 #include main () { int potencia(int); /* Declaración del prototipo de la función potencia*/ int suma,n,i; clrscr(); printf("\n \t Entre el valor final de la serie:"); scanf(" %d",&n); suma =1; printf ("\n \t La serie es: %d ",suma); /* Calculo de la sumatoria de la serie */ for(i=2;i<=n;i++) suma += potencia(i); /* Llamado a ejecucion de la funcion potencia*/ /* Visualizacion del resultado final*/ printf("\n \t La sumatoria de Potencias es: %d ",suma); getch(); return 0; } Dra. Addys de Lam

06/08/2015 /* Definición de la función potencia*/ int potencia(int e) { /* Declaraciones Locales */ int pot,a; /* Valor inicial de la potencia */ pot = e; /* Calculo de la base pot elevado a la potencia e */ for (a=2;a<=e;a++) pot *= e; /* Visualización de los siguientes términos de la serie */ printf(" + %d ", pot); return pot; } Dra. Addys de Lam Función potencia

06/08/2015 #include int cuadrado (int ); /*Prototipo de Función*/ main() { int x; clrscr(); for (x=1; x<=10; x++) printf("%d ", cuadrado(x)); printf("\n"); getch(); return 0; } /*Definición de la función*/ int cuadrado (int y) { return y*y; } EJEMPLO: Función para obtener el cuadrado de 1 a 10 Dra. Addys de Lam

06/08/2015 Dra. Addys de Lam #include main ( ) { int a, b, c, d; int maximo(int,int); printf ("\na ="); scanf ("%d", &a); printf ( "\nb ="); scanf ("%d", &b); printf ( "\nc ="); scanf ("%d", &c); d = maximo ( a, b); /* acceso a la función */ printf ("\nMaximo es %d", maximo(c, d)); /* acceso a la función */ getch(); } maximo ( int x, int y ) /* determina el mayor de dos cantidades */ { int z; z = (x >= y ) ? x : y; return (z); } Mayor de tres cantidades : prototipo

06/08/2015 /*Se declaran dentro de una función*/ /*Se crean al entrar en su bloque y se destruye después de salir*/ #include main() { int fx (void); int x; /* x es local al main */ clrscr(); x=10; printf(" La x en el principal es %d\n", x); fx(); getch(); return 0; } fx() {int x; /* x es local a fx()*/ x = 100; printf("La x en fx() es %d\n",x); } AMBITO: VARIABLES LOCALES Dra. Addys de Lam

06/08/2015 /*Visualiza el caracter ASCCI cuyo codigo sea igual al numero ingresado por el usuario*/ #include char ascii(int numero); /* Declaracion de la funcion */ main() { int numero; char caracterascii; clrscr(); printf("Ingrese un codigo ASCII: "); scanf("%d",&numero); caracterascii=ascii(numero); printf("El caracter ASCII que corresponde al codigo %d es %c", numero, caracterascii); getch(); return 0; } char ascii(int numero) { char caracterascii; /* Variable Local*/ caracterascii=(char) numero; return(caracterascii); } AMBITO: VARIABLES LOCALES Dra. Addys de Lam

06/08/2015 /*variables globales:*/ /*Se conocen en el programa entero y se pueden usar en cualquier bloque de codigo*/ #include int cont; /*cont es global*/ main() { int func1 (void); int func2(void); clrscr(); cont = 100; printf("Valor de cont en el main: %d\n ",cont); func1(); return 0; } func1() { printf("cont en la funcion1: %d\n ",cont); func2(); getch(); return 0; } func2() { int cont ; /*cont es local*/ for(cont=1; cont<10; cont++) printf("."); getch(); return 0; AMBITO: VARIABLES GLOBALES Dra. Addys de Lam

06/08/2015 Crear la función, compilar y guardar con extensión c. Cuando se desea utilizar deberá incluirse con la directriz #include. El archivo debe estar entre “ “ (comilla doble). USO DE FUNCIONES EXTERNAS ARCHIVOS DE CABECERA DEFINIDOS POR EL USUARIO Dra. Addys de Lam

06/08/2015 EJEMPLO 1. Se crea la función que calcula el cuadrado. int cuadrado (int y) { return y*y; } 2. Se guarda como cuadrado.c Dra. Addys de Lam

06/08/ Se utiliza cuadrado.h #include #include “cuadrado.c” main() { int x; for (x=1; x<=10;x++) printf (“%d”, cuadrado(x)); printf (“\n”); getch(); return 0; } Dra. Addys de Lam

06/08/2015 EJEMPLO ARCHIVO: MATEMATI.C multiplicar(int a,int b) { int mult; mult = a*b; return mult; } double elevar_num(int a) { double elevacion; elevacion = a*a; return elevacion; } suma(int a,int b) { int sum; sum = a+b; return sum; } restar(int a,int b) { int res; res = a-b; return res; } Dra. Addys de Lam

06/08/2015 PROGRAMA PROGRAMA.C #include "d:\cursos\programa\matemati.h" #include #define PI void main() { int a,b,opc,resp, radio; double area, areatotal, res; do { clrscr(); printf("\n\t\t***MENU***"); printf("\n\t1.Sumar"); printf("\n\t2.Restar"); printf("\n\t3.Multiplicar"); printf("\n\t4.Elevar"); printf("\n\t5.Area de un circulo"); printf("\n\t6.Salir"); printf("\n\tEscoger opción -->\t "); scanf("%d",&opc); if (opc>=1&&opc<=3){ printf("Introduzca dos números separados por coma (#,#)\t"); scanf("%d,%d",&a,&b); } switch(opc) { case 1: clrscr(); resp = suma(a,b); printf ("\nLa suma de %d + %d = %d",a,b,resp); getch(); break; case 2: clrscr(); resp = restar(a,b); printf ("\nLa resta de %d - %d = %d",a,b,resp); getch(); break; Dra. Addys de Lam

06/08/2015 PROGRAMA PROGRAMA.C case 3: clrscr(); resp = multiplicar(a,b); printf ("\nLa Multiplicación de %d * %d = %d",a,b,resp); getch(); break; case 4: clrscr(); printf("Introduzca el numero para elevar al cuadrado\t"); scanf("%d",&a); res=elevar_num(a); printf("\nEl numero elevado es %.2f",res); getch(); break; case 5: clrscr(); printf("Introduzca el radio\t"); scanf("%d",&radio); area = elevar_num(radio); areatotal= PI * area; printf("\nEL area del circulo es:%.2f ",areatotal); getch(); break; case 6: clrscr(); printf("Usted escogio salir"); getch(); break; default: clrscr(); printf("Valor fuera de rango...inténtelo de nuevo"); getch(); } }while(opc!=6); } Dra. Addys de Lam