Want to make interactive content? It’s easy in Genially!

Over 30 million people build interactive content in Genially.

Check out what others have designed:

Transcript

Alumno: Giancarlos Arcos Cabrera Matricula: 2303011125 Asignatura: Habilidades Digitales Para Ingeniería Docente: Juana Antonia Moo Salvador

Proyecto

Indice

  1. Presentacion
  2. indice
  3. Programacion Modular
  4. Caracteristicas de la progracion Modular
  5. Tecnicas de diseño modular
  6. Tipos aastractos de datos
  7. Estructuras de datos basicas
  8. Tipos de estructuras de datos
  9. Programacion orientada objetos
  10. Beneficios de la progracion orientada a objetos
  11. Aplicaciones usando objetos predefinidos
  12. Bibliografia
  13. Capturas de los programas en Programacion Modular y Programacion Orientada a Objetos

La programación modular corresponde a la descomposición de un programa en pedazos más pequeños denominados módulos o subprogramas, en el que cada uno de ellos se encargará de llevar a cabo una tarea concreta y bien definida, y se agrupará según su funcionalidad.

PROGRAMACIÓN MODULAR

Las características que definen estos módulos son las siguientes:

Cada módulo deberá tener asignado un nombre propio que le diferencie de los otros y que será usado para invocarlos.Se puede transmitir información entre el módulo principal y el resto de los módulos a través de parámetros.Cada módulo puede ser programado y compilado por separado, y almacenado posteriormente en librerías.Cada módulo consta de dos partes: la cabecera, que es donde aparece el nombre y los datos que se le pasan o genera, y el cuerpo o estructura interna, que es donde se desarrolla el código.Permite trabajar en equipo. Cada programador puede desarrollar un módulo diferente y posteriormente enlazarlos. El tamaño del módulo debe encontrarse entre 20 y 200 líneas de código.Los módulos con menos de 20 líneas de código pueden disminuir la eficiencia del programa.Los módulos que contienen as de 200 líneas de código son difíciles de verificar y mantener.Un módulo debe realizar una sola tarea y contenerla en su totalidad.Un requisito necesario para el desarrollo de código modular es la existencia de un mecanismo que permita el intercambio de datos entre módulos. En ensamblador existen técnicas que permiten este intercambio.

Técnicas de diseño modular.

El mundo de la tecnología y la electrónica no se queda atrás en la adopción del diseño modular. Dispositivos como smartphones, computadoras y cámaras están siendo diseñados con componentes intercambiables y actualizables. Esto no solo prolonga la vida útil de los productos, sino que también reduce la necesidad de comprar nuevos dispositivos con frecuencia, disminuyendo así el desperdicio electrónico y promoviendo un consumo más responsable.

Tipos Abstractos de Datos

La programación que utiliza abstracción de datos se basa en el hecho de que en un programa se deben integrar y combinar los tipos básicos de datos, como números y caracteres, para formar estructuras de datos más complejas y así representar información dentro del computador. En general existe una fuerte relación entre todos los datos manipulados por un programa, por lo que es conveniente que esa relación esté claramente especificada y controlada, de forma que cada parte del programa "vea" sólo lo que necesita [LG-86]. Esto último es muy importante para separar el programa en partes independientes, o módulos, evitando así que cambios en una parte produzcan errores en otras partes del programa. Por ejemplo, en un programa que usa varios arreglos y matrices para almacenar información, es frecuente que al aumentar el tamaño de una dimensión se olvide aumentar la de los demás arreglos, por lo que el mantenimiento del programa es más difícil. El objetivo perseguido al usar abstracción de datos es lograr aislar todas estas dependencias, de forma que los cambios puedan ser hechos con un mínimo de esfuerzo y en una forma localizada. En nada ayuda tener que buscar por todo el programa en qué lugar debe hacerse cada cambio. También es importante especificar mediante la abstracción de datos qué es cada estructura de datos. Una lista, por ejemplo, es una estructura de datos que tiene un comportamiento muy bien definido: pueden insertársele nuevos elementos, recorrérsela, encontrar el primer y último elemento, etc. Un programador que use el tipo de datos Lista no debe necesitar descubrir de nuevo ese concepto: simplemente debe poderlo importar de una biblioteca.

Estructuras de datos básicas

De manera simple, una estructura de datos es un contenedor que almacena datos en una disposición específica. Esta "disposición" permite que una estructura de datos sea eficiente en algunas operaciones e ineficiente en otras. Tu meta es comprender las estructuras de datos para que puedas elegir la que sea más óptima para el problema en cuestión.

Tipos de estructuras de datos

ArreglosUn arreglo es la más simple y más usada estructura de datos. Otras estructuras de datos, como las pilas y las colas, provienen de los arreglos.A continuación puedes ver una imagen de un arreglo simple de tamaño 4, que contiene elementos (1, 2, 3 y 4).

PilasTodos conocemos la famosa opción Deshacer(Undo), que está presente en casi todas las aplicaciones. ¿Te has preguntado alguna vez cómo funciona? La idea: almacenas los estados previos de tu trabajo (que están limitados a un número específico) en la memoria en cierto orden tal que el último aparece primero. Esto no se puede hacer solo usando arreglos. Aquí es donde la Pila resulta útil.Un ejemplo de la vida real del uso de la Pila podría ser una pila de libros colocados en orden vertical. Para obtener el libro que está en algún lugar en medio, necesitarás remover todos los libros que están encima de él. Así es como funciona el método LIFO (Last In First Out; en español UEPS, o Último en Entrar, Primero en Salir).

