• Barajar
    Activar
    Desactivar
  • Alphabetizar
    Activar
    Desactivar
  • Frente Primero
    Activar
    Desactivar
  • Ambos lados
    Activar
    Desactivar
  • Leer
    Activar
    Desactivar
Leyendo...
Frente

Cómo estudiar sus tarjetas

Teclas de Derecha/Izquierda: Navegar entre tarjetas.tecla derechatecla izquierda

Teclas Arriba/Abajo: Colvea la carta entre frente y dorso.tecla abajotecla arriba

Tecla H: Muestra pista (3er lado).tecla h

Tecla N: Lea el texto en voz.tecla n

image

Boton play

image

Boton play

image

Progreso

1/18

Click para voltear

18 Cartas en este set

  • Frente
  • Atrás
  • 3er lado (pista)
Tema 12. Parte 1. Ventajas del modelo de programación estructurada.
De acuerdo con el teorema de la programación estructurada todo programa, sin importar lo que realice, puede ser desarrollado con el uso de las 3 estructuras de control, la secuencial, la condicional y la iterativa. Gracias a las ventajas mencionadas antes, ahora con este tipo de programación ya se podía disponer de programas que eran más fáciles de escribir, de probar, de depurar y de modificar, si se comparaba a los estilos de programación anteriores.
Aunque hoy en día la POO es predominante en la escritura de programas, gracias a las características que posee la programación estructurada se le puede sacar más provecho para ciertos tipos de programas, por ejemplo, funciona extremadamente bien para programas que procesan datos y para el procesamiento de números, los cuales se ejecutan una vez para producir una respuesta.
Intro.
Tema 12. Parte 2. Ventajas del modelo de programación estructurada.
1-Los programas son mucho más fáciles de entender, ya que pueden leerse de manera secuencial. 2-Incrementa el rendimiento de los programadores, algo que no puedes desestimar a la ligera. 3-Optimiza el esfuerzo durante las fases de prueba y depuración, haciendo más sencillo el seguimiento de los errores del programa y detectándolos rápidamente para su corrección. 4-Plantea una estructura mucho más clara del programa, ya que las instrucciones suelen estar relacionadas o más ligadas entre sí. 5-Se puede ejecutar en cualquier equipo que cuente con un compilador o traductor acorde.
1- Rastreo de los saltos de línea (el popular GOTO) en los bloques de código, para intentar comprender la lógica interna.
Tema 13. Conceptualización de la abstracción de datos.
La abstracción es uno de los principios básicos de la POO, consiste en aislar un elemento de su contexto, o de los elementos que lo rodean, para descartar toda aquella información que no resulta relevante en un contexto particular, para da enfasis a propiedades de los objetos dependiendo del interés del observador, permitiendo abstracciones muy diferentes de la misma realidad. Despues de captar esas características y funciones que un objeto desempeña, se representan en clases por medio de atributos y métodos de dicha clase. Usando estas abstracciones reutilizamos el código, o sea, disminuimos el código necesario para poder programas nuevas funcionalidades que nos pida el sistema, sin alterar estos objetos que ya estaban construidos, ni las clases o interfaces donde estaban, asi se aprovecha en un nuevo contexto programando nuevas funcionalidades. Hay que procurar usar las capas de abstracción necesarias, lo cual suele ser a veces complicado de determinar.
Ver word con mas detalles.
Tema 14. Parte1. Requerimientos fundamentales en el desarrollo de algoritmos y diagramas en la resolución de casos.
En el desarrollo de un algoritmo debemos primero hacer un estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripción del problema.
Requerimientos que son fundamentales:
-Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
-Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
-Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.
.
Tema 14. Parte 2. Requerimientos fundamentales en el desarrollo de un algoritmo y diagramas en la resolución de casos.
Requerimientos fundamentales en el desarrollo de un DF:
-Los diagramas de flujo poseen símbolos que permiten estructuras la solución de un problema de forma gráfica. Por lo tanto es fundamental utilizar la notación gráfica correcta para que sea bien interpretada.
-Todo diagrama de flujo al igual que un algoritmo debe de tener un INICIO y un FIN.
-Todas las lineas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas a un símbolo siempre, tambien siempre tienen que ser rectas, verticales u horizontales.
-La construcción del diagrama debe ser de arriba a abajo y de izquierda a derecha.
-A cada símbolo solo le puede llegar una línea de dirección de flujo.
.
Tema 15. Parte 1. Requerimientos fundamentales en la documentación interna y externa de programas.
En la documentación interna un requerimiento fundamental es la CALIDAD de la documentación, que se haga con procedimientos estandarizados (por ejemplo siempre colocar información relevante en las cabeceras de los módulos sobre las funciones de las clases y metodos en ellas y siempre tambien el uso adecuado de los comentarios incrustados en el código fuente, que son más especificos para explicar instrucciones dentro de un metodo o una estructura de control compleja. Estos comentarios deben ser muy claros y concretos, para que cualquier desarrollador que lea el código lo pueda interpretar con la mayor facilidad posible. Es importante que se creen Ayudas Interactivas a nivel de la interfaz, para que otros desarrolladores puedan tambien entender las funcionalidades generales y tambien particulares de cada modulo, antes de recurrir a la documentación de los usuarios externos.
-Comentarios.
-Ayudas interactivas.
Tema 15. Parte 2. Requerimientos fundamentales en la documentación interna y externa de programas.
Algo que es un requerimiento fundamental en la doc externa es que se debe describir lo que el sistema puede hacer y lo que no. Debe crearse un manual de instalación, incluyendo los requisitos de hardware. Debe existor un manual introductorio que tenga un prologo que describa el uso "normal" del sistema y tambien un manual de referencia que ya es un documento definitivo sobre el uso del sistema. Es importante que este señalado la forma de salir de los problemas mas usuales y manejo de contingencias.
Tema 16. Modularidad en la programación: ventajas y desventajas.
Una ventaja con los programas modulares es que las empresas adquieren exclusivamente aquellas partes del programa que necesitan, lo que permite que los costes de adquisición sean más económicos, pero también tienen la seguridad de que si el día de mañana su actividad se amplía, o cambia, la aplicación podrá añadir y acoplar las funcionalidades que se necesiten. Desde el punto de vista de su desarrollo, favorece el trabajo en equipo, donde desarrolladores expertos pueden ir trabajando en los modulos mas complejos y los mas inexpertos en los mas faciles para avanzar mas rapido. Es mas facil realizar pruebas y encontrar errores, tambien permite mucho la reutilización de código.
Las desventajas: La programación modular requiere una gran cantidad de memoria y su tiempo en ejecución.
.
Tema 17. Características de recursividad. Ejemplificación.
Las funciones recursivas son funciones que se llaman a sí mismas una cantidad definida de veces durante su propia ejecución. Esa cantidad de veces se define estableciendo estructura de control condicional de parada, ya que si no se haria un desbordamiento de pila (stack overflow).

Caracteristicas:
-Las funciones recursivas se componen de un casos la base y la regla recursiva de construcción. La base no es recursiva, pero es el punto
tanto de partida como de parada
de llamada de la funcion.
- Cualquier solucion hecha con recursividad puede ser resulta con una iteracion.
- Dependiendo del escenario usar recursividad puede ser menos complejo que una iteracion, o puede ser lo contrario, entonces se debe tener claro cuando es mejor usarla o no.
-Ademas el uso de estas llamadas recursivas siempre suelen utilizar mayor consumo de memoria, por lo cual no son tan eficientes para el programa que una iteracion.
*Stack Overflow
*Caso base y regla recursiva.
*Iteracion = Recursion
*Escenario.
*Uso de memoria.
Tema 18. Parte 1. Características fundamentales de las listas enlazadas.
Las listas Enlazadas o LinkedLists almacena los datos en Nodos, estos Nodos constan de 3 partes, una donde se almacena el dato y otras dos que se conocen como punteros, enlaces o links que apuntan hacia el elemento anterior dentro de la linkedlist o al elemento siguiente. Que a diferencia de las ArrayList no tienen que estar guardados de forma adyacente en la memoria.
Ventajas:
-Son de acceso aleatorio.
-Estan ordenadas.
-Añadir y eliminar sin restricción.
-Tienen muchos metodos para hacer modificaciones en sus nodos, a partir de su nombre o posición.
-Son mas eficientes que los ArrayList.
Descripcion y ventajas.
Tema 18. Características fundamentales de las listas enlazadas.
Tipos de listas:
-Las listas simplemente enlazadas, permiten recorrer la lista en un solo sentido y desde la cabeza hasta la cola.
-Las listas doblemente enlazadas, permiten el recorrido en dos direcciones, de la cabeza a la cola y de la cola hacia la cabeza.
-Las listas simplemente circulares, permiten el recorrido en una dirección pero al llegar al último nodo (cola) este se encuentra comunicado o enlazado a la cabeza, haciendo un anillo o circulo si se
representa gráficamente.
-Las listas doblemente circulares, permiten el recorrido en ambas direcciones y la cabeza y cola se encuentran conectadas en ambas direcciones.
Tipos.
Tema 19. Aplicabilidad de las cadenas o hileras (strings).
Una cadena es una secuencia de caracteres. Las cadenas son una parte fundamental de la mayoría de los programas, los distintos lenguajes de programación tienen características incorporadas que facilitan la manipulación de estas cadenas. Habrán circunstancias en las que estemos programando algo donde tengamos que aplicar diferentes manipulación en cadenas de caracteres como por ejemplo determinar la longitud de una cadena, extraer caracteres de una cadena, comparación de cadenas, hacer una búsqueda dentro de una, concatenarlas, convertir objetos a strings, etc...
.
Tema 20. Pilas.
Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, siendo el modo de acceso a sus elementos de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir»).
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.
Otras operaciones usadas, son Cima: devuelve el elemento que esta en la cima de la pila. (top o peek).
Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
Suelen ser implementadas con vectores, listas enlazadas y en el uso de recursividad. A nivel de hardware en la asignacion de memoria.
LIFO. PUSH. POP
Tema 21. Colas.
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
Operaciones básicas:
Crear: se crea la cola vacía.
-Encolar (añadir, entrar, push): se añade un elemento a la cola. Se añade al final de esta.
-Desencolar (sacar, salir, pop): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.
-Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primero elemento que entró.
Tipos:
Colas circulares (anillos): en las que el último elemento y el primero están unidos.
Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno.
FIFO. Operadores. Tipos.
Tema 22. Potencialidad de uso de las variables dimensionadas (matrices).
Las matrices son una de las estructuras de datos más básicas en programación, pues se utiliza para almacenar datos en ubicaciones de memoria contiguas. Siempre que tratamos con un conjunto ordenado de datos homogeneos, las matrices son la primera y más importante opción para almacenar estos datos, entre las potencialidades que ofrecen, es que ayudan en la optimización del código. Podemos almacenar una gran cantidad de valores en una sola matriz escribiendo un pequeño fragmento de código en lugar de declarar cada variable por separado. Las matrices se pueden utilizar para implementar otras estructuras de datos como listas enlazadas, pilas, colas, grafos, árboles, etc.
.
Tema 23. Parte 1. Arboles.
Los árboles representan una de las estructuras no lineales y dinámicas de datos más importantes en computación. Dinámicas porque las estructuras de árbol pueden cambiar durante la ejecución de un programa. No lineales, puesto que a cada elemento del árbol pueden seguirle varios elementos. Los árboles pueden ser construidos con estructuras estáticas y dinámicas. Las estáticas son arreglos, registros y conjuntos, mientras que las dinámicas están representadas por listas. La definición de árbol es la siguiente: es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos; uno de los cuales es conocido como raíz. Además, se crea una relación o parentesco entre los nodos dando lugar a términos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc.
Árbol se emplean en lugar de Listas cuando la cantidad de elementos almacenada es muy grande y el tiempo de acceso lineal es costoso.
* Estruct. No lineales y Estruct. Dinamicas.
* Construidos con Estruct. estáticas y dinámicas.
Tema 23. Parte 2. Arboles.
Los árboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para representar fórmulas matemáticas, para organizar adecuadamente la información, para construir un árbol genealógico, en la toma de decisiones, para el análisis de circuitos eléctricos y para numerar los capítulos y secciones de un libro.

