miércoles, 11 de julio de 2018

PROGRAMACIÓN





DESARROLLO DE SOFTWARE






FECHA: 11- 07 -2018

CLASE: 5 Y 6

OBJETIVO: Manejar conceptos generales de algoritmos y lógica de Programación.



CUESTIONARIO INTRODUCCIÓN A LA ALGORITMIA Y LOGICA DE PROGRAMACIÓN



Preguntas básicas


  1. ¿Cuáles son los pasos en la construcción de un algoritmo?
  2. ¿Cuáles son los pasos en la construcción del algoritmo Metro-Casa?. Responda la pregunta aunque usted no use este sistema de transporte masivo de la ciudad.
  3. ¿Qué es un algoritmo? ¿Cuáles son las características que lo identifican?. Explique con sus propias palabras
  4. ¿Cuáles son los requisitos para poder dar solución a un problema por medio de un algoritmo?. Explique con sus propias palabras
  5. ¿Cuáles son los elementos con los que se construye un algoritmo?
  6. ¿Cuáles son las técnicas de diseño en la elaboración de un algoritmo?. De una breve explicación de cada una.
  7. ¿Cuáles son las técnicas de representación de un algoritmo?. Breve explicación de cada una.
  8. ¿Cuales son las fases de diseño para darle solución a un problema a través de un algoritmo?
  9. ¿En qué consiste el análisis de un problema?
  10. ¿En qué consiste el diseño de un problema?
  11. ¿Cuántos tipos de algoritmos existen?. De ejemplo de cada uno.
  12. ¿Qué es una prueba de escritorio?
  13. ¿Cuál es la jerarquía de representación de datos en un computador?
  14. ¿Cuáles son los distintos tipos de expresiones en un algoritmo. Y de cada uno enuncie cuantos hay?. Enuncie un ejemplo para cada una de ellas.

19-07-2018

Clase # 7 y 8

OBJ: Resolver Cuestionario  estructura Básica de un Algoritmo.

  
Taller # 2


CUESTIONARIO ESTRUCTURAS BÁSICAS DE UN ALGORITMO

Preguntas básicas

  1. ¿Cuál es la estructura básica de un algoritmo?
  2. ¿Que son los algoritmos secuenciales?. Enuncie varios ejemplos. Explique con sus propias palabras.
  3. ¿Cuáles son los elementos de una estructura secuencial de algoritmo?. Enúncielas cada uno, con un pequeño ejemplo.
  4. Explique brevemente con sus propias palabras los siguientes conceptos: Variables, Constantes, Operadores (todos). Contador, Acumulador
  5. ¿Cuáles son las estructuras lógicas necesarias para construir un algoritmo?
  6. ¿En qué consiste la estructura secuencia?
  7. ¿Cuál es la forma general de un algoritmo?
  8. ¿En qué consiste la instrucción de lectura?
  9. ¿En qué consiste la instrucción de escritura?
  10. ¿Qué es una estructura condicional?. ‘Cuáles son sus elementos? Explique con sus propias palabras
  11. ¿Cómo pueden ser las estructuras selectivas?, Explique brevemente y enuncie un ejercicio para cada una.
  12. ¿Cuáles son las estructuras repetitivas?
  13.  ¿Cuáles son sus elementos de cada una de las estructuras repetitivas?.


15-08-2018

Clase # 1 - 2

Objetivo: Conceptualizar  elementos básicos de algoritmos. 



TALLER # 1


INVESTIGAR:

1) ¿Que es un dato?
2) ¿Cuales son los tipos de datos? Explicarlos
3) ¿Que es un campo?
4) ¿Que es un área de trabajo?
5) ¿Que es un registro?
6)¿Que es un archivo?
7)¿Que es una memoria?
8)¿Que son identificadores?
9)¿Cual es la sintaxis para formar un identificador?
10)¿Que es una variable y cuales son sus características? 
11)¿Cuales son los tipos de variables?
12) ¿Que es una constante? 
13)¿Que son expresiones?
15)¿Como se clasifican las expresiones?
16)¿Que es un proceso?
17)¿Que es un diagrama? 
18) Elabora una sopa de letras con 20 palabras relacionadas con algoritmos. 


17-08-2018
Clase # 5


D. Software

Crossword

1 
2 
3 4 
5 
6 
7 
8 
9 
10 11 
12 13 
14 

Horizontales

