Un puntero o apuntador es una variable que hace referencia a una region de memoria,es una variable cuyo valor es una direccion de memoria. Si se tiene una variable 'p' de puntero que contiene una direccion de memoria que se encuentra en el valor 'v' asi que se dice qe 'p' apunta en 'v'. Son utiizados por programadores.
A trabajar con punteros implica la NO manipulacion de variables, si no manejar direcciones de memoria.
Un apuntador sin una variable almacenada
Un apuntador ya con una variable.
Un ejemplo de una direccion de memora con una variable llamda alm que es = a 45.
y la pantalla negra imprime:
Espero que le sirva:)
viernes, 12 de noviembre de 2010
MAQUINAS TURING
Es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando una salida de la misma.
HISTORIA
Este concepto fue introducido por Alan Turing, en el cual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticas son decibles, osea si hay un método definido que se pueda aplicarse a cualquier sentencia matemática y nos diga si es cierta o no. Turing ideo un modelo formal de computador, la maquina de Turing y demostró que existian problemas que una maquina no podía resolver.FUNCIONAMIENTO
Este modelo esta conformado por un alfabeto de entrada y uno de salida, un símbolo especial llamada blanco, normalmente b, Δ), un conjunto de estados finitos y un conjunto de transiciones entre dichos estados.
Su funcionamiento se basa en la función de transición que recibe un estado inicial y una cadena de caracteres pertenecientes al alfabeto de entrada, luego va leyendo una celda de la cinta, borrando el símbolo, y escribir el nuevo símbolo perteneciente al alfabeto de salida y finalmente avanza a la izquierda o a la derecha, repitiendo lo que indique la función transición.
Una maquina turing con una sola cinta puede ser definida como 7-tupla
donde:
es un conjunto finito de estados.
es un conjunto finito de símbolos distinto del espacio en blanco, denominado alfabeto de máquina o de entrada.
es un conjunto finito de símbolos de cinta, denominado alfabeto de cinta. (
)
es el estado inicial.
es un símbolo denominado blanco, y es el único símbolo que se puede repetir un número infinito de veces.
es el conjunto de estados finales de aceptación.
es una función parcial denominada función de transición, donde es un movimiento a la izquierda y es el movimiento a la derecha.
Aquí les dejo un vídeo acerca de la historia de las maquinas turing y Alan turing
Espero que les sirve:)
LISTAS
Es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras. Es una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o 2 referencias (punteros) al nodo posterior o anterior.
El principal beneficio de las listas es que el orden de los elementos puede ser diferente al orden de almacenamiento en la memoria, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
TIPOS DE LISTAS
Centinela: Falso nodo, su objetivo es agilizar algunas operaciones que cualquier nodo tiene otro anterior o posterior y que la fila siempre tenga un primer y ultimo nodo.
LISTAS V.S ARREGLOS
Espero que le sirva:)
El principal beneficio de las listas es que el orden de los elementos puede ser diferente al orden de almacenamiento en la memoria, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
TIPOS DE LISTAS
- Listas simples enlazadas
- Lista doblemente enlazada
- Listas enlazadas circulares simples
- Lista doblemente circular
Centinela: Falso nodo, su objetivo es agilizar algunas operaciones que cualquier nodo tiene otro anterior o posterior y que la fila siempre tenga un primer y ultimo nodo.
LISTAS V.S ARREGLOS
- los elementos de una lista se pueden insertar indefinidamente, mientras que el arreglo se llenara.
- las listas en algunos casos puede lograr ahorros de memoria almacenada, osea la lista acaba con la misma secuencia de enteros.
- los arreglos permiten acceso aleatorio, mientras que la lista solo permite acceso secuencial de elementos.
Espero que le sirva:)
ARREGLOS
En programacion, una matriz o arreglo es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo.
Una matriz es un conjunto de elementos ordenados en filas (unidimensional) o filas y columnas (multidimensional).
Estas estructuras de datos son adecuadas para programas en las que el acceso a los datos se realice de forma aleatoria en cambio si es de modo ordenado se recomiendo utilizar una lista.
Todo arreglo se compone de un numero "x" de elementos. Cada elemento es referido por la posición que ocupa dentro del arreglo.
Hay 3 formas de agregar elementos en un arreglo:
Arreglo dinámico: el arreglo puede tener una "x" cantidad de variables de datos.
Arreglo estático: el arreglo con una cantidad fija de memoria.
Existen 2 tipos de arreglos:
MULTIDIMENSIONALES
En pocas palabras se podría decir que es un arreglo de arreglos
UNIDIMENSIONAL
Como su nombre lo dice de un solo arreglo
Espero que les sirva:).
Una matriz es un conjunto de elementos ordenados en filas (unidimensional) o filas y columnas (multidimensional).
Estas estructuras de datos son adecuadas para programas en las que el acceso a los datos se realice de forma aleatoria en cambio si es de modo ordenado se recomiendo utilizar una lista.
Todo arreglo se compone de un numero "x" de elementos. Cada elemento es referido por la posición que ocupa dentro del arreglo.
Hay 3 formas de agregar elementos en un arreglo:
- Indexacion base-(0): el elemento que ocupa este lugar tendrá indice 0, si el arreglo contiene "x" elementos el ultimo elementos sera (x-1).
- Indexacion base-(1): el primer elemento del arreglo sera indice 1 y el ultimo sera x.
- Indexacion base-n: el indice del primer elemento puede ser elegido libremente.
Arreglo dinámico: el arreglo puede tener una "x" cantidad de variables de datos.
Arreglo estático: el arreglo con una cantidad fija de memoria.
Existen 2 tipos de arreglos:
- Multidimensionales
- Unidimensionales
MULTIDIMENSIONALES
En pocas palabras se podría decir que es un arreglo de arreglos
UNIDIMENSIONAL
Como su nombre lo dice de un solo arreglo
Espero que les sirva:).
ABSTRACCION DE DATOS
Consiste en ocultar las características de un objeto de modo que nuestro programa, nomas utilizaremos el nombre del objeto.
Por ejemplo si estamos hablando acerca de las "estufas", pues no tengo que mencionar que es una estufa, como funciona, para que sirve, etc, etc, solamente menciono "estufa" y automaticamente sabrás acerca de lo que hablo, esto se le llama abstracción. Y hablando acerca de la abstracción en programacion pues se refiere que tu en tu programa solo vas a declarar por separado en el programa y cuando lo necesites de nuevo no tienes que poner todo lo que incluye si no simplemente el termino abstracto.
Encapsulamiento: como su nombre lo dice encapsula o guarda las características de un objeto.
Hay 2 tipo de abstracción:
1)Abstracción Funcional.
2)Abstracción de datos. (LO QUE VEREMOS).
-Tipos de datos: lenguajes de alto nivel, su presentación es invisible, solo se ve las operaciones predefinidas.
-Tipos definidos: posibilita la definición de valores de datos mas cercanos al problema.
-TDA: definición y representacion de tipo de datos. (valores mas operaciones).
Hay 3 niveles es los que se determina la abstracción:
MODELOS DE DATOS
Son una serie de herramientas en modo de esquema que describen los datos y las relaciones entre ellos. Son 3 tipos:
Espero que le sirva:).
Por ejemplo si estamos hablando acerca de las "estufas", pues no tengo que mencionar que es una estufa, como funciona, para que sirve, etc, etc, solamente menciono "estufa" y automaticamente sabrás acerca de lo que hablo, esto se le llama abstracción. Y hablando acerca de la abstracción en programacion pues se refiere que tu en tu programa solo vas a declarar por separado en el programa y cuando lo necesites de nuevo no tienes que poner todo lo que incluye si no simplemente el termino abstracto.
Encapsulamiento: como su nombre lo dice encapsula o guarda las características de un objeto.
Hay 2 tipo de abstracción:
1)Abstracción Funcional.
2)Abstracción de datos. (LO QUE VEREMOS).
- Abstracción funcional
- Abstracción de datos
-Tipos de datos: lenguajes de alto nivel, su presentación es invisible, solo se ve las operaciones predefinidas.
-Tipos definidos: posibilita la definición de valores de datos mas cercanos al problema.
-TDA: definición y representacion de tipo de datos. (valores mas operaciones).
Hay 3 niveles es los que se determina la abstracción:
- Nivel físico: Determina como están almacenados físicamente y representa el nivel mas bajo.
- Nivel lógico: Determina la organizacion de los archivos.
- Nivel de Vistas: oculta información a lo usuarios solo le es visible parte de la base de datos.
MODELOS DE DATOS
Son una serie de herramientas en modo de esquema que describen los datos y las relaciones entre ellos. Son 3 tipos:
- Modelo de RED:
- Modelo Jerárquico
- Modelo Racional
Espero que le sirva:).
miércoles, 10 de noviembre de 2010
PROBLEMA LOGICO
En una cafeteria acaban de contratar a un supervisor, y al llegar el en su primer dia no se acordaba de las 3 comidas (Milanesa, Flauta, Tacos) que el esta a cargo, ni quien las cocinara (Sergio, Ruben, Carlos) ni que dias (Martes, Jueves, Viernes) les toca.
El solo recuerda que:
1) Las flautas son cocinadas por Ruben, y es despues a la Milanesa.
2)Sergio no trabaja los Martes dia en el que no se come Milanesa.
Encuentra que dia le toca cocinar a cada quien.
Tenemos que son 3 cocineros, 3 dias y 3 comidas. Para ayudar a resolver este problema podemos utilizar una tabla en la que se ponen los 3 cocineros y los dias verticalemente y horizontalmente las comidas y los dias para facilitarnos.
En tabla utilize los valores V= si y F=no.
Aqui lo que representa es que las flautas son cocinadas por Ruben y que sergio no va los martes, que los martes no se cocina Milanes.
Luego sabemos que la Milanesa se cocina primero que las flautas, entonces arriba dijimos que la milanesa no se cocina los martes, y los unicos dias que quedan son jueves y viernes, pero la milanesa va primero asi que la milanesa es cocinada el jueves y las flautas el viernes.
Sabemos que las flautas son cocinadas por Ruben los viernes, y que Sergio no va los martes a trabajar, asi que el dia que queda son los jueves, entonces sergio va a cocinar Milanesa los jueves.
Podemos concluir que la comida que sobra son lo tacos, el cocinero que sobra es Carlos y el dia que sobra son los martes.
Y ya sabemos que cocinero cocinara y en que dia le toca:
Carlos cocinara Tacos los Martes.
Sergio cocinara Milanesa los Jueves.
Ruben cocinara Flautas los Viernes.
El solo recuerda que:
1) Las flautas son cocinadas por Ruben, y es despues a la Milanesa.
2)Sergio no trabaja los Martes dia en el que no se come Milanesa.
Encuentra que dia le toca cocinar a cada quien.
Tenemos que son 3 cocineros, 3 dias y 3 comidas. Para ayudar a resolver este problema podemos utilizar una tabla en la que se ponen los 3 cocineros y los dias verticalemente y horizontalmente las comidas y los dias para facilitarnos.
En tabla utilize los valores V= si y F=no.
Aqui lo que representa es que las flautas son cocinadas por Ruben y que sergio no va los martes, que los martes no se cocina Milanes.
Luego sabemos que la Milanesa se cocina primero que las flautas, entonces arriba dijimos que la milanesa no se cocina los martes, y los unicos dias que quedan son jueves y viernes, pero la milanesa va primero asi que la milanesa es cocinada el jueves y las flautas el viernes.
Sabemos que las flautas son cocinadas por Ruben los viernes, y que Sergio no va los martes a trabajar, asi que el dia que queda son los jueves, entonces sergio va a cocinar Milanesa los jueves.
Podemos concluir que la comida que sobra son lo tacos, el cocinero que sobra es Carlos y el dia que sobra son los martes.
Y ya sabemos que cocinero cocinara y en que dia le toca:
Carlos cocinara Tacos los Martes.
Sergio cocinara Milanesa los Jueves.
Ruben cocinara Flautas los Viernes.
MODELADO UML
Lenguaje Unificado de Modelado o Unified Modeling Lenguage, es el lenguaje de modelado de sistemas de software mas conocido en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir, y documentar un sistema.
UML no puede compararse con la programacion estructurada, ya que UML no es programacion, solo se diagrama la realidad de una utilizacion en un requerimiento.
UML cuenta con varios tipos de diagramas, en el UML 2.0 hay 13 tipos de diagramas, en esta imagen los organiza jerarquicamente.
-DIAGRAMAS DE ESTRUCTURA
Enfatizan en los elementos que deben existir.
También se encuentran los Diagramas: de estructura, compuesta, despliegue y de paquetes.
-DIAGRAMAS DE COMPORTAMIENTO
Enfatizan en lo que debe suceder en el sistema modelado.
Son subtipos de diagramas de comportamiento que enfatiza el flujo de control y de datos entre los sistemas.
También se encuentran los diagramas: tiempos, global de interacciones.
Espero que les sirva:)
UML no puede compararse con la programacion estructurada, ya que UML no es programacion, solo se diagrama la realidad de una utilizacion en un requerimiento.
UML cuenta con varios tipos de diagramas, en el UML 2.0 hay 13 tipos de diagramas, en esta imagen los organiza jerarquicamente.
-DIAGRAMAS DE ESTRUCTURA
Enfatizan en los elementos que deben existir.
- Diagrama de clases
- Diagrama de componentes
- Diagramas de objetos
También se encuentran los Diagramas: de estructura, compuesta, despliegue y de paquetes.
-DIAGRAMAS DE COMPORTAMIENTO
Enfatizan en lo que debe suceder en el sistema modelado.
- Diagrama de Actividades
- Diagrama de estados
- Diagrama casos de uso
Son subtipos de diagramas de comportamiento que enfatiza el flujo de control y de datos entre los sistemas.
- Diagrama de secuencia
- Diagrama de comunicacion
También se encuentran los diagramas: tiempos, global de interacciones.
Espero que les sirva:)
Suscribirse a:
Entradas (Atom)

















