05. poo csharp-07

Download 05. poo csharp-07

Post on 26-Jul-2015

159 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<p> 1. Programacin Orientada a Objetos en C# Aprubala YA!!! Edicin 200804 Programacin Orientada a Objetos en C#: Aprubala YA!!! Be free I'm free, I use Linux Close your Windows, open your mind!!! Editorial Mi-K-sita 7 Edicin (en espaol) Ejemplares impresos: 1 Derechos reservados Queda totalmente aprobada cualquier copia parcial o completa de la presente gua, an sin el consentimiento de su autor. Copyleft 2008 by Fausto Iocchi Programacin Orientada a Objetos en: Aprubala YA!!! 2. Programacin Orientada a Objetos en C# Aprubala YA!!! Introduccin Edicin 200804 2 Introduccin La presente gua no es ms que eso: una gua para el seguimiento de la materia Programacin Orientada a Objetos, en donde se pretende llevarlo de la mano por un recorrido bsico de la materia (recuerde adems de que el profesor es un facilitador, mostrndole el camino que usted, como participante, debe seguir lo dems lo debe hacer usted mismo), no coartando con esto que usted lea otros textos acerca del mismo es ms, se le invita a que lo haga. Se sobreentender ac que ya usted cuenta con los conocimientos tericos de la materia: conceptos tan bsicos como el Juicio, el Pensamiento, el Pensar, Silogismos, etc., conceptos estos que si bien se los sabe al caletre vendra bien si intentase, en su tiempo libre, tratar de entenderlos y cavilar al respecto. Quiz piense que para esta materia no es indispensable estos conocimientos, pero quin sabe? En los dos primeros captulos de esta gua estaremos repasando los conceptos bsicos de la Lgica Formal, como por ejemplo las operaciones de las que dispone la lgica proposicional y las tablas de verdad. Esto se hace ya que la lgica proposicional es la ms antigua y simple de las formas de lgica. Utilizando una representacin primitiva del lenguaje, permite representar y manipular aserciones sobre el mundo que nos rodea. La lgica proposicional permite el razonamiento, a travs de un mecanismo que primero evala sentencias simples y luego sentencias complejas, formadas mediante el uso de conectivos proposicionales, como por ejemplo "Y" y "O". Este mecanismo determina la veracidad de una sentencia compleja, analizando los valores de veracidad asignados a las sentencias simples que la conforman. El tema de los algoritmos (crucial para esta materia), aunque no se tocar en esta gua, es importante que se domine, ya que esta es una de las bases fundamentales para la elaboracin de programas de computadoras se sobreentender que ya usted posee cierto nivel de pericia en cuanto a este tema, por lo que el profesor podr, en algn momento, evalurselo. Los siguientes captulos contienen informacin primero, terica, tocando toda la parte de la historia de la computacin, conceptos bsicos de los sistemas operativos, etc. Posteriormente, se ir introduciendo al mundo de la programacin orientada a objetos (POO). En la presente gua se tomar el lenguaje C# para ejemplificar y explicar los conceptos de la POO, sin decir esto que dichos conceptos no puedan ser aplicados en otros lenguajes que cumplan con los requerimientos de la POO recuerde que este es una asignatura en la cual usted aprender los conceptos de la POO y su aplicacin, ms no es un curso de programacin. El ltimo captulo tiene una serie de ejercicios propuestos. Si usted dispone del tiempo necesario, renase en grupo, a ser posible (o incluso en la soledad de su habitacin) y resulvalos, para que de esta manera ir obteniendo la pericia necesaria para poder aprobar esta materia. Ac se sobreentender que ya usted cuenta con un lenguaje de programacin denominado Microsoft Visual Studio .NET 2003 (como mnimo), instalado en el computador en el cual realizar los ejemplos y prcticas recomendadas en esta gua. En caso de no contar con esto, se le recomienda su adquisicin e instalacin a la brevedad posible, ya que sin l no podr hacerle seguimiento a los diversos ejercicios ac explicados. Espero que la presente le sirva de ayuda xitos. 3. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad I: Lgica Proposicional Edicin 200804 3 Unidad I Objetivo: Previo repaso y lectura acerca de la Lgica Proposicional, el participante conformar una estructura terica y prctica que le permita la comprensin de esta misma, as como del razonamiento lgico. Contenido: 1. Lgica Proposicional 1.1. Simbolizacin de proposiciones 1.2. El Clculo Proposicional como un Sistema Axiomtico 1.2.1. Signos primitivos 1.2.2. Reglas Formativas 1.2.3. Signos Definidos 1.2.4. Razonamiento Lgico Actividades del participante: Realizar lectura previa sobre el tema, utilizando la presente gua y otros medios bibliogrficos. Interactuar en clase. Discutir en grupo. Realizar las actividades propuestas en clase. Evaluacin multidireccional: Evaluacin formativa: a travs de las discusiones de los conocimientos e intervenciones en clase. Evaluacin sumativa: a travs de un examen prctico y/o parcial. Lgica Proposicional 1. Lgica Proposicional Como ya se debe saber, la Lgica Proposicional es la ms antigua y simple de las formas de lgica. Utilizando una representacin primitiva del lenguaje, permite representar y manipular aserciones sobre el mundo que nos rodea. La lgica proposicional permite el razonamiento, a travs de un mecanismo que primero evala sentencias simples y luego sentencias complejas, formadas mediante el uso de conectivos proposicionales, por ejemplo "Y" y "O". Este mecanismo determina la veracidad de una sentencia compleja, analizando los valores de veracidad asignados a las sentencias simples que la conforman. La lgica proposicional pretende estudiar las frases declarativas simples (enunciados o proposiciones) que son los elementos bsicos de transmisin de conocimiento humano. 1.1.Simbolizacin de proposiciones Cada proposicin tiene una forma lgica a la cual se le da un nombre. Se distinguen dos tipos de proposiciones: simples y compuestas. Una proposicin se denomina simple cuando en ella no interviene ninguna conectiva lgica o trmino de enlace (y, o, no, si...entonces..., si y slo si). Si se juntan una o varias proposiciones simples con un trmino de enlace, se forma una proposicin compuesta. Los trminos de enlace, "y", "o", "si... entonces...", "si y slo si" se usan para unir dos proposiciones. En cambio el trmino de enlace "no" se agrega a una sola proposicin. Por ejemplo: Hoy es jueves Hay clases de matemticas Ambas proposiciones son simples. Con estas proposiciones se pueden construir proposiciones compuestas tales como: 4. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad I: Lgica Proposicional Edicin 200804 4 Hoy es jueves y hay clases de matemticas Hoy es jueves o hay clases de matemticas Si hoy es jueves entonces hay clases de matemticas Hoy no es jueves Para representar las proposiciones se utilizan letra latinas maysculas tales como P, Q, R, etc. Por ejemplo, sea: P: Hoy es jueves Q: Hay clase de matemticas Luego la proposicin: Hoy es jueves y hay clase de matemticas se podra simbolizar as: P y Q En el lenguaje corriente se utiliza tambin la palabra "pero" o una "," en vez del trmino de enlace "y". Ejemplo: Fui a la feria, pero no hice compra alguna Ins est enferma, el martes ir a visitarla En el siguiente ejemplo se usa el trmino de enlace "o": Es tarde o est muy oscuro Otro giro de "o" es: O es tarde o est muy oscuro En este ltimo caso las dos "o" son parte del mismo trmino de enlace. Cuando se usa el trmino de enlace: si,...entonces.... se obtiene la siguiente forma: Si R entonces S Ejemplo: Si madrugo entonces llego temprano En este ejemplo puede suprimirse la palabra "entonces" y reemplazarse por una "," as: Si madrugo, llego temprano Cuando la palabra "no" se encuentra en el interior de una proposicin simple, puede pasar inadvertida, pero se trata de una proposicin compuesta. Ejemplo: El da no est caluroso Puede presentarse como: No ocurre que el da est caluroso Tambin se usan smbolos para representar los trminos de enlace, as: Para la "y" se utiliza el smbolo (^). Para la "o" se utiliza el smbolo (v). Para el "no" se utiliza el smbolo (). Para el "si,entonces" se utiliza el smbolo ( ). Para el "si y slo si" se utiliza el smbolo ( ). Cuando una proposicin compuesta utiliza el trmino de enlace "y" es una conjuncin. Si el enlace se hace mediante la conectiva "o" es una disyuncin. Si se usa el trmino "no" es una negacin. Cuando la conectiva es "si...entonces..." es una proposicin condicional, y si utiliza "si y slo si" se tiene un bicondicional. 5. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad I: Lgica Proposicional Edicin 200804 5 En proposiciones que tienen ms de un trmino de enlace es preciso indicar la manera de agruparse, pues distintas agrupaciones pueden tener distintos significados. En el lenguaje corriente, las agrupaciones se presentan de acuerdo a la colocacin de ciertas palabras o mediante la puntuacin. En lgica, la agrupacin se indica por medio de parntesis. Ejemplo de esto es: O los soldados encontraron cerrado el paso, o si temieron un ataque enemigo, se refugiaron en las montaas. Este texto se simboliza de la siguiente forma: P: Los soldados encontraron cerrado el paso Q: Los soldados temieron un ataque enemigo R: Los soldados se refugiaron en las montaas La proposicin compuesta es: P v (Q R) La cual tiene un sentido distinto de la proposicin: (P v Q) R Cuando no hay lugar a ambigedades, pueden omitirse los parntesis y se adopta una convencin con respecto a la dominancia relativa de los diversos conectivos. La convencin es: " " y " " dominan a "^" y "v" as: S P v R significa S (P v R) P Q ^ R significa P (Q ^ R) Con esta convencin, no est claro lo que significa, por ejemplo: P ^ Q v R P Q R Aqu, es necesario usar parntesis para aclarar, en el primer caso, si se trata de: (P ^ Q) v R P ^ (Q v R) y en el segundo caso, diferenciar entre: (P Q) R y P (Q R) 1.2. El Clculo Proposicional como un Sistema Axiomtico 1.2.1. Signos primitivos Son signos primitivos aquellos que utilizamos para conformar una proposicin. Por ejemplo: Letras latinas, tanto en minsculas como maysculas. Signos lgicos: "", "v", "^". Signos de puntuacin: "(" y ")". De las sucesiones de signos que es posible construir, hay especficamente unas que tienen sentido dentro de la teora. Tales sucesiones se denominan, trminos y frmulas. Los trminos se identifican con los objetos de la teora y las frmulas expresan relaciones entre los objetos. La especificacin de los trminos y las frmulas, se hace a travs de las siguientes reglas: 1.2.2. Reglas Formativas RF1: Cualquier letra es un trmino. RF2: Si R es una frmula, entonces R es una frmula, la cual se denomina negacin de R. RF3: Si P y Q son frmulas, entonces P v Q es una frmula la cual se denomina disyuncin lgica de P y Q. 6. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad I: Lgica Proposicional Edicin 200804 6 Nota: En las RF2 y RF3, las letras maysculas se usan para designar frmulas, no corresponden a signos del lenguaje. 1.2.3. Signos Definidos Una vez establecidas las reglas de formacin de frmulas se pueden introducir abreviaciones con el fin de simplificar la escritura. Estas abreviaciones son el objeto de las definiciones matemticas. Definicin: Sean R y S frmulas, entonces: La frmula (R v S) se denota abreviadamente como R ^ S y se llama conjuncin lgica de R y S, la cual se lee "R y S. La frmula R v S se denota como R S y se llama condicional de R y S. La figura lgica del condicional, responde a conectar dos proposiciones mediante el esquema "si..., entonces...". Para leer una proposicin de la forma R S, se puede usar algunas de las siguientes expresiones: Si R entonces S R es suficiente para S S es necesario para R S siempre que R R slo si S A la frmula R se le llama antecedente, y a la frmula S consecuente. Cuando el condicional es verdadero se dice que existe implicacin y en este caso se lee la expresin como: R implica S la cual se denota: R S La frmula (R S) ^ (S R) se denota por R S y se llama bicondicional de R y S. Esta expresin se puede leer (o entender) de varias maneras, entre ellas: R si y slo s S R es suficiente y necesario para S Cuando el bicondicional es verdadero, se dice que hay equivalencia. En este caso se lee: R equivale a S y se denota: R S Nota: Los criterios para decidir sobre la verdad del condicional y el bicondicional se vern ms adelante. 1.2.4. Razonamiento Lgico Deduccin. La deduccin lgico matemtica consiste en lo siguiente: A partir de una serie de frmulas admitidas como ciertas, y denominadas axiomas, hiptesis o premisas, se obtiene otra frmula llamada conclusin o tesis, mediante la aplicacin de reglas lgicas precisas. El proceso mediante el cual se pasa de las hiptesis (premisas) a la tesis, recibe el nombre de demostracin. Un teorema es una frmula que figura dentro de una demostracin. Es decir, un teorema es una frmula que es o bien un axioma, o bien, una consecuencia de ste. Una frmula se dice que es falsa si su negacin es un teorema. Una teora es contradictoria cuando se tiene una frmula R que es verdadera y falsa a la vez. Esto es: R y R son teoremas de la teora. Para demostrar que una frmula C es un teorema se desarrolla el siguiente 7. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad I: Lgica Proposicional Edicin 200804 7 proceso: Se enuncian los axiomas de la teora. Para la lgica proposicional se establecen cuatro axiomas, que son: A1. Axioma de idempotencia. Sea P una frmula, entonces, la frmula: P v P P es un axioma A2. Axioma de adjuncin. Sean P Y Q frmulas, entonces, la frmula: P P v Q es un axioma A3. Axioma de conmutatividad. Sean P, Q y R frmulas, entonces, la frmula: P v Q Q v P es un axioma A4. Axioma de adicin. Sean P, Q y R frmulas, entonces, la frmula: (P Q) (R v P R v Q) es un axioma Se fijan las "reglas lgicas" que permiten deducir dicha frmula a partir de los axiomas. Estas reglas son llamadas reglas de validez (RV) y son las siguientes: RV1: Dadas las frmulas R y S; si R S y R son verdaderas, entonces S es verdadera. RV2: Si R y S son frmulas equivalentes, se puede sustituirla una por la otra en cualquier parte del proceso demostrativo. Se hace una demostracin de la frmula C, que consiste en obtener a C como ltima frmula de la lista, por aplicacin reiterada de RV1 y RV2. 8. Programacin Orientada a Objetos en C# Aprubala YA!!! Unidad II: Tablas de Verdad Edicin 200804 8 Unidad II Objetivo: Previo repaso y lectura acerca de la Tabla de Verdad y la unidad anterior, el participante formalizar expresiones y razonamientos lgicos, los evaluar por completo e inferir sobre sus resultados. Contenido: 2. Tablas de Verdad. 2.1. Operadores Lgicos. 2.1.1. Negacin. 2.1.2. Disyuncin. 2.1.3. Conjuncin. 2.1.4. Condicional. 2.1.5. Bicondicional. 2.2. Propiedades y Postulados. 2.2.1. Conmutativa. 2.2.2. Distributiva. 2.2.3. Elemento Neutro. 2.2.4. Elemento Inverso. 2.3. Problemas resueltos. Actividades del participante: Realizar lectura previa sobre el tema, utilizando la presente gua y otros medios bibliogrficos. Interactuar en clase. Discutir en grupo. Realizar las activid...</p>