14
Universidad Tecnológica de Honduras Catedrático: Ing. Ricardo Woolery Tema: Conceptos Generales Asignatura: Estructura de Datos Codigo: EDE0605 Integrantes: Edwin Sánchez 201420020010 Enrique Midence 201510060242 Jeremías Milla Fecha: 05/06/2016

Universidad Tecnológica de Honduras

Embed Size (px)

Citation preview

Universidad Tecnológica de Honduras

Catedrático: Ing. Ricardo Woolery

Tema: Conceptos Generales

Asignatura: Estructura de DatosCodigo: EDE0605

Integrantes:

Edwin Sánchez 201420020010Enrique Midence 201510060242

Jeremías Milla

Fecha: 05/06/2016

ÍndiceIntroducción...............................................................................................................................................3

Estructura de Datos...................................................................................................................................4

Tipos de Datos Estructurados...............................................................................................................5

Investigación Biográfica............................................................................................................................6

John von Neumann (1903-1928)...............................................................................................................6

Sus Aportaciones...................................................................................................................................6

Alan Mathison Turing (1912 a 1954).......................................................................................................9

Sus aportaciones:...................................................................................................................................9

PROGRAMACION.................................................................................................................................12

Introducción

A continuación explicaremos más a detalle la estructura de datos a su vez hablaremos de sus diferentes tipos y de lo esencial de la estructura de Datos es para la Programación y elaboración de un sistema ya que para que un sistema funcione de manera adecuada y sea funcional es necesario la estructura de datos.

En la programación, estructura de datos es una de las forma de organizar un conjunto de datos con el objetivo de facilitar su manipulación. Un dato es la mínima información que se tiene en un sistema.

Una estructura de datos se define la organización e interrelación de los datos y un conjunto de operaciones que se pueden realizar sobre ellos.

Cada estructura ofrece ventajas y desventajas en relación a la eficiencia para la realización de cada operación. De esta forma, la elección de la estructura de datos apropiada para cada problema depende de factores como la utilización y el orden en que se realiza cada operación sobre los datos.

Estructura de Datos

Es la Organización de la Información para ser procesada y a su vez ordenada para convertirse en datos los cuales son ordenados para su correcto uso de manera eficiente.

Existen diferentes tipos de estructuras de datos las cuales son usadas para diferentes tipos de aplicaciones, y algunos son especializados para tareas más específicas.

La estructura de dato es un medio para manejar grandes cantidades de datos de manera eficiente, para manejar grandes bases de datos y servicios de indización de Internet. Por lo general, la estructura de datos es clave para diseñar un algoritmo funcional y eficiente. Algunos métodos formales de diseño y lenguajes de programación destacan las estructuras de datos, en lugar de los algoritmos, como el factor clave de organización en el diseño de sistema.

A su vez la estructura de datos es uno de los pasos elementares para la elaboración de software ya que este es el mapa o a seguir para realizar las operaciones que se necesiten que realice el software. La Estructura de Datos es la clave para manejar y facilitar la manipulación de información y el correcto uso de los datos en un software.

Todo algoritmo necesita de manera previa una adecuada estructura de datos para que este se use de manera óptima por sus operarios.

Una estructura de datos define la organización e interrelación de los datos y el conjunto de operaciones que se realizan sobre ellos. Las operaciones más usadas son:Agregar un nuevo dato a la estructura ya existente.Borrar un dato de la estructura ya existente.Búsqueda, encontrar un determinado dato en la estructura para realizar una operación con este dato.

Por: Edwin Sanchez

Tipos de Datos EstructuradosLos datos utilizados en la estructura pueden ser clasificados de las siguientes maneras:

Las Estructuras Continuas o Físicas: Son aquellas que se sitúan en las áreas adyacentes de la memoria y que están desde un principio limitadas por el tamaño de la estructura y su espacio de memoria, estos datos se relacionan por su posición relativa en la estructura.

Algunos ejemplos de datos contiguos:

Cadenas Vectores o Arreglos Matrices Registros

Las Estructuras Enlazadas: son las estructuras cuyos datos no están situados en la memoria de la estructuras, estos datos se relacionan por medio de los unos a los otros por medio de punteros, la localización no es ya dada sino que se produce por medio de los punteros.

Algunos ejemplos de datos enlazados:

Punteros Listas enlazadas

