Logica Proposicional- Programacion i 21.04.14

5
UJCM PROGRAMACION I ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Página 1 LOGICA PROPOSICIONAL La función principal de la lógica de proposiciones es proporcionar reglas de inferencia o Razonamientos. La expresión de nuestros pensamientos o la expresión de una idea se realizan a través de la inferencia de una conclusión a partir de ciertas premisas. El conocimiento Científico se obtiene mediante conexiones lógicas y conclusiones, es decir, se obtiene una Conclusión a partir de otros conocimientos. Un razonamiento es básicamente una implicación Lógica. El razonamiento es una implicación cuyo antecedente es la conjunción de un número finito de proposiciones llamadas premisas y cuyo consecuente es la conclusión. Nos interesa conocer la validez de un razonamiento, es decir, cuáles son las condiciones para que la conclusión se deduzca de una o más proposiciones. La corrección (validación) o no de un razonamiento se decide a partir de la suposición de que las premisas son verdaderas ¿Por qué? La lógica nos permite discriminar entre razonamientos correctos o válidos e incorrectos o No válidos. ¿Qué significa que un razonamiento sea válido? Un razonamiento es válido cuando el condicional es tautológico, esto es, si las premisas son verdaderas entonces la conclusión debe ser necesariamente verdadera y si las premisas son falsas no importará lo que ocurre con la conclusión ya que el condicional será verdadero y por consiguiente el razonamiento será válido. Cuando una conclusión se obtiene a partir de un conjunto de premisas, usando reglas aceptadas de razonamiento, entonces tal proceso de derivación se conoce como deducción o prueba formal. En una prueba formal, cada regla de inferencia que se usa en alguna etapa de la deducción, se manifiesta. REGLAS DE INFERENCIA QUE SE APLICAN HABITUALMENTE. Operador Aritmético Nombre Función + Suma Calcula la suma de dos valores Resta Calcula la diferencia de dos valores * Multiplicación Calcula el producto de dos valores / División real Calcula el cociente real de dos valores. div División entera Calcula el cociente entero de dos valores enteros. mod Resto entero Calcula el resto o residuo positivo de la división De dos valores enteros. Estos operadores se combinan con las variables y/o constantes dando lugar a las expresiones Aritméticas, como por ejemplo: 3 + 4 * 5 mod 6, 3 / 4 6. Podemos observar que en la conformación de las operaciones básicas encontramos dos partes: el operador y los operandos. Un operador es un símbolo, definido en el lenguaje, que indica la operación que se realizará, y los operandos son los datos sobre los cuales se efectuará la operación. Decimos que una operación es binaria si opera con dos operandos y es unaria si lo hace con un sólo operando. Son ejemplos de operaciones binarias: la suma, resta, multiplicación, División entera, resto entero. El orden de evaluación de los operadores aritméticos es el siguiente: Los operadores *, div, mod y / tienen la misma prioridad y se evalúan de izquierda a derecha. Por ejempo: 10 mod 2 * 7 = (10 mod 2) *7 = 0 *7 = 0 Los operadores +, tienen la misma prioridad pero menor la de los operadores anteriores. Por ejemplo: 2 + 5 mod 3 div 4 = 2 + ((5 mod 3) div 4) = 2 + (2 div 4) = 2 + 0 = 2.

description

PROGRAMACION

