Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
Tipos de Relaciones...............................................................................................3
Funciones..................................................................................................................5
Paradigma imperativo................................................................................................7
Asignacin..............................................................................................................7
Tipos de estructuras de control..............................................................................7
Saltos(goto)............................................................................................................8
Secuencia...............................................................................................................8
Bifurcacin..............................................................................................................8
Iteracin..................................................................................................................9
Subrutinas:.............................................................................................................9
P. Estructurada.........................................................................................................10
Ventajas:...............................................................................................................10
Desventajas:.........................................................................................................10
P. Orientada a Objetos.............................................................................................12
Caractersticas:....................................................................................................12
Procesamiento en paralelo......................................................................................14
Ejemplo del procesamiento en paralelo:..............................................................14
Paradigmas declarativos.........................................................................................16
Programacin Lgica...............................................................................................17
Historia de la programacin lgica.......................................................................17
Programacin lgica............................................................................................18
Fundamentos de la programacin lgica.............................................................19
Caractersticas de la programacin lgica...........................................................20
Lenguajes de programacin lgica......................................................................20
Campos de aplicacin..........................................................................................21
Programacin Funcional..........................................................................................22
Conceptos............................................................................................................23
Relaciones
Ejemplo 1.
Solucin
A x B = {(2, 1), (2, 4), (2, 5), (3, 1), (3, 4), (3, 5)}
La relacin R2 est formada por los pares cuyo primer componente es menor que
el segundo componente, R2 = {( x , y ) / x < y }
Y la relacin R3 est conformada por todos los pares que cumplen con que el
segundo componente es dos unidades mayor que el primer componente, dicho de
otro modo, R3 = {( x , y ) / y = x + 2}
Tipos de Relaciones
Se dice que R es simtrica si cada vez que un par (a, b) R, entonces el par (b,
a) R tambin (dicho de otra manera, a, b A, a R b b R a).
Ejemplo: R = {(1,1), (1,3), (2,2), (2,4), (3,1), (4,2), (4,4)}
Ejemplo: R={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4),(1,1),(2,2),(3,3),(4,4)}
Los pares (n, n) no pueden estar, por definicin. Las relaciones asimtricas son
antirreflexivas
A modo de ejemplo, cul sera la regla que relaciona los nmeros de la derecha
1 --------> 1
2 --------> 4
3 --------> 9
4 --------> 16
2 --------> 4
3 --------> 9
4 --------> 16
x --------> x 2 .
Para referirse a esta regla podemos usar un nombre, que por lo general es la
x --------> x 2 o f(x) = x 2 .
Las variables son celdas de memoria que contienen datos, pueden ser
modificadas, y representan el estado del programa.
Asignacin
Expresiones
Valores literales
Funciones predefinidas
operadores
Salto
Secuencia
Bifurcacin
Iteracin
Invocacin
Saltos(goto)
Tipos de saltos:
Secuencia
Bifurcacin.
Iteracin
Salida al final(repeat)
Subrutinas:
poder reutilizarlo
P. Estructurada
la metodologa de programacin estructurada se fundamenta en tcnicas de
segmentacin, la cual plantea que un problema se puede dividir en problemas ms
pequeos(mdulos) y ms simples de resolver, de tal forma que la suma de las
soluciones de cada problema sea el resultado de la solucin total de este.
Ventajas:
Los programas son ms fciles de leer.
Diseo modular.
Desventajas:
Se obtiene un nico bloque del programa que cuando se hace demasiado
grande puede ser problemtico para el manejo del cdigo fuente
Secuencial
Selectiva
Repetitivas
Estructuras Repetitivas: Estas estructuras lgicas son utilizadas para que repitan
la ejecucin de un conjunto de instrucciones mientras se cumple una cierta
condicin. Generalmente se les conoce como DO-WHILE (hacer mientras). Estas
estructuras a su vez se encuentran clasificadas en tres tipos, las cuales son
explicadas a continuacin.
Se puede pensar en una clase como un tipo, aunque algunos lenguajes hacen una
distincin, y utilizan los tipos para datos y las clases para definiciones de objetos.
Nosotros definiremos una clase como una coleccin de objetos que comparte los
mismos atributos; donde un atributo es el tipo de un miembro de datos o un
mtodo para manipular esos datos. Un atributo de un objeto puede ser otro objeto,
as como tambin datos, o un mtodo.
Caractersticas:
Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando
una jerarqua de clasificacin. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia organiza y
facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos preexistentes. Estos
pueden compartir (y extender) su comportamiento sin tener que volver a
implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases
y estas en rboles o enrejados que reflejan un comportamiento comn. Cuando un
objeto hereda de ms de una clase se dice que hay herencia mltiple.
Procesamiento en paralelo
Las tareas deben estar estructurados de tal manera que puedan ser
ejecutadas al mismo tiempo.
No obstante, hasta la primera mitad de los sesenta, con los trabajos de Kowalski y
el primer PROLOG de Colmerauer cuando nace la Programacin Lgica como
rama de la demostracin automtica con personalidad propia.
Programacin lgica
Ej.:
Mortal (x): - humano(x)
x es mortal si x es humano
Ej.:
Unificacin de trminos
Campos de aplicacin
Inteligencia artificial
Sistemas de informacin
Programacin Funcional
Uno de los lenguajes que son puramente funcionales es Haskell. Este lenguaje de
programacin se presta muy bien para la programacin concurrente. La
concurrencia, no es ms que la propiedad de los sistemas de cmputo que
pueden realizar procesos de manera simultnea y a la vez, interactuar entre ellos.
Y no se debe confundir el paralelismo con la concurrencia, puesto que, el
paralelismo consiste en separar una tarea en varias partes ms pequeas que
posteriormente se ejecutarn concurrentemente para terminarla ms rpido.
Conceptos
Side effect
A side effect refers simply to the modification of some kind of state - for instance:
Tipado esttico:
El tipado esttico nos obliga a definir desde el principio el tipo de una variable,
ejemplos de lenguajes con tipado esttico son C, C++, Pascal, Java, Objetive-C,
C#, entre otros. Ntese que C# est incluido, aunque exista la palabra clave var,
la cual nos permite ahorrarnos un poquito de cdigo, pero una vez que el
compilador define el tipo este ya no puede cambiarse.
Puede ser difcil detectar errores: Se deben recorrer todos los posibles
caminos de ejecucin
Estado intermedio: