lÓgica de la programaciÓn unidad 1: problemas y soluciones · aplicaciones. analizar las...
TRANSCRIPT
![Page 1: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/7.jpg)
Introducción (2)
7
Lógica
Matemática
Razonamiento
Creatividad
![Page 8: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/8.jpg)
1.1 Aplicación de la lógica en programación
8
![Page 9: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/9.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/10.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/11.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/15.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/18.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/26.jpg)
Principios de los enunciados..
Salida Cantidad y forma Exactitud Dominio de salida
26
![Page 27: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/28.jpg)
1.4 Identificación Entradas, proceso y salidas
28
![Page 29: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/29.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/36.jpg)
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: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/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: LÓGICA DE LA PROGRAMACIÓN UNIDAD 1: Problemas y Soluciones · aplicaciones. Analizar las necesidades de conocimiento necesarias para resolver un problema. Competencias a desarrollar](https://reader033.vdocuments.net/reader033/viewer/2022041914/5e68fc0d28f66128484b714b/html5/thumbnails/38.jpg)