Programación en lenguajes Estructurados - Lógica Computacional
Click here to load reader
-
Upload
wilson-cedillo -
Category
Technology
-
view
888 -
download
6
description
Transcript of Programación en lenguajes Estructurados - Lógica Computacional
GUIA DIDÁCTICA PARA PROGRAMACIÓN EN LENGUAJES ESTRUCTURADOS
PRIMERA EDICIÓN, SEPTIEMBRE 2013.
Ing. Wilson Cedillo P. Msc.
El autor otorga permiso para utilizar este documento bajo la licencia Creative Commons “Reconocimiento-NoComercial-SinObraDerivada 3.0 Genérica” (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.es)
Usted es libre de
: copiar, distribuir y comunicar públicamente ésta guía para SGBD
Bajo las condiciones siguientes:
Reconocimiento: Debe reconocer los créditos del documento al autor
No comercial: No puede utilizar éste documento para fines comerciales
Sin obras derivadas: NO SE PUEDE ALTERAR, TRANSFORMAR O GENERAR UNA OBRA DERIVADA A PARTIR DE ÉSTE DOCUMENTO
• Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
• Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
• Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Se otorga permiso para enlazar este documento desde cualquier sitio Web, con la siguiente dirección: http://www.uets.edu.ec/ple1
El autor agradece el envío de cualquier comentario o sugerencia sobre esta Guía a los correos: [email protected]; [email protected]
INDICE DE CONTENIDOS
i
Índice de Contenidos ....................................................................................................................................... i
............................................................................................................................ i
Unidad de Trabajo 1 ....................................................................................................................... 2
......................................................................................................... 2
1. Introducción ...................................................................................................................... 2
2. Conceptos de Problema ..................................................................................................... 3
3. Resolución de problemas ................................................................................................... 5
4. Métodos de resolución de problemas ............................................................................. 13
4.1 Encontrar un patrón de comportamiento ................................................................ 13
4.2 Método de prueba y error ........................................................................................ 15
4.3 Aplicación de una fórmula. ...................................................................................... 17
4.4 Comenzar de atrás hacia adelante ........................................................................... 19
4.5 Elaboración de una tabla. ......................................................................................... 21
4.6 Planteamiento gráfico de la solución. ...................................................................... 22
5. La lógica ........................................................................................................................... 26
6. La Lógica como fundamento de las Ciencias Computacionales ........................................ 27
7. La lógica de programación ............................................................................................... 28
8. La lógica aplicada para resolver problemas. .................................................................... 28
9. Valores de verdad ............................................................................................................ 31
10. Algoritmos ................................................................................................................... 33
10.1 Algoritmos Informales .............................................................................................. 34
10.2 Algoritmos Computacionales ................................................................................... 36
Unidad de Trabajo 2 ..................................................................................................................... 37
.................................................................................. 37
1. Introducción .................................................................................................................... 37
1.1 Programa ................................................................................................................. 37
1.2 Programación ........................................................................................................... 37
1.3 Lógica de Programación ........................................................................................... 38
2. Fases en la Resolución de Problemas con un computador ............................................... 38
2.1 Análisis del problema. .............................................................................................. 39
2.2 Diseñar un algoritmo Computacional ....................................................................... 39
2.3 Utilizar una técnica para representar el Algoritmo computacional .......................... 41
2.4 Traducir el algoritmo computacional a un lenguaje de programación ..................... 41
2.5 Verificar y depurar el programa ............................................................................... 42
2.6 Documentación y mantenimiento ............................................................................ 42
3. Practicando algoritmos computacionales con Scratch ..................................................... 43
3.1 Interfaz de SCRATCH ................................................................................................ 44
3.2 Paleta de bloques y las acciones más comunes para los personajes. ....................... 50
4. Las variables y sus características. ................................................................................... 52
4.1 Las variables en los algoritmos computacionales ..................................................... 54
4.2 Nombres de variables. ............................................................................................ 55
4.3 Tipos de datos de las variables ................................................................................. 56
5. Operadores y expresiones aritméticas ............................................................................. 57
6. Operadores de comparación y expresiones lógicas ......................................................... 61
7. Las decisiones .................................................................................................................. 62
8. Pseudocódigos ................................................................................................................. 64
8.1 Palabras claves de carácter general ......................................................................... 65
8.2 Estructuras de decisión simples en los pseudocódigos ............................................. 66
8.3 Concatenar resultados en la instrucción Escribir ...................................................... 69
8.4 Operadores lógicos binarios ..................................................................................... 71
8.5 Variantes de las estructuras de decisión .................................................................. 76
9. Los ciclos .......................................................................................................................... 81
9.1 Contadores ............................................................................................................... 84
9.2 Acumuladores .......................................................................................................... 87
10. Diagramas de Flujo ...................................................................................................... 89
PROLOGO
i
Hace poco navegando en internet encontré una frase escrita por Maurice Tardif que
me llamó mucho la atención y me hizo reflexionar sobre las problemáticas que aquejan
nuestro sistema educativo, dicha frase rezaba así: "Saber algo ya no es suficiente; es
preciso también saber enseñar". Parece ser, que quienes nos dedicamos a la docencia,
sobre todo en las áreas llamadas técnicas, nos sentimos con un cierto compromiso
escribir lo que “tanto nos ha costado aprender”, sin embargo, yo considero que entre
nuestras obligaciones, la más importante es la de enseñar y aprender, dos palabras
que están íntimamente unidas, pues para enseñar, hay que aprender. El desarrollar un
documento como ésta a guía didáctica resulta ser una magnífica herramienta para el
aprendizaje de quien lo escribe, pues para escribirlo es necesario, aclarar y actualizar
nuestros conocimientos, reflexionar sobre ellos, organizarlos, y por supuesto cuidar su
presentación. Y de ésta forma uno se aprende mucho.
Esta guía didáctica lo desarrollé después de leer cuatro o cinco libros sobre el tema y
consultar algunas páginas de Internet. Los conceptos que se presentan en este
documento pueden encontrarse en cualquier libro de programación, con definiciones
probablemente mucho más rigurosas que las que yo aquí presento, es por eso que el
documento lo he subido de forma libre en la red con la esperanza de que pueda ser
útil, y sin ningún ánimo de atribuirme méritos que no me corresponden.
Estimado estudiante, espero que este documento sirva como un instrumento de mejora
continua en la tarea difícil de un maestro: enseñar y aprender.
EL AUTOR
INTRODUCCIÓN
i
xiste actualmente un consenso general dentro de la
comunidad educativa mundial sobre la necesidad de superar
el tipo de enseñanza basada en la transmisión de contenidos
para apuntarle en su lugar al desarrollo de capacidades. Investigaciones
y estudios recientes proponen diversos conjuntos de habilidades que la
educación debe fomentar para que los estudiantes puedan tener éxito
en el mundo digital y globalizado en el que van a vivir. Este
planteamiento exige, sin
dilaciones, implementar estrategias que contribuyan efectivamente en
el desarrollo de esas habilidades planteadas como fundamentales para
la educación en el Siglo XXI (21st Century Skills, 2004).
En la mayoría de conjuntos de habilidades propuestos figuran las
habilidades de pensamiento de orden superior entre las que se incluye
la destreza para solucionar problemas; por esta razón, se requiere
seleccionar estrategias efectivas para ayudar a que los estudiantes las
desarrollen. Para atender esta necesidad, la programación de
computadores constituye una buena alternativa, siempre y cuando se la
enfoque al logro de esta destreza y no a la formación de
programadores.
¿Es importante que todos los niños aprendan a escribir? Después de
todo, muy pocos de ellos en su vida adulta serán periodistas, novelistas
o escritores profesionales. Cabe entonces la pregunta ¿por qué todo el
mundo debe aprender a escribir?
La programación podría considerarse como extensión de la escritura.
La habilidad para programar permite a las personas “escribir” nuevos
tipos de cosas, tales como: historias interactivas, juegos, animaciones y
E
INTRODUCCIÓN
simulaciones. Además, como sucede con la escritura tradicional, hay
razones poderosas para que todos aprendan a programar.
El reciente surgimiento del interés por aprender a programar, reflejado
en sitios Web como “codecademy.com” y “code.org”, se enfoca en
oportunidades de carrera o de trabajo. Es fácil comprender el porqué:
el número de oportunidades de trabajo para programadores y
científicos de la computación aumenta rápidamente y en esos campos,
la demanda supera ampliamente la oferta.
Sin embargo hay razones más profundas y generales para aprender a
programar. En el proceso de aprender a programar, las personas
aprenden muchas otras cosas. No están simplemente aprendiendo a
programar, están programando para aprender; pues además, de
comprender ideas matemáticas y computacionales, tales como
variables y condicionales, simultáneamente están aprendiendo
estrategias para solucionar problemas, diseñar proyectos y comunicar
ideas. Esas habilidades son útiles no solo para los científicos de la
computación sino para todas las personas sin distingos de edad,
proveniencia, intereses u ocupación.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
2
Unidad de Trabajo 1
1. Introducción a lógica computacional o lógica formal siempre
ha sido una herramienta fundamental para el
progreso de las ciencias computacionales, y sus
desarrollos son la base para elaborar soluciones
informáticas, tanto en software como en hardware. Es
bien conocido que los profesionales que aplican
adecuadamente el razonamiento lógico tienen mayores
posibilidades de éxito, tanto en lo profesional como en lo
personal, ya que analizar, saber buscar posibilidades, demostrar o
refutar afirmaciones diversas, le permite a quien tiene ese
conocimiento y manejo ser un mejor ser humano y por consiguiente un
profesional con mayores y mejores aptitudes y actitudes para vivir en
una sociedad como la actual.
Diseñar, desarrollar y mantener software son procesos netamente
creativos que se sustentan fundamentalmente en la capacidad de
razonamiento, en el pensamiento computacional y algorítmico y en la
habilidad para abstraer cualquier problema, razón por la cual ésta
Unidad de Trabajo está estructurada para ofrecer una base sólida de la
lógica en la línea computacional.
L
.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
3
Muchas veces nos hemos enfrentado a problemas, pero, ¿qué es un
problema y cómo se resuelve? La resolución de problemas tiene que
ver con modificar una situación actual por otra que deseamos.
Cuando las computadoras transforman los datos iniciales en
información útil para el usuario, se dice que resuelven un problema.
Las computadoras hacen esto gracias a que codifican los datos de
manera lógica y ordenan con base en una secuencia.
En ésta Unidad de Trabajo se aprenderá a plantear y a resolver
problemas con una estrategia como la que utilizan las computadoras,
es decir, expresaremos de forma matemática, las partes que forman un
determinado problema a partir de pasos ordenados, llamados
algoritmos. También se resolverá cuestiones de manera formal al usar
la lógica matemática como lo hace la computadora, que es aplicable en
situaciones cotidianas y nos da una estrategia eficiente para encontrar
soluciones.
2. Conceptos de Problema a palabra problema tiene muchas
definiciones, presentaremos dos:
Problema es una necesidad inicial que
tiene un objetivo o solución a alcanzar,
mediante una serie de operaciones, actividades o
métodos bien definidos1.
Problema es la diferencia existente entre una situación deseada y una
situación actual2.
1 Definición del diccionario de la real academia de la lengua española.
2 Definición de Wikipedia.org.
L
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
4
En informática la definición es equivalente a las anteriores: un problema
es una situación inicial en la que existe un diferencia entre lo que
tenemos y lo que deseamos tener (situación final); para conseguir lo
que queremos habrá que realizar las acciones necesarias con el fin de
modificar la situación.
Por ejemplo, un problema es obtener el promedio de las calificaciones
de los estudiantes a partir de las actividades formativas individuales,
actividades formativas grupales, tareas y evaluaciones sumativas. La
situación final, obtener el promedio, es diferente de la inicial
(calificaciones) e implica realizar varias operaciones.
Actividad en clases
Describa tres ejemplos de problema de acuerdo a la definición de este concepto en informática.
Hoy por hoy existe una confusión muy generalizada entre los
significados de problema y ejercicio, confusión que se debe al manejo
coloquial del término ''problema'' en el contexto de la didáctica de
todas las ciencias, por esta razón la distinción entre ejercicio y
problema es crucial en informática porque involucran actividades
diferentes.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
5
Un ejercicio es una tarea de aplicación simple y directa de un
conocimiento, procedimiento o técnica ya disponible o sobre la que el
alumno / resolutor se encuentra ya iniciado.
Por otra parte el problema es una tarea o situación que no se resuelve
aplicando directamente una regla aprendida; hay que entender el
enunciado, organizar la información, seleccionar los conocimientos
útiles, probar, aplicarlos adecuadamente y evaluar el proceso.
3. Resolución de problemas n la vida el hombre se enfrenta con innumerables problemas.
Cada persona necesita saber cómo resolver cada uno de estos
problemas inteligentemente, para lo cual necesitamos
comprender cada problema. La solución de todo problema está en el
problema mismo. Ha llegado la hora de aprender a resolver problemas.
Existen muchos problemas: económicos, sociales,
morales, políticos, religiosos, familiares, informáticos
etc., y nosotros debemos aprender a resolverlos
inteligentemente. La manera como se resuelven los
problemas pueden variar según cada persona o
grupo de trabajo, por lo que los pasos son diferentes
en cada situación, sin embargo lo que debemos tener
claro es que para resolver un problema debemos tener una estrategia,
que es un conjunto de pasos que nos llevan a una solución.
El matemático húngaro George Pólya3, para involucrar a sus
estudiantes en la solución de problemas, generalizó una estrategia en
los siguientes cuatro pasos:
3 George Pólya (13 de diciembre de 1887 – 7 de septiembre de 1985, Pólya György en húngaro) fue un
matemático que nació en Budapest, Hungría y murió en Palo Alto, EUA. Trabajó en una gran variedad de
E
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
6
1.) Entender el problema. Es importante determinar cuál es la
solución a la que se desea llegar. Identificar los elementos con que se
cuenta para buscar posibles soluciones y si estos datos son suficientes
para lograrlo. Es conveniente ignorar la información que no es
relevante.
2.) Configurar un plan. Deben hacerse explícitos los pasos que se
seguirán para resolver el problema y recordar que en ocasiones hay
más de una posibilidad para solucionarlo, por lo que es necesario
pensar y plantear diferentes alternativas que permitan resolver el
problema. Al final debes elegir una alternativa valorando ventajas y
desventajas.
3.) Ejecutar el plan. Poner en práctica lo que se ha ideado para
encontrar la solución.
4.) Mirar hacia atrás (Verificar la solución). Observar la situación
después de haber realizado el plan paso a paso y evaluar si se logró lo
que se deseaba.
Todo este proceso es recursivo.
temas matemáticos, incluidas las series, la teoría de números, geometría, álgebra, análisis matemático, la
combinatoria y la probabilidad.
Entender el
problema
Configurar
un plan
Ejecutar el
plan
Verificar la
solución
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
7
Ejemplo: Ejemplo: Ejemplo: Ejemplo:
Afuera está lloviendo y como su techo está en mal estado se
introduce agua en la habitación.
RESOLUCIÓN
1. Entender el problema
¿Cuál es su problema?
☺ El problema es que la televisión no se ve bien. ☺ El problema es que el sillón no es muy cómodo. ☺ El problema es que las gotas hacen ruido. ☺ El problema es que se está metiendo agua en la casa.
Un análisis profundo de la situación (y un poco de sentido común)
podemos determinar que en realidad el problema es que se está
metiendo agua en la casa: nuestro personaje tiene una gotera pero
no quiere esa gotera.
2. Configurar un plan
Tenemos cuatro alternativas de soluciones:
☺ Esperar con resignación a que pase la lluvia (mientras se moja el piso).
☺ Colocar un paraguas en el techo.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
8
☺ Colocar una cubeta bajo la gotera. ☺ Reparar el techo.
Cualquiera de estas soluciones es posible llevarlas a la práctica;
sin embargo, resulta casi obvio que las dos primeras en realidad
no ayudan mucho.
La cuarta solución es la mejor, pero considerando que está
lloviendo, la solución inmediata es colocar la cubeta (y cuando no
llueva reparar el techo).
3. Ejecutar el plan
La ejecución del plan dependerá de la solución que hayas
elegido. En el caso de la opción 3 es buscar una cubeta y
ponerla debajo de la gotera.
4. Verificar el plan
Para verificar si la estrategia dio resultado habrá que observar si
el piso ha dejado de mojarse.
EjemploEjemploEjemploEjemplo
Para comprender mejor el método analizaremos un segundo
ejemplo, imagina que organizas una fiesta a la que asistirán
algunos amigos y familiares, pero no todos saben cómo
llegar a tu casa. Piensas notificarles por medio de
una invitación impresa, ¿qué información debes
incluir para que lleguen a la casa?
RESOLUCIÓN
1. Entender el problema: Asegurarte que todos tengan
la dirección de tu domicilio.
2. Configurar un plan: Puede haber muchas soluciones posibles. Por
ejemplo, escribir un texto que indique que les esperarás en un lugar
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
9
conocido por todos a una hora determinada y de ahí trasladarse a tu
casa o diseñar un croquis donde incluyas la dirección y el teléfono.
3. Ejecutar el plan: Si elegiste la opción del croquis, tendrás que
dibujarlo utilizando las herramientas adecuadas (puede ser con
Google Maps).
4. Verificar el plan: Para verificar si tu estrategia dio solución al
problema tendrás que esperar el día de la fiesta y averiguar si los
invitados no tuvieron alguna dificultad para llegar. La verificación es
un paso con el cual se puede mejorar la solución elegida para una
segunda aplicación.
Actividad en clases
Desarrolla los cuatro ejercicios planteados
1. Une cada fase del método de George Pólya con el paso que le corresponde.
Entender el problema Se efectúan las operaciones.
Configurar el plan Calcular el volumen de la Tierra.
Ejecutar el plan Se obtiene el volumen de nuestro
planeta.
Verificar la solución
Se sabe que la Tierra es una esfera,
entonces es necesario saber la fórmula
para calcular el volumen de una esfera y
el dato del radio terrestre. Con esa
información se sustituyen los datos en
la fórmula.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
10
Escribe los pasos mencionados en este sección para la resolución de cada problema
2. Eliminar el dolor de cabeza Entender el problema.
Configurar el plan.
Ejecutar el plan.
Verificar la solución.
3. Una persona tiene un terreno cuadrado que mide 20 m de lado. Desea cercarlo con una malla que se vende en rollos de 7m. ¿Cuántos rollos de malla necesita y cuánto sobra? Entender el problema.
Configurar el plan.
Ejecutar el plan.
Verificar la solución.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
11
4. Un matemático se encontró un día con un amigo y éste le preguntó: - ¿Cuántas hijas tienes? - Tres -contestó el matemático. - ¿Qué edades tienen? - preguntó el amigo. - El producto de sus edades es 36 y la suma de las mismas es el número que tiene el portal de ahí enfrente. El amigo del matemático se volvió y, después de ver el número del portal de enfrente, dijo: - Para saber las edades de tus hijas, me falta otro dato. - ¡Perdona, es cierto! -dijo el matemático-. La mayor toca el piano. ¿Qué edades tenían las hijas del matemático?
Entender el problema.
Configurar el plan.
Ejecutar el plan.
Verificar la solución.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
12
Por otra parte es conveniente tener cuidado con las posibles trampas o
contaminaciones que pueda encerrar el enunciado, tales como:
Algunos meses tienen 31 días, ¿cuántos meses tienen 28 días?
Actividad Formativa No. 1 (Resolución de problemas )
Desarrolle en un procesador de textos los 4 problemas propuestos, especificando cada paso para resolución de problemas según el método de George Pólya. Se calificará: Carátula, pasos para resolución de cada problema, soluciones acordes a lo que se pide y calidad del documento final.
1. 2. 3. 4.
Si hay 3 manzanas y tomas 2, ¿cuantas tienes? Un tren sale de Ibarra hacia Salinas a las 17H30 horas con una velocidad media de 80 km/h. Una hora más tarde sale otro tren de Salinas hacia Ibarra con una velocidad media de 95 km/h. Cuando ambos trenes se cruzan, ¿cuál está más cerca de Salinas? Suponiendo que se dispone de una cantidad ilimitada de agua, de un recipiente plástico de 5 litros y de otro de 4 litros de capacidad, indicar cómo se puede colocar exactamente 2 litros de agua en el recipiente de 5 litros. Se dice que, un turista visitando algunos pueblos alejados de la sierra de Ecuador encuentra dos pueblos llamados La Pampa y Pallasca (esto es sólo como ejemplo), y en las afueras se encontró con 3 campesinos, al primero de ellos le preguntó ¿de qué pueblo eres?, y el campesino le respondió. en un idioma que el turista no entendió, para salir de las dudas se dirigió al segundo campesino y le preguntó: - ¿De qué pueblo me dijo que es? - Ha dicho que es Pallasquino (de Pallasca), -respondió el segundo campesino-, en ese instante el tercer campesino que hasta el momento había permanecido en silencio, interpeló al segundo diciéndole: . ¡Tú mientes! Ante ésta incertidumbre, el turista realizó algunas investigaciones y sacó la información que los Pallasquinos siempre mienten y los Pampinos siempre dicen la verdad, esta información fue suficiente para averiguar de qué pueblo eran los dos últimos campesinos ó en el mejor de los casos los 3 campesinos. Por tanto que queda plateado la pregunta: ¿Cuál fue el razonamiento del turista?, ¿a qué conclusión llegó?
Suba el archivo al aula virtual de PLE en el portal web de la U.E.T.S. en la fecha establecida por el docente
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
13
4. Métodos de resolución de problemas na vez que se ha determinado la situación a la que se desea
llegar para resolver un problema se procede a configurar el
plan. Existen algunos posibles procedimientos:
4.1 Encontrar un patrón de comportamiento
Con este método se describe algo que ocurre en repetidas ocasiones o
que varía siempre de una misma manera.
EjemploEjemploEjemploEjemplo
Si tengo tres pares de zapatos: unos celestes, otros verdes y
otros grises y cada día me pongo un par de distinto color hasta haber
agotado las tres posibilidades y luego vuelvo a empezar, si sabes qué
ayer usé los zapatos verdes y hoy traigo los zapatos grises, ¿cuáles me
pondré mañana?.
ResoluciónResoluciónResoluciónResolución
1. Entender el problema. Qué color de zapatos tengo que ponerme
mañana si sé que ayer me puse los verdes y hoy tengo puesto los
grises. La condición es que cada día tengo que ponerme un par de
distinto color
2. Configurar el plan. Se aplicará la estrategia de Encontrar un patrón
de comportamiento. Cada día me pongo un par de distinto color
hasta haber agotado las tres posibilidades y luego vuelvo a empezar.
Celestes
Verdes
Grises
Celestes
Verdes
Grises
?
3. Ejecutar el plan. Al aplicar el plan puedo darme que por
comportamiento de repetición me tocaría ponerme los zapatos
celestes.
U
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
14
Celestes
Verdes
Grises
Celestes
Verdes
Grises
Celestes
4. Verificar el plan. Se puede comprobar que se ha cumplido con la
condición de que cada día es un color diferente de zapatos.
Algunas veces, los patrones de comportamiento se relacionan con los
datos numéricos. En estos casos los patrones representan
comportamientos en los que se suma, multiplica, divide o resta una
misma cantidad.
Actividad en clases
¿Podrías determinar en ambos casos qué elemento sigue?
1, 3, 5, …
……………
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
15
4.2 Método de prueba y error
Esta estrategia, aunque válida, no siempre es la más efectiva; se recurre
a ella antes de pensar en otra más compleja o cuando no se
ha encontrado otra opción. Este método consiste en probar
con algunos valores y después evaluar si se ha resuelto el
problema. Si no se ha llegado al resultado deseado
se prueba con otros valores y así sucesivamente
hasta encontrar la solución.
EjemploEjemploEjemploEjemplo
Si te piden escribir signos de suma y resta entre los dígitos 1 2
3 4 5 6 7 para obtener como resultado 77, las condiciones son
que no puedes alterar el orden de los números y puedes agrupar varios
números o antes o después de un signo, ¿cómo resolverías?
ResoluciónResoluciónResoluciónResolución
1. Entender el problema. Combinar los dígitos 1 2 3 4 5 6 7 para
obtener como resultado 77. La condición es que no se puede alterar
el orden de los números.
2. Configurar el plan. Se aplicará la estrategia de Prueba y error
combinando los dígitos y las operaciones hasta conseguir el
resultado deseado.
3. Ejecutar el plan.
1 + 2 + 3 + 4 + 5 - 67 = -52
12 + 34 + 56 - 7 = 95
… … … … … … … … …
123 - 45 + 6 - 7
Después de probar varias opciones, se ha encontrado que la solución
es 123 – 45 + 6 – 7. Para encontrar la solución se usa el ensayo y la
lógica. Si hubiésemos agrupado los primeros cuatro dígitos, quedaba
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
16
un número muy grande que al restarle los siguientes jamás
podríamos acercarnos al 77.
4. Verificar el plan. Se puede comprobar que se ha cumplido con la
condición de que el resultado sea 77 sin cambiar el orden.
Actividad en clases
Resuelva que operaciones se necesitarían para obtener los siguientes resultados:
2 2 2 = 6 3 3 3 = 6 4 4 4 = 6 5 5 5 = 6
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
17
4.3 Aplicación de una fórmula.
Existen problemas en los cuales se proporcionan datos y relaciones
entre ellos; en este caso, para encontrar la solución se
debe hallar un valor en particular.
Los datos de los problemas en los que se aplica una
fórmula suelen ser numéricos y podemos encontrar
expresiones matemáticas en las que se incluya como una
incógnita, el valor que se debe hallar.
EjemploEjemploEjemploEjemplo
Imagina que en el verano irás de viaje al Puyo en el oriente
ecuatoriano, pero no conoces el clima, por tanto no sabes qué
tipo de vestimenta empacar.
ResoluciónResoluciónResoluciónResolución
1. Entender el problema. No sé la temperatura que hay en el oriente
ecuatoriano en el verano.
2. Configurar el plan. Buscando información se pudo saber que
durante el verano, en el Puyo la temperatura mínima es 59º F y la
máxima 104º F. Como estamos acostumbrados a usar unidades en
grados Celsius esta información no responde a la interrogante. Para
resolver el problema se debes buscar la fórmula para encontrar la
equivalencia de grados Fahrenheit a Celsius y aplicar la estrategia de
Aplicación de una fórmula a los datos que se tiene (la fórmula es C =
(F-32) x 5/9).
3. Aplicar el plan.
Mínima C = (F-32) x 5/9 C = (59-32) x 5/9 C = 27 x 5/9
Máxima C = (F-32) x 5/9 C = (104-32) x 5/9 C = 72 x 5/9
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
18
C = 15º C C = 40º C
Se obtiene 15º C y 40º C, lo que te permitirá saber que ropa es la
que se debe empacar para el viaje.
4. Verificar el plan. Una vez que se realice el viaje se podrá comprobar
si la ropa que se eligió de acuerdo a la temperatura obtenida fue o
no la correcta.
Actividad en clases
Un recipiente lleno de pegamento tiene una masa de 35Kg y de 19 Kg cuando sólo está la mitad. Determina la masa del recipiente.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
19
4.4 Comenzar de atrás hacia adelante
Conocido también como encadenamiento hacia atrás o
estrategia del cangrejo, se usa cuando se conoce la
manera en que la situación acaba y se requiere encontrar
un dato intermedio o inicial. Es como dar una voltereta de atrás
hacia adelante.
EjemploEjemploEjemploEjemplo
Cristina y sus amigas se reúnen por las tardes para memorizar
las capitales de los países de América; tienen una semana para realizar
la tarea. El quinto día retuvieron tres capitales más que el cuarto. El
cuarto día aprendieron una menos que el tercero. El tercero
memorizaron cuatro más que el segundo. El segundo memorizaron el
doble que el primero, en el cuál aprendieron solo dos porque se
pusieron a platicar. Si comenzaron el lunes, ¿cuántas capitales deberán
memorizar el fin de semana para estar listas para el examen del lunes
siguiente?
ResoluciónResoluciónResoluciónResolución
1. Entender el problema. Memorizar las capitales de América el fin de
semana considerando las que ya se aprendieron entre semana.
2. Configurar el plan. Para responder a la pregunta debemos saber el
total de capitales que ya fueron memorizadas y cuantos países hay
en el continente americano.
Se utilizará la estrategia de encadenamiento hacia atrás, primero
hagamos un conteo de las que ya estudiaron partiendo del primer
día, es decir, el último dato.
3. Aplicar el plan. En el primero se aprendieron dos, en el segundo el
doble, es decir, cuatro, en el tercero ocho, en el cuarto siete y en el
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
20
quinto diez. Cuando realizamos la suma se obtiene un total de 34.
Como en América hay 38 naciones, sólo deben memorizar cuatro
más.
4. Verificar el plan. Si se memorizan 4 más las 34 que ya sabían, se
completa las 38 de América.
Actividad en clases
En la aprobación de un proyecto de ley presentado ante una comisión de la Asamblea Nacional del Ecuador, hubo 7 votos a favor de representantes del Partido Nuevo Progresista más que del Partido
Popular y el número de votos a favor del Partido Popular fue el doble de los votos a favor de los representantes del Partido Independentista. Hubo 2 representantes del partido Independentista que votaron a favor de la aprobación del proyecto. ¿Con cuántos votos a favor se aprobó el proyecto?
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
21
4.5 Elaboración de una tabla.
Este método resulta útil cuando debes organizar muchos datos o hacer
cálculos recurrentes. En una tabla pueden ordenarse datos de varios
tipos, no sólo numéricos.
EjemploEjemploEjemploEjemplo
Se desea hallar un número entre 2570 y 2580 en el que al
menos dos dígitos sean impares, todos los elementos sean diferentes y
sea divisible entre nueve.
RESOLUCIÓNRESOLUCIÓNRESOLUCIÓNRESOLUCIÓN
1. Entender el problema. Encontrar un número que cumpla con las
condiciones indicadas.
2. Configurar el plan. Para encontrar la solución utilizaremos la
estrategia elaboración de tabla que tenga todos los dígitos posibles
y con las condiciones solicitadas como cabecera de las columnas y
analizar si la cumplen.
3. Aplicar el plan.
Número Dos dígitos
pares Dígitos
distintos
Divisible entre nueve
2571 SI SI NO
2572 SI NO NO
2573 SI SI NO
2574 SI SI SI
2575 SI NO NO
2576 SI SI NO
2577 SI NO NO
2578 SI SI NO
2579 SI SI NO
Después de observar la tabla, tenemos que el número que cumple
con las tres condiciones solicitadas es el 2579.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
22
4. Verificar el plan. El número 2574 tienes dos pares, el 2 y el 4, todos
son distintos y es divisible entre nueve (2574/9=286).
Actividad en clases
Con el propósito de obtener fondos para la actividad de la Alerta Mundial contra el SIDA, doña Cora espera vender 27 cajas de estampas conmemorativas de la actividad. Tiene cajas que
contienen estampas doradas y cajas con estampas plateadas. Cada caja de estampas doradas contiene ocho estampas. Las cajas con estampas plateadas contienen nueve estampas. Si se adquirieron cajas con un total de 230 estampas, ¿cuántas cajas de cada tipo se tienen?
4.6 Planteamiento gráfico de la solución.
En ocasiones, es posible que tanto el problema como su solución se
representen mediante un dibujo, un esquema o un gráfico.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
23
Veamos la situación siguiente. Consiste en cruzar a todas las personas
de una parte del río a la otra parte, y así llegar a la casa (este es un
juego que podrás encontrarlo en internet).
Las reglas son las siguientes:
1) En la barca sólo pueden ir una o dos personas como máximo
(tanto en la ida como en la vuelta).
2) La barca sólo puede ser manejada por el padre, la madre o el
policía. La barca no puede navegar sola.
3) La madre no puede quedarse sola con sus dos hijos sin la
presencia del padre.
4) El padre no puede quedarse sólo con sus dos hijas sin la
presencia de la madre.
5) La delincuente no puede quedarse sola con ningún miembro de
la familia sin que el policía esté presente.
Si tuvieses que resolver en papel, una alternativa sería ir dibujando
los personajes que van en cada viaje. En nuestro caso usaremos la
aplicación y dibujaremos la solución cuando la encontremos.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
24
Actividad en clases
1. Encuentra la solución en tu computador al juego planteado, al final dibuja paso a paso la solución que te permitió cruzar el rio a todas las personas
2. El Buscaminas es un juego aparentemente sencillo de memoria y lógica, además de ser uno de los
juegos de Windows más populares. Tienes que encontrar los recuadros vacíos y evitar las minas
del nivel Principientes. Al final comenta que estrategias de las estudiadas te permitieron ganar el
juego.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
25
Actividad Formativa No. 2 (Estrategias de resolución de problemas )
Desarrolle en un procesador de textos los problemas propuestos, especificando cada paso para resolución de problemas según el método de George Pólya. Se calificará: Carátula, pasos para resolución de cada problema, soluciones acordes a lo que se pide y calidad del documento final.
1.
¿Cuál es la figura que le sigue a estas secuencias?
2. 2.
¿Cuál es el número que le sigue? 1 2 4 7 11 16 ?? 40 35 30 24 18 13 ?? 21 24 32 36 44 49 57 ?? 40 42 47 44 46 51 48 ?? Resuelva que operaciones se necesitarían para obtener los siguientes resultados: 6 6 6 = 6 7 7 7 = 6 8 8 8 = 6
3. 4.
Un barril de vino tiene una masa de 120Kg y una caja de peras 36Kg. ¿Cuál es la masa de una bandeja de higos y un saco de zanahorias si el saco de zanahorias y la caja de peras pesan juntas lo mismo que el barril de vino y la bandeja de higos? La edad de A es el triple de la de B y dentro de 20 años será el doble, Hallar la edad actual de A.
5. Juan García fue a recolectar naranjas a 3 huertas. Los dueños de estas le dieron permiso, siempre y cuando al terminar de cortarlas en las 3 huertas, les diera a cada dueño la mitad de las naranjas recolectadas, más la mitad de una naranja en cada una de las huertas. Al final, a Juan García le quedo únicamente 1 naranja. Determina el total de naranjas que recolecto Juan García en las 3 huertas para que al final le quedara 1.
6. Elena, María y Susana estudian 3 idiomas (francés, italiano y alemán), y entre las tres tienen 16 libros de consulta. De los cuatro libros de Elena, la mitad son de francés y uno es de italiano. María tiene la misma cantidad de libros de Elena, pero solo tiene la mitad de los libros de francés y la misma cantidad de libros de italiano que Elena. Susana tiene tres libros de alemán, pero en cambio tiene tantos libros de italiano como libros de alemán tiene María. ¿Cuántos libros de francés tiene Susana y cuántos libros de cada idioma tienen entre todas?
7. Consiste en que tres misioneros y tres caníbales deben cruzar el río solo con una canoa que puede llevar a dos personas. No puede haber nunca más caníbales de misioneros.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
26
5. La lógica Aristóteles (384-322 a.C.) ha pasado a la
historia, entre otras cosas, como el primer
sistematizador de la lógica. De hecho, sus
propuestas en este campo, junto a las
aportaciones de los estoicos4, han
constituido prácticamente toda la lógica
hasta el siglo XIX. Según Aristóteles "La
lógica es la ciencia de la demostración,
porque se preocupa de dar reglas para
alcanzar la verdad de la evidencia
inmediata, que conocemos por medio de la
demostración".
La palabra lógica deriva del griego antiguo
λογική (logike), que significa «dotado de razón, intelectual, dialéctico,
argumentativo», que a su vez viene de λόγος (logos), «palabra,
pensamiento, idea, argumento, razón o principio».
En términos generales, se puede definir a la lógica como la ciencia
formal que estudia los principios de la demostración e inferencia válida.
Así como el objeto de estudio tradicional de la química es la materia, y
el de la biología la vida, el de la lógica es la inferencia. La inferencia es
el proceso por el cual se derivan conclusiones a partir de premisas5.
4 Estoicos: Del griego stoá, pórtico. Se conoce con este nombre a los representantes del estoicismo, escuela
filosófica fundada hacia el 300 a. C. por Zenón de Citio, que impartió sus doctrinas en un pórtico ateniense
pintado por Polignoto (stoá poikíle), por lo que también se le ha llamado «escuela del Pórtico» o «la Stoa». 5 Premisa: Se denomina premisa a cada una de las proposiciones de un razonamiento que dan lugar a la
consecuencia o conclusión de dicho razonamiento. Las premisas son expresiones lingüísticas que afirman o
niegan algo y pueden ser verdaderas o falsas.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
27
6. La Lógica como fundamento de las Ciencias Computacionales
n las décadas de 1950 y 1960 debido a la
aparición de los computadores, la lógica comienza
una nueva época. Surge en ese entonces la
necesidad de determinar si es posible especificar formalmente
programas y definir sistemas de demostración automática de teoremas.
Estos problemas son los principales objetos de estudio de la lógica
computacional. En los setenta se desarrolla la programación lógica
como herramienta de resolución de problemas. En 1972 aparece el
primer lenguaje de programación lógica: PROLOG, obra de
Colmerauer6. La lógica computacional se puede aplicar en áreas como:
☺ Especificación y verificación de programas. ☺ Demostración automática de teoremas. ☺ Programación lógica. ☺ Inteligencia artificial y sistemas basados en el conocimiento, etc.
Desde este punto de vista, las ciencias computacionales buscan que los programas no sean una secuencia de instrucciones que le señalen al computador, paso a paso, la solución de un problema, sino que sean una especificación de lo que se desea resolver dejando para que el computador determine las acciones necesarias para ello. En este sentido la lógica puede verse como un lenguaje de especificación mediante el cual podemos plantear los problemas de forma rigurosa.
6 Alain Colmerauer es un científico informático francés que en 1984 creó la empresa PrologIA para explotar
el desarrollo de Prolog III. También es uno de los principales fundadores del campo de la de restricciones en
programación lógica.
E
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
28
7. La lógica de programación uchas personas confunden la Programación
con la Lógica de Programación, es
importante aclarar que la primera involucra
el conocimiento de técnicas e instrucciones de un
determinado Lenguaje a través de los cuales se hace
sencillo lograr que la Computadora obtenga unos resultados mucho
más rápidos que una persona. La segunda involucra, de una manera
técnica y organizada, los conceptos que permiten diseñar en términos
generales, la solución a problemas que pueden llegar a ser
implementados a través de una computadora.
Toda persona que pretenda dar solución a problemas a través de una
computadora se enfrenta a dos grandes interrogantes:
� ¿El QUÉ?: Acciones a realizar para poder resolver el problema.
Esta tarea forma parte del trabajo de mesa previo a toda
actividad de programación.
� ¿El CÓMO?: Instrucciones de las que se va a valer para escribir el
código que realice las acciones determinadas en el QUÉ, las
cuales están determinadas por el lenguaje de programación
seleccionado.
La lógica de programación nos ayudará a resolver la primera
interrogante.
8. La lógica aplicada para resolver problemas. n la solución de problemas, el lenguaje es un factor muy
importante, ya que con él se plantea o describe con claridad la
situación que consideramos un problema y el resultado al que
M
E
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
29
queremos llegar. La principal aportación de la lógica es establecer un
conjunto de reglas que permiten determinar cuándo un argumento7 es
correcto.
Un enunciado declarativo que puede ser evaluado como
falso o verdadero recibe el nombre de preposición. Las
preposiciones pueden ser simples o compuestas, las
compuestas están formadas de dos o más proposiciones
simples. Por ejemplo analicemos la siguiente preposición
compuesta:
s: Si este año ahorro lo suficiente y me dan vacaciones, entonces en
diciembre iré de viaje o cambiaré de auto.
La proposición s cumple con las condiciones necesarias para ser
proposición: es una oración declarativa y puede evaluarse como
verdadera o falsa.
Ahora podemos dividir la preposición s en cuatro proposiciones
simples:
p: Este año ahorraré lo suficiente.
q: Me darán vacaciones.
r: En diciembre iré de viaje.
t: En diciembre cambiaré de auto.
Observe que puede cambiar la conjugación de los verbos al formar una
proposición compuesta y que hay palabras como si, y, entonces y o que
unen las proposiciones simples. En Lógica, las palabras que se usan 7 Argumento: Es una serie de razonamientos que se avocan a probar algo y está formado por un conjunto de
enunciados declarativos relacionados entre sí.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
30
para relacionar preposiciones simples y formar compuestas, se las
conoce como conectivos lógicos.
De manera simbólica, se puede escribir la preposición s de la siguiente
forma:
s: Si p y q, entonces r o t
Otro conectivo lógico es la negación, que rechaza la proposición
(simple o compuesta) a la que está aplicada. Por ejemplo, si tenemos la
proposición p: El oxígeno es transportado por la sangre a todo el cuerpo,
la negación de p se escribe ~p, se lee no p y significa “El oxígeno no es
transportado por la sangre a todo el cuerpo”.
Actividad en clases
1. Anota si las proposiciones son falsas (F) o verdaderas (V).
Los perros maúllan o ladran Dos docenas son 36.
5 = 2 + 3 La nieve es fría y húmeda.
El cuadrado de 4 es un número par El agua puede contaminarse.
Dos veces diez es menor que doce 3 x 2 = 6 y 3 + 2 = 7
Anota la negación de las proposiciones verdaderas.2.
Proposición Negación
p: El átomo es la estructura básica de la materia.
q: El átomo está formado por otras partículas.
r: Los átomos tienen núcleo.
r: En el núcleo hay protones.
\
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
31
Redacta cuatro proposiciones compuestas a partir de las proposiciones simples.3.
Proposiciones simples
q: Este año conoceré Galápagos. t: Jambelí es una isla de Machala.
r: Galápagos tiene un cielo hermoso. u: Machala está en El Oro.
s: Tengo dos semanas de vacaciones. v: Voy a ir a El Oro
Proposiciones compuestas
9. Valores de verdad ara representar los nexos entre las proposiciones, existen
unos símbolos que se utilizan en lugar de palabras. En el
cuadro siguiente se muestran los nombres y las
representaciones simbólicas de los conectivos lógicos.
Conectivo Lógico
Nombre Símbolo
NO Negación ~
Y Conjunción ^
O Disyunción v
SI … ENTONCES Implicación ����
Las proposiciones simples o compuestas, se caracterizan por ser falsas
o verdaderas. Cuando se ha tomado una decisión sobre la veracidad o
falsedad de una proposición, se dice que se ha encontrado su valor de
verdad.
P
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
32
Existen reglas para evaluar si una proposición compuesta es falsa o
verdadera. Estas reglas dependen del valor de verdad de las
proposiciones simples. Supongamos que tenemos dos proposiciones
simples p y q, las posibles combinaciones entre las dos proposiciones
serían:
p q
V V
F F
F V
V F
A lo anterior se le conoce como tabla de verdad. Pueden agregarse
columnas en las que se evaluará el valor de verdad de las
proposiciones construidas a partir de p y q mediante conectivos
lógicos.
p q ~p ~q p^q p˅q p����q
V V F F V V V
F F V V F F V
F V V F F V F
V F F V F V V
Se han utilizado letras p y q, en lugar de ejemplos concretos para
resaltar que las reglas establecidas por la Lógica no dependen de un
enunciado, sino solo de su valor de verdad.
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
33
Actividad en clases
1. Completa la siguiente tabla de verdad.
q r r ~r ~s q^r ˅˅˅˅q (~s) s^(~q) (s^~r)^q (q^r)����s
V V V
V V F
V F F
F F F
F V V
F F V
V F V
F V F
10. Algoritmos na de las herramientas que se utilizan en la configuración de
un plan (segundo paso del método de George Pólya) para
resolver problemas son los Algoritmos.
El algoritmo es un conjunto de pasos secuenciales y
ordenados que permiten lograr un objetivo. Que sean
secuenciales significa que deben ser ejecutados uno
después de otro y que sean ordenados quiere decir que
deben llevar un orden casi obligatorio. El algoritmo es el
que permite lograr el objetivo propuesto.
En la naturaleza hay muchos procesos que puedes considerar como
Algoritmos ya que tienen procedimientos y reglas. Incluso, muchas
veces no somos conscientes de ellos. Por ejemplo, el proceso digestivo
es un concepto de algoritmo con el que convivimos a diario sin que
U
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
34
nos haga falta una definición precisa de este proceso. Existen dos tipos
de algoritmos: Algoritmos informales y Algoritmos computacionales.
10.1 Algoritmos Informales
Definidos como todos aquellos algoritmos que no son realizables a
través de una Computadora o al menos no fácilmente. Son aquellos
Algoritmos donde el ejecutor real es el ser humano, como el algoritmo
para dar un beso, el algoritmo para freír unos huevos o el algoritmo
para conseguir un libro. Al utilizar el método de George Pólya lo que
debemos tomar en cuenta antes de estructurar una solución es que se
puede entender el problema, identificando:
☺ El objetivo o fin que se persigue, es decir, especificar claramente
los resultados que se desean obtener.
☺ El o los elementos básicos, es decir, identificar la información
disponible (estado inicial)
☺ El o los condicionantes
EjemploEjemploEjemploEjemplo
Desarrollar un algoritmo que nos permita adquirir un libro
HARRY POTTER Y LA PIEDRA FILOSOFAL de J.K.
Rowling.
ResoluciónResoluciónResoluciónResolución
1. Entender el problema
OBJETIVO: Adquirir el libro HARRY POTTER Y LA PIEDRA
FILOSOFAL.
ELEMENTOS BÁSICOS (DATOS): Nombre del libro HARRY POTTER Y LA
PIEDRA FILOSOFAL, autor J.K. Rowling.
CONDICIONANTES: Adquirir un solo libro.
2. Configuración de un plan: Se utilizará un algoritmo para indicar los pasos
necesarios
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
35
ALGORITMO Adquisicion_Libro Inicio
1. Saber cuál es el libro que se quiere adquirir 2. Desplazarnos hacia una librería 3. Preguntar si tienen el libro que necesitamos 4. Si lo tienen adquirirlo y parar allí (dentro de este algoritmo) Si no lo tienen ir al paso 2
Fin 3. Ejecutar el plan. Seguir los pasos indicados en el algoritmo.
4. Verificar el plan. Si se lograría comprar el libro la solución propuesta
cumple con lo que se pedía.
La tecnología ha avanzado tanto que, muchos algoritmos que en el
pasado no eran implementables a través de una computadora, en la
actualidad lo son y de manera mucho más sencilla como es el caso del
algoritmo para conseguir un libro que anteriormente se pensaba en
librerías y ahora se piensa en un concepto más globalizado, Internet,
con más posibilidad de conseguirlo y con menos trabajo.
Actividad en clases
Resolver los dos problemas indicando solamente los dos primeros pasos del método de George Pólya (En el primer paso detalle el Objetivo(s) o fin(es), los elemento(s) básico(s) y el Condicionante(s); en el segundo paso
utilice un Algoritmo. 1. Cruzar la avenida Don Bosco una sola vez. 2. Desarrollar un algoritmo que permita hacerse amig@ de alguien en una red social, sin
acercarse personalmente antes de hacerse amig@. 3. Suponiendo que se dispone de una cantidad ilimitada de agua, de un recipiente
plástico de 5 litros y de otro de 4 litros de capacidad (los recipientes no tienen medida), indicar cómo se puede colocar exactamente 2 litros de agua en el recipiente de 5 litros.
4. En el juego Ligth-Bot ¿cuáles son los pasos para que el marciano llegue hasta los cuadros azules y prenda la luz? (Avance por lo menos hasta el nivel 10). Por ejemplo en el primer nivel los pasos para llegar son:
Unidad Educativa Técnico Salesiano Primero de Bachillerato – Aplicaciones Informáticas Wilson Cedillo P.
Unidad de Trabajo 1: Lógica Computacional
36
Actividad Formativa No. 3 (Algoritmos Informales )
Resolver los 5 problemas indicando los 2 primeros pasos del método de Pólya. En el primer paso detalle el Objetivo(s) o fin(es), los elemento(s) básico(s) y el Condicionante(s); en el segundo paso utilice un Algoritmo.
1. Hacer un avión con una hoja de papel. 2. Amarrarse los cordones de los dos zapatos 3. Se dispone de una balanza de brazos y de seis objetos de madera (Rojo: R, Verde: V,
Amarillo: A, Negro: N, Fucsia: F, y Café: C); cinco de ellos tienen el mismo peso, mientras que el otro es más pesado. Indicar con un algoritmo cómo se puede encontrarse este último efectuando 2 pesadas como máximo.
4. Suponiendo que se dispone de una cantidad ilimitada de agua, de un recipiente plástico de 4 litros y de otro de 3 litros de capacidad (los recipientes no tienen medida), indicar cómo se puede colocar exactamente 2 litros de agua en el recipiente de 4 litros.
5. Un lechero tiene un cántaro de 8 litros lleno de leche, y dos más de 5 y de 3 litros. Un cliente le pide exactamente 4 litros. ¿Cómo puede calcular los cuatro litros y dárselos en el cántaro de 5 litros? Suba el archivo al aula virtual de PLE en el portal web de la U.E.T.S. en la fecha
establecida por el docente
10.2 Algoritmos Computacionales
Se consideran como tales todos aquellos
Algoritmos que deben ser preferiblemente
implementados en una computadora para
aprovechar su velocidad de procesamiento.
Un ejemplo de estos puede ser el algoritmo
que genere los primeros 100 números primos,
recordando que un número primo es aquel que
solo puede ser dividido exactamente entre la unidad y entre sí mismo,
que si bien podrían ser calculados utilizando un papel y un lápiz, la
utilización de una computadora en unión con el algoritmo adecuado
ofrece un resultado mucho más rápido y absolutamente confiable (de
hecho depende de que el algoritmo igualmente sea muy confiable).