Arboles Binarios: A los árboles ordenados de grado dos se les conocen como árboles binarios ya que cada nodo del árbol no tendrá más de dos descendientes directos. Las aplicaciones de los árboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos.
Usos y arboles binarios.
Tema 24. Grafos = formas de implementación {con matriz de adyacencia, listas de adyacencia}
En problemas de disciplinas como la informática, las matemáticas, diversas ingenierías, etc… a menudo necesitamos representar relaciones (de distinto tipo) entre objetos. Estas relaciones podemos plasmarlas mediante el uso de una estructura de datos conocida como Grafo. A grandes rasgos un grafo es un conjunto de vértices y uno de aristas que conectan esos vértices. Existen grafos de distinto tipo en función de las características en las que nos fijemos:
• Dirigidos y no dirigidos.
• Etiquetados y no etiquetados (ponderados).
• Aleatorios ( las aristas están asociadas a una probabilidad ).
• Cíclicos y acíclicos.
Dos formas de implementacion de grafos es por medio del uso de matrices de adyacencia y listas de adyacencia.
---Los grafos son una de las bases mas importantes en el funcionamiento de las redes sociales. Tambien son utilizados en sistemas de informacion geografica. Para modelar trayectos y en muchos campos de estudio de matematicas e ingenierias.
.