Las Estructuras Estáticas: Son aquellas en las cuales se define el espacio de memoria a utilizar desde la creación del datos, este espacio asignado no puede ser modificado.

Algunos ejemplos de datos estáticos:

Pilas Colas Listas

Las Estructuras Dinámicas: son aquellas que a lo contrario de las estáticas, estas pueden crecer o decrecer según el sistema lo necesite y sin necesidad de ser definidas de manera previa por el programador.

Algunos ejemplos de datos dinámicos:

Arboles Binarios Arboles de Búsqueda

Investigación BiográficaPor Enrique MidenceJohn von Neumann (1903-1928)John Neumann fue el mayor de 3 hermanos y a los 10 años comenzó a estudiar en el Colegio Luterano de Budapest. Sus profesores se percataron de su talento y recomendaron que recibiera clases particulares de matemáticas impartidas por profesores universitarios.

John Neumann era un superdotado y gano el premio al mejor alumno del país en matemáticas y ciencia. Su enorme inteligencia se haría luego legendaria. Compañero de colegio una clase por encima de él era el futuro Premio Nobel de Física Eugene Wigner, que sería su amigo toda la vida y al que las conversaciones que mantuvo con von Neumann en aquella época disuadieron de dedicarse a las matemáticas.

En 1921 al término de La Primera Guerra Mundial, John Neumann fue admitido en la Universidad de Budapest donde acabaría doctorándose, en matemáticas en 1926. También estudio al mismo tiempo en Berlín, y recibió algunas clases de Albert Einstein, en compañía de otros compañeros Húngaros como el mismo Wigner, Leó Szilárd y Dennis Gabor. En 1925 obtuvo su licenciatura en ingeniería química en la Escuela Politécnica Federal de Zúrich.

Sus Aportaciones1. En la computación:

Fue pionero de la computadora digital moderna y de la aplicación de la teoría de operadores a la mecánica cuántica. Trabajó con Eckert y Mauchly en la Universidad de Pennsylvania, donde publicó un artículo acerca del

almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la llamada EDVAC (Electronic Discrete-Variable Automatic Computer, es decir 'computadora automática electrónica de variable discreta'), desarrollada por Von Neumann, Eckert y Mauchly. Los programas almacenados dieron a las computadoras flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos.

2. Trabajos Teóricos de la Matemática:

Relativos a la Lógica Matemática. Axiomática de teoría de conjuntos. Espacios de Hilbert. Álgebras de operadores. Teoría de la Medida. Teoría ergódica. Números Transfinitos. Teoría de autómatas.

3. Mecánica Cuántica:

Fundamentos matemáticos de la mecánica cuántica.

4. Teoría de Juegos:

Von Neumann fue el fundador de la teoría de juegos. Demostró el teorema del minimax.

Teoría de juegos y del comportamiento económico.

5. Bombas Atómicas y de Hidrogeno:

Von Neumann participó activamente en el desarrollo de la bomba atómica (Proyecto Manhattan) en el laboratorio de Los Álamos en Nuevo México. El diseño del método de implosión de las bombas nucleares se debe a Von Neumann.

Von Neumann participó activamente en el desarrollo de la bomba atómica (Proyecto Manhattan) en el laboratorio de Los Álamos en Nuevo México. El diseño del método de implosión de las bombas nucleares se debe a Von Neumann.

Alan Mathison Turing (1912 a 1954)En 1926 con 14 años, logro entrar al internado de SHERBORN en Dorset su primer dia de clases coincidió con una huelga en Inglaterra, pero eso no lo detuvo, recorrio en bicicleta 96 km que separaban Southampton de su escuela (SHERBORN), pasando la noche en una posada que encontró. Todo esto fue publicado en la prensa local, ellos lo consideraron una gran hazaña.

Sus ambiciones estudiantiles se debieron mas que todo a las amistades que forjo en la escuela SHERBORN, sobre todo por Christopher Morcom, que fue ademas uno de los primeros amores de Turing. Pero Morcom murió repentinamente el 13 de febrero de 1930 solo unas semanas después de su ultima temporada en SHERBORN, debido a complicaciones de tuberculosis bovina. Debido a esto Turing perdió la fe en religiones y se convirtió en ateo, adopto la convicción de que todos los fenómenos, incluyendo el funcionamiento del cerebro humano, deben ser materialistas. Sin embargo siguió creyendo en la supervivencia del espíritu después de la muerte