ColasSimilar a la Pila, la Cola es otra estructura de datos lineal que almacena elementos de manera secuencial. La única diferencia significativa entre la Pila y la Cola es que en lugar de usar el método LIFO, la Cola implementa el método FIFO (First In First Out; en español PEPS, o Primero en Entrar Primero en Salir).Un ejemplo perfecto de la Cola en la vida real: una fila de personas esperando en taquilla. Si llega una nueva persona, se formará al final de la fila, no al inicio — y la persona situada al inicio de la fila será la primera en conseguir boleto y, por lo tanto, la primera en dejar la fila.

Lista enlazadaUna lista enlazada es otra estructura de datos lineal importante que a primera vista puede lucir similar a los arreglos, pero difiere en la asignación de memoria, la estructura interna y la forma en que se llevan a cabo las operaciones básicas de inserción y eliminación.Una lista enlazada es como una cadena de nodos, donde cada nodo contiene información como datos y un puntero al siguiente nodo de la cadena. Hay un puntero a la cabecera, que apunta al primer elemento de la lista enlazada, y si la lista está vacía, entonces simplemente apunta a null o nada.Las listas enlazadas son usadas para implementar sistemas de archivos, tablas hash y listas de adyacencia.

GrafosUn grafo es un conjunto de nodos que están conectados entre sí en forma de red. Los nodos son también llamados vértices. Un par(x,y) se denomina arista, que indica que el vértice x está conectado al vértice y. Una arista puede contener peso/costo, mostrando cuánto cuesta viajar del vértice x al y.

ArbolUn árbol es una estructura de datos jerárquica que consiste en vértices (nodos) y aristas que los conectan. Los árboles son similares a los grafos, pero la diferencia clave entre ellos es que un ciclo no puede existir en un árbol.Los árboles son usados extensamente en la Inteligencia Artificial y algoritmos complejos para proveer un mecanismo eficiente de almacenamiento para la resolución de problemas.

Programacion Orientada a Objetos

La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir, un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos. A lo largo de la historia, han ido apareciendo diferentes paradigmas de programación. Lenguajes secuenciales como COBOL o procedimentales como Basic o C, se centraban más en la lógica que en los datos. Otros más modernos como Java, C# y Python, utilizan paradigmas para definir los programas, siendo la Programación Orientada a Objetos la más popular. Con el paradigma de Programación Orientado a Objetos lo que buscamos es dejar de centrarnos en la lógica pura de los programas, para empezar a pensar en objetos, lo que constituye la base de este paradigma. Esto nos ayuda muchísimo en sistemas grandes, ya que en vez de pensar en funciones, pensamos en las relaciones o interacciones de los diferentes componentes del sistema.Un programador diseña un programa de software organizando piezas de información y comportamientos relacionados en una plantilla llamada clase. Luego, se crean objetos individuales a partir de la plantilla de clase. Todo el programa de software se ejecuta haciendo que varios objetos interactúen entre sí para crear un programa más grande.

  1. Reutilización del código.
  2. Convierte cosas complejas en estructuras simples reproducibles.
  3. Evita la duplicación de código.
  4. Permite trabajar en equipo gracias al encapsulamiento ya que minimiza la posibilidad de duplicar funciones cuando varias personas trabajan sobre un mismo objeto al mismo tiempo.
  5. Al estar la clase bien estructurada permite la corrección de errores en varios lugares del código.
  6. Protege la información a través de la encapsulación, ya que solo se puede acceder a los datos del objeto a través de propiedades y métodos privados.
  7. La abstracción nos permite construir sistemas más complejos y de una forma más sencilla y organizada.

Beneficios de Programación Orientada a Objetos

Aplicaciones usando objetos predefinidos.

El tipo de datos fundamental de JavaScript es el objeto. Un objeto es un dato complejo, una colección no ordenada de propiedades cada una formada por un nombre y un valor. Este valor es un tipo de dato primitivo o un objeto.En JavaScript todo lo que no es un string, un numero, true, false, null o undefined es un objeto. Incluso los strings, números y booleanos se comportan como objetos inmutuables (no podemos modificar sus propiedades).Nota: JavaScript distingue entre valores primitivos (string, numero, booleano, null y undefined) que son inmutables y el resto de objetos que son mutables tratando a los primeros por valor y a los segundos por referencia.Podemos distinguir tres categorías o clases de objetos:Objetos nativos definidos por la propia especificación JavaScript (ECMAScript). En este tema nos centraremos en ellosObjetos de plataforma, son aquellos que pone a nuestra disposición el entorno de ejecución (runtime environment) JavaScript, como el navegador o Node.js. Los estudiaremos en el tema JavaScript en el navegadorObjetos de usuario, que son aquellos que se crean por programa durante la ejecución de código JavaScript. Veremos cómo crearlos en el próximo tema

Bibliografia

  1. [https://xguaita.github.io/mtig-js/modulo3/
  2. [ https://profile.es/blog/que-es-la-programacion-orientada-a-objetos/amp/
  3. https://webdiis.unizar.es/~elvira/eda/addeda/teruel/Estructuras_Lineales.html
  4. https://www.freecodecamp.org/espanol/news/las-principales-estructuras-de-datos-que-deberias-saber-para-tu-proxima-entrevista-de-programacion/
  5. http://www.di-mare.com/adolfo/p/oop-adt.htm
  6. https://www.destinoscreativos.com/caracteristicas-del-diseno-modular/#En_la_tecnologia_y_la_electronica
  7. https://www.google.com/search?q=3.+PROGRAMACI%C3%93N+MODULAR&oq=3.+PROGRAMACI%C3%93N+MODULAR&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRigAdIBCDExOTRqMGo3qAIUsAIB&client=tablet-android-samsung-rvo1&sourceid=chrome-mobile&ie=UTF-8

Programa relacionado a las matemáticas o ingeniería (1 DE PROGRAMACIÓN MODULAR EN JAVA Y 1 DE PROGRAMACIÓN ORIENTADA A OBJETOS)