LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las...

38
ESCUELA: PONENTE: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones CICLO: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO 2010 1 Ciencias de la Computación BIMESTRE: I BIMESTRE

Transcript of LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las...

Page 1: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

ESCUELA:

PONENTE:

LÓGICA DE LA PROGRAMACIÓNUNIDAD 1: Problemas y Soluciones

CICLO:

Ing. Patricio Abad Espinoza

OCTUBRE 2009 – FEBRERO 2010

1

Ciencias de la Computación

BIMESTRE: I BIMESTRE

Page 2: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Temática

1.1 Aplicación de la lógica en la programación

1.2 Principios en la elaboración de enunciados

1.3 Comprensión y especificación del problema

1.4 Identificación de entradas, procesos y salidas

2

Page 3: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Competencias a desarrollar

3

Competencias Disponer de fundamentos

matemáticos, económicos, estadísticos y financieros necesarios para interpretar, seleccionar, valorar el uso y desarrollo tecnológico y sus aplicaciones.

Analizar las necesidades de conocimiento necesarias para resolver un problema.

Page 4: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Competencias a desarrollar

4

Comprender, analizar y resolver problemas aplicando los métodos de la ciencia y la ingeniería.

Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación, análisis y desarrollo de algoritmos.

Page 5: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Objetivos de la Unidad

Aplicar los principios de la lógica en la resolución de problemas computacionales.

Identificar y comprender un problema para llegar a su solución.

5

Page 6: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Introducción

Un joven que aspiraba a entrar a la marina acude a una entrevista y la primera pregunta que le hacen es: ¿Sabe nadar? A lo que el sorprendido responde: ¿Y para qué tienen los barcos? ¿Cómo podría aplicarse este chiste a

la informática?

6

Page 7: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Introducción (2)

7

Lógica

Matemática

Razonamiento

Creatividad

Page 8: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

1.1 Aplicación de la lógica en programación

8

Page 9: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Problema

Cálculo de la edad de una persona Entradas:

Fecha actual Fecha de nacimiento

SalidasEdad

ProcesoRestar la fecha de nacimiento de la fecha actual 9

Page 10: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Solución

Caso 1:Fecha actual: 15/mayo/2009

Fecha nacimiento: 12/abril/2009 Solución:

10

Page 11: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Solución

Caso 2:Fecha actual: 15/mayo/2009

Fecha nacimiento: 22/diciembre/2009

Solución:

11

Page 12: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Solución caso 2

Nuevas condiciones No restar una fecha mayor de una

fecha menor No se puede restar meses o días de

meses o días menores, tratamiento diferente.

12

Page 13: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Introducción a la lógica

Lógica es la ciencia que estudia el proceso de razonar.

Razonar es ordenar las ideas para llegar a una conclusión.

Procesar es ejecutar una serie de actividades interelacionadas

Reto: Educar el pensamiento para que razone de acuerdo a ciertas reglas.

13

Page 14: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Lógica

Silogismo: Argumento con tres proposiciones, la tercera se obtiene de las dos anteriores.

Enunciado: Expresión lingüística que establece un pensamiento completo. Interrogativos Imperativos Declarativos V ó F 14

Page 15: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Silogismos

15

Todos los perros son mamíferosFido es perro∆ Fido es mamífero

Fido es perroTodos los perros son mamíferos∆ Fido es mamífero

Todos los perros son mamíferosFido es mamífero∆ Fido es perro

Page 16: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Calidad de las premisas

16

Falsas (F) Vedaderas (V)Si la premisa no representa a la realidad

Si la premisa representa a la realidad

Incorrectas (I) Correctas (C)Si las premisas no proporcionan todos los elementos para inferir la conclusión

Si las premisas proporcionan todos los elementos para inferir la conclusión

Page 17: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicios 1.1

1. Coloque en la línea de la izquierda la letra V,F,C o I.

Todos los gatos son mamíferos

