logica de la programación problemas y soluciones
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 EspinozaTRANSCRIPT
![Page 1: Logica de la Programación Problemas y Soluciones](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/7.jpg)
Introducción (2)
7
Lógica
Matemática
Razonamiento
Creatividad
![Page 8: Logica de la Programación Problemas y Soluciones](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/8.jpg)
1.1 Aplicación de la lógica en programación
8
![Page 9: Logica de la Programación Problemas y Soluciones](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/26.jpg)
Principios de los enunciados..
Salida Cantidad y forma Exactitud Dominio de salida
26
![Page 27: Logica de la Programación Problemas y Soluciones](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/28.jpg)
1.4 Identificación Entradas, proceso y
salidas
28
![Page 29: Logica de la Programación Problemas y Soluciones](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052213/557b2094d8b42a4e048b4832/html5/thumbnails/38.jpg)