




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes del curso universitario de Fundamentos de Programación sobre los datos - Estructura Básica de Datos
Tipo: Apuntes
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





Tema 2: Estructuras básicas de datos
2.0. Introducción
2.1. Sistemas y código de numeración
2.2. Clasificación de datos
2.3. Datos básicos
2.4. Dato derivado o puntero
2.5. Datos estructurados
2.6. Constantes y variables
2.7. Operadores
2.8. Expresiones
2.0. Introducción
Un dato es toda aquella información característica de una entidad, que es susceptible de tratamiento en un programa informático. Para todo ordenador, internamente toda la información es numérica (código binario). Por ello, para su correcto tratamiento, todos los datos que forman dicha información deben estar clasificados de tal forma que los programas sean capaces de realizar operaciones sobre ellos sin dar lugar a error o fallos por parte del sistema.
La forma en la que se clasifican los datos establece la estructura y formato de los mismos, así como su representación dentro de un lenguaje de programación.
2.1. Sistemas y códigos de numeración
Desde el punto de vista numérico, el hombre ese expresa con el sistema decimal, constituido por 10 símbolos que son los símbolos del 0 al 9.
Desde el punto de vista alfabético mediante distintas combinaciones de los símbolos del alfabeto.
Por otra parte, un ordenador manipula cualquier tipo de dato en código binario, es decir, que toda la información la traduce a combinaciones de ceros y unos. Para que pueda darse la necesaria comunicación hombre−maquina es necesario traducir toda la información que se desea procesar a ceros y unos.
En definitiva, los circuitos de tipo electrónico que conforman un sistema informático viaja corriente eléctrica, por ello, desde un punto de vista lógico la ausencia o presencia de tensión se representa:
2.1.1. Sistemas de numeración
Un sistema de numeración es un conjunto de símbolos y reglas que se utilizan para la representación de datos numéricos.
Todo sistema de numeración se caracteriza por su base, que marca o indica el número de símbolos distintos que utiliza para la representación de cantidades.
Siendo el coeficiente el que determina cual es el valor de cada símbolo dependiendo de la posición que ocupe con respecto al punto decimal. Este tipo de sistemas de numeración reciben el nombre de sistemas posiciónales o ponderados. Dicho de otra forma, un sistema posicional es aquel en el que el valor que representa cada símbolo o cifra de una determinada cantidad depende de su valor absoluto y de la posición relativa que ocupa dicha cifra con respecto con respecto a la coma o punto decimal.
Sistema decimal: Es un sistema posicional que consta de diez símbolos llamados dígitos para la representación de cantidades.
Según el teorema fundamental de la numeración (TFN), cualquier número expresado en un sistema posicional cualquiera puede expresarse mediante el siguiente polinomio equivalente.
Número(b = X1 · Bi + X1−1 · Bi−1 + ... − + X2 · B2 + X1 · B1 + X0 · B0 + X−1 · B−1 + X−2 · B−2 + X−n · B−n 126,84(0 = 1 · 102 + 2 · 101 + 6 · 100 + 8 · 10−1 + 4 · 10−
B es la base.
Xi son los coeficientes.
i es el índice o la posición relativa con respecto al punto decimal.
Dada una cantidad expresada en un sistema de numeración cuya base es B, cada uno de los símbolos (dígitos) utilizados queda representado por Xi donde el subíndice i marca la posición del dígito con respecto al punto decimal. Posición que hacia la izquierda de la coma se numera de 0 en adelante con incremento de 1 en 1 y hacia la derecha se numera desde −1 con incremento de −1. El número de símbolos que constituyen un determinado sistema de numeración viene dado por la siguiente desigualdad.
0<= Xi < B
2.1.2. Sistema binario
Es también un sistema posicional o ponderado que consta de 2 únicos símbolos para la representación de cantidades, esos dos símbolos son el 0 y el 1 y reciben el nombre de bit.
El número de combinaciones que podemos realizar en el sistema de numeración binario viene dado por la expresión 2n siendo n el número de bits.
Para la medida de cantidades de información representada en binario se utiliza una serie de unidades múltiples del bit que reciben nombre propio:
Sistema octal: Es un sistema posicional o ponderado que consta de 8 símbolos para la representación de cantidades.
Sumas en octal
Restas en octal
2.2. Clasificación de datos
Como se vio en el tema anterior, los datos son aquellos elementos considerados como unidad de tratamiento de dentro de un sistema de proceso de datos (SPD), y que al conjunto de esos datos se le denomina información.
Para el diseño de un programa es importante establecer cuales son las estructuras de datos que se van a utilizar, con el objeto de establecer las operaciones que sobre dichos datos se pueden realizar, para lo cual debemos proporcionar información al sistema acerca de los mismos. Los datos manejados en un programa deben llevar asociado por tanto un identificador, un tipo y un valor.
Identificador: Es el nombre utilizado en un programa haciendo referencia a un dato, existen algunas normas generales para su empleo, entre los cuales destacan:
Tipo: Establece el rango o intervalo de valores que puede tomar el dato. Además determina el espacio de memoria que ocupa dicho rango.
Valor: Elemento que debe pertenecer al rango o intervalo de valores según el tipo definido.
Una clasificación de los posibles tipos de datos que suelen encontrarse en cualquier lenguaje de programación es la siguiente:
Datos
Numéricos
Entero − Reales − No numéricos
Carácter − Lógico
− Datos derivados − Parámetros
− Datos estructurados
− Internos
− Estáticos − Tablas
− Dinámicos − Lineal
− Listas enlazadas − Pilas − Colas − No Lineal
− Árboles
− Grafos − Externos − Archivos − Bases de datos − Compuestos − Registro
2.3. Datos básicos
Dato de tipo numérico: Se utilizan para obtener magnitudes y se clasifican en enteros y reales.
Numérico entero: Se emplea para representar números enteros pudiendo llevar o no el signo correspondiente. Se expresa mediante una serie de dígitos que pueden estar precedido por el signo + o −. Ej.: (+1516,1516)(−1516). Existen varias formas de representación interna de los datos numéricos enteros.
Binario puro: El número entero completo se pasa a binario teniendo en cuenta la palabra del ordenador.
Ej.: 45
1 Byte
Resta sumando
Rango de representación −2n+1+1<= X <= 2n−1−
También se utiliza el bit situado más a la izquierda para la representación del signo. Los números positivos se representan en binario puro y los números negativos calculando el complemento a 2 de los positivos.
En la operación de comprobación se desprecia si hay un ultimo acarreo.
Rango de representación −2x−1 = X <= 2n−1−
En este método no se empleo ningún bit para el signo y el valor se corresponde con el número más el exceso.
N=
Exceso = 2n−1 = 28−1 = 128
Ej.: 27 + 128 = 155 10011011 (2)
− 27 + 128 = 101 01100101 (2)
El número a codificar es 27 en el ejemplo.
Rango de representación −2n−1 <= X <= 2n−1−
Este método de representación posee al igual que complemento a 2, un rango asimétrico al tiempo que posee una única representación posible para el 0.
Cada digito ocupa un octeto (1 byte) teniendo un cuarteto de zona (el cuarteto a la izquierda que para todos los dígitos menos para el último contiene 1111) y un cuarteto de contenido donde se haya el digito decimal codificado en binario (el cuarteto de la derecha). El último digito del número contiene el signo del número en el cuarteto de zona (1100 para el signo más y 1101 para el signo menos).
2015
Zona Contenido Zona Contenido Zona Contenido Signo Contenido 2 0 1 5
En este método de representación cada digito ocupa un cuarteto y al ultimo digito se le añade un cuarteto con el signo.
Relleno 2 0 1 + 5
Número real Se emplea para representar los números con parte decimal o los números muy grandes o muy pequeños que no pueden ser contenidos en un número entero. Se puede expresar de dos formas:
Punto decimal: Emplea los dígitos del 0 al 9 con su signo correspondiente y un punto para separar la parte entera de la decimal.
Número = Mantisa * base de exponenciación exponente
−95'16 = 0.9516 * 102
Mantisa: Es un número real. Se suele representar en formato normalizado (0.(...)).
E: Representa a la base decimal.
Característica: Es el exponente correspondiente a un número entero con su signo.
La representación interna de los números reales según el estándar internacional es el siguiente. La base es igual a 2. La característica 0, el exponente se representa normalmente en formato 2n−1 y finalmente la mantisa se puede representar en binario puro, modulo signo, C. a 1, C. a 2.
Simple precisión: Es para maquinas de 32 bits, el 31 seria el bit de signo.
Para el exponente se van a utilizar 8 bits, de las posiciones 30 a la 23 y para la mantisa 23 bits, es decir, desde la posición 22 a 0.