Está en la página 1de 24

DIRECTIVAS PREPROCESADOR

Las directivas preprocesador son instrucciones que se dan al


compilador.
Se procesan por completo antes de iniciar la compilación.
Permite sustituir macros, realizar compilaciones condicionales e
incluir archivos.
C++ reconoce los siguientes comandos.
#define, #include, #ifdef, #ifndef, #endif, #else.
La directivas preprocesador no llevan punto y coma(;)

Directiva #include
Permite incluir un archivo (sustituir el contenido del archivo) en el
programa.
Este comando se utiliza para incluir archivos o librería.

ING. FÉLIX HUARI 1


DIRECTIVAS PREPROCESADOR
El archivo suelen tener extensión h, o puede incluirse cualquier
tipo de archivo texto.
El archivo puedes estar encerrado con doble comilla (“ ”) o <>

#include “Nombre Archivo”


#include <Nombre Archivo>

<>: La búsqueda del archivo se centra en el directorio estándar de


los archivos incluidos.
“ “: Se busca el archivo en el directorio actual, y posteriormente
en el directorios estándar de librerías.
❑ Ejemplo
#include “tools.h”
#include <math.h>

ING. FÉLIX HUARI 2


DIRECTIVAS PREPROCESADOR

Directiva #define
Permite establecer una directiva macro en el programa.

La sintaxis es la siguiente

✓ #define NOMBRE
✓ #define NOMBRE <Dato>
✓ #define NOMBRE(parámetros) <Sentencias>

Antes de comenzar la compilación, el preprocesador analiza el


programa y cada vez que encuentra el identificador NOMBRE lo
sustituye por el texto que se especifica

ING. FÉLIX HUARI 3


DIRECTIVAS PREPROCESADOR
❑ Ejemplo

#define E 2.718281828459
int main()
{ double a;
a=(1.0 + 1.0/E)*(1.0 -2.0/E) ;
}

Al sustituir la macro en el programa queda así:


int main()
{ double a;
a=(1.0 + 1.0/2.718281828459)*(1.0 -2.0/2.718281828459);
}

ING. FÉLIX HUARI 4


DIRECTIVAS PREPROCESADOR

❑ Ejemplo

Diseñar un algoritmo en C++ que permita saber si un


numero entero es múltiplo de 3 y 5 respectivamente
Aplicar directivas preprocesador

ING. FÉLIX HUARI 5


DIRECTIVAS PREPROCESADOR

❑ Ejemplo

ING. FÉLIX HUARI 6


DIRECTIVAS PREPROCESADOR

❑ Ejemplo

ING. FÉLIX HUARI 7


DIRECTIVAS PREPROCESADOR

❑ Ejemplo

ING. FÉLIX HUARI 8


DIRECTIVAS PREPROCESADOR

❑ Ejemplo
Uso de operador ternario (?)

ING. FÉLIX HUARI 9


DIRECTIVAS PREPROCESADOR

❑ Ejemplo
Uso de operador ternario (?)

ING. FÉLIX HUARI 10


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #1

Escribir un programa en C++ que permita el ingreso de


la temperatura y tipo de temperatura (C: centígrado o
F:Fahrenheit)
Muestre la temperatura convertida
Muestre la temperatura en grados kelvin
Aplicar directivas preprocesador

ING. FÉLIX HUARI 11


DIRECTIVAS PREPROCESADOR
Directiva de Compilación Condicional (#ifdef)

#ifdef <NOMBRE>
<Sentencias1>
#else
<Sentencias2>
#endif

Si el identificador NOMBRE esta definida, produce


verdadero en caso contrario produce falso.
Si es verdadero procesa las sentencias1, caso
contrario ejecuta la sentencias2.

ING. FÉLIX HUARI 12


DIRECTIVAS PREPROCESADOR

Directiva de Compilación Condicional (#ifndef)

#ifndef<NOMBRE>
<Sentencias1>
#else
<Sentencias2>
#endif

Prueba si el identificador NOMBRE no esta definido, si


es verdadero procesa las sentencias1, caso contrario
ejecuta la sentencias2

ING. FÉLIX HUARI 13


DIRECTIVAS PREPROCESADOR

❑ Ejemplo
Creando la librería o archivo de cabecera(.h)

ING. FÉLIX HUARI 14


DIRECTIVAS PREPROCESADOR

❑ Ejemplo
Creando el código fuente .cpp

ING. FÉLIX HUARI 15


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #2

Diseñar un programa para mostrar el área del circulo,


cilindro y rectángulo
Para ello debe crear una librería donde debe estar las
directivas preprocesador
Implementar la función principal y haga uso de la
librería creada

ING. FÉLIX HUARI 16


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #2
Creación de la librería Areas.h

ING. FÉLIX HUARI 17


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #2
Creación código fuente .cpp

ING. FÉLIX HUARI 18


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #2
Creación código fuente .cpp

ING. FÉLIX HUARI 19


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #2
Salida al ejecutar el programa

ING. FÉLIX HUARI 20


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #3

Asuma que se tiene 3 números enteros positivos


Mostrar el numero mayor
Implementar la solución usando directivas preprocesador

ING. FÉLIX HUARI 21


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #4

Diseñar un programa que permita el ingreso de un


numero entero
Verificar si el numero ingresado es un numero perfecto
Un numero es perfecto si la suma de los divisores es igual
al numero dado, ejemplo 6 sus divisores son 1, 2 y 3
Crear una librería para realizar dicho proceso
Implementar la solución usando directivas preprocesador
Finalmente haga uso de la librería creada

ING. FÉLIX HUARI 22


DIRECTIVAS PREPROCESADOR

❑ Ejemplo propuesto #5

Diseñar un programa que permita el ingreso de un


numero entero
Luego mostrar los dígitos de dicho numero
Calcular y mostrar la suma de los dígitos
Crear una librería para realizar dicho proceso
Finalmente haga uso de la librería creada en la solución

ING. FÉLIX HUARI 23


DIRECTIVAS PREPROCESADOR
Escriba un programa que defina una macro con un
argumento para calcular el volumen de una esfera. El
programa debe calcular el volumen para las esferas cuyos
radios se encuentren en el rango de 1 a 10, y debe imprimir
los resultados en formato tabular.
Escriba un programa que utilice la macro MINIMO3 para
determinar el menor de tres valores numéricos. La macro
MINIMO3 debe utilizar la macro MINIMO2 que determina el
menor número. Debe recibir los valores como entrada
mediante el teclado.
Escriba un programa que utilice la macro SUMARARREGLO
para sumar los valores en un arreglo numérico. La macro
debe recibir el arreglo y el número de elementos en el arreglo
como argumentos.

ING. FÉLIX HUARI 24

También podría gustarte