Micifuz es perro ∆ Micifuz maulla

17

Page 18: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicios 1.2

2. Escriba un silogismo de tipo (V) (V) (V) (C)

Todos seres vivos respiranLos humanos son seres vivos

∆ Los humanos respiran

18

Page 19: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicios 1.3

3. Escriba un silogismo de tipo (V) (V) (V) (I)

Todas las aves vuelan

La aves tienen alas ∆ Las palomas vuelan

19

Page 20: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Lógica de programación

Es la habilidad de pensar de manera razonada, sistemática y ordenada que nos hace capaces de inferir algoritmos abstractos y soluciones a problemas de negocios, susceptibles de programación.

20

Page 21: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

1.2 Principios en la elaboración de enunciados

21

Los enunciados son los planteamientos que hacemos para definir una actividad a realizar en procura de la solución del problema.

Page 22: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Finalidad de los Enunciados

De asignación de valores La base es igual a 20

De valor preexistente 60 minutos son equivalentes a una

hora

De cálculo El área de un triángulo rectángulo se

obtiene multiplicando la base por la altura y dividiendo entre dos 22

Page 23: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Finalidad de los Enunciados..

Condicionales Si la base es mayor a cero, entonces la

altura es igual a la base entre dos.

De resultado El área del triángulo rectángulo es de 100

23

Page 24: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Principios de los enunciados

Entrada Economía de los datos Autosuficiencia de los datos Compatibilidad de los datos Conocimiento preestablecido

24

Page 25: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Principios de los enunciados..

Proceso Consistencia de resultado Eficiencia del proceso Eficacia del proceso Simplicidad del proceso Independencia de los procesos Reutilización de los procesos Rastreabilidad de las operaciones

25

Page 26: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Principios de los enunciados..

Salida Cantidad y forma Exactitud Dominio de salida

26

Page 27: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

1.3 Comprensión y especificación del problema

Complejidad del problema. Análisis del problema. Variantes Casos de prueba.

27

Page 28: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

1.4 Identificación Entradas, proceso y salidas

28

Page 29: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2.

Elabore los enunciados requeridos para el cálculo de la edad de una persona.

29

Page 30: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Enunciados de las salidas La edad debe expresarse en años,

meses y días. La edad en años no debe ser menor

que cero. La edad en meses no puede ser

menor que cero.

30

Page 31: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

La edad en meses no puede ser mayor que once.

La edad en días no puede ser menor que cero.

La edad en días no puede ser mayor que treinta.

31

Page 32: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Enunciados del proceso Para calcular la edad se debe restar la

fecha de nacimiento de la fecha actual.

La fecha debe descomponerse en años, meses y días.

Se debe comenzar restando los días.

32

Page 33: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Si el día de nacimiento es mayor al día actual debe solicitar un mes expresado en días a los meses de la fecha actual, con lo cual se suman 30 días al día actual y se resta un mes al mes actual.

33

Page 34: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Enunciados del proceso En segunda instancia debe restarse

los meses. Si el mes de nacimiento es mayor que

el mes de la fecha actual, debe solicitar un año expresado en meses a la fecha actual, con lo cual se suman 12 meses al mes actual y se resta un año a año actual.

Finalmente se resta los años. 34

Page 35: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Enunciados de la entrada Para el cálculo de la edad es

necesario ingresar la fecha de nacimiento y la fecha actual.

Las fechas actual y de nacimiento deben ingresarse en tres números cada una que representan año, mes y día.

35

Page 36: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

La fecha de nacimiento nunca puede ser mayor que la fecha actual.

36

Page 37: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,

Ejercicio 2. (cont.)

Enunciados de la entrada Un año tiene 12 meses. Un mes tiene 28, 30 0 31 días. Los meses del año pueden tener

valores del 1 al 12. Los días del mes pueden tener

valores del 1 al 31.

37

Page 38: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: …...Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación,