Está en la página 1de 27

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA


Unidad Culhuacán

Dra. Guardián Soto Beatriz Dolores bdguardian@ipn.mx


1.UNIDAD I Abstracción
y Representación
1. Operaciones con estructuras de datos elementales.
1.2.1 Descripción de las operaciones, en estructura de datos, de recorrido, búsqueda, inserción y
eliminación.
1.2.3 Descripción de las operaciones, en estructuras de datos, ordenación y mezcla.
1.3 Notación matemática.
1.3.1 Funciones matemáticas: entera inferior y superior, modulo, valor ABSOLUTO, permutaciones,
exponenciales y algoritmos.
1.3.2 Notación algorítmica, Diagrama de flujo y pseudocódigo

ESTRUCTURA DE DATOS 5 de octubre de 2020 2


 Funciones matemáticas: entera inferior y superior, modulo, valor, permutaciones,
Número es el número
exponenciales real que desea redondear al entero inferior más próximo.
y algoritmos.
Ejemplos
ENTERO(8,9) es igual a 8
ENTERO(-8,9) es igual a -9
Entero (7.6) =7
Entero (7.1)= 7

Entero superior
ENTERO(8,9) es igual a 9
ENTERO(-8,9) = -8
La siguiente fórmula devuelve la porción decimal de un número real positivo en la celda A1:
A1-INT(A1)

ESTRUCTURA DE DATOS 5 de octubre de 2020 3


RESIDUO(número;núm_divisor)
Número es el número que desea dividir y cuyo residuo o resto desea obtener.
Núm_divisor es el número por el cual desea dividir número. Si núm_divisor es 0, RESIDUO
devuelve el valor de error #¡DIV/0!
Observaciones
La función RESIDUO se puede expresar utilizando la función ENTERO:
MOD(n, d) = n - d*INT(n/d)
Ejemplos
RESIDUO(3; 2) es igual a 1
RESIDUO(-3; 2) es igual a 1
RESIDUO(3; -2) es igual a -1
RESIDUO(-3; -2) es igual a -1

ESTRUCTURA DE DATOS 5 de octubre de 2020 4


La función Mod devuelve el resto después de que un número se divide por divisor
MOD (número, divisor)
•Número: el número para el que desea buscar el resto.
•Divisor: el número por el que desea dividir el número.

El resto es lo que queda después de una división.


Si divide 15 con 2, obtiene 7 y queda 1. 2 * 7 es igual a 14 y 15 menos 14 es igual a 1. 1
es el resto o sobra. MOD (15,2) = 1. A veces no queda nada, como 6 dividido por 3 es
igual a 2. El resto es 0.

MOD (número, divisor) se puede expresar así: número - divisor*ENT(número/divisor)

ESTRUCTURA DE DATOS 5 de octubre de 2020 5


Ejemplo 1,
11 dividido por 3 devuelve 2.
número - divisor*EN T(número/divisor)
11-3 * INT (11 / 3)
se convierte en
11-3*3
se convierte en
11-9 es igual a 2.
Ejemplo 2,
Aquí hay un enfoque diferente.
14 dividido por 5 es 2 y 4 / 5
Tome el resto (4 / 5) y multiplíquelo con el divisor (5)
5 * (4 / 5) es igual a 4. 4 es la respuesta.

ESTRUCTURA DE DATOS 5 de octubre de 2020 6


 Definición general de algoritmo:
 Es un conjunto de instrucciones encaminada a resolver un problema

 Un algoritmos en su definición intuitiva es el siguiente:


 Es un conjunto de instrucciones encaminada a resolver un problema y
 debe cumplir 5 condiciones:
 1 Finitud: tras un numero de instrucciones el algoritmo termina.
 2. Definibilidad: el algoritmo debe estar libre de ambigüedad, es decir cada instrucción debe
estar bien definida.
 3. Debe de tener un conjunto de precondiciones para su entrada.
 4. Debe contener las post-condiciones de la salida
 5 “EFECTIVIDAD” que el algoritmo funciona.

ESTRUCTURA DE DATOS 5 de octubre de 2020 7


Todos sus elementos
son de un mismo tipo
Es una zona de
almacenamiento Cada elemento se
ARREGLOS contiguo distingue por un indice

UNIDIMENSIONALES Su tamaño máximo es


fijo

Hay riesgo de
desbordamiento
05/10/2020 9
Definicion {v[0], v[1] ,..., v[n-1] }

Donde v[i] es el valor almacenado en la


posición i del arreglo unidimensional.
La administración de operaciones de un vector

Permite crear ARREGLOS vacios

Agregar y Eliminar elementos


ESTRUCTURA DE DATOS 5 de octubre de 2020 12
 Una arreglo unidimensional se puede representar
como un número determinado de celdas.
 Un conjunto de celdas unas seguidas de otras de ahí
que hablemos de una colección de celdas, en cada una
de estas celdas podemos almacenar datos de un tipo
determinado y también podemos cambiar esos datos
por lo que cada una de las celdas se comporta como
una variable de un tipo determinado todas las celdas
pueden almacenar datos pero sólo pueden ser del
mismo tipo.
ESTRUCTURA DE DATOS 5 de octubre de 2020 13
 Para referirnos a una celda determinada tenemos
que indicar su posición para ello a cada celda le
corresponde un número, este número le vamos a
llamar índice la primera celda se corresponde con
el número de la posición cero la siguiente celda le
corresponderá la posición 1 y así sucesivamente
hasta n – 1.
 Hay que recordar que el índice siempre empieza en
cero y no en 1 como en las listas.
 como en las celdas tiene un índice de 0, 1 hasta n -
1 para poder referirnos a la colección de celdas le
damos nombre a este nombre le vamos a llamar el
identificador del arreglo un ejemplo se da en la
siguiente gráfica
ESTRUCTURA DE DATOS 5 de octubre de 2020 14
 Al igual que con cualquier tipo de variable se debe declarar un arreglo antes de
utilizarlo.
 Un arreglo o arrayse declara de forma similar otros tipos de datos excepto que se
debe indicar al compilador el tamaño o longitud del arreglo para indicar al
compilador el tamaño o longitud del arreglo o array.
 Para declararlo se debe dar el tipo de datos, el nombre y el tamaño encerrado
entre corchetes puesto que la sintaxis para declarar un arreglo de una dimensión
determinada es:
 Tipo nombre del arreglo[número de elementos];
 Ejemplos:
 Int números[10];

ESTRUCTURA DE DATOS 5 de octubre de 2020 15


 Tipo nombre del arreglo[número de elementos];

 int precios[50];

 Int cuenta [123];

 Int numeros[8];

 Char c[6];

ESTRUCTURA DE DATOS 5 de octubre de 2020 16


 Las declaraciones hacen que el compilador reserve espacio suficiente para
contener en el ejemplo primero 10 elementos de valores enteros.
 Int números[10];

 en el segundo ejemplo así que se reserven 8 elementos:


 Int numeros[8];
 y en el caso de ejemplo de caracteres hace que se reserve 6 espacios un array de
enteros se almacenan en bytes consecutivos de memoria cada elemento ,
 Char c[6];

ESTRUCTURA DE DATOS 5 de octubre de 2020 17


 Se puede acceder a cada elemento del arreglo utilizando un índice en el arreglo
por ejemplo
 Cout << números [9]<<endl;
 el ejemplo visualiza el valor del elemento 9 del arreglo. Los arreglos en C++
siempre comienza en el elemento cero

ESTRUCTURA DE DATOS 5 de octubre de 2020 18


 Se deben asignar valores a los elementos del array o arreglo antes de utilizarlos tal como se
asignan valores a variables para asignar valores a cada elemento del arreglo de enteros por
ejemplo precios se puede escribir lo siguiente :
 Precios [0]= 10;
 Precios [1]= 30;
 Precios [2]= 40;
 El asignar valores de esta manera es entendible pero sin embargo es poco práctico ya que
cuando tenemos muchos elementos el método es muy muy poco práctico.
 Cuando se inicializa un arreglo el tamaño de este array se puede determinar automáticamente
por las constantes de inicialización estas constantes se separan por comas y se encierran entre
llaves como en los siguientes ejemplos
 Int numeros[8]; {20,30,12,50,60,10,13,5}
 Int dato[n]={6,15,54}
 Char c[];{“M”,”A”,”R”,”T”,”H”,”A”}

ESTRUCTURA DE DATOS 5 de octubre de 2020 19


 Los arreglos de caracteres se pueden inicializar con una constante de cadena
como en el siguiente ejemplo:
 Char a []= “Alberto Lopez”;
 Por ejemplo cuando se utiiza el lenguaje C++ se pueden dejar los corchetes vacíos
solo cuando se asignan valores iniciales al arreglo tal como el siguiente ejemplo:

 Int vendedor [ ]= {20,30,12,50,60,10,13,5}


;

ESTRUCTURA DE DATOS 5 de octubre de 2020 20


IMPLEMENTACIÓN DE UN ARREGLO UNIDIMENSIONAL
Array[u];

Array[u][z];

Array[a][b][
c];
1.2.1 Descripción de las operaciones,
en estructura de datos, de recorrido,
búsqueda, inserción y eliminación.
Las operaciones básicas son:
 Insertar, adicionar un nuevo valor a la estructura.
 Eliminar, 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).
ESTRUCTURA DE DATOS 5 de octubre de 2020 24
ESTRUCTURA DE DATOS 5 de octubre de 2020 25
 Ordenación:
 Burbuja
 Insersión

ESTRUCTURA DE DATOS 5 de octubre de 2020 26


October 5, 2020

1.2 OPERACIONES CON ESTRUCTURAS DE


DATOS ELEMENTALES.
1.2.1 DESCRIPCIÓN DE LAS OPERACIONES,
EN ESTRUCTURA DE DATOS, DE
RECORRIDO, BÚSQUEDA, INSERCIÓN Y
ELIMINACIÓN.

ESTRUCTURA DE DATOS 27

También podría gustarte