La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.

Presentaciones similares


Presentación del tema: "Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I."— Transcripción de la presentación:

1 Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I

2 En lenguaje C existen dos tipos de funciones: Las funciones de biblioteca y las definidas por el programador. Funciones de Biblioteca: Funciones Realizan varias operaciones y cálculos de uso frecuente. Algunas devuelven un dato en su llamada, otras indican cuando una condición es cierta o falsa, y otras efectúan operaciones específicas sobre los datos y no devuelven nada. Por ejemplo hay funciones de biblioteca que efectúan las operaciones estándar de entrada/salida, funciones que realizan operaciones sobre caracteres, funciones que realizan operaciones en cadenas de caracteres y funciones que realizan diversos cálculos matemáticos.

3 Computación I Funciones de Biblioteca de uso común: Funciones Operaciones de Entrada/Salida scanf(.....)Introducir datos del dispositivo de entrada getchar( )Introducir un carácter desde el dispositivo de entrada printf(…..)Mandar datos al dispositivo de salida putchar(c)Mandar un carácter al dispositivo de salida Operaciones sobre caracteres tolower(c)Convertir una letra en minúscula toupper(c)Convertir una letra en mayúscula

4 Computación I Funciones de Biblioteca: Funciones getchar: int getchar () Se encuentra en la librería stdio.h y se encarga de leer un carácter de la consola de entrada. #include “stdio.h” #include “conio.h” void main(){ char res; printf(“Desea continuar S/N: ”); res=getchar(); printf(“respuesta = %c”,res); getch(); }

5 Computación I Funciones de Biblioteca: Funciones putchar: int putchar (int ch) Se encuentra en la librería stdio.h y se encarga de mostrar un carácter de la pantalla. #include “stdio.h” #include “conio.h” void main(){ char res; printf(“Desea continuar S/N: ”); res=getchar(); putchar(res); getch(); }

6 Computación I Funciones de Biblioteca: Funciones tolower: int tolower(int ch) Se encuentra en la librería ctype.h y se encarga de devolver la minúscula de ch siempre y cuando ésta sea una letra. #include “stdio.h” #include “conio.h” #include “ctype.h” void main(){ char letra=‘A’; char res; res= tolower(letra); printf(“letra= %c”,letra); getch(); } #include “stdio.h” #include “conio.h” #include “ctype.h” void main(){ char res; printf(“Desea continuar S/N: ”); scanf(“%c”,&res); res= tolower(res); printf(“respuesta = %c”,res); getch(); }

7 Computación I Funciones de Biblioteca: Funciones toupper: int toupper(int ch) Se encuentra en la librería ctype.h y se encarga de devolver la mayúscula de ch siempre y cuando ésta sea una letra. #include “stdio.h” #include “conio.h” #include “ctype.h” void main(){ char letra=‘a’; char res; res=toupper(letra); printf(“letra= %c”,letra); getch(); } #include “stdio.h” #include “conio.h” #include “ctype.h” void main(){ char res; printf(“Desea continuar s/n: ”); scanf(“%c”,&res); res=toupper(res); printf(“respuesta = %c”,res); getch(); }

8 Computación I Funciones Operaciones en cadena de caracteres strcmp(s1,s2)Comparar dos cadenas de caracteres strcmpi(s1,s2) Comparar dos cadenas de caracteres ignorando mayúsculas y minúsculas strcat(s1,s2)Concatenar dos cadenas strcpy(s1,s2)Copiar una cadena de caracteres en otra

9 Computación I Funciones de Biblioteca: Funciones strcmp: int strcmp(cad1, cad2) Se encuentra en la librería string.h y se encarga de comparar una cadena de caracteres con otra, comenzando con el primer carácter de ambas cadenas hasta que sean diferentes ó hasta que lleguen al final. Si cad1 es menor que cad2 devuelve un valor < 0 Si cad1 es igual a cad2 devuelve un valor == 0 Si cad1 es mayor que cad2 devuelve un valor > 0

10 Computación I Funciones de Biblioteca: Funciones strcmp: int strcmp(cad1, cad2) #include “stdio.h” #include “conio.h” #include “string.h” void main(){ char region[]=“Oriente”; if ( strcmp(region,”Oriente”) == 0 ) printf(“La region es Oriente”); else printf(“\nNo coincide con Oriente”); getch(); }

11 Computación I Funciones de Biblioteca: Funciones strcmpi: int strcmpi(cad1, cad2) Se encuentra en la librería string.h y se encarga de comparar una cadena de caracteres con otra sin tomar en cuenta los casos sensibles, comenzando con el primer carácter de ambas cadenas hasta que sean diferentes ó hasta que lleguen al final. Si cad1 es menor que cad2 devuelve un valor < 0 Si cad1 es igual a cad2 devuelve un valor == 0 Si cad1 es mayor que cad2 devuelve un valor > 0

12 Computación I Funciones de Biblioteca: Funciones strcmpi: int strcmpi(cad1, cad2) #include “stdio.h” #include “conio.h” #include “string.h” void main(){ char region[]=“Oriente”; if ( strcmpi(region,”ORIENTE”) == 0 ) printf(“La region es Oriente”); else printf(“\nLa region no es Oriente”); getch(); }

