fundamento de estructura de datos (unidad I)

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Fundamentos de estructura de datos : 

Fundamentos de estructura de datos Tomás Toledo Lagunas LIC. SISTEMAS COMPUTACIONALES

Introducción : 

Introducción UNIDAD I FUNDAMENTOS DE ESTRUCTURA DE DATOS 1.1 Presentación de datos 1.1.1 Definición de bit, byte, carácter y palabra 1.1.2 Manejo y operación de bits 1.1.3 Manejo y operación con caracteres 1.1.4 Empaque y desempaque de bits y caracteres 1.1.5 Presentación de números enteros y reales 1.2 Estructuras 1.2.1 Clasificación de estructuras de datos 1.2.2 Tipos de datos 1.2.3 Organización física de la memoria 1.2.4Procesos básicos en la estructura de datos 1.2.5 Estructura de almacenamiento de datos Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Introducción : 

Introducción Las computadoras … herramienta… operaciones de alta complejidad… La mayoría de las aplicaciones son de almacenamiento y acceso a grandes cantidades de información La información… conjunto de datos… pueden ser simples (enteros, reales, booleanos, etc.) o estructurados Los datos simples … ocupan una sólo una localidad de memoria Los estructurados… conjunto de casillas de memoria a las cuales hacemos referencia mediante un identificador único. Por lo general tenemos que tratar con conjuntos de datos y no con datos simples que por sí solos no nos dicen nada. Fundamentos de estructura de datos Tomás Toledo Lagunas UNM Programación 11/1

Introducción : 

Introducción Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Introducción : 

