Manejo y Tipos de Datos CCS
Manejo y Tipos de Datos CCS
Manejo y Tipos de Datos CCS
Resumen—Este documento pretende llevar a cabo el solución al problema planteado, dicho diagrama de flujo puede
análisis del trabajo realizado en la práctica de laboratorio ser visualizado en la figura 1.
correspondiente, en la cual se estudió el manejo de memoria y
tipos de datos en Lenguaje C. Ademas de afianzar y perfeccionar
conceptos previos.
I. INTRODUCCI ÓN
C es un lenguaje de programación de próposito general
que ofrece como ventajas economı́a de expresión, control
de flujo y estructuras de datos modernos y un rico conjunto
de operadores. Además, C no es un lenguaje de ”muy alto
nivel”ni ”grande”, y no esta especializado en alguna área
especial de aplicación. Pero su ausencia de restricciones y su
generalidad lo hacen mas conveniente y efectivo para muchas
tareas que otros lenguajes supuestamente mas poderosos.
II. PROCEDIMIENTO
Se procede a realizar el algoritmo en el software Code
II-A. Desarrolle un programa en el cual se observe el Composer Studio utilizando el comando sizeof y luego se
tamaño en bits de los diferentes tipos de datos que tiene hace uso del debug donde en la ventana que se encuentra
lenguaje C (Utilizar el comando sizeof). ubicado el algoritmo, se pone un breakpoint en el final de
Para desarrollar un algoritmo que permita observar el ta- linea y se corre el debug. Se observan entonces los resultados
maño en bits de los diferentes tipos de datos que tiene lenguaje en la ventana watch; dichos resultados pueden ser visualizados
C, primero se realiza el diagrama de flujo que representa la en la figura 2
Ademas, se puede ver que la implementación de la función,
es decir, lo que realiza dicha función multiplicación debe
estar después del código principal. Una vez entendido todo
el diagrama de flujo, se procede a desarrollar el código en el
software Code Composer Studio, donde se realiza de igual
forma la parte del debug como en el primer de código del
presente informe. La ventana watch donde se observan los
resultados se visualiza en la figura 4
El factorial de 5:
Po(x) = 1.
P1(x) = x.
Suma : S = A + B
Resta : R = A - B
Multiplicación : M = C*D
Inversa : I = inv(E)
En primera instancia, el diagrama principal incluye la El diagrama Cinco.h es bastante sencillo, solo tiene las
librerı́a Cinco.h y se definen 4 matrices de 2x2 (A,B,C,D,E) funciones declaradas y se puede observar en la figura 16
se puede apreciar en la figura 18
II-F. Crear un arreglo de 8 posiciones llenarlo con el fac- Luego, se aumenta tamaño con el comando realloc
torial de 1 a 8 respectivamente, luego en tiempo de ejecución utilizando el puntero *tmpF, es decir, aumenta hasta tamaño
redimensionarlo a 14 y llenar los datos que están vacı́os con 14 el puntero F teniendo en cuenta que son espacios de
sus respectivos factoriales. memoria de tamaño double, y de nuevo se debe tener en
Para realizar la redimensión de un arreglo es necesario cuenta el type casting. Por último un condicional para
trabajar y acceder al monton/heap que es la memoria determinar si la memoria es insuficiente(tmpF=NULL), si no
dinámica, para ello se hace a través de punteros y ademas es es el caso entonces se iguala F=tmpF y se llenan las restantes
necesario trabajar con los siguientes comandos : posiciones del puntero(hasta la 14) y finalmente se limpia la
memoria con el comando free(F); llegando el caso a tener
malloc : Reserva posiciones de memoria. memoria insuficiente se sale del programa(exit(-1)).
realloc : Aumenta o disminuye el tamaño.
Posteriormente se realiza el programa en el software Code En este diagrama, se puede observar que se definen 3
Composer Studio, a través del debug se obtiene la ventana buffer de 100 posiciones tipo double, el valor pi(3.1416) y
watch que corresponde a la figura 23 una varible iterativa (i). Simplemente de forma iterativa, es
decir, a través de condicionales se llenan las 100 posiciones
del buffer y con la función seno, con una amplitud de 5 y una
f = 100 Hz; asi mismo se llena las 100 posiciones del buffer
x pero utilizando la función coseno. Por último se llena el
buffer r que corresponde a la suma posición por posición del
buffer y y el buffer x.
Figura 24. Diagrama de flujo del algoritmo a desarrollar Tools - Graph - Single Time :
Figura 28. Resultados gráficos de la simulación del algoritmo desarrollado