13 Computación I Funciones de Biblioteca: Funciones strcpy: int strcpy(cadDestino, cadOrigen) Se encuentra en la librería string.h y se encarga de copiar el contenido de la cadOrigen en la cadDestino. #include “stdio.h” #include “conio.h” #include “string.h” void main(){ char cadena[]=“ABCdef”; char prueba[10]; strcpy(prueba, cadena); printf(“prueba tiene: %s”, prueba); getch(); }

14 Computación I Funciones de Biblioteca: Funciones strcat: int strcat(cadDestino, cadOrigen) Se encuentra en la librería string.h y se encarga de concatenar el contenido de la cadOrigen al final del contenido de la cadDestino. #include “stdio.h” #include “conio.h” #include “string.h” void main(){ char nombre[]=“Ana”; char apellido[]=“ Perez”; strcat(nombre, apellido); printf(“nombre tiene: %s”, nombre); getch(); }

15 Computación I Funciones Operaciones para cálculos matemáticos Se encuentran en la librería math.h abs(i)Devolver el valor absoluto de i (int) pow(d1,d2)Devolver d1 elevado a la potencia d2 exp(d) Elevar e a la potencia d sqrt(d)Devolver la raíz cuadrada de d cos(d)Devolver el coseno de d (double) sin(d)Devolver el seno de d (double) tan(d)Devolver la tangente de d (double)

16 Computación I Funciones de Biblioteca: Funciones abs: int abs(int i) Se encuentra en la librería math.h y se encarga de retornar el valor absoluto de un número entero. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ int num = -123; int aux; aux = abs(num); printf(“\nEl valor absoluto de %d es %d”, num, aux); getch(); }

17 Computación I Funciones de Biblioteca: Funciones pow: double pow(double d1, double d2) Se encuentra en la librería math.h y se encarga de retornar el valor de d1 elevado a la potencia de d2. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double base=2.0, exponente=4.0; double aux; aux = pow(base,exponente); printf(“\nEl resultado es %lf”, aux); getch(); }

18 Computación I Funciones de Biblioteca: Funciones exp: double exp(double d) Se encuentra en la librería math.h y se encarga de retornar el valor de la exponencial de d. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double num=4.0; double aux; aux = exp(num); printf(“\nEl resultado es %lf”, aux); getch(); }

19 Computación I Funciones de Biblioteca: Funciones sqrt: double sqrt(double d) Se encuentra en la librería math.h y se encarga de retornar el valor de la raíz cuadrada. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double num=4.0; double aux; aux = sqrt(num); printf(“\nLa raíz cuadrada es %lf”, aux); getch(); }

20 Computación I Funciones de Biblioteca: Funciones sin: double sin(double d) Se encuentra en la librería math.h y se encarga de retornar el valor del seno del ángulo d especificado en radianes. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double num=0.5; double aux; aux = sin(num); printf(“\nEl resultado del seno es %lf”, aux); getch(); }

21 Computación I Funciones de Biblioteca: Funciones sin: double cos(double d) Se encuentra en la librería math.h y se encarga de retornar el valor del coseno del ángulo d especificado en radianes. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double num=0.5; double aux; aux = cos(num); printf(“\nEl resultado del coseno es %lf”, aux); getch(); }

22 Computación I Funciones de Biblioteca: Funciones sin: double tan(double d) Se encuentra en la librería math.h y se encarga de retornar el valor del coseno del ángulo d especificado en radianes. #include “stdio.h” #include “conio.h” #include “math.h” void main(){ double num=0.5; double aux; aux = tan(num); printf(“\nEl resultado de la tangente es %lf”, aux); getch(); }

23 Computación I Funciones definidas por el programador: Funciones La modularización, es una técnica usada por los programadores para hacer sus códigos más cortos, ya que consiste en reducir un gran problema complejo, en pequeños problemitas más sencillos, concentrándose en la solución por separado, de cada uno de ellos. Para lograr que un programa sea modular, Lenguaje C introduce las funciones definidas por el programador. En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir un programa con el objetivo que, cada bloque realice una tarea determinada.

24 Computación I Funciones definidas por el programador: Funciones Cuando se accede a una función (cuando se invoca o llama a una función) se ejecutan las instrucciones de que consta. Se puede acceder a una misma función desde varios lugares distintos del programa. Una vez que se ha completado la ejecución de una función, se devuelve el control al punto desde que se accedió a ella. Generalmente, una función procesará la información que le es pasada desde el punto del programa en donde se accede a ella y devolverá un solo valor.

25 Computación I Funciones definidas por el programador: Funciones La información se le pasa a una función mediante unos identificadores especiales llamados argumentos o parámetros y es devuelta por medio de la instrucción return. Sin embargo, algunas funciones aceptan información pero no devuelven nada (void).

26 Computación I Funciones definidas por el programador: Funciones En las funciones juegan un papel muy importe las variables, ya que éstas pueden ser locales o globales. Variables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquier función. Se definen antes del main(). Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan sido declaradas.

27 Computación I Funciones Definición de una función: Una función tiene dos componentes principales: la primera línea (incluyendo las declaraciones de los argumentos) y el cuerpo de la función. tipo_valor_devuelto nombre_funcion ( tipo1 arg1, …., tipon argn) Los argumentos formales representan los nombres de los elementos que se transfieren a la función desde la parte del programa que hace la llamada. Argumentos formales

28 Computación I Funciones definidas por el programador: Funciones Los identificadores utilizados como argumentos formales son “locales” en el sentido en que no son reconocidos fuera de la función. Por tanto, sus nombres no tienen por qué coincidir con los nombres de los argumentos reales en la parte del programa que se hace la llamada. El resto de la definición de una función es una instrucción compuesta que define las acciones que debe realizar ésta. Se le suele llamar cuerpo de la función. Debe incluir una o mas instrucciones return para devolver un valor al punto de llamada, el cual debe coincidir con el tipo_valor_devuelto en la primera línea de la función.

29 Computación I Funciones definidas por el programador: Funciones Ejemplo: /* Función que determina el valor máximo de dos enteros diferentes */ int maximo ( int x, int y) { if ( x > y ) return x; else return y; } int maximo ( int x, int y) { int z; if ( x > y ) z = x; else z = y; return z; }

30 Computación I Funciones definidas por el programador: Funciones Se puede llamar a una función especificando su nombre, seguido de una lista de argumentos encerrados entre paréntesis y separados por comas. Si la llamada a la función no requiere ningún argumento, se debe colocar un par de paréntesis vacíos. La llamada a la función puede formar parte de una expresión simple (como por ejemplo una sentencia de asignación) o puede ser el operando de una expresión mas compleja.

31 Computación I Funciones definidas por el programador: Funciones Los argumentos que aparecen en la llamada de una función se llaman argumentos reales. En una llamada de una función habrá un argumento real por cada argumento formal coincidiendo incluso en el tipo de dato, ya que el valor de cada argumento real es transferido y asignado al correspondiente argumento formal. Si la función devuelve un valor, el acceso a la función se puede escribir como: una instrucción de asignación, como un operando dentro de una expresión o dentro de una sentencia de salida. Si la función no devuelve nada el acceso se escribirá como una instrucción sencilla.

32 Computación I Funciones Ejemplo: /* Determinar el valor máximo de tres enteros */ #include “stdio.h” #include “conio.h” int maximo ( int x, int y) { if ( x > y ) return x; else return y; } void main( ){ int num1,num2,num3, aux, res; printf(“\nIngrese tres numeros enteros: ”); scanf(“%d %d %d”, &num1,&num2,&num3); aux=maximo(num1,num2); printf(“\nEl maximo es %d”,maximo(aux,num3) ); /*Multiplicar por 5 el maximo y restarle 3*/ res = maximo(aux,num3) * 5 - 3; printf(“\nEl calculo es %d”,res ); getch(); }

33 Computación I Prototipos de Funciones: Funciones En el ejemplo anterior la definición de la función precede a la función main, con el objetivo de que al compilar el programa la función sea conocida por el compilador antes del primer acceso a la función. Sin embargo, algunos programadores prefieren que la función main aparezca antes de las funciones definidas por ellos. Para esta finalidad existen los prototipos de funciones.

34 Computación I Funciones Ejemplo: /* Determinar el valor máximo de tres enteros */ #include “stdio.h” #include “conio.h” int maximo ( int x, int y); void main( ){ int num1,num2,num3, aux, res; printf(“\nIngrese tres numeros enteros: ”); scanf(“%d %d %d”, &num1,&num2,&num3); aux=maximo(num1,num2); printf(“\nEl maximo es %d”,maximo(aux,num3) ); /*Multiplicar por 5 el maximo y restarle 3*/ res = maximo(aux,num3) * 5 - 3; printf(“\nEl calculo es %d”,res ); getch(); } int maximo (int x, int y) { if ( x > y ) return x; else return y; } Prototipo de función. Definición de la función.

35 Computación I Paso de argumentos a una función: Funciones Cuando se pasa un valor a una función mediante un argumento real, se copia el valor del argumento real en el correspondiente argumento formal. Por tanto, se puede modificar el valor del argumento formal dentro de la función, pero el valor del argumento real en la rutina que efectúa la llamada no cambiará. A esto se le llama paso por valor.

36 Computación I Paso de argumentos a una función: Funciones Paso por valor #include int cuadrado_por_valor (int nx); void main( ) { int n, c; printf(“\nIntroduzca un numero: "; scanf(“%d”,&n); printf(“\nEl valor inicial de n es: %d“, n); c=cuadrado_por_valor(n); printf(“\nEl valor final de n es: %d y el cuadrado es %d“, n, c); getch( ); } int cuadrado_por_valor (int nx) { nx = nx * nx; return (nx); }


Descargar ppt "Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I."

Presentaciones similares


Anuncios Google