Logica de la Programación Problemas y Soluciones

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

description

1.1 Aplicación de la lógica en la programación1.2 Principios en la elaboración de enunciados1.3 Comprensión y especificación del problema 1.4 Identificación de entradas, procesos y salidasPonente: Patricio Abad Espinoza

Transcript of Logica de la Programación Problemas y Soluciones

Page 1: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Introducción (2)

7

Lógica

Matemática

Razonamiento

Creatividad

Page 8: Logica de la  Programación  Problemas y Soluciones

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

8

Page 9: Logica de la  Programación  Problemas y Soluciones

Problema

Cálculo de la edad de una persona Entradas:

Fecha actualFecha de nacimiento

SalidasEdad

ProcesoRestar la fecha de nacimiento de la

fecha actual9

Page 10: Logica de la  Programación  Problemas y Soluciones

Solución

Caso 1:Fecha actual: 15/mayo/2009

Fecha nacimiento: 12/abril/2009

Solución:

10

Page 11: Logica de la  Programación  Problemas y Soluciones

Solución

Caso 2:Fecha actual: 15/mayo/2009

Fecha nacimiento: 22/diciembre/2009

Solución:

11

Page 12: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Silogismos

15

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

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

Fido es perroTodos los perros son mamíferos∆ 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

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

Page 16: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Ejercicios 1.2

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

Todos seres vivos respiran

Los humanos son seres vivos

∆ Los humanos respiran

18

Page 19: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Principios de los enunciados

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

24

Page 25: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Principios de los enunciados..

Salida Cantidad y forma Exactitud Dominio de salida

26

Page 27: Logica de la  Programación  Problemas y Soluciones

1.3 Comprensión y especificación del

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

27

Page 28: Logica de la  Programación  Problemas y Soluciones

1.4 Identificación Entradas, proceso y

salidas

28

Page 29: Logica de la  Programación  Problemas y Soluciones

Ejercicio 2.

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

29

Page 30: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones

Ejercicio 2. (cont.)

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

36

Page 37: Logica de la  Programación  Problemas y Soluciones

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: Logica de la  Programación  Problemas y Soluciones