1Valores que no cambian en el transcurso del programa
3Son los nombres que se le dan a los programas, constantes, subprogramas y otros.
5Permite almacenar un valor a una variable
6Valores que pueden cambiar o no en el transcurso de un programa
7Conjunto de campos relacionados
8Permite definir un arreglo
10Programa escrito en pseudocodigo
11permite ingresar información desde el ambiente
12conjunto de operaciones o cálculos que transforman los datos en información
14representación grafica para la definición, analisis y solucion de un problema.

Verticales

1secuencia de instrucciones ejecutadas por la instrucción Si-entonces-sino
2Representación simbólica de un atributo.
4son combinaciones de constantes, variables, símbolos etc.
9permite mostrar valores al ambiente
13área de trabajo que puede almacenar uno o varios datos.






01-10-2018
Clase: ?
Obj: Identificar la estructura de datos de un algoritmo.





ESTRUCTURAS DE DATOS DE UN ALGORITMO


Las estructuras de datos es una rama de las ciencias de la computación que estudia y aplica diferentes formas de organizar información dentro de una aplicación, para manipular, buscar e insertar estos datos de manera eficiente.
Las estructuras de datos se basan generalmente en la capacidad de un ordenador para recuperar y almacenar datos en cualquier lugar de su memoria.

Entre las diferentes estructuras de datos podemos encontrar las siguientes:

Arrays
Los arrays son una estructura que almacena los datos un elemento al lado del otro. En la mayoria de lenguajes de programación esta estructura de datos es de tamaño fijo y no puede guardar datos de diferentes tipos, es decir no puedo guardar valores numericos y booleanos al mismo tiempo, aunque claramente hay excepciones, por ejemplo: Javascript.
Es recomendable usar arrays cuando el acceso a estos datos se realizan de manera aleatoria, en caso contrario es recomendable usar las listas.

Listas enlazadas

Las listas enlazadas son un tipo de estructura de datos similar a los arrays con la diferencia de que por defecto no tenemos por qué saber la cantidad de elementos que va a contener. Estas listas se componen de nodos los cuales tienen dos atributos: el primero es el item o elemento que va a contener este nodo y el segundo atributo es una referencia al siguiente elemento de la lista.

Pilas

Las pilas son un tipo de listas que tienen la particularidad de sólo poder eliminar o insertar en la cima de la lista. A estas acciones se le conocen como apilar y desapilar y conlleva a que el último elemento que ingresa a la pila sea el primero en salir a lo cual se le conoce como LIFO (Last in First out).

Colas

Esta estructura es otro tipo de lista que nos permite emular el comportamiento de una fila o cola de la vida real donde el primer elemento en ingresar a la fila es el primero en salir, lo que quiere decir que las inserciones (Encolar) se realizan al final y las extracciones (Desencolar) se realizan al frente de la cola, lo cual se conoce como FIFO (First in First out).

Arboles binarios

Los arboles binarios son estructuras de datos que se componen de una nueva clase de nodo donde cada uno contiene un ítem o un valor, una referencia a un nodo que será el hijo izquierdo y otra referencia para el nodo derecho, una característica esencial de los arboles binarios es que la inserción de sus elementos se realizan siguiendo un criterio, si el ítem del nodo a insertar es menor a su nodo padre, la inserción se realiza por la izquierda y en caso contrario la inserción se realiza por el lado derecho y como consecuencia de esto nuestro árbol siempre estará organizado de tal manera que los hijos izquierdos de cada nodo serán menores a el y los derechos serán mayores, lo cual nos permite realizar búsquedas muy eficientes debido a la organización de esta información donde para buscar un elemento solo es necesario ir comparando el valor a buscar con el valor del nodo actual y así tomar la decisión si ir por la izquierda o por la derecha, ahorrándonos las búsquedas por el otro lado del árbol.
¿POR QUE SON ÚTILES?

Las estructuras de datos nos permiten resolver un problema de manera más sencilla gracias a que las reglas que las rigen nunca cambian, así que puedes asumir que ciertas cosas son siempre ciertas. Adicionalmente son dinámicas, si usas lenguajes de programación como Java, sabrás que necesitas definir el tamaño de los arrays antes de ser usados. Usando una estructura de datos, puedes hacer “un array” de tamaño indeterminado.

¿POR QUE SON IMPORTANTES LAS ESTRUCTURAS DE DATOS?

Son herramientas que podemos usar para resolver problemas complejos, manteniendo nuestro código relativamente sencillo, y probablemente también hagan nuestro código más rápido, pero hay que entenderlas a fondo para saber cuándo debemos usar una u  Otra.


TIPOS DE ESTRUCTURAS DE DATOS

Existen numerosos tipos de estructuras de datos, generalmente construidas sobre otras más simples:
·         Un vector es una serie de elementos en un orden específico, por lo general todos del mismo tipo (si bien los elementos pueden ser de casi cualquier tipo). Se accede a los elementos utilizando un entero como índice para especificar el elemento que se requiere. Las implementaciones típicas asignan palabras de memoria contiguas a los elementos de los arreglos (aunque no siempre es el caso). Los arreglos pueden cambiar de tamaño o tener una longitud fija.
·         Un vector asociativo (también llamado diccionario mapa ) es una variante más flexible que una matriz, en la que se puede añadir y eliminar libremente pares nombre-valor. Una tabla de hash es una implementación usual de un arreglo asociativo.
·         Un registro (también llamado tupla o estructura) es una estructura de datos agregados. Un registro es un valor que contiene otros valores, típicamente en un número fijo y la secuencia y por lo general un índice por nombres. Los elementos de los registros generalmente son llamados campos.
·         Una unión es una estructura de datos que especifica cuál de una serie de tipos de datos permitidos podrá ser almacenada en sus instancias, por ejemplo flotante o entero largo. En contraste con un registro, que se podría definir para contener un flotante y un entero largo, en una unión, sólo hay un valor a la vez. Se asigna suficiente espacio para contener el tipo de datos de cualquiera de los miembros.
·         Un tipo variante (también llamado registro variante o unión discriminada) contiene un campo adicional que indica su tipo actual.
·         Un conjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin orden particular y sin valores duplicados.
·         Un Multiconjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin orden particular. A diferencia de los conjuntos, los multicunjuntos admiten repeticiones.
·         Un grafo es una estructura de datos conectada compuesta por nodos. Cada nodo contiene un valor y una o más referencias a otros nodos. Los grafos pueden utilizarse para representar redes, dado que los nodos pueden referenciarse entre ellos. Las conexiones entre nodos pueden tener dirección, es decir un nodo de partida y uno de llegada.
·         Un árbol es un caso particular de grafo dirigido en el que no se admiten ciclos y existe un camino desde un nodo llamado raíz hasta cada uno de los otros nodos. Una colección de árboles es llamada un bosque.
·         Una clase es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan como representación abstracta de conceptos, incluyen campos como los registros y operaciones que pueden consultar el valor de los campos o cambiar sus valores.

SOPORTE EN LOS LENGUAJES

La mayoría de los lenguajes ensambladores y algunos lenguajes de bajo nivel, tales como BCPL, carecen de soporte de estructuras de datos. En cambio, muchos lenguajes de alto nivel y algunos lenguajes ensambladores de alto nivel, tales como MASM, tienen algún tipo de soporte incorporado para ciertas estructuras de datos, tales como los registros y arreglos. Por ejemplo, los lenguajes C y Pascal soportan estructuras y registros, respectivamente, además de arreglos y matrices multidimensionales.12​ La mayoría de los lenguajes de programación disponen de algún tipo de biblioteca o mecanismo que permita el uso de estructuras de datos en los programas. Los lenguajes modernos por lo general vienen con bibliotecas estándar que implementan las estructuras de datos más comunes. Ejemplos de ello son la biblioteca Standard Template Library de C++, las colecciones de Java3​ y las librerías .NET de Microsoft.




Taller 
Estructura de Datos 


 De acuerdo al texto resuelve en el cuaderno.

1) Elabora 15 preguntas de selección múltiple con 4 opciones de respuesta 

2) Realiza un cuadro de relaciones (apareamiento) con los tipos de estructura de datos.

3) Consulta:

  1. ¿Cual es la diferencia entre un dato y una información?
  2. ¿Qué es un arreglo?. Cuáles son sus elementos?
  3. ¿Cómo pueden ser los distintos tipos de arreglos?.
  4. ¿Cuáles son las características de un arreglo unidimensional? ¿Cómo se puede representar?










PROGRAMACIÓN

DESARROLLO DE SOFTWARE PSEINT FECHA: 11- 07 -2018 CLASE: 5 Y 6 OBJETIVO: Manejar conceptos generales de a...