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