jueves, 30 de agosto de 2012

TRABAJO DE ESTRUCTURA DE DATOS

Realizar un algoritmo que tenga un vector de 4 posiciones, y otro de 6 posiciones, que los digite el usuario y luego sumar los números  digitados en el vector 1 y el vector 2, mostrando el resultado de la suma de ambos vectores.

Proceso vectores

//Declaración
       Definir k como entero;
       Definir v 1 como entero;
       Dimensión v1[4];

//Entrada
        sum<-0;
sum2<-0;
sum3<-0;

//Proceso
Para k<-1 Hasta 4 Con Paso 1 Hacer
escribir " digite el numero del vector 1: ";
Leer v1[k];

FinPara
Para k<-1 Hasta 4 Con Paso 1 Hacer
sum<-sum+v1[k];
FinPara

//Salida

Escribir " la suma de los numeros digitados en el vector 1 es:",sum;

// Declaración
Definir i como entero;
        Definir v 2 como entero;
Dimensión v2[6];

//proceso
Para i<-1 Hasta 6 Con Paso 1 Hacer
Escribir " digite el numero del vector 2 : ";
Leer v2[i];

FinPara

Para i<-1 Hasta 6 Con Paso 1 Hacer
sum2<-sum2+v2[i];
FinPara

//Salida
Escribir " la suma de los numeros digitados en el vector 2 es : ",sum2;
                sum3<-sum2+sum;
Escribir " la suma de vectores 1 y vectores dos es : ",sum3;
FinProceso

DIAGRAMA DE FLUJO


PARA: Johan Rojas.
DE: Roberto Carlos Ruiz.

viernes, 24 de agosto de 2012

Estructura Mientras
 
Es aquella en la que la acción o grupo de acciones se repetirá mientras se cumpla la condición y en el momento en que no se cumpla se saldrá del programa
 
 
 
 
 
Estructura Mientras
 
Es aquella en la que la acción o grupo de acciones se repetirá mientras se cumpla la condición y en el momento en que no se cumpla se saldrá del programa
 
 
 
 

jueves, 23 de agosto de 2012


ESTRUCTURA DE DATOS
EJERCICIOS CLASE 2

EJECICIO # 1:
Realizar un algoritmo que al ingresar un numero por teclado el programa nos diga si es par o impar.
Proceso numero
//declaración
Definir num como entero;
//entrada
Escribir "num";
Leer num;
//proceso
Si (num mod 2=0) entonces
//salida
 Escribir "el numero es par";
Sino
Escribir "escribir el numero es impar";
FinSi

FinProceso



DIAGRAMA DE FLUJO:



EJERCICIO # 2:
Realizar un algoritmo que imprima la suma de los primeros 50 números naturales.
Proceso naturales
//declaración
Definir Nnat como entero;
//entrada
Suma <-0;
Nnat<-50;
Escribir "Nnat";
//proceso
Para Nnat<-1 Hasta 50 Con Paso 1 Hacer
Escribir Nnat;
FinPara

Para Nnat<-1 hasta 50 con paso 1 Hacer
           
Suma<-suma+Nnat;
FinPara

Escribir " esta es la suma de los primeros 50 números ";
Escribir suma;
FinProceso


DIAGRAMA DE FLUJOS:



EJERCICIO # 3:
Realizar un algoritmo que al introducir un numero por teclado nos permita saber si es positivo o negativo.
Proceso numeroPN
//DECLARACIÓN
DEFINIR NUMERO COMO ENTERO;
NUMERO<0;
//ENTRADA
ESCRIBIR "NUMERO";
LEER NUMERO;
//PROCESO
 SI NUMERO<0 Entonces
ESCRIBIR "ESTE NUMERO ES NEGATIVO";
Sino ESCRIBIR "ESTE NUMERO ES POSITIVO";
FinSi

//SALIDA
           
FinProceso









DIAGRAMA DE FLUJOS:



PUNTO # 4:
Diferencias entre el ciclo repetir y el ciclo mientras.
REPETIR:
En este ciclo el interprete ejecutara y a continuación evaluará. De resultar falsa, el interprete vuelve al principio y repite el mismo proceso, se ejecutara al menos una vez.
MIENTRAS:
El ciclo mientras ejecuta un bloque de acciones “mientras” que una condición dada se cumpla es decir, cuando la condición evalúa a verdadero. Y si la condición es falsa o no se cumple no se ejecuta.




Gracias ........De : Roberto Carlos Ruiz Beleño.

Para: Johan Rojas.



EJERCICIO EN CLASE: Bienvenida.
Proceso BIENVENIDA
//declaraciones//
//entradas//
ESCRIBIR "DIGITE SU NOMBRE";
LEER NOMBRE;
//procesos//

//salidas//
ESCRIBIR "BIENBENIDOS A LA ASIGNATURA ESTRUCTURA DE DATOS"
ESCRIBIR NOMBRE;       
Fin Proceso

DIAGRAMA DE FLUJOS:


viernes, 17 de agosto de 2012

INFORMACIÓN DE LAS CLASES DE ESTRUCTURAS DE DATOS
 Y SUS CARACTERÍSTICAS. 








