DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Documentos relacionados
CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1


Fundamentos de Programación Visual Basic

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Fundamentos de programación JAVA

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al

Ficha de Aprendizaje N 13

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Tema 14: Arreglos estáticos en C

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

Programación Estructurada

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Tema#2. Tipos de Datos 10

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

TIPO DE DATO ABSTRACTO (TDA)

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

Unidad 4. Arreglos y Cadenas

Cadenas y Caracteres. Universidad Católica de Honduras Nuestra Señora Reina de la Paz. Asignatura. Programación Científica. Tema de Exposición

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

como les va con las practicas?

Tipos Recursivos de Datos

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Unidad I: Introducción a las estructuras de datos

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Programación. Test Autoevaluación Tema 3

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Tipos de Datos Estructurados

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

Tema 10: Tipos de datos definidos por el usuario

Práctica 2. TIPOS DE DATOS SIMPLES

Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Algoritmos y Programación I

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Guía - Taller # 2 (JAVA)

Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs)

Elementos de un programa en C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B)

Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Introducción a la programación: Algoritmos

ESTRUCTURA DE DATOS: ARREGLOS

Introducción a Java. Introducción a Java. Programación I

Lenguaje de Programación: C++ Arreglos

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

4. Operadores Operador asignación

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0 MI PRIMER PROYECTO

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle

ASIGNATURA: ESTRUCTURA DE DATOS II

Fundamentos de Programación. Archivos (Ficheros)

UNIDAD V: ARR R EGL G OS O BIDI D MENS N IONALE L S

Escuela Politécnica Superior de Elche

Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz

Informática Ingeniería en Electrónica y Automática Industrial

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

TEMA 4: ALGORITMOS Y PROGRAMAS

1 Introducción. 1.2 Estructuras de datos y Tipos de Datos Abstractos. Estructura de Datos y Algoritmos. Tema I Introducción y conceptos fundamentales

Principios de Computadoras II

Introducción rápida a la programación (estructurada ) con C++

Definición de Memoria

TAD CONJUNTOS Y MULTICONJUNTOS

REPRESENTACIÓN DE DATOS

Tema 2. El lenguaje JAVA

Programación 1. Diseño modular de nuevos tipos de datos en un programa. Diseño modular de un tipo de dato con estructura de conjunto

Guía práctica de estudio 05: Pseudocódigo

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

Programación en Lenguaje C

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

FUNDAMENTOS DE INFORMÁTICA

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Trabajo Práctico 5 Estructura Repetitiva

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:

Principal material bibliográfico utilizado

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Tema 2. Concepto de Algoritmo

Estructuras Dinámicas de datos.

TEMA 1: Algoritmos y programas

Transcripción:

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación Un dato elemental es la mínima información que se tiene en un sistema Una estructura de datos define la organización e interrelación de éstos y un conjunto de operaciones que se pueden realizar sobre ellos Las operaciones básicas son: Adicionar un nuevo valor a la estructura Borrar un valor de la estructura Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estén ordenados) Otras operaciones que se pueden realizar son: Ordenamiento, de los elementos pertenecientes a la estructura Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas Existen dos clases de tipos de datos: Simples (sin estructuras) y Compuestos (estructurados) Datos simples estándar definido por el programador Entero (integer, int) Real (float, double) Carácter (char) Lógico (boolean) Subrango (subrange) Enumerativo Datos estructurados estáticos Array (vector/matriz) Registro Archivo (fichero) Conjunto Cadena (string) dinámicos Lista (pila/cola) Lista enlazada Árbol Grafo Los tipos de datos simples o primitivos significa que no están compuestos de otras estructuras de datos; lo más frecuentes y utilizados por casi todos los lenguajes de programación son: enteros, reales, carácter y lógico Los tipos de datos compuestos están construidos basados en tipos de datos primitivos; el ejemplo más significativo es la cadena (string) de caracteres Los tipos de datos simples pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas 1

Las estructuras de datos estáticas son aquéllas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse ese tamaño durante la ejecución del programa Estas estructuras están en casi todos los lenguajes de programación: array (vectores y matrices), registros, etc Las estructuras de datos dinámicas no tienen las limitaciones o restricciones en el tamaño de memoria ocupada, como si lo tiene las estructuras estáticas Una característica importante que diferencia a los tipos de datos es la siguiente: los tipos de datos simples tienen como característica común que cada variable representa un elemento; los tipos de datos estructurados, tienen como característica común que un identificador (nombre) puede representar múltiples datos individuales, pudiendo cada uno de éstos ser referenciado independientemente La elección del tipo de estructura de datos idonea a cada aplicación dependerá esencialmente del tipo de aplicación ARRAYS UNIDIMENSIONALES O VECTORES Un arreglo unidimensional(vector) es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo Un array puede estar compuesto de todos sus elementos de tipo de dato entero, otro puede tener todos sus elementos de tipo de dato reales, etc A los arrays unidimensionales se le conoce también como arreglos unidimensionales Un array unidimensional es una estructura que se le asigna un nombre y a cada elemento que tiene ese array se asocia con un único índice El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa Ejemplo 1: Se tiene un array unidimensional llamado Notas de 10 elementos; este vector va almacenar elementos de tipo de dato entero N o t a s El índice del array unidimensional es la variable i, que va a tomar valores desde el 1 hasta la cantidad máxima de elementos, que para este ejemplo es 10 i = 7 0 Cada valor del índice representa a un elemento del arreglo, es decir, el índice i=1 representa al 1er elemento, el índice i=2 representa al 2do elemento, el índice i=3 representa al 3er elemento y asi sucesivamente hasta el índice i=10 que representa al ultimo elemento del array 2