Transcript of Logica Proposicional- Programacion i 21.04.14

  • UJCM PROGRAMACION I

    ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Pgina 1

    LOGICA PROPOSICIONALLa funcin principal de la lgica de proposiciones es proporcionar reglas de inferencia oRazonamientos. La expresin de nuestros pensamientos o la expresin de una idea se realizan atravs de la inferencia de una conclusin a partir de ciertas premisas.El conocimiento Cientfico se obtiene mediante conexiones lgicas y conclusiones, es decir, seobtiene una Conclusin a partir de otros conocimientos.Un razonamiento es bsicamente una implicacin Lgica. El razonamiento es una implicacin cuyoantecedente es la conjuncin de un nmero finito de proposiciones llamadas premisas y cuyoconsecuente es la conclusin.Nos interesa conocer la validez de un razonamiento, es decir, cules son las condiciones para quela conclusin se deduzca de una o ms proposiciones. La correccin (validacin) o no de unrazonamiento se decide a partir de la suposicin de que las premisas son verdaderasPor qu? La lgica nos permite discriminar entre razonamientos correctos o vlidos e incorrectos oNo vlidos. Qu significa que un razonamiento sea vlido?Un razonamiento es vlido cuando el condicional es tautolgico, esto es, si las premisas sonverdaderas entonces la conclusin debe ser necesariamente verdadera y si las premisas son falsasno importar lo que ocurre con la conclusin ya que el condicional ser verdadero y por consiguienteel razonamiento ser vlido.

    Cuando una conclusin se obtiene a partir de un conjunto de premisas, usando reglas aceptadas derazonamiento, entonces tal proceso de derivacin se conoce como deduccin o prueba formal. Enuna prueba formal, cada regla de inferencia que se usa en alguna etapa de la deduccin, semanifiesta.

    REGLAS DE INFERENCIA QUE SE APLICAN HABITUALMENTE.

    Operador Aritmtico Nombre Funcin+ Suma Calcula la suma de dos valores Resta Calcula la diferencia de dos valores* Multiplicacin Calcula el producto de dos valores/ Divisin real Calcula el cociente real de dos valores.div Divisin entera Calcula el cociente entero de dos valores enteros.mod Resto entero Calcula el resto o residuo positivo de la divisin

    De dos valores enteros.

    Estos operadores se combinan con las variables y/o constantes dando lugar a las expresionesAritmticas, como por ejemplo:

    3 + 4 * 5 mod 6, 3 / 4 6.

    Podemos observar que en la conformacin de las operaciones bsicas encontramos dos partes: eloperador y los operandos.Un operador es un smbolo, definido en el lenguaje, que indica la operacin que se realizar, y losoperandos son los datos sobre los cuales se efectuar la operacin.Decimos que una operacin es binaria si opera con dos operandos y es unaria si lo hace con un slooperando.Son ejemplos de operaciones binarias: la suma, resta, multiplicacin, Divisin entera, resto entero.

    El orden de evaluacin de los operadores aritmticos es el siguiente:Los operadores *, div, mod y / tienen la misma prioridad y se evalan de izquierda a derecha.

    Por ejempo: 10 mod 2 * 7 = (10 mod 2) *7 = 0 *7 = 0

    Los operadores +, tienen la misma prioridad pero menor la de los operadores anteriores.

    Por ejemplo: 2 + 5 mod 3 div 4 = 2 + ((5 mod 3) div 4) = 2 + (2 div 4) = 2 + 0 = 2.

  • UJCM PROGRAMACION I

    ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Pgina 2

    Sobre el conjunto de los enteros, los lenguajes de programacin incluyen dos funcionesDenominadas: Pred y Succ que devuelven el valor anterior y el posterior del dado,

    Respectivamente. Por ejemplo, el Pred (67) es 66 y el Succ (80) es 81. Observar que Pred ySucc son funciones unarias.

    Ejemplo:Evaluemos algunas expresiones sencillas:6 * 2 = 12 67 99 = 32 Succ (89) = 907 + 15 = 22 Pred (45) = 44 Pred (0) = 1

    Por ejemplo:6 div 2 = 3 5 div 1 = 5 8 div 3 = 3 19 div 25 = 0 17 div 5= 3

    6 mod 2 = 0 5 mod 1 = 0 8 mod 12 = 4 25 mod 5 = 0 19 mod 2 = 1

    Notar que div y mod operan slo con datos enteros.

    Ejemplo:Analicemos algunas situaciones referidas a los operadores div y mod.

    a) 6 div 3 = 2.b) 15 div 6 = 3, porque de este modo el resto, 3, resulta positivo. Pensemos en el

    Hecho de que 15 = (3) * 6 + 3.c) 23.0 div 6 da mensaje de error de tipo de dato, porque 23.0 es un tipo de dato real.d) 1 div 3 = 0, 8 mod 2 = 0 y 17 mod 3 = 2.e) 5 mod 3 da como resultado 1, porque 5 = (2) * 3 + 1.f) 10 mod 5 es 0, porque 10 = (2) * 5.

    Operadores lgicos

    Las expresiones lgicas pueden combinarse para formar expresiones ms complejas utilizandolos operadores lgicos: not, and, or.La operacin not (no) acta sobre una sola proposicin simple u operador, y simplemente niega (oinvierte) su valor. La operacin and (y) combina dos proposiciones simples y produce un resultadoTRUE (verdadero) slo si ambos operandos son verdaderos. La operacin or (o) es verdaderacuando al menos uno de los operandos lo es. El orden de evaluacin de los operadores lgicos es elsiguiente: not; and; or.

    Operadores relacionales

    Un operador relacional se utiliza para comparar dos valores. Ellos son:Operador Significado= Igual< Menor que Mayor que>= o Mayor o igual que Diferente

  • UJCM PROGRAMACION I

    ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Pgina 3

    Ejemplo:

    (5 + 7) = 12 es verdadero.(6 12 mod 2) > 4 es verdadero ya que 6 es mayor que 4.not(2 < 6) es falso ya que 2 es menor que 6.(3 > 1) and (2 > 3) es falso ya que (2 > 3) es falso.(3 > 1) or (2 > 3) es verdadero ya que (3 > 1) es verdadero.(3 > 1) and (2 < 3) es verdadero.not(A=B) es verdadero ya que A=B es falso.(5 mod 2) = 0 es falso ya que 5 mod 2 = 1.(5 < 5) or not(2 < 5) es falso.

    Reglas de precedencia

    Con expresiones aritmticas o relacionales ms complejas es preciso establecer prioridades en laevaluacin de los operadores.El nivel de precedencia de todos los operadores vistos hasta el momento es el siguiente:1. ( )2. not3. * / div mod and4. + or5. = < >=

    Ejemplo:Considerando las siguientes asignaciones: Si := True, No := False, Grande := 7, Pequeo:= 3, la instruccin:

    a) Write (not Si or No) tiene como salida False.b) Write (No and not No) produce False como salida.c) Write (Pequeo + Grande mod Pequeo > Pequeo div Grande) produce la salida True.d) Resultado:= Si or No and not No or Si, asigna a Resultado el valor True.

    Los operadores div y mod en los algoritmosLas operaciones div y mod resultan tiles a la hora de especificar condiciones en los algoritmos.

    Veamos algunas de ellas en el siguiente ejemplo.Ejemplo 45a) La expresin X mod 2 = 0 nos permite expresar que el nmero X es par.b) Para expresar que el nmero X es divisible por 10, podemos emplear la expresin lgica:

    X mod 10 = 0.c) Para expresar que el nmero Y es impar y menor que 100, podemos utilizar:

    (Y mod 2 = 1) and (Y < 100).d) Para expresar que el nmero X, menor que Z, es mltiplo de 4, usamos la expresin

    Lgica: (X < Z) and (X mod 4 = 0).e) Para expresar que el nmero X es mltiplo de Y, usamos: X mod Y = 0.f) Para comprobar si en un nmero X, positivo y de ms de 3 cifras, la cifra de la unidadDe mil es mltiplo de Y, podemos emplear la expresin lgica:

    (X > 1000) and ( (X div 1000 mod 10 mod Y) = 0 ).Este ltimo tem nos muestra como podemos usar el div y el mod para evaluar si una determinadaCifra del nmero cumple una propiedad especfica.

  • UJCM PROGRAMACION I

    ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Pgina 4

    EJERCICIOS PROPUESTOS EN CLASEProblema N1: Completa los resultados de las siguientes operaciones:

    1.1)5 mod 2 = 134 mod 10 = 5 mod 3 = 22 mod 5 =

    13 mod 2 = 65 mod 15 = 2 mod 5 = 27 mod 10 =

    1.2)5 div 2 = 134 div 10 = 5 div 3 = 22 div 5 =

    13 div 2 = 65 div 15 = 2 div 5 = 27 div 10 =

    Problema N2: Determina el valor de las siguientes expresiones si A = 2, B = 6, C = 3,T = True, F = False.

    2.1) not( A < B) and ( B < > 0 ) or ( A = B 4)2.2) A + 2 * B B/C + 72.3) T and ( B < > (A + 4)) or not F

    Problema N3: Para las asignaciones Si := True, No := False, Grande := 10, Pequeo:= 6, determina cules de las siguientes expresiones son legales y, en este caso calculaSu valor.

    3.1) Si and Grande mod Pequeo.3.2) not Grande 1 Pequeo + 1.3.3) Grande mod Pequeo and Si or not(Si).3.4) (Pequeo = Grande) or Si and No.

    Problema N4: Utiliza parntesis para indicar el orden de evaluacin correcto de losoperadores en las siguientes expresiones:

    4.1) 2 89 * 12 + 34.2) Succ(45) * 6 + 46 mod 3 div 84.3) 98 * (4 div 2) mod 34.4) Succ(28 + 2 * 3 + 25 mod 5)4.5) 6 mod 2 + 5647 div 8

    Problema N5: Evala las siguientes expresiones:

    5.1) 9 div 5 5 * 7 + 23 mod 25.2) ( 35 + 27 * 3) mod 3 div 65.3) 8963 div 10 mod 105.4) 2 Pred(3 * 4 mod 5 * 7)

  • UJCM PROGRAMACION I

    ING. EN INFORMATICA Y SISTEMAS HANSI ELORRIETA RONDON Pgina 5

    REALICE LOS SIGUIENTES ALGORITMOS:1. Escribe una secuencia de sentencias que permitan leer un nmero N e indicar si es

    mayor que 10 o negativo, el resultado debes visualizarlo en un mensaje.

    2. Ingresar un nmero por teclado y determinar:El seno, coseno, arco tangente, logaritmo natural, funcin exponencial, truncamiento,redondeo, raz cuadrada, valor absoluto, separar la parte entera, separar la parte decimal,

    3. Utiliza la frmula resolvente para determinar las races de una ecuacin de segundogrado a partir de sus tres coeficientes, A=5 B=12 C=3 y las informa adecuadamentesegn su tipo (reales iguales, reales distintas, imaginarias).

    4. Dada la longitud de sus lados de un triangulo rectngulo. COP= 26; CAD= 27.Determinar:rea.PermetroHipotenusa

    5. Ingresar 05 datos por teclado y determinar cual es el nmero mayor.