Introducción Datos: Conjunto de hechos, de números, o de símbolos que usan y manipulan los programas de computadora Estructura de datos: Datos que denotan un conjunto de hechos, que pueden servir como operandos a un programa de computadora y cuya estructura es la manifestación de las relaciones (si las hay) entre elementos individuales de aquel conjunto Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos BIT (binary digit: dígito binario) La información es digital en el mundo de las computadoras. Una computadora no entiende palabras, números, imágenes, notas musicales, ni siquiera las letras del alfabeto es la unidad de información más pequeña. Un bit sólo puede tener uno de dos valores: encendido o apagado. También se pueden considerar estos valores como sí o no, cero o uno, blanco o negro, o casi cualquier otra cosa que se le ocurra, que sea dicotómica por supuesto. Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos BIT (binary digit: dígito binario) ¿Qué significa para la computadora una combinación de bits como 01100110? Un número, una letra del alfabeto o casi cualquier cosa. Los bits como números Los bits como Códigos ASCII (American Standard Code for Information Interchange) 128 caracteres del código ASCII no son suficientes, nuevos esquemas de codificación. 65 000 caracteres de UniCode Los bits como instrucciones en los programas Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos BYTE colección de ocho bits Representa 256 mensajes (256 = 28) carácter de información Kb (kilobyte): 1024 bytes: 210, 1000 aproximación Mb (megabyte): aproximadamente un millón de bytes (1024*1024) Gb (gigabyte): aproximadamente 1000 megabytes Terabyte: son 1.024 GigaBytes, cerca de un billón (un millón de millones) de bytes. Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos CARÁCTER (CHAR) comprende un conjunto de caracteres imprimibles: las letras mayúsculas y minúsculas, los dígitos, el espacio en blanco, los caracteres de puntuación (+ - * / ! @ # $ % ^& _ = ...) y un conjunto de caracteres gráficos del 0 al 255 del codigo ascii (byte) Char c; int c; char c=97 == char c= ‘a’ Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos CARÁCTER (CHAR) Lamentablemente existen caracteres no imprimibles Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de datos : 

Presentación de datos PALABRA es una secuencia finita de símbolos tomados del tipo primitivo carácter incluyendo la cadena nula o vacía. Por lo general el inicio y el final de una cadena lo delimitaremos con un apóstrofe (’). Cada cadena tiene un atributo llamado longitud, el cual es el número de caracteres en la misma. Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Manejo y operación con caracteres : 

Sistema decimal a binario Convierte 32, 147, 43, 80, 75, 12, 145, 1, 0 , 19 a código Binario y ASCII mediante una tabla Manejo y operación con caracteres Fundamentos de estructura de datos Tomás Toledo Lagunas UNM Programación 11/1

Manejo y operación con caracteres : 

Sistema binario a decimal Convierte 10011110, 00010001, 00100110, 1110, 111011101110, 10110110, 0, 10, 1 a decimal y ASCII Manejo y operación con caracteres Fundamentos de estructura de datos Tomás Toledo Lagunas UNM Programación 11/1

Empaque y desempaque de bits y caracteres : 

Empaque y desempaque de bits y caracteres Convierte las siguientes palabras a código binario: fin, sol, escuela y LIBRO. Y de binario a texto la palabra: Ejemplo de una frase con caracteres no imprimibles Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Manejo y operación de bits : 

Manejo y operación de bits Operadores AND (*) OR (+) EXOR C = A << B ó C = A >> B Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Manejo y operación de bits : 

Manejo y operación de bits Suma binaria Suma la representación en binario de: 5+10 y 64 + 32 Resta binaria Resta la representación en binario de 128 - 64 Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de números enteros y reales : 

Presentación de números enteros y reales Números enteros Pueden almacenar únicamente valores numéricos sin decimales. El tipo entero básico es int (-32768 a 32767). Existen además las variantes shortint (-128 a 127) , que permite almacenar valores más pequeños (con el subsecuente ahorro de espacio en memoria) y el longint, que soporta números más grandes (pero con mayor gasto de memoria) (-4294967296 a 4294967295). Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Presentación de números enteros y reales : 

Presentación de números enteros y reales Números Reales Pueden almacenar valores numéricos con decimales. El tipo real básico es float (con 7 decimales de aproximación). Existe también la variante double (16 decimales de aproximación). Sin embargo, el uso de este tipo provoca un mayor gasto de memoria que si se empleara el tipo básico float (4 bytes). La cantidad de decimales, así como el valor máximo que se puede almacenar en variables de estos tipos depende de la arquitectura del computador y del compilador que se estén empleando. Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Estructuras : 

Estructuras Definición: Tipo de dato estructurado construidos a partir de otros tipos de datos. Tipo de datos fecha. 05 / 08 / 10 Tipo de datos dirección Calle: Riberas del Atoyac Numero: 137 Colonia: Sta. Cruz CP: 68285 Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Estructuras : 

Estructuras Clasificación de estructuras de datos Tipo de datos: Homogéneas y heterogenias Por la forma de acceso a la estructura acceso por nombre, (p. e. los registros). acceso por posición, (el primero, el último, etc.). Ejemplos pueden ser las estructuras matriciales (matrices, vectores, etc.), las Pilas y las Colas acceso por clave, es preciso conocer únicamente el contenido de uno de sus campos, (p. e. árboles) Tomás Toledo Lagunas UNM Programación 11/1 Fundamentos de estructura de datos

Estructuras : 

Estructuras Clasificación de estructuras de datos Por la forma de almacenamiento Estáticas . Los ejemplos más típicos son los arrays y registros. Dinámicas, acceso se realiza de forma secuencial

Estructuras : 

Estructuras Tipos de datos Entero Punto flotante

Estructuras : 

Estructuras Organización física de la memoria RAM, ROM, CACHE, Externo compilador

Estructuras : 

Estructuras Sintaxis par la declaración de una estructura Struct <nombre de la estructura> { <Tipo de dato> <nombre> <Tipo de dato> <nombre> … <Tipo de dato> <nombre> }

Estructuras : 

Estructuras Las estructuras son una forma de agrupar datos que pueden ser de diferentes tipos. También se les llama registros. Ejemplo: Declaración struct estudiante { char nombre[50]; int edad[3]; char direccion[20]; }estudiante; Ejemplo definición struct estudiante asistencias, colegiatura; Utilizando estructuras o registros se pueden generar arreglos u otras estructuras mas complejas.

Procesos básicos : 

Procesos básicos Asignación: La estructura es un tipo similar a un int o un char, se puede asignar una estructura a otra asistencia = colegiatura; Inicialización de una declaración struct estudiante { char nombre[50]; int edad; char direccion[20]; float calificacion; }asistencia={“tomas”,29,”reforma agraria”,8.5};

Procesos básicos : 

Procesos básicos Tamaño (sizeof): Este operador se aplica sobre un tipo de datos o sobre una variable. #include <stdio.h> #include <conio.h> /* declara la estructura persona*/ struct persona { char nombre[30]; int edad; float altura; float peso; }; int main () { struct persona alumno; printf("sizeof(persona): %d\n",sizeof(alumno)); getch(); }

Procesos básicos : 

Procesos básicos Acceso Acceder o almacenar información en una estructura se realiza de dos formas: Utilizando el operador punto (.) Utilizando el operador puntero -> Sintaxis <nombre variable estructura>.<nombre miembro>=datos; Ejemplos Strcopy(persona.nombre,”tomas”); Persona.edad = 29; persona.altura = 1.65; Persona.peso = 90;

Procesos básicos : 

Procesos básicos Acceso mediante operador puntero El operador -> sirve a partir de un puntero Definir una variable puntero a la estructura A partir de la estructura estudiante declarada anteriormente Crear espacio de almacenamiento en memoria con la función malloc() Struct estudiante *ptr_est; Struct estudiante mejor; Ptr_est = &mejor; Strcpy (ptr_est -> nombre, “Tomas Toledo Lagunas”); Ptr_est -> edad = 29; Strcpy (ptr_est -> direccion, “reforma agraria”); Ptr_est -> calificacion = 9.8

Procesos básicos : 

Procesos básicos Lectura Se realiza la lectura de una estructura mediante un operador de asignación o una sentencia de salida (printf(), puts(),…). Se puede emplear el operador punto o flecha. Sintaxis <variable> = <variable estructura> . <miembro> años=persona . edad; <variable> = <puntero estructura> -> <miembro> años=ptr -> edad; Printf(“ ”, <variable estructura> . <miembro>) Printf(“La edad es: %d ”, persona . edad) Printf(“ ”, <puntero estructura> -> <miembro>) Printf(“La edad es: %d ”, ptr . edad)

Tarea : 

Tarea Escribe un programa de información de alumnos. Los alumnos tendrán: nombre, edad, licenciatura, semestre y promedio. Declarar alumno como estructura. El programa debe generar a diversos alumnos, mínimo 5, y mostrara la información de cada uno de ellos.

authorStream Live Help