UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE
FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION
~ 1 de 8 ~ Ing Edwin Estremadoyro Escobar FUNCIONES PREDEFINIDAS
Algunos compiladores de C. contienen funciones predefinidas para ser empleadas directamente por los usuarios. Tales funciones se hallan en libreras especiales y frecuentemente pueden ser utilizadas escribiendo previamente una directiva de inclusin #include. Entre estas funciones las ms usadas tenemos:
1. Funciones matemticas #include<math.h> (1)
Funcin Valor que retorna ----------------------------------------------------------------------------------------------------------- 1. int abs(int x); Valor absoluto de x 2. double cos(double x); Coseno de x , x en radianes 3 double exp(double x); e elevado a x 4. double fmod(double x,double y); x mdulo de y con Nros. reales 5. double log (double x); Logaritmo natural de x 6 double log10(double x); Logaritmo decimal de x 7 double pow(double x,double y); x elevado a la y 8 double pow10(int p);; 10 elevado a la p 9 double sin(double x); seno de x 10 double tan(double x); Tangente de x 11 double modf(double num, int *i) Descompone Num en parte entera y fraccionaria, devuelve la parte fraccionaria y sita la parte entera en la variable apuntada por i ------------------------------------------------------------------------------------------------------------ (1) Las funciones matemticas tienen funciones en modo real o complejo. Ejemplo de la funcin coseno. real : double cos(double x); complejo : complex cos(complex x);
int main() { double x = 2.0, y = 3.0; printf("%5.2f elevado al %5.2f es: %6.2f\n", x, y, pow(x, y)); system("pause"); }
UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION
~ 2 de 8 ~ Ing Edwin Estremadoyro Escobar 2. Funciones de manejo de pantalla #include <conio.h> ------------------------------------------------------------------------------------------------------------- 1. int getch(void).- lee un carcter de teclado sin visualizarlo. 2. int getche(void).- Lee un carcter de teclado visualizando. 3. void gotoxy(int x,int y).- posesiona el cursor en la columna x y fila y de la pantalla. Esta funcin se incluye en una librera 4. void clrscr(void).- borra la pantalla activa, en Visual C++ system(cls); 5. int wherex(void).- Devuelve la columna donde se encuentra el cursor. 6. int wherey(void).-Devuelve la fila donde se encuentra el cursor. Esta funcin se incluye en una librera 7. cprintf(const *char formato[,argumentos],,,]).- igual que la funcin printf pero aqu se puede usar colores. 8. void textcolor(int colorfondo, color de texto).- Cambia el color de fondo y de texto al especificado en color ( esta funcin se incluye en una librera). 9. int kbhit(void).- Devuelve un valor distinto de cero si se ha pulsado una tecla, si no devuelve un valor cero. -------------------------------------------------------------------------------------------------------------- El tipo void se utiliza para declarar funciones que no retornan un valor o para declarar un puntero no especificado. Si void aparece entre parntesis a continuacin del nombre de una funcin no es interpretada como un tipo. En este caso indica que la funcin no acepta argumentos. El color de texto se obtiene de acuerdo al siguiente diagrama
Figura 1
CREACIN DE LA FUNCIONES
void clrscr(void ) para limpiar la pantalla void gotoxy(int col, int fila): posicionar el cursor en la columna X y la fila Y void textcolor( int colorfondo, int colorletra), permite especificar el color del fondo y de la letra a imprimir esos colores se determinan de acuerdo al grafico que representa la figura 1 Ejemplo letra roja oscura en fondo verde brillante seria textcolor(64+128,4)
int WhereX (). Permite obtener la la columna donde se encuentra el cursor int WhereY (). Permite obtener la la fila donde se encuentra el cursor
7 0 1 2 2 4 5 6 AZUL BRILLO ROJO VERDE AZUL BRILLO ROJO VERDE TEXTO FONDO UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION
~ 3 de 8 ~ Ing Edwin Estremadoyro Escobar PASO 1: ESCRIBA LAS FUNCIONES #include <conio.h> #include <windows.h> #include <stdio.h>
int main() { int cx , cy; clrscr(); // probando la funcion limpiar gotoxy(10,5); //posicionar el cursor en la columna 40 y fila 5 textcolor(192,14);// probano el color de texto printf ("LETRA DE COLOR AMARILLO FONDO ROJO\n"); cx=WhereX(); cy=WhereY(); printf("\n Columna del cursor: %d\n",cx ); printf("\n Fila del cursor: %d \n\n", cy); system("pause");; }
UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION
~ 4 de 8 ~ Ing Edwin Estremadoyro Escobar Ejecute para probar las funciones
PASO 2: PONER EN UNA LIBRERA TODAS ESTA FUNCIONES
Grabar las 5 funciones por ejemplo en una carpeta y grabarlo con el nombre de milib.h puede utilizar el Block de Notas
UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION
~ 5 de 8 ~ Ing Edwin Estremadoyro Escobar
PASO 3: EL PROGRAMA SE CONVIERTE EN
#include <conio.h> #include <windows.h> #include <stdio.h> #include "d:\milib.h" // incluye esta librera creada int main() { int cx , cy; clrscr(); // probando la funcion limpiar gotoxy(10,5); //posicionar el cursor en la columna 40 y fila 5 textcolor(192,14);// probano el color de texto printf ("LETRA DE COLOR AMARILLO FONDO ROJO\n"); cx=WhereX(); cy=WhereY(); printf("\n Columna del cursor: %d\n",cx ); printf("\n Fila del cursor: %d \n\n", cy); system("pause");; }
Siendo los resultados de salida los mismos. Ejemplo 2: Usando la funcin milib.h imprimir mensaje de texto en los 16 colores En fondo negro, azul oscuro y azul claro y amarillo como se muestra
int main() { for (int i=0;i<=15;i++) { textcolor(0,i); printf ("\nLETRA DE COLOR %d ",i); } for (int i=0;i<=15;i++) { textcolor(16,i); gotoxy(20,i); printf (" %d Fondo Azul osc",i); } for (int i=0;i<=15;i++) { textcolor(128+16,i); gotoxy(40,i); printf (" %d Fondo Azul claro",i); } for (int i=0;i<=15;i++) { textcolor(128+64+32,i); gotoxy(60,i); printf (" %d Fondo amarillo ",i); } system("pause"); } UNIVERSIDAD NACIONAL DE SAN AGUSTIN LABORATORIO DE FIPS E.P. DE ING. INDUSTRIAL LENGUAJE DE PROGRAMACION