Programación
- Conceptos Básicos
- Lenguajes de Diseño
- Lenguaje Base Datos
- Lenguajes Web
- Estándares Internacionales
- Familia HTML
- Familia XML
- Miscelaneos
- Scripts para Cliente
- Scripts para Servidor
- Lenguajes Genéricos
- Aplicaciones
Ruta: >Programación
Nombre | Descripcion | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 Conceptos matemáticos de programación | |||||||||||||||||||
1.1 Conjuntos | |||||||||||||||||||
1.1.1 Conjunto |
ConjuntoReunión de elementos. Si el conjunto es infinito no puede definirse por enumeración, ya que es infinito. Por ello debe definirse por extensión. Números naturales = (1, 2, 3, 4 ...) Colores = (Negro, Rojo ...) |
||||||||||||||||||
1.1.2 Constante |
ConstanteElemento de un conjunto. |
||||||||||||||||||
1.1.3 Variable |
VariableEs un 'almacen' donde que puede contener cualquier valor de un conjunto. En un programa, define una zona de memoria. |
||||||||||||||||||
1.1.4 Producto cartesiano |
Producto cartesianoTodos los pares ordenados posibles con los elementos de dos conjuntos. Ej: Teniendo un conjunto A y otro B, el producto cartesiano AxB =
|
||||||||||||||||||
1.1.5 Mapeo |
MapeoCorrespondencia entre dos conjuntos. Ejemplo: mapeo del conjunto cartesiano de los conjuntos A (A1, A2 y A3) y B (B1, B2 y B3) con el grupo N AxB -> N Los elementos del conjunto N = A1B1, A1B2 ... A3B3 |
||||||||||||||||||
1.2 Funciones | |||||||||||||||||||
1.2.1 Función |
FunciónCorrespondencia de un elemento de un conjunto (Dominio) a un único elemento de otro conjunto (imagen). f: A->B ó y = f(x) siendo x Î A, x Î B Ej: 3 + 5 = 8 Las funciones más importantes en informática son: crear, destruir, obtener propiedad de objeto y modificar propiedad de objeto. |
||||||||||||||||||
1.2.2 Función compuesta |
Función compuestaFunción compuesta de otras funciones (en secuencia, no de manera anidada). |
||||||||||||||||||
1.2.3 Grafo de una función |
Grafo de una funciónEs la representación gráfica de dicha función. |
||||||||||||||||||
1.3 Relación |
RelaciónRelación R entre A y B en R = (A,B,P(x,y)) Puede darse entre:
Haciendo un símil con el lenguaje escrito, mediante las conjunciones hacemos relaciones de composición en el lenguaje. Las relaciones pueden ser de:
|
||||||||||||||||||
1.4 Proposición |
Proposición'Frase que afirma algo'. Ej: Cervantes escribió el Quijote Añadiendo detrás si dicha proposición es verdadera o falsa obtenemos un predicado. |
||||||||||||||||||
1.5 Predicado |
PredicadoEs una proposición a la que se le añade si es verdera o falsa. Ej:'Cervantes escribió el Quijote' es verdadero |
||||||||||||||||||
1.6 Álgebra |
AlgebraSi sobre un conjunto definimos operaciones (o funciones) y ecuaciones tenemos un álgebra. Álgebra = elementos + operaciones (suma, resta...) + ecuaciones (reglas, propiedades o leyes) Álgebra de proposiciones:
|
||||||||||||||||||
1.7 Diagramas | |||||||||||||||||||
1.7.1 Organigramas |
OrganigramasSe usan para describir una secuencia de acciones. Hacen énfasis en decisiones y acciones. Usan símbolos básicos, de decisión, etc. |
||||||||||||||||||
1.7.2 Diagramas de estado |
Diagramas de estadoLos estados los definen atributos y las transiciones son definiciones por acciones. Hace énfasis en los estados. |
||||||||||||||||||
1.7.3 Árboles organizativos |
Árboles organizativosPonen de manifiesto las relaciones: de orden, etc. |
||||||||||||||||||
1.7.4 Diagramas PER |
Diagramas PERSon los que aparecen, por ejemplo, en las aplicaciones de diseño de proyectos. Ej: si en un proyecto de obra los albañiles deben haber terminado la estructura de la casa antes de que entren los fontaneros, debemos sincronizar a ambos para que los últimos no entren antes de que hayan concluido su trabajo los primeros. |
||||||||||||||||||
1.8 Grafos | |||||||||||||||||||
1.8.1 Grafos |
GrafosHan sido simplificados en gráficos. |
||||||||||||||||||
1.8.2 Ruta |
RutaCamino o ruta es la secuencia finita y no vacía de arcos. (Ej: ruta a un archivo). |
||||||||||||||||||
1.8.3 Nodo terminal |
Nodo terminalNodo que no tiene hijos. |
||||||||||||||||||
1.8.4 Grafo etiquetado |
Grafo etiquetadoUn grafo etiquetado finito (digrafo) etiquetado se define como la tupla G = <N,A,E,F>, donde:
|
||||||||||||||||||
1.8.5 Grafo dual |
Grafo dualAquel en el que pueden cambiarse arcos por nodos y viceversa sin que ocurra nada. |
||||||||||||||||||
1.8.6 Autómata finito |
Autómata finitoDefino estados y transiciones. El número de estados es finito. Son similares a los diagramas de estado. M sobre alfabeto A. M = (S,A,m,si,F), donde:
|
||||||||||||||||||
1.8.7 Redes de Petri | |||||||||||||||||||
1.8.7.1 Redes de Petri |
Redes de PetriEs una tupla que se compone de R = <P,T,e,s>, donde:
|
||||||||||||||||||
1.8.7.2 Marcaje de una Red de Petri |
Marcaje de una Red de Petri
El marcado de la red que se ve a la izquierda es: |
||||||||||||||||||
1.8.7.3 Red simple |
Red simpleTiene arcos de salida de lugares con valor 1 y de entrada con valor -1. |
||||||||||||||||||
1.8.7.4 Red no simple |
Red no simpleEn una red no simple, una transición está cargada cuando los lugares tengan al menos las marcas que indica su arco. |
||||||||||||||||||
1.8.7.5 Red dual |
Red dualDe manera equivalente a como ocurría con los grafos duales, una red dual es aquella en la cual los lugares pueden cambiarse por transiciones y viceversa. |
||||||||||||||||||
1.8.7.6 Red inversa |
Red inversaLa que se obtiene al cambiar el sentido de las flechas. |
||||||||||||||||||
1.8.7.7 Transición cargada |
Transición cargadaUna transición está cargada cuando todos los lugares de entrada tienen al menos una marca (al menos el valor absoluto del arco). |
||||||||||||||||||
1.8.7.8 Regla de disparo |
Regla de disparoSi la transición de T1 está cargada, la regla de disparo es: de los lugares de entrada les restamos tantas marcas como indica su arco de entrada, y a los lugares de salida les ponemos tantas marcas como indica su arco de salida. Veamos un ejemplo de red de Petri, y como evoluciona al ir realizando disparos consecutivos. M0 sería el estado inicial, y M2 el final (en el cual se produce un bloqueo).
|
||||||||||||||||||
1.8.7.9 Bloqueo |
BloqueoUn bloqueo supone que ya no se puede ejecutar otra transición en la red. Pueden ser buscados o no buscados. Ej: la inicialización de una aplicación es deseable que solo se ejecute una vez, así que tras la primera inicialización suele provocarse su bloqueo. Un bucle infinito también se considera un bloqueo. |
||||||||||||||||||
1.8.7.10 Obtener un diagrama de estado a partir de |
Obtener un diagrama de estado/transición a partir de una red de Petri
|
||||||||||||||||||
1.8.7.11 Concurrencia en Redes de Petri | |||||||||||||||||||
1.8.7.12 Concurrencia |
Concurrencia en Redes de PetriVeamos un ejemplo de red de Petri en secuencia:
A continuación veamos un ejemplo (que se lee de izquierda a derecha) de red donde existe concurrencia. Se dice que existe concurrencia porque podría dispararse tanto T1 como T2. Da igual el orden en el que se efectúa el disparo, porque el resultado final siempre será el mismo.
|
||||||||||||||||||
1.8.7.13 Ejemplo: Enviador-Receptor |
Ejemplo: Enviador-ReceptorLa red de Petri del ejemplo, modela el envío de un correo electrónico desde un emisor a un receptor. Este ejemplo nos permite ver los distintos estados y analizar si se bloqueará la comunicación. En el ejemplo se muestra un proceso Enviador, que envía mensajes (marca), a un proceso Receptor. Como la velocidad de operación de estos procesos puede ser distinta, se sincronizan a través de un proceso Buffer. Si las velocidades de disparo son distintas, el más rápido deberá esperar al más lento. Veamos el ejemplo para entenderlo mejor. A continuación podemos ver: El emisor, antes de enviar el correo, debe escribirlo. Por otra parte, el receptor, antes de leer un correo ha de recibirlo. Cada lugar puede almacenar, como máximo un token. Si el emisor escribiera y enviara correos más rápido de lo que el receptor puede recibirlos y leerlos el canal de comunicación se saturaría. Este diagrama no sería muy eficaz, ya que en el punto *1 puede desbordarse. Dichos lugares se llaman unbounded. Los lugares marcados como *2 no lo serían. Veamos ahora un ejemplo similar al anterior, pero en el que se ha incluido un servidor de correo.Para que el servidor acepte el correo procedente del emisor, debe tener el canal vacío, ya que si está lleno el emisor no puede enviarle otro. El emisor y el receptor trabajan en concurrencia. Sin embargo, el emisor y el servidor de correo trabajan en secuencia, y el receptor con el servidor de correo también. La sincronización impone una secuenciación. En esta red no hay lugares unbounded. En el siguiente ejemplo, tanto el canal ocupado como el vacío puede albergar, cada uno, tres tokens, en lugar de un token (como ocurría en los ejemplos anteriores). |
||||||||||||||||||
1.9 Lenguajes | |||||||||||||||||||
1.9.1 Tipos de lenguaje |
Tipos de lenguajeLos tipos de lenguajes más habituales son:
|
||||||||||||||||||
1.9.2 Alfabeto o vocabulario |
Alfabeto o vocabularioConjunto finito de símbolos usados en el lenguaje. |
||||||||||||||||||
1.9.3 Sentencia |
SentenciaCualquier cadena de longitud finita compuesta de símbolos de un alfabeto. |
||||||||||||||||||
1.9.4 Lenguaje |
LenguajeEs el conjunto de sentencias creadas a partir de un alfabeto. |
||||||||||||||||||
1.9.5 Metalenguaje |
MetalenguajeLenguaje utilizado para utilizar otro lenguaje. Ej: XML |
||||||||||||||||||
1.9.6 BNF |
BNFEs un metalenguaje, que se compone de:
Ej: <Oración> :: <Sujeto> <Verbo> <Complementos> Se leería: Una Oración se define como un Sujeto seguido de un Verbo y seguido de Complementos. |
||||||||||||||||||
1.9.7 Gramática |
GramáticaLa gramática, formulada matemáticamente sería: G = (Vn, Vt, P, S) Donde:
|
||||||||||||||||||
1.9.8 Scanner |
ScannerEs un programa que analiza el léxico (palabras). Reconoce los delimitadores. Ej: Lex de Unix. |
||||||||||||||||||
1.9.9 Parser |
Página generada automáticamente desde la Base de Datos: Tecnologias/ el 27/3/2008 18:50:23