1. Campus Atizapán
Fundamentos y Lógica de Programación
NOVIEMBRE 2016
Universidad Tecnológica de México.
LICENCIATURA EN INGENIERÍA EN SISTEMAS
COMPUTACIONALES
MATERIA: FUNDAMENTOS Y LOGICA DE PROGRAMACIÓN.
AREA: INGENIERÍA.
CUATRIMESTRE: TERCERO.
PRACTICA No. 7
Fecha de Elaboración 28-Noviembre-2016
Fecha de revisión.: ______________
Responsable:__________________
2. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 2
OBJETIVO: Constantes simbólicas en C++. Macros con define.
Diferencia entre const y #define.
INVESTIGACIÓN PREVIA
A)Investigue el uso de estruturas
B)Investigue el uso de funciones
C) Investigue que es la directiva define
D)Que es una macro
MATERIAL
Computadora de escritorio
Visual Studio 2015 con C++
3. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 3
MARCO TEORICO
Hasta ahora habíamos visto cómo definir constantes con una sintaxis del tipo
const int NOMBRE = 10; Existe otra manera de crear constantes en C
basada en la directiva #define. La sintaxis a emplear con C es la siguiente:
La diferencia entre el uso de const y el uso de #define está en que mediante
const se declara una constante que tiene un tratamiento asemejable a una
variable (por ejemplo, la constante es de un tipo de dato) mientras que
mediante define se indica que escribir el nombre especificado equivale a
escribir el valor, con una correspondencia directa y sin tratamiento análogo al
de una variable.
En la primera declaración se indica que JUGADORES es una constante de
tipo int mientras que en la segunda se indica que donde aparezca en el
código la palabra JUGADORES deberá ser reemplazada por 5 directamente.
En general, usar #define supone que la compilación sea más rápida al no
tener el compilador que realizar el tratamiento y verificaciones propias de
variables. Por ello su uso resultará recomendable cuando existan ciertos
valores numéricos que tengan un significado especial, valor constante y uso
frecuente dentro del código.
Las constantes definidas con #define se denominan constantes simbólicas, y
algunas de ellas existen de forma predeterminada en el lenguaje.
#define NOMBRECONSTANTE valor
Por ejemplo:
const int JUGADORES = 5; #define JUGADORES 5
4. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 4
Otro uso de #define es el de definir macros, equivalencias a ejecutar cuando
se encuentre la invocación a la macro. Por ejemplo:
En el programa anterior, se define una macro según la cual cuando
sea invocada pasando dos valores devolverá la suma de dichos
valores. Esta misma tarea puede ser realizada por una función,
pero usar macros puede redundar en una mayor eficiencia y
velocidad de ejecución al no tener que realizarse el tratamiento
propio de las funciones cuando aparece una invocación a la macro.
También existen algunas macros predefinidas del lenguaje. Por
ejemplo __LINE__ es una macro que nos devuelve la línea (como
número entero) dentro del fichero de código.
#include <stdio.h>
#include <stdlib.h>
#define SUMA(x,y) x+y
using std::cout;
using std::endl;
// Ejemplo aprenderaprogramar.com
int main() {
int a = 12; int b = 3;
cout<< "La suma de a y b vale %d" << SUMA(a,b)<<endl;
system(“PAUSE”);
return 0;
}
5. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 5
DESARROLLO DE LA PRACTICA.
Compile los siguiente programas
Programa 01
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. La fórmula para el volumen de una esfera
es 3
( 4.0 / 3 ) r en donde es 3.14159.
6. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 6
Problema 02
Escriba un programa que produzca los siguientes resultados. La suma de x y
y es 13
7. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 7
Problema 03
Cree un programa que ilustre la asignación de valores a los miembros
individuales de la estructura nacimiento. La cual es la siguiente:
8. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 8
Problema 04
Cree un programa que despliegue los registros de los primeros cinco
empleados ilustrados en la figura siguiente. (Nota. No se te olvidé anexar el
código).
10. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 10
Problema 05
Crear un programa que utilice algún método para seleccionar un carácter a la
vez de la cadena, comenzando en la posición cero de la cadena y
terminando en el índice del último carácter en ella. Este último valor índice
siempre es uno menos que el número de caracteres en la cadena (es decir,
la longitud de la cadena). Nota. No se te olvidé anexar el código).
11. Fundamentos y Logica de Programación Practica No.7 28-Noviembre-2016 11
NOTAS PARA LOS ALUMNOS.
1. El reporte final de la práctica deberá ser entregado a máquina
de escribir o en procesador de textos (PC) sin excepción.
2. Las prácticas impresas sólo sirven de guía y referencia.
3. No se aceptan copias fotostáticas del reporte final.
4. La entrega del reporte de práctica es por alumno.
CONCLUSIONES DE APRENDIZAJE.
RECURSOS BIBLIOGRÁFICOS.
https://msdn.microsoft.com/es-es/library/teas0593.aspx
http://www.aprenderaprogramar.com/index.php?option=com_c
ontent&view=article&id=929:constantes-simbolicas-en-c-
macros-con-define-diferencia-entre-const-y-define-ejemplo-
codigo-cu00531f&catid=82:curso-basico-programacion-
lenguaje-c-desde-cero&Itemid=210
http://www.zator.com/Cpp/E4_9_10b.htm
http://www.zator.com/Cpp/E4_9_10e.htm
http://sopa.dis.ulpgc.es/fso/cpp/intro_c/introc92.htm