Debido a su falta de voluntad para esforzarse con la misma intensidad de estudio de los clásicos que en la ciencia y la matemática, Turing suspendio sus exámenes finales varias veces y tuvo que ingresar en la escuela universitaria que decidio en 2do lugar, King´smCollege, Universidad de Cambridge, en vez de en la que fue su primera elección que fue Trinity. Luego de graduarse, se cambio a la universidad estadounidense de Princeton, donde trabajo con el lógico A.

Sus aportaciones:1. La máquina de Turing: Era una maquina que podía realizar algunas tareas de

manera sistemática. Su mecanismo estaba relacionado en si a: Output, Input y Programa. Fue la primera vez que se pensó en que una sola computadora pudiera hacer varias tareas.

2. El Bombe ( Artefacto Electromecánico ): Maquina que desarrollo Turing junto con Welchman, para desarrollar los códigos enigma de los alemanes en la 2da guerra mundial.

3. Computadora ACE y la Inteligencia Artificial: A pedido del Laboratorio Nacional de Física, diseñó una computadora que permitía el almacenamiento de datos. Sin embargo, por retrasos nunca llegó a construirla. Igualmente, siguió trabajando en torno a las computadoras y en 1950 lanzó el libro Maquinaria Computacional e inteligencia, con el tema tan polémico de la inteligencia artificial.

4. Teoría del Morfogénesis: Turing modeló con ecuaciones de reacción-difusión cómo se generan patrones (como las manchas en la piel de un animal) durante el desarrollo de un embrión. Consideró dos substancias (producidas por dos morfo genes) que reaccionan entre sí y se difunden por un tejido celular. Turing murió poco después de publicar este trabajo germinal.

PROGRAMACIONCodigo de python para resolver ecuaciones Cuadraticas:

"""Programa Para calcular ecuaciones cuadraticas en Python:"""

a=b=c=discriminante_ecuacion=x1=x2=s=0

print("Este programa resuelve ecuaciones de la forma ax^2+bx+c=0")

a=float(input("Introduce el valor de la variable a: "))

b=float(input("Introduce el valor de la variable b: "))

c=float(input("Introduce el valor de la variabel c: "))

discriminante_ecuacion=float(b**2-4.0*a*c)

if discriminante < 0:

print("Este tipo de ecuacion no tiene solucion")

elif delta == 0:

s=float(-b/(2.0*a))

print("la ecuación tiene una única solución y es: ", s)

else:

x1=float((-b+((b**2.0 - 4.0*a*c))**(1.0/2.0))/(2.0*a))

x2=float((-b-((b**2.0 - 4.0*a*c))**(1.0/2.0))/(2.0*a))

print("las soluciones de la ecuación son: ")

print("x1=", x1)

print("x2=", x2)

Codigo para resolver ecuaciones Cuadraticas en c#:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;

namespace Cuadratica{ class Program { static void Main(string[] args) { int a = 0, b = 0, c = 0; double d = 0.0, x1=0.0, x1I = 0.0, x2I = 0.0, x2 =0.0;

Console.WriteLine("Este programa esta diseñado para generar el resultado de una ecuacion cuadratica"); Console.WriteLine("Por favor ingrese el valor de la variable a "); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Por favor ingrese el valor de la variable b "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Por favor ingrese el valor de la variable c "); c = Convert.ToInt32(Console.ReadLine());

d = ((Math.Pow(b,2))-(4*a*c)); Console.WriteLine(d);

if(d==0) { x1 = (-b) + (Math.Sqrt(d)) / (2) * (a); x2 = x1;

Console.WriteLine("El resultado es:\n X1= " + x1 + "X2= " + x2); }

if (d > 0) { x1 = (-b) + (Math.Sqrt(d)) / (2) * (a); x2 = (-b) - (Math.Sqrt(d)) / (2) * (a); Console.WriteLine("El resultado es:\n X1= " + x1 + "X2= " + x2); }

if (d < 0) { d = (-1) * d; x1 = (-b) / (2) * (a); x1I= (Math.Sqrt(d)) / (2) * (a); x2 = x1; x2I= (Math.Sqrt(d)) / (2) * (a); Console.WriteLine("El resultado es:\nX1R= "+ x1 + "\nX1I= " + x1I+ "\nX2R= " +x2+"\nX2I= " +x2I); }

Console.ReadKey(); } }}