Você está na página 1de 36

Computación I Presentación

Lenguaje C

:: Prof. Yeniffer Peña


Funciones

En lenguaje C existen dos tipos de funciones: Las


funciones de biblioteca y las definidas por el programador.
Computación I

Funciones de Biblioteca:
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.
Funciones

Funciones de Biblioteca de uso común:


Computación I

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
Funciones
Funciones de Biblioteca:
getchar: int getchar ()
Computación I

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();
}
Funciones
Funciones de Biblioteca:
putchar: int putchar (int ch)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
tolower: int tolower(int ch)
Computación I

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 “stdio.h”


#include “conio.h” #include “conio.h”
#include “ctype.h” #include “ctype.h”
void main(){ void main(){
char letra=‘A’; char res;
char res; printf(“Desea continuar S/N: ”);
scanf(“%c”,&res);
res= tolower(letra); res= tolower(res);
printf(“letra= %c”,letra); printf(“respuesta = %c”,res);
getch(); getch();
} }
Funciones
Funciones de Biblioteca:
toupper: int toupper(int ch)
Computación I

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 “stdio.h”


#include “conio.h” #include “conio.h”
#include “ctype.h” #include “ctype.h”
void main(){ void main(){
char letra=‘a’; char res;
char res; printf(“Desea continuar s/n: ”);
scanf(“%c”,&res);
res=toupper(letra); res=toupper(res);
printf(“letra= %c”,letra); printf(“respuesta = %c”,res);
getch(); getch();
} }
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
Funciones
Funciones de Biblioteca:
strcmp: int strcmp(cad1, cad2)
Computación I

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
Funciones
Funciones de Biblioteca:
strcmp: int strcmp(cad1, cad2)
Computación I

#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();
}
Funciones
Funciones de Biblioteca:
strcmpi: int strcmpi(cad1, cad2)
Computación I

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
Funciones
Funciones de Biblioteca:
strcmpi: int strcmpi(cad1, cad2)
Computación I

#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();
}
Funciones
Funciones de Biblioteca:
strcpy: int strcpy(cadDestino, cadOrigen)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
strcat: int strcat(cadDestino, cadOrigen)
Computación I

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();
}
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)
Funciones
Funciones de Biblioteca:
abs: int abs(int i)
Computación 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();
}
Funciones
Funciones de Biblioteca:
pow: double pow(double d1, double d2)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
exp: double exp(double d)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
sqrt: double sqrt(double d)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
sin: double sin(double d)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
sin: double cos(double d)
Computación I

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();
}
Funciones
Funciones de Biblioteca:
sin: double tan(double d)
Computación I

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();
}
Funciones

Funciones definidas por el programador:


Computación I

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

Funciones definidas por el programador:


Computación I

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

Funciones definidas por el programador:


La información se le pasa a una función mediante unos
Computación I

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

Funciones definidas por el programador:


Computación I

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

Definición de una función:


Computación I

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)

Argumentos formales

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

Funciones definidas por el programador:


Computación I

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

Funciones definidas por el programador:


Computación I

Ejemplo:
/* Función que determina el valor máximo de dos enteros diferentes */

int maximo (int x, int y) { int maximo (int x, int y) {


if ( x > y ) int z;
return x; if ( x > y )
else return y; z = x;
} else z = y;
return z;
}
Funciones

Funciones definidas por el programador:


Computación I

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.
Funciones
Funciones definidas por el programador:
Los argumentos que aparecen en la llamada de una
Computación I

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.
Funciones
Ejemplo: /* Determinar el valor máximo de tres enteros */
#include “stdio.h”
#include “conio.h”
Computación I

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();
}
Funciones
Prototipos de Funciones:
En el ejemplo anterior la definición de la función precede a
Computación I

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.


Funciones
Ejemplo: /* Determinar el valor máximo de tres enteros */
#include “stdio.h”
#include “conio.h”
Computación I

int maximo (int x, int y); Prototipo de función.


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) { Definición de la función.
if ( x > y )
return x;
else return y; }
Funciones

Paso de argumentos a una función:


Computación I

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.
Funciones
Paso de argumentos a una función:
Paso por valor
Computación I

#include <stdio.h>
#include <conio.h>
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);
}

Você também pode gostar