En base al ejemplo anterior podemos definir la sintaxis de un array unidimensional: Sintaxis: Representación gráfica de un array unidimensional N o m b r e D e l A r r a y i = x i = n También se puede representar gráficamente de la siguiente forma : N o m b r e D e l A r r a y i = x i = n y de esta ultima también: i = x i = n N o m b r e D e l A r r a y 3

INGRESO DE DATOS El ingreso de datos al arreglo se hace de la siguiente forma: Sintaxis: NombreDelArray [ índice ] = ValorDelElemento Leer ( NombreDelArray [ índice ] ) Asignación de valores al arreglo unidimensional Del ejemplo 1, haremos el ingreso de los elementos al arreglo Notas: Notas[ 1 ] = 15 Notas[ 2 ] = 18 Notas[ 3 ] = 14 Notas[ 7 ] = 17 Notas[ 10 ] = 20 N o t a s 15 18 14 17 20 Podemos apreciar que para ingresar un elemento al arreglo se debe determinar en que lugar se almacenará, para ello utilizamos el índice Por ejemplo: Notas [ 3 ] = 14 Elemento a almacenarsen el arreglo N o m b r e d e l a r r e g l o í n d i c e Para este ejemplo la nota 14 se almacenará en el índice 3, pero se puede almacenar en otro índice: Notas[ 5 ] = 14, o en otro: Notas[ 9 ] = 14 En la programación podemos definir en que índice queremos almacenar un elemento Lectura de datos al arreglo unidimensional Si queremos ingresar valores al arreglo por intermedio del teclado, haremos uso de la función Leer Ejemplos: Leer (Notas[1]) En esta instrucción ingresamos una nota en el índice 1 Leer (Notas[7]) En esta otra instrucción ingresamos una nota en el índice 7 y asi para todos los índices del arreglo 4

Para el llenado de un arreglo unidimensional se hace uso de las estructuras repetitivas, la más utilizada es la estructura FOR Por ejemplo tenemos un arreglo llamado arrayprecios de 10, 20, 100 ó 1000 elementos donde se almacenarán los precios de diferentes productos Para este tipo de casos se debe utilizar las estructuras repetitivas para su llenado de datos A continuación se muestra en Pseudocódigo la forma de ingresar los 1000 datos de precios al arreglo arrayprecios desde hasta 1000 hacer fin desde Leer (arrayprecios[i]) MOSTRAR DATOS Mostrar los datos de un arreglo unidimensional se hace de la siguiente forma: Sintaxis: NombreDelArray [ índice ] Del ejemplo 1, mostraremos los elementos del arreglo Notas: Mostrar (Notas[ 1 ]) Esta instrucción muestra el valor 15 Mostrar (Notas[ 2 ]) Esta instrucción muestra el valor 18 Mostrar (Notas[ 7 ]) Esta instrucción muestra el valor 17, y asi sucesivamente cada instrucción mostrará los elementos del arreglo De la misma forma como se ha hecho el llenado de datos del arreglo arrayprecios, también serán necesarias las estructuras repetitivas para mostrar sus elementos desde hasta 1000 hacer fin desde Mostrar (arrayprecios[i]) Nota: Y esta misma estructura repetitiva nos servirá para poder hacer los cálculos que deseamos realizar con los elementos del arreglo 5

OPERACIONES CON VECTORES Para llevar acabo estas operaciones necesitaremos de un arreglo A continuación se muestra un arreglo llamado Edad de 7 elementos que almacena datos de tipo entero i=1i=7 Edad 23 12 56 31 8 72 49 OPERACION RESULTADO Leer (Edad [1]) Mostrar (Edad [4]) Lee un elemento por teclado (23) y lo almacena en el Arreglo Edad dentro del índice 1 Y así sucesivamente ingresamos los demas valores al arreglo Muestra el elemento que existe dentro del índice 4: el valor a mostrar es 31 Y de la misma forma podemos mostrar todos los elementos del arreglo P = Edad [4] * 2 Se multiplica el elemento que existe dentro del índice 4 con el número 2 y el resultado se asigna a la variable P P = 31 * 2 P = 62 S = Edad [2] + Edad [5] Edad [5] = Edad [3] - Edad [1] En la variable S se almacena la suma de los elementos que se encuentran en el índice 2 y 5 S = 12 + 8 S = 20 En el índice 5 del arreglo Notas se almacena la resta de los elementos que se encuentran en el índice 3 y 1 Edad [5] = 56-23 Edad [5] = 33 Edad [6] = (Edad [4] * 4 + 8) / Edad [2] En el índice 6 del arreglo Notas se almacena el resultado de la expresión Edad [6] = (31*4 + 8)/12 Edad [6] = 11 Edad [7] = Edad [5] + Edad [6] Edad [2] = Edad [2] / Edad [2] Edad [4] = Edad [7] + Edad [6] - Edad [5] + Edad [4] - Edad [3] + Edad [2] - Edad [1] En el índice 7 del arreglo Notas se almacena la suma de los elementos que se encuentran en el índice 5 (Observar que en la 5ta operación Nota[5] toman un nuevo valor) y el índice 6 Edad [7] = 33 + 11 Edad [7] = 44 En el índice 2 del arreglo Notas se almacena el resultado de la división del elemento que se encuentra en el índice 2 entre su mismo valor Edad [2] = 12-12 Edad [2] = 1 En el índice 4 del arreglo Notas se almacena la suma y resta de los elementos que se encuentran en los índices 7, 6, 5 y 4 Edad [7] = 44 + 11 33 + 31 56 + 1-23 Edad [7] = - 25 6