CONJUNTO
Conjunto es una colección (contenedor)de ciertos valores, sin ningún orden concreto ni valores repetidos. Su correspondencia en las matemáticas sería el conjunto finito. Sin tener en cuenta la secuencia, ni el hecho de que no haya valores repetidos, se asemeja a una lista. Un conjunto puede verse como una cadena asociativa (array) (mapeado parcial) donde no se atiende al valor de cada par clave-valor.
Las matrices se utilizan para múltiples aplicaciones y sirven, en particular, para representar los coeficientes de los sistemas de ecuaciones lineales o para representar las aplicaciones lineales; en este último caso las matrices desempeñan el mismo papel que los datos de un vector para las aplicaciones lineales.












MATRICES
Matriz o vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones.
Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso
Secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.




LISTA









LISTA
 Listaenlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros (punteros) al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en inglés link, del mismo significado) a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas, Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares.
Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.




ÀRBOL
Árbol es una estructura de datos ampliamente usada que imita la forma de un árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos hijos conectados a él. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo dea). Sólo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja. Los demás nodos (tienen padre y uno o varios hijos) se les conoce como rama.




GRAFOS





GRAFOS
La teoría de grafos (también llamada teoría de las gráficas) es un campo de estudio de las matemáticas y las ciencias de la computación, que estudia las propiedades de los grafos (también llamadas gráficas) estructuras que constan de dos partes, el conjunto de vértices, nodos o puntos; y el conjunto de aristas, líneas o lados (edges en inglés) que pueden ser orientados o no.
La teoría de grafos es una rama de las matemáticas discretas y aplicadas, y es una disciplina que unifica diversas áreas como combinatorias, álgebra, probabilidad, geometría de polígonos, aritmética y topología.

Actualmente ha tenido mayor preponderancia en el campo de la informática, las ciencias de la computación y telecomunicaciones.







TABLA HASH
Una tabla hash, mapa hash o tabla de dispersión es una estructura de datos que asocia llaves o claves con valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada (usando el nombre o número de cuenta, por ejemplo). Funciona transformando la clave con una función hash en un hash, un número que identifica la posición (casilla o cubeta) donde la tabla hash localiza el valor deseado.









MONTICULO










MONTICULO
Montículo (heap en inglés) es unaestructura de datos del tipo árbol con información perteneciente a un conjunto ordenado. Los montículos máximos tienen la característica de que cada nodo padre tiene un valor mayor que el de cualquiera de sus nodos hijos, mientras que en los montículos mínimos, el valor del nodo padre es siempre menor al de sus nodos hijos.
Un árbol cumple la condición de montículo si satisface dicha condición y además es un árbol binario completo. Un árbol binario es completo cuando todos los niveles están llenos, con la excepción del último, que se llena desde la izquierda hacia la derecha.
En un montículo de prioridad, el mayor elemento (o el menor, dependiendo de la relación de orden escogida) está siempre en el nodo raíz. Por esta razón, los montículos son útiles para implementar colas de prioridad. Una ventaja que poseen los montículos es que, por ser árboles completos, se pueden implementar usando arreglos, lo cual simplifica su codificación y libera al programador del uso de punteros.
La eficiencia de las operaciones en los montículos es crucial en diversos algoritmos de recorrido de grafos y de ordenamiento (heapsort).

martes, 14 de agosto de 2012

COMPARATIVO ESTRUCTURA DE DATOS

ESTRUCTURA DE DATOS
Es una forma de organizar un conjunto de datos elementales para facilitar su utilización.


Este mapa conceptual fue creado en cmaptools, espero le agrade profe.


CONOCER LAS DIFERENTES ESTRUCTURAS DE DATOS

Las estructuras de datos como podemos ver se componen de varios subtemas, los cuales debemos conocer para lograr una buen comparativo y afianzar sus funciones.

CLASE DE ESTRUCTURA DE DATOS- 11/08/2012

EJERCICIOS EN CLASE - 11/08/2012
 Ejercicio # 1.
Sumatoria de dos variables, A + B.


Proceso SUMATORIA VARIABLES
//ENTRADA
ESCRIBIR "INGRESE VALORES PARA LA VARIABLE A Y LA VARIABLE B"
LEER VAR1,VAR2

//PROCESO
ESCRIBIR "SUMATORIA DE LAS VARIABLES DADAS"
SUM<-VAR1+VAR2

//SALIDA
ESCRIBIR "RESULTADO SUMA VARIABLE A + B"
ESCRIBIR SUM;

Fin Proceso

DIAGRAMA
 


Ejercicio # 2.
Realizar el siguiente algoritmo: (A * B ) + (C / D).

Proceso ECUACIONES
ESCRIBIR "SOLUCIONAR LAS SIGUIENTES ECUACIONES Y SUMARLAS"
LEER NUM1,NUM2;
ESCRIBIR "MULTIPLICACION DE NUM1(A) POR NUM2(B)"
MULT<-NUM1*NUM2
ESCRIBIR "RESULTADO DE MULTIPLICAR NUM1(A) POR NUM2(B)"
ESCRIBIR MULT
ESCRIBIR "DIVIDIR NUM3(C) POR NUM4(D)"
LEER NUM3,NUM4;
ESCRIBIR "RESULTADO DE LA DIVISION DE NUM3(C) POR NUM4(D)"
DIVI<-NUM3/NUM4
ESCRIBIR DIVI
ESCRIBIR "SUMATORIA DE LOS RESULTADOS ANTERIORES"
SUM<-MULT+DIVI
ESCRIBIR "RESULTADO SUMATORIA"
ESCRIBIR SUM 
Fin Proceso

DIAGRAMA: