AlgoritmosProgramacion PDF
AlgoritmosProgramacion PDF
AlgoritmosProgramacion PDF
ALGORITMOS Y
PROGRAMACIÓN
GUÍA
PARA DOCENTES
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)
Sin obras derivadas. No se puede alterar, transformar o generar una obra derivada a partir de esta obra.
• 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.
A este documento lo acompaña un Cuaderno de Trabajo para estudiantes que se puede descargar gratuitamente de:
http://www.eduteka.org/GuiaAlgoritmos.php
El autor agradece el envío de cualquier comentario sobre esta Guía a los correos: editor@eduteka.org; jualop@gmail.com
En la mayoría de conjuntos de habilidades propuestos Esto en cuanto a la solución de problemas, pero hay
figuran las habilidades de pensamiento de orden otra habilidad de pensamiento que también se puede
superior entre las que se incluye la destreza para ayudar a desarrollar con un cursos de Algoritmos y
solucionar problemas; por esta razón, se requiere Programación: La Creatividad.
seleccionar estrategias efectivas para ayudar a que los
estudiantes las desarrollen. Para atender esta En los últimos años, la creatividad forma parte de las
necesidad, la programación de computadores constituye prioridades de los sistemas educativos en varios países,
una buena alternativa, siempre y cuando se la enfoque junto a otras habilidades de pensamiento de orden
al logro de esta destreza y no a la formación de superior. Al punto que los Estándares Nacionales
programadores. Es importante insistir en esta Norteamericanos de TIC para Estudiantes (NETS-S)
orientación debido a que las metodologías utilizadas en formulados en 1998, estaban encabezados por
Educación Básica para llevar a cabo cursos de “Operaciones y conceptos básicos de las TIC” y la
Algoritmos y Programación, son heredadas de la Creatividad no figuraba. Sin embargo, en la nueva
educación superior y muchos de los docentes que las versión de estos Estándares, liberada en 2008, la
utilizan se dedican principalmente a enseñar los creatividad encabeza los seis grupos de estándares.
vericuetos de lenguajes de programación profesionales Otro ejemplo muy diciente es la creación en Inglaterra
tales como Java, C++, Visual Basic, etc. Hablar hoy de del Consorcio para la Creatividad que busca promover
aprender a diseñar y construir aplicaciones (programas) en la educación el desarrollo de habilidades de
complejas, implica una labor titánica que en la mayoría pensamiento que conduzcan la formación de personas
de los casos está fuera del alcance de la Educación orientadas a la creatividad y a la innovación.
Básica ya que demanda necesariamente enfoques de
programación como el orientado a objetos al que Una de las razones para que la creatividad se hubiese
apuntan la mayoría de tendencias en Ingeniería de convertido en tema prioritario es que tiene un alto
Sistemas. impacto en la generación de riqueza por parte de las
empresas de la Sociedad de la Creatividad. En esta
Por esta razón, en la Educación Básica es altamente empresas, los reconocimientos profesionales se dan
recomendable utilizar ambientes de programación gracias al talento, la creatividad y la inteligencia. La
basados en Logo, fáciles de utilizar y que permitan creatividad reemplazó las materias primas como fuente
realizar procedimientos que contengan estructuras fundamental de crecimiento económico. Para tener éxito
básicas (secuencial, decisión y repetición), pero siempre en esta nueva Sociedad, las regiones deben desarrollar,
conducentes al desarrollo de habilidades del Siglo XXI. atraer y retener a personas talentosas y creativas que
Solo en los últimos grados de básica secundaria o en la generen innovaciones (Banaji & Burn, 2006). Cada vez
Media Técnica sería aconsejable introducir a los es mayor el número de empresas que fundamentan su
estudiantes a la programación orientada a objetos modelo de negocio en la creatividad y la innovación;
mediante entornos de programación visuales y para ellas, son indispensables personas que además de
amigables como Alice, KPL o Processing. tener los conocimientos requeridos para desempeñarse
en los diferentes cargos, tengan habilidad para pensar y
Desde el punto de vista educativo, la programación de actuar creativamente.
computadores posibilita no solo activar una amplia
variedad de estilos de aprendizaje (Stager, 2003) sino Ejemplo tangible de esto es el que la Comisión Europea,
desarrollar el pensamiento algorítmico. Adicionalmente, consciente de la importancia que tienen la creatividad y
Pág.4 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
la innovación para el desarrollo social y económico de ayuda en la solución de problemas. Esto sugiere
los países del viejo continente, decidiera proclamar el que una evaluación autentica en matemáticas debe
2009 como el “Año de la Creatividad y la Innovación” realizarse con libro y cuaderno abiertos, permitir el
(http://create2009.europa.eu/). uso de calculadora y computador; en cuyo caso el
computador puede aportar un ambiente de
El reto enorme que recae hoy sobre los sistemas aprendizaje y evaluación enriquecidos.
educativos consiste en lograr que se generen las • Adicionalmente, hay otros campos más avanzados
estrategias adecuadas para que los estudiantes se de las matemáticas que también se pueden impactar
desarrollen como pensadores creativos. Así como para con un curso de algoritmos y programación:
la sociedad griega en tiempos de Alejandro el Grande Inteligencia artificial, robótica, aprendizaje asistido
era prioridad que las personas desarrollaran su cuerpo por computador (CAL), aprendizaje asistido por
como preparación para los quehaceres del campo de computador altamente interactivo e inteligente
batalla, para la sociedad actual es prioritario que las (HIICAL), etc.
personas desarrollen sus habilidades de pensamiento
de orden superior para que pueden desempeñarse con Es muy importante tener presente que resolver
éxito en ella. Pero, dado que el desarrollo de estas problemas matemáticos mediante procedimientos tiene
habilidades se debe iniciar desde edad temprana, la
dos ciclos: uno en el cual se resuelve el problema
educación debe asumir su cuota de responsabilidad en
matemático en sí (con papel y lápiz) y otro en el que esa
esta importante tarea.
solución se automatiza en el computador. Crear un
procedimiento para calcular el área de cualquier
Desde este punto de vista, la presente “Guía de rectángulo a partir de las dimensiones de sus lados,
Algoritmos y Programación”, dirigida a docentes de requiere que el estudiante primero resuelva el problema
Educación Básica, se concentra en el desarrollo de la
matemático (entender el problema, trazar un plan,
creatividad y de habilidades para solucionar problemas
ejecutar el plan y revisar) y luego elabore el
predefinidos. Para facilitar a los docentes su utilización
procedimiento que pida los datos de entrada, realice los
en el aula, los ejemplos que se proponen corresponden cálculos y muestre el resultado (analizar el problema,
a temas de Matemáticas y Ciencias Naturales para diseñar un algoritmo, traducir el algoritmo a un lenguaje
grados cuarto y quinto de Básica Primaria. de programación y depurar el programa).
Una de las acepciones que trae el Diccionario de Real empíricas para llegar a una solución. El método
Academia de la Lengua Española (RAE) respecto a la heurístico conocido como “IDEAL”, formulado por
palabra Problema es “Planteamiento de una situación Bransford y Stein (1984), incluye cinco pasos:
cuya respuesta desconocida debe obtenerse a través de Identificar el problema; definir y presentar el
métodos científicos”. Con miras a lograr esa respuesta, problema; explorar las estrategias viables; avanzar
un problema se puede definir como una situación en la en las estrategias; y lograr la solución y volver para
cual se trata de alcanzar una meta y para lograrlo se evaluar los efectos de las actividades (Bransford &
deben hallar y utilizar unos medios y unas estrategias. Stein, 1984). El matemático Polya (1957) también
La mayoría de problemas tienen algunos elementos en formuló un método heurístico para resolver
común: un estado inicial; una meta, lo que se pretende problemas que se aproxima mucho al ciclo utilizado
lograr; un conjunto de recursos, lo que está permitido para programar computadores. A lo largo de esta
hacer y/o utilizar; y un dominio, el estado actual de Guía se utilizará este método propuesto por Polya.
conocimientos, habilidades y energía de quien va a • Algoritmos : Consiste en aplicar adecuadamente
resolverlo (Moursund, 1999). una serie de pasos detallados que aseguran una
solución correcta. Por lo general, cada algoritmo es
Casi todos los problemas requieren, que quien los específico de un dominio del conocimiento. La
resuelve, los divida en submetas que, cuando son programación de computadores se apoya en este
dominadas (por lo regular en orden), llevan a alcanzar el método, tal como veremos en la Unidad 2.
objetivo. La solución de problemas también requiere que • Modelo de procesamiento de información : El
se realicen operaciones durante el estado inicial y las modelo propuesto por Newell y Simon (1972) se basa
submetas, actividades (conductuales, cognoscitivas) que en plantear varios momentos para un problema
alteran la naturaleza de tales estados (Schunk, 1997). (estado inicial, estado final y vías de solución). Las
posibles soluciones avanzan por subtemas y
Cada disciplina dispone de estrategias específicas para requieren que se realicen operaciones en cada uno
resolver problemas de su ámbito; por ejemplo, resolver de ellos.
problemas matemáticos implica utilizar estrategias • Análisis de medios y fines : Se funda en la
propias de las matemáticas. Sin embargo, algunos comparación del estado inicial con la meta que se
psicólogos opinan que es posible utilizar con éxito pretende alcanzar para identificar las diferencias.
estrategias generales, útiles para resolver problemas en Luego se establecen submetas y se aplican las
muchas áreas. A través del tiempo, la humanidad ha operaciones necesarias para alcanzar cada submeta
utilizado diversas estrategias generales para resolver hasta que se alcance la meta global. Con este
problemas. Schunk (1997), Woolfolk (1999) y otros, método se puede proceder en retrospectiva (desde la
destacan los siguientes métodos o estrategias de tipo meta hacia el estado inicial) o en prospectiva (desde
general: el estado inicial hacia la meta).
• Ensayo y error : Consiste en actuar hasta que algo • Razonamiento analógico : Se apoya en el
funcione. Puede tomar mucho tiempo y no es seguro establecimiento de una analogía entre una situación
que se llegue a una solución. Es una estrategia que resulte familiar y la situación problema. Requiere
apropiada cuando las soluciones posibles son pocas conocimientos suficientes de ambas situaciones.
y se pueden probar todas, empezando por la que • Lluvia de ideas : Consiste en formular soluciones
ofrece mayor probabilidad de resolver el problema. viables a un problema. El modelo propuesto por
Por ejemplo, una bombilla que no prende: revisar la Mayer (1992) plantea: definir el problema; generar
bombilla, verificar la corriente eléctrica, verificar el muchas soluciones (sin evaluarlas); decidir los
interruptor. criterios para estimar las soluciones generadas; y
• Iluminación : Implica la súbita conciencia de una emplear esos criterios para seleccionar la mejor
solución que sea viable. Es muy utilizado el modelo solución. Requiere que los estudiantes no emitan
de cuatro pasos formulado por Wallas (1921): juicios con respecto a las posibles soluciones hasta
preparación, incubación, iluminación y verificación. que terminen de formularlas.
Estos cuatro momentos también se conocen como • Sistemas de producción : Se basa en la aplicación
proceso creativo. Algunas investigaciones han de una red de secuencias de condición y acción
determinado que cuando en el periodo de incubación (Anderson, 1990).
se incluye una interrupción en el trabajo sobre un • Pensamiento lateral : Se apoya en el pensamiento
problema se logran mejores resultados desde el creativo, formulado por Edwar de Bono (1970), el
punto de vista de la creatividad. La incubación ayuda cual difiere completamente del pensamiento lineal
a "olvidar" falsas pistas, mientras que no hacer (lógico). El pensamiento lateral requiere que se
interrupciones o descansos puede hacer que la exploren y consideren la mayor cantidad posible de
persona que trata de encontrar una solución creativa alternativas para solucionar un problema. Su
se estanque en estrategias inapropiadas. importancia para la educación radica en permitir que
• Heurística : Se basa en la utilización de reglas el estudiante: explore (escuche y acepte puntos de
Pág.7 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
vista diferentes, busque alternativas); avive ejemplo, en “Recreo Matemático 5” (Díaz, 1993) y en “Dominios 5”
(promueva el uso de la fantasía y del humor); libere (Melo, 2001) se pueden identificar las siguientes sugerencias
(use la discontinuidad y escape de ideas propuestas a los estudiantes para llegar a la solución de un problema
preestablecidas); y contrarreste la rigidez (vea las matemático:
cosas desde diferentes ángulos y evite 1. COMPRENDER EL PROBLEMA.
dogmatismos). Este es un método adecuado cuando • Leer el problema varias veces
el problema que se desea resolver no requiere
• Establecer los datos del problema
información adicional, sino un reordenamiento de la
información disponible; cuando hay ausencia del • Aclarar lo que se va a resolver (¿Cuál es la pregunta?)
problema y es necesario apercibirse de que hay un • Precisar el resultado que se desea lograr
problema; o cuando se debe reconocer la posibilidad • Determinar la incógnita del problema
de perfeccionamiento y redefinir esa posibilidad como • Organizar la información
un problema (De Bono, 1970).
• Agrupar los datos en categorías
Como se puede apreciar, hay muchas estrategias para • Trazar una figura o diagrama.
solucionar problemas; sin embargo, esta Guía se enfoca 2. HACER EL PLAN.
principalmente en dos de estas estrategias: Heurística y • Escoger y decidir las operaciones a efectuar.
Algorítmica. • Eliminar los datos inútiles.
• Descomponer el problema en otros más pequeños.
Según Polya (1957), cuando se resuelven problemas, 3. EJECUTAR EL PLAN (Resolver).
intervienen cuatro operaciones mentales: • Ejecutar en detalle cada operación.
1. Entender el problema • Simplificar antes de calcular.
2. Trazar un plan • Realizar un dibujo o diagrama
3. Ejecutar el plan (resolver) 4. ANALIZAR LA SOLUCIÓN (Revisar).
4. Revisar • Dar una respuesta completa
• Hallar el mismo resultado de otra manera.
Numerosos autores de textos escolares de matemáticas • Verificar por apreciación que la respuesta es adecuada.
hacen referencia a estas cuatro etapas planteadas por
Polya. Sin embargo, es importante notar que estas son EJEMPLO
flexibles y no una simple lista de pasos como a menudo En un juego, el ganador obtiene una ficha roja; el segundo, una ficha
se plantea en muchos de esos textos (Wilson, azul; y el tercero, una amarilla. Al final de varias rondas, el puntaje se
Fernández & Hadaway, 1993). Cuando estas etapas se calcula de la siguiente manera: Al cubo de la cantidad de fichas rojas
siguen como un modelo lineal, resulta contraproducente se adiciona el doble de fichas azules y se descuenta el cuadrado de
para cualquier actividad encaminada a resolver las fichas amarillas. Si Andrés llegó 3 veces en primer lugar, 4 veces
problemas. de último y 6 veces de intermedio, ¿Qué puntaje obtuvo? (Adaptado
de Melo (2001), página 30).
R/.
COMPRENDE
• Leer detenidamente el problema
• ¿Cuántos colores de fichas se reparten?
• ¿Cuántas fichas rojas, azules y amarillas obtuvo Andrés?
• ¿Qué pregunta el problema?
PLANEA
• Para hallar el puntaje que obtiene Andrés por sus llegadas de
primero, calcular el cubo de la cantidad de fichas rojas.
Ilustración 1-1: Interpretación dinámica y cíclica de las etapas
• Para hallar el puntaje por sus llegadas en segundo lugar, calcular
planteadas por Polya para resolver problemas.
el doble de la cantidad de fichas azules.
• Para hallar el puntaje que pierde por sus llegadas en último
Es necesario hacer énfasis en la naturaleza dinámica y
lugar, calcular el cuadrado de la cantidad de fichas amarillas.
cíclica de la solución de problemas. En el intento de
trazar un plan, los estudiantes pueden concluir que • Para hallar el puntaje total, calcular la suma de los puntajes por
las fichas rojas y azules, restarle los puntos de las fichas
necesitan entender mejor el problema y deben regresar
amarillas.
a la etapa anterior; o cuando han trazado un plan y
RESUELVE
tratan de ejecutarlo, no encuentran cómo hacerlo;
entonces, la actividad siguiente puede ser intentar con • Por tres fichas rojas: 33 = 27 puntos
un nuevo plan o regresar y desarrollar una nueva • Por seis fichas azules: 6 x 2 = 12 puntos
comprensión del problema (Wilson, Fernández & • Por cuatro fichas amarillas: 42 = 16 puntos
Hadaway, 1993; Guzdial, 2000). • Para obtener el puntaje final de Andrés, sumar los puntos
obtenidos con las fichas rojas y azules (27 + 12 = 39 puntos) y de
TIP este resultado restar los puntos representados por las fichas
La mayoría de los textos escolares de matemáticas abordan la amarillas (39 – 16 = 23 puntos).
Solución de Problemas bajo el enfoque planteado por Polya. Por REVISA
Pág.8 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
• El puntaje que obtuvo Andrés es 23 puntos. • Fomentar la utilización de representaciones visuales
• Verificar las operaciones y comparar los cálculos con la solución que favorezcan la comprensión de conceptos
estimada. (diagramas de flujo, mapas conceptuales, diagramas
de Venn, etc).
El anterior es un problema típico en clase de • Dar retroalimentación personalizada en
matemáticas. Es muy importante que los estudiantes consideración al esfuerzo hecho por los estudiantes
reflexionen sobre las actividades que realizan para para solucionar problemas.
solucionarlo (metacognición) y las agrupen de acuerdo a • Verificar que una cantidad importante de la
las etapas que contenga la estrategia de solución instrucción ocurra en grupos pequeños o en
empleada. situaciones de uno a uno.
• Ventilar los errores y malentendidos más comunes.
ACTIVIDAD • Promover la interacción tanto estudiante-docente,
En la academia de las ciencias sociales hay dos grupos de materias: como estudiante-estudiante. Los niños son los
Geografía, con 124 alumnos; Historia, con 220; y Educación mejores maestros de otros niños en cosas tan
Ambiental, con 185. Si hay 25 alumnos que estudian Geografía y importantes para ellos como el aprendizaje de
Educación Ambiental, 37 que estudian Educación Ambiental e diversos juegos (Savater, 1996).
Historia, y ninguno toma las tres materias, ¿cuántos alumnos tiene la
academia? (Adaptado de Melo, 2001, página 46).
• Ofrecer actividades que den oportunidad a los
estudiantes de discutir, hacer conjeturas, sacar
conclusiones, defender ideas y escribir
El estudiante debe tener en cuenta (y anotar) las actividades que
conceptualizaciones.
realiza para resolver este problema y agruparlas en cada una de las
cuatro etapas propuestas por Polya (comprende, planea, resuelve y • Proporcionar oportunidades para realizar trabajo
revisa). Para resolver este problema, los estudiantes deben tener reflexivo y colaborativo entre estudiantes.
conocimientos sobre conjuntos (representación, clasificación e
intersección). Es buena idea que construyan una tabla para
organizar la información y un diagrama de Venn para representar los Solución de problemas y programación
datos. Desde el punto de vista educativo, la solución de
problemas mediante la programación de computadores
posibilita la activación de una amplia variedad de estilos
Establecer un modelo para solucionar problemas es un de aprendizaje. Los estudiantes pueden encontrar
paso fundamental pero no suficiente. Según Clements & diversas maneras de abordar problemas y plantear
Meredith (1992) y Zemelman, Daniels & Hyde (1998) y soluciones, al tiempo que desarrollan habilidades para:
otros, los docentes deben adoptar una serie de buenas visualizar caminos de razonamiento divergentes,
prácticas con el fin de ayudar a los estudiantes a anticipar errores, y evaluar rápidamente diferentes
desarrollar habilidades para resolver problemas: escenarios mentales (Stager, 2003).
• Plantear verbalmente problemas con variedad de
estructuras y de formas de solución.
• Presentar diversas estrategias de solución de
problemas.
• Asignar problemas que tengan aplicación en la vida
diaria.
• Ofrecer experiencias que estimulen la curiosidad de
los estudiantes y construyan confianza en la
investigación, la solución de problemas y la
comunicación.
• Permitir a los estudiantes tomar la iniciativa en el
planteamiento de preguntas e investigaciones que les
interesen.
• Hacer preguntas que involucren pensamiento de
orden superior.
• Verificar que los estudiantes son conscientes de las
estrategias que deben utilizar y de los procesos que
deben aprender.
• Plantear problemas que proporcionen contextos en
los que se aprendan conceptos y habilidades.
• Proveer ejemplos de cómo los conceptos y
habilidades utilizados podrían aplicarse en otros Ilustración 1-2(a): Área de trabajo de MicroMundos EX
contextos. (interfaz del programa)
• Promover, de manera creciente, la abstracción y la
generalización mediante la reflexión y la Quienes han utilizado Logo con estudiantes de básica
experimentación. primaria (especialmente con grados 3º a 5º - 8 a 11
Pág.9 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
años) habrán podido observar la facilidad con que ellos esperado. Así, Logo promueve lo que Piaget (1964)
se familiarizan con la interfaz del programa y la utilizan denominó “la conquista de la difícil conducta de la
para darle instrucciones a la tortuga. Por ejemplo, reflexión” que se inicia a partir de los siete u ocho años
utilizan el “centro de mando” (área de comandos) para cuando niños y niñas dejan de actuar por impulso y
introducir manualmente, una a una, las instrucciones empiezan a pensar antes de proceder. Además,
para construir un rectángulo. Esta forma de utilizar Logo demanda de los estudiantes planificar, formular hipótesis
promueve la exploración y permite al estudiante ver y anticipar qué sucederá.
inmediatamente cuál es el efecto que produce cada
instrucción ejecutada.
EJEMPLO
Pedir a los estudiantes que escriban un procedimiento para dibujar
un rectángulo con unas medidas determinadas (Lado1= 80;
Lado2=120), implica que ellos deben pensar en algo muy parecido a
lo siguiente (y escribirlo):
MicroMundos Scratch
para rectángulo
cp
adelante 80
derecha 90
adelante 120
derecha 90
adelante 80
derecha 90
adelante 120
Fin
La Opción 1 plantea directamente el problema que el estudiante Determinar con claridad cuál es el resultado final
debe resolver. Mientras que la Opción 2 plantea una situación y la (producto) que debe devolver el programa es algo que
pregunta es ¿Qué debe hacer Felipe?. La Opción 2 demanda al ayuda a establecer la meta. Es necesario analizar qué
estudiante leer muy bien el texto para comprender la situación y así resultados se solicitan y qué formato deben tener esos
poder formular el problema de Juan Felipe. Es algo similar a resultados (impresos, en pantalla, diagramación, orden,
preguntar al estudiante “cuánto es 7 menos 3” versus preguntar “sí etc). El estudiante debe preguntarse:
Rosa tiene 7 naranjas y Julio tiene 3, cuántas naranjas de más tiene • ¿Qué información me solicitan?
Rosa”. • ¿Qué formato debe tener esta información?
La comprensión lingüística del problema (entender el
significado de cada enunciado) es muy importante. El
Identificar datos disponibles
estudiante debe realizar una lectura previa del problema
(estado inicial)
con el fin de obtener una visión general de lo que se le
Otro aspecto muy importante en la etapa de análisis del
pide y una segunda lectura para poder responder
problema consiste en determinar cuál es la información
preguntas como:
disponible. El estudiante debe preguntarse:
• ¿Puedo definir mejor el problema?
• ¿Qué información es importante?
• ¿Qué palabras del problema me son desconocidas?
• ¿Qué información no es relevante?
• ¿Cuáles son las palabras clave del problema?
• ¿Cuáles son los datos de entrada? (conocidos)
• ¿He resuelto antes algún problema similar?
• ¿Cuál es la incógnita?
• ¿Qué información es importante?
• ¿Qué información me falta para resolver el
• ¿Qué información puedo omitir?
problema? (datos desconocidos)
Pág.12 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
• ¿Puedo agrupar los datos en categorías?
Establecer procesos (operaciones)
Otro aspecto importante del estado inicial hace Consiste en determinar los procesos que permiten llegar
referencia al nivel de conocimiento que el estudiante a los resultados esperados a partir de los datos
posee en el ámbito del problema que está tratando de disponibles. El estudiante debe preguntarse:
resolver. Es conveniente que el estudiante se pregunte a • ¿Qué procesos necesito?
sí mismo: • ¿Qué fórmulas debo emplear?
• ¿Qué conocimientos tengo en el área o áreas del • ¿Cómo afectan las condiciones a los procesos?
problema? • ¿Qué debo hacer?
• ¿Son suficientes esos conocimientos? • ¿Cuál es el orden de lo que debo hacer?
• ¿Dónde puedo obtener el conocimiento que necesito
para resolver el problema? En la medida de lo posible, es aconsejable dividir el
• ¿Mis compañeros de estudio me pueden ayudar a problema original en otros más pequeños y fáciles de
clarificar mis dudas? solucionar (submetas), hasta que los pasos para
• ¿Qué expertos en el tema puedo consultar? alcanzarlas se puedan determinar con bastante
precisión (módulos). Esto es lo que en programación se
En el ámbito de las matemáticas, se conoce como denomina diseño descendente o top-down (Joyanes,
conocimiento condicional a aquel que activan los 2001).
estudiantes cuando aplican procedimientos matemáticos
concretos de manera intencional y consciente a ciertas El diseño descendente se utiliza en la programación
situaciones. “El conocimiento condicional proporciona al estructurada de computadores debido a que facilita:
alumno un sistema de valoración sobre la extensión y • La comprensión del problema
las limitaciones de su saber (qué sabe sobre el tema, su • Las modificaciones en los módulos
capacidad de memoria, etc), a la vez que examina la • La verificación de la solución
naturaleza de la demanda del profesor y su objetivo
último, y evalúa variables externas como pueden ser el Al realizar divisiones sucesivas del problema en otros
tiempo que tiene o con quién realiza la tarea” (Orubia & más pequeños y manejables (módulos), hay que tener
Rochera & Barberà, 2001). cuidado para no perder de vista la comprensión de este
como un todo. El estudiante, luego de dividir el problema
EJEMPLO original en submetas (módulos), debe integrar cada
Esteban está ahorrando para comprar una patineta que vale 55.000 parte de tal forma que le permita comprender el
pesos. Su papá le ha dado una mesada de 5.000 pesos durante 7 problema como un todo (Woolfolk, 1999).
semanas. Por lavar el auto de su tío tres veces recibió 8.000 pesos.
Su hermano ganó 10.000 pesos por hacer los mandados de su Igualmente hay que tener cuidado cuando se utiliza este
mamá y 4.000 por sacar a pasear el perro. ¿Esteban tiene ahorrado enfoque para resolver problemas complejos o extensos,
el dinero suficiente para comprar la patineta o aún le falta? en cuyo caso resulta más aconsejable utilizar una
(Adaptado de Casasbuenas & Cifuentes (1998b), página 23). metodología orientada a objetos. Especialmente, cuando
R/. profesores universitarios manifiestan su preocupación
Formular el problema: Ya se encuentra claramente planteado. por el aprendizaje de malas prácticas de programación
Resultados esperados: Si o no tiene Esteban ahorrado el dinero en el colegio. Hay casos en los cuales algunos
suficiente para comprar una patineta que vale 55.000 pesos. estudiantes no han podido cambiar su forma de pensar
Datos disponibles: Los ingresos de Esteban: 5.000 pesos por 7 “estructurada” por otra orientada a objetos, la cual hace
semanas + 8.000 pesos. Los 10.000 y 4.000 pesos qué ganó el parte de los programas universitarios modernos en la
hermano de Esteban son irrelevantes para la solución de este carrera de Ingeniería de Sistemas. Es aconsejable que
problema y se pueden omitir. los ejemplos y actividades planteados a los estudiantes
contengan solo un problema cuya solución sea muy
corta (no necesariamente sencillo de resolver). De esta
Determinar las restricciones forma ellos podrán enfocarse en aplicar completamente
Resulta fundamental que los estudiantes determinen la metodología propuesta para analizar problemas
aquello que está permitido o prohibido hacer y/o utilizar (formular el problema, especificar los resultados,
para llegar a una solución. En este punto se deben identificar la información disponible, determinar las
exponer las necesidades y restricciones (no una restricciones y definir los procesos) sin perderse en el
propuesta de solución). El estudiante debe preguntarse: laberinto de un problema demasiado complejo.
• ¿Qué condiciones me plantea el problema?
• ¿Qué está prohibido hacer y/o utilizar? Las operaciones para llegar a los resultados esperados
• ¿Qué está permitido hacer y/o utilizar? se implementan en Logo mediante procedimientos. Por
• ¿Cuáles datos puedo considerar fijos (constantes) ejemplo, si se desea producir un software para trabajar
para simplificar el problema? con figuras geométricas de diferentes tipos, el triángulo
• ¿Cuáles datos son variables? rectángulo será uno de los objetos a tener en cuenta y
• ¿Cuáles datos debo calcular? este a su vez, debe prestar los siguientes servicios
(Jiménez, 2002):
Pág.13 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
1. Un procedimiento para leer los datos de entrada. Cinco pasos que deben tener en cuenta los estudiantes para resolver
2. Un procedimiento para calcular el área. problemas matemáticos (Rodríguez, 1995):
3. Un procedimiento para calcular la hipotenusa. 1. Leer con mucho cuidado el problema hasta entenderlo.
4. Un procedimiento para calcular el perímetro. 2. Buscar la(s) pregunta(s).
5. Un procedimiento para mostrar los resultados. 3. Decidir lo que debes hacer.
4. Realizar las operaciones.
5. Comprobar que la respuesta hallada es correcta.
Pida a los estudiantes que contesten las siguientes preguntas en el
proceso de solución de problemas matemáticos:
• ¿Cuántas preguntas tiene el problema? ¿Cuáles?
• ¿Qué debes hacer primero? ¿Para qué?
• ¿Qué debes hacer luego? ¿Para qué?
• ¿Cuál debe ser la respuesta (estimada) del problema?
ACTIVIDAD
Basándose en la metodología expuesta en esta unidad, dividir a los
estudiantes en grupos y distribuir entre ellos la tarea de análisis
detallado (“Formular el problema”, “Resultados esperados”, “Datos
Ilustración 1-6: Descripción de los servicios que debe estar en disponibles”, “Determinar las restricciones” y “Procesos necesarios”)
capacidad de prestar el objeto “triángulo rectángulo”. de los siguientes problemas (uno por grupo):
1. Hallar el área de un cuadrado cuyo lado mide 5 cm.
EJEMPLO 2. Hallar uno de los lados de un rectángulo cuya área es de 15 cm2
De acuerdo con la metodología descrita, analizar el problema de y uno de sus lados mide 3 cm.
hallar el área de un triángulo rectángulo cuya Base mide 3 cm, la 3. Hallar el área y el perímetro de un círculo cuyo radio mide 2 cm.
Altura 4 cm y la Hipotenusa 5 cm. 4. Hallar el área de un pentágono regular de 6 cm de lado y con 4
R/ cm de apotema.
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El área de un triángulo rectángulo. Dato Curioso
Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo. La Deep Blue de IBM fue el primer computador que superó a un
incógnita es el área y todos los valores son constantes. El valor de la campeón mundial de ajedrez cuando le ganó una partida a Gary
hipotenusa se puede omitir. El estudiante debe preguntarse si sus Kasparov en febrero de 1996. La victoria de Deep Blue formaba
conocimientos actuales de matemáticas le permiten resolver este parte de una serie de seis partidas, que Kasparov terminó ganando
problema; de no ser así, debe plantear una estrategia para obtener 4-2. En 1997, una versión nueva y mejorada de Deep Blue
los conocimientos requeridos. contraatacó en una segunda serie. Esta vez, el computador, capaz
Determinar las restricciones: Utilizar las medidas dadas. de planear una vertiginosa cantidad de 200 millones de posiciones
Procesos necesarios: Guardar en dos variables los valores de Base por segundo, ganó la serie a Kasparov por 3.5 a 2.5 puntos. (Libro
y Altura; Guardar en una constante el divisor 2; aplicar la fórmula Gunness de los Records 2002)
área=base*altura/2; comunicar el resultado (área).
ACTIVIDAD
La mayoría de las metodologías propuestas para la solución de
problemas matemáticos se aproxima al ciclo de programación de
computadores. Se puede iniciar planteando a los estudiantes
problemas matemáticos como los siguientes, encontrados en
Casasbuenas & Cifuentes (1998b):
1. Luisa quiere invertir sus ahorros en la compra de discos
compactos de moda. Si tiene $68.000, ¿Cuántos discos
comprará?
Analizar el problema:
• ¿Qué tienes en cuenta cuando vas a comprar un disco?
• ¿Tienes información suficiente para resolver el problema de
Luisa? Ilustración 1-7: Fases segunda, tercera y cuarta, del ciclo de
programación.
• ¿Qué dato averiguarías para saber cuántos discos puede
comprar Luisa?
Plantear ahora este problema utilizando la metodología de “Formular
el problema”, “Resultados esperados”, “Datos disponibles”, Diseñar el algoritmo (trazar un plan)
“Determinar las restricciones” y “Procesos necesarios”. Este tema se tratará en profundidad en las unidades 2 y
3 de esta guía. Por el momento, podemos resumir que
TIP únicamente hasta cuando se ha realizado un análisis a
EJEMPLO
Complementar la solución del problema de hallar el área de un
triángulo rectángulo cuya Base mide 3 cm, la Altura 4 cm y la
Hipotenusa 5 cm.
R/
La base y la altura son suficientes para calcular el área de un
triángulo rectángulo (resultado esperado), pero adicionalmente se
puede calcular el perímetro (afinación), aplicando la fórmula:
perímetro=Base+Altura+Hipotenusa
Dato Curioso
Spacewar es el primer videojuego del mundo. Se empezó a utilizar
en 1961 en el Massachusetts Institute of Technology (MIT) en un
computador PDP-1. Se trataba de un juego de combate espacial en
el que dos naves alrededor de una estrella central debían derribarse
entre ellas. Programado como diversión por estudiantes del MIT ,
este juego fue el precursor de todos los videojuegos modernos. El
computador PDP-1 se puso a la venta en 1960 y costaba 120.000
dólares (el equivalente a 930.000 dólares actuales) y en total se
vendieron 50 unidades. El PDP-1 es el antepasado del computador
personal actual y se concibió para su uso en instituciones científicas.
Disponía de una memoria de 4Kb y los operadores empleaban un
teclado y cinta de papel perforado para la introducción de datos. (Libro
Guinness de los Records, 2002).
.
Si se quiere llegar a un planteamiento, para Educación final llega a ser aceptada por un grupo cultural
Básica, que contribuya efectivamente a desarrollar la particular”.
creatividad programando computadores, es conveniente
como primera medida, llegar a un acuerdo sobre qué es En los Estándares Nacionales Estadounidenses de TIC
la creatividad, pues varios autores la definen de manera para Estudiantes (NETS’S), reformulados por ISTE, el
diferente. primer grupo corresponde a Creatividad e Innovación.
Para ISTE, los estudiantes al finalizar sus Educación
De acuerdo con el Diccionario de la Real Academia Media deben demostrar pensamiento creativo, construir
Española (RAE), creatividad es la facultad de crear o la conocimiento y desarrollar productos y procesos
capacidad de creación. Por su parte, la enciclopedia innovadores utilizando las TIC.
Microsoft Encarta define la Creatividad como la
capacidad de inventar algo nuevo, de relacionar algo Según ISTE (2007), los estudiantes deben estar en
conocido de forma innovadora o de apartarse de los capacidad de aplicar su conocimiento previo para
esquemas de pensamiento y conducta habituales. generar nuevas ideas, productos o procesos; crear
Según Wikipedia, la creatividad es un proceso mental y trabajos originales como medios de expresión personal
social que implica generar nuevas ideas o conceptos, o o grupal; usar modelos y simulaciones para explorar
nuevas asociaciones entre ideas y conceptos conocidos, sistemas y temas complejos; e identificar tendencias y
lo que habitualmente produce soluciones originales. Las prever posibilidades.
definiciones anteriores se refieren al acto de inventar
cualquier cosa nueva (Ingenio), a la capacidad de Según el Comité Consultivo Nacional para la Educación
encontrar soluciones originales y a la voluntad de Creativa y Cultural de Inglaterra (NACCCE, por su sigla
modificar o transformar el mundo. en Inglés), la creatividad se define como la actividad
imaginativa que tiene como objetivo producir resultados
Ana Craft (2001) anota que las definiciones de tanto originales como generadores de valor (Robinson,
creatividad más aceptadas en los últimos 50 años son 1999).
aquellas que unen creatividad e imaginación. Este
enfoque sugiere que cada persona tiene potencial Para el Consorcio de Habilidades de Aprendizaje para el
creativo ya que este es un aspecto fundamental de la Siglo XXI, las habilidades de aprendizaje e innovación
naturaleza humana. Ella se refiere a la “creatividad con c se están reconociendo como aquellas que separan a los
minúscula” como la habilidad para hacer frente, de estudiantes que están preparados para los ambientes de
manera efectiva, a los retos y cambios que nos plantea vida y de trabajo del Siglo XXI, cada vez más complejos,
la vida en el siglo XXI. Esta es la creatividad que sirve de los que no lo están. Hacer énfasis en creatividad,
para afrontar tareas cotidianas (elaborar una nueva pensamiento crítico, comunicación y colaboración es
receta o un arreglo floral, escribir una carta o poema, esencial en la preparación de los estudiantes para el
enseñar un nuevo truco a alguien, etc). También entra futuro. Entre las competencias de creatividad e
en juego cuando se deben superar obstáculos tales innovación que propone el Consorcio están: demostrar
como desempleo y pobreza o aprovechar originalidad e inventiva en el trabajo; desarrollar,
oportunidades. Esta “creatividad” se contrapone a la implementar y comunicar nuevas ideas a otros; tener
“Creatividad con C mayúscula” propuesta por el apertura y responder a perspectivas nuevas y diversas;
psiquiatra Gene Cohen (citado por Banaji & Burn, 2006), y actuar con ideas creativas para realizar una
que caracteriza los logros extraordinarios de personas contribución tangible y útil en el campo en el que ocurre
poco corrientes como artistas renombrados, científicos e la innovación.
inventores.
Por su parte, el Consorcio para la Creatividad propone
Stenberg (1997), autor reconocido en este campo, que ésta se refiere a mucho más que “hacer arte”. La
argumenta que la creatividad no es solo una capacidad, creatividad tiene que ver con el desarrollo de la
sino un proceso en el que intervienen tres tipos de capacidad para: cuestionar, hacer conexiones, innovar,
inteligencia: creativa (ir más allá de lo dado y engendrar resolver problemas y reflexionar críticamente; todas
ideas nuevas e interesantes), analítica (analizar y éstas son habilidades altamente valoradas en el mundo
evaluar ideas, resolver problemas y tomar decisiones) y laboral actual; y agregan, “el aprendizaje creativo
práctica (traducir teorías abstractas en realizaciones empodera a los jóvenes a imaginar un mundo diferente y
efectivas). Estas dos últimas inteligencias aportan la les da confianza y motivación para llevar a cabo lo que
posibilidad de diferenciar entre ideas innovadoras imaginan” (Creative Partnerships, 2006).
buenas y malas y, además, relacionarlas con la vida
cotidiana (López, 2000). Por su parte, Gardner (1993) Son muchas las definiciones que intentan explicar el
define a la persona creativa como alguien que concepto de creatividad, aquí solo se exponen algunas
“regularmente resuelve problemas, genera productos o de ellas a fin de dar una perspectiva amplia a los
define nuevos cuestionamientos en un dominio, de docentes en este campo. El desarrollo de pensamiento
manera que en principio se considera nueva pero que al algorítmico que promueve esta guía, mediante el
EJEMPLO
¿QUÉ ES UN ALGORITMO?
ALGORITMO EN SEUDOCÓDIGO
Paso 1: Inicio.
Paso 2: Leer los dos números (“a” y “b”). Avanzar al paso 3.
Paso 3: Comparar “a” y “b” para determinar cuál es mayor. Avanzar
al paso 4.
Paso 4: Si “a” y “b” son iguales, entonces ambos son el resultado
esperado y termina el algoritmo. En caso contrario, avanzar al paso
5.
Paso 5: Si “a” es menor que “b”, se deben intercambiar sus valores.
Avanzar al paso 6; si “a” no es menor que “b”, avanzar al paso 6.
Paso 6: realizar la operación “a” menos “b”, asignar el valor de “b” a
“a” y asignar el valor de la resta a “b”. Ir al paso 3.
Ilustración 2-1: Segunda fase del ciclo de programación. Investigaciones realizadas en Educación Básica (en
ambientes constructivistas) recomiendan incluir la
Luego de analizar detalladamente el problema hasta solución de problemas en el currículo de matemáticas
entenderlo completamente, se procede a diseñar un de forma que provea oportunidades a los estudiantes
algoritmo (trazar un plan) que lo resuelva por medio de para crear sus propios algoritmos y generalizarlos a un
pasos sucesivos y organizados en secuencia lógica. El conjunto específico de aplicaciones (Wilson, Fernández
concepto intuitivo de algoritmo (procedimientos y reglas) & Hadaway, 1993). Los estudiantes deben reflexionar
se puede encontrar en procesos naturales de los cuales sobre sus habilidades de planificación y sobre cómo
muchas veces no se es conciente. Por ejemplo, el pueden utilizar esas habilidades en diferentes contextos.
proceso digestivo es un concepto intuitivo de algoritmo Por otra parte, en un estudio sobre Logo (Clements &
con el que se convive a diario sin que haga falta un Meredith, 1992), se concluye que cuando los maestros
definición “matemática” del mismo. Tener claro el enfatizaron en la elaboración de un plan para desarrollar
proceso digestivo, no implica que los alimentos un procedimiento matemático (este incluía el uso de
consumidos nutran más. La familiaridad de lo cotidiano estrategias como dividir conceptos grandes en otros
impide a las personas ver muchos algoritmos que se más pequeños) encontraron que los estudiantes
suceden a su alrededor. Procesos, rutinas o biorritmos empezaron a utilizar con mayor frecuencia estrategias
naturales como la gestación, las estaciones, la de planificación y de dibujo para resolver problemas
circulación sanguínea, los ciclos cósmicos, etc, son matemáticos en los cuales no utilizaban Logo.
algoritmos naturales que generalmente pasan
desapercibidos. Dato Curioso
La palabra Algoritmo tiene su origen en el nombre del matemático
La rama del saber que mayor utilización ha hecho del Persa "Mohamed ibn Musa al Khwarizmi" (825 d.C.). Su apellido fue
enfoque algorítmico es las matemáticas. Durante miles traducido al latín como Algorismus y posteriormente paso al español
de años el ser humano se ha esforzado por abstraer la como Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al-
estructura de la solución de problemas con el fin de Mamun y astrónomo en el observatorio de Bagdad. Sus trabajos de
determinar claramente cuál es el camino seguro, preciso álgebra, aritmética y tablas astronómicas adelantaron enormemente
y rápido que lleva a esas soluciones. Son abundantes el pensamiento matemático y fue el primero en utilizar la expresión
los ejemplos: máximo común divisor, teorema de al-yabr (de la que procede la palabra álgebra). Su trabajo con los
Pitágoras, áreas de figuras geométricas, división, suma algoritmos introdujo el método de cálculo utilizando la numeración
de números fraccionarios, etc. Todos estos algoritmos arábiga y la notación decimal.
matemáticos independizan los datos iniciales del
problema de la estructura de su solución, lo que permite
su aplicación con diferentes conjuntos de datos iniciales En el ámbito de la computación, los Algoritmos son una
(variables). herramienta que permite describir claramente un
conjunto finito de instrucciones, ordenadas
secuencialmente y libres de ambigüedad, que debe
EJEMPLO llevar a cabo un computador para lograr un resultado
Consideremos el algoritmo de Euclides para hallar el Máximo Común previsible. Vale la pena recordar que un programa de
Divisor (MCD) de dos números enteros positivos dados. Obsérvese computador consiste de una serie de instrucciones muy
que no se especifica cuáles son los dos números, pero si se precisas y escritas en un lenguaje de programación que
establece claramente una restricción: deben ser enteros y positivos. el computador entiende (Logo, Java, Pascal, etc).
Ilustración 2: Comienzo del nivel tres del juego “Misión Escape” de Adaptado de “Razonamiento Abstracto”, Serrano (1998)
Cartoon Network. El personaje debe alcanzar la baldosa café que
aparece en la parte inferior del cuadrado. Por su parte, juegos como Guido van robot, Tetris,
Implode y el mismo Sokoban, además de la versión para
Computadores Personales (PCs), ofrecen versiones
para los computadores OX de la iniciativa OLPC (One
Laptop Per Child). Esto es importante ya que cada día
más niños en América Latina disponen de estos equipos
1 y los utilizan como herramienta para el aprendizaje.
2
3 ACTIVIDAD
Invitar a los estudiantes a reflexionar sobre el lenguaje que utiliza
diariamente para comunicarse con sus padres, hermanos, profesores
Ilustración 3: El personaje ya ha movido los obstáculos (1, 2, 3) y y compañeros. ¿Utiliza un lenguaje preciso? ¿utiliza vocablos
está a punto de alcanzar la baldosa café que le permite avanzar al corrientes?
nivel siguiente.
ACTIVIDAD
La ilustración 2 muestra el comienzo del nivel tres del A diferencia de los seres humanos que realizan actividades sin
juego (cada nivel es más difícil que el anterior). El detenerse a pensar en los pasos que deben seguir, los
personaje de ”Chicos del Barrio” se encuentra en el computadores son muy ordenados y necesitan que el programador
punto de inicio y debe encontrar el mejor camino para les especifique cada uno de los pasos necesarios y su orden lógico
llegar a la baldosa café de la parte inferior del cuadrado. de ejecución.
Para lograrlo, debe mover las cajas precisas (marcadas Listar una serie de pasos para realizar una tarea y presentarlos a los
con 1, 2 y 3), en la dirección correcta y en el orden estudiantes en forma desordenada para que ellos los ordenen.
adecuado. En la ilustración 3 se pueden apreciar las Por ejemplo, ordenar los pasos para pescar:
cajas movidas y el personaje a punto de alcanzar la ___ El pez se traga el anzuelo.
baldosa café que le permite avanzar al nivel siguiente. ___ Enrollar el sedal.
___ Tirar el sedal al agua.
El razonamiento abstracto es otro tipo de actividad de ___ Llevar el pescado a casa.
aprestamiento que se puede llevar a cabo con los ___ Quitar el Anzuelo de la boca del pescado.
estudiantes para desarrollar los pensamientos ___ Poner carnada al anzuelo.
algorítmico y procedimental. El razonamiento abstracto ___ Sacar el pescado del agua.
básicamente es un proceso de ordenación de objetos,
situaciones o sucesos en secuencias lógicas de acuerdo ACTIVIDAD
con algún criterio previamente establecido. Para ello se Solicitar a los estudiantes que traigan para la próxima clase los
debe comprender e interpretar los cambios en función siguientes elementos:
de la forma cómo varían las características de interés de • Arroz, lentejas o maíz (medio puñado).
los objetos o sucesos estudiados. Todo cambio conduce • Una banda de caucho.
a una alteración de algún aspecto del objeto, suceso o • Un vaso plástico.
situación (Sánchez, 1993). • Un trozo de papel resistente (15cm x 15cm aproximadamente).
Actividades como la siguiente exige de los estudiantes Divida los estudiantes en dos grupos y suministre a un grupo las
un alto grado de observación para determinar qué es lo siguientes instrucciones para elaborar “Maracas”:
que cambia (figura, forma, posición, etc) y cuál es el 1. Recortar del papel resistente un trozo más grande que la boca
patrón de cambio (dirección, tamaño, color, etc): del vaso plástico.
2. Introducir el arroz, las lentejas o el maíz en el vaso (cada
elemento produce una sonoridad diferente).
3. Poner sobre la boca del vaso el papel.
Pág.24 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
4. Fijar el papel al vaso con ayuda de la banda de caucho.
5. Asegurarse que la boca del vaso quede sellada.
Dato Curioso
En 1936, el lógico y matemático inglés Alan Turing (1291-1954),
construyó la primera máquina conceptual como una herramienta
matemática para estudiar los procesos algorítmicos. Un cálculo en
una máquina de Turing consta de una secuencia de pasos que
ejecuta su unidad de control. Si un problema se puede resolver en la
máquina de Turing entonces es algorítmico, y recíprocamente si un
problema tiene solución algorítmica, entonces se puede resolver en
la máquina de Turing.
(Adaptado de ¿Qué es realmente un Algoritmo?, Escuela de
Ingeniería, Colombia.)
La estandarización de los símbolos para la elaboración de Diagramas de Flujo tardó varios años. Con el fin de evitar la
utilización de símbolos diferentes para representar procesos iguales, la Organización Internacional para la
Estandarización (ISO, por su sigla en inglés) y el Instituto Nacional Americano de Estandarización (ANSI, por su sigla en
inglés), estandarizaron los símbolos que mayor aceptación tenían en 1985. Los siguientes son los principales símbolos
para elaborar Diagramas de Flujo:
Inicio/Final Decisión
Se utiliza para indicar el inicio y el final Indica la comparación de dos datos y
de un diagrama; del Inicio sólo puede dependiendo del resultado lógico
salir una línea de flujo y al Final sólo (falso o verdadero) se toma la
debe llegar una línea. decisión de seguir un camino del
diagrama u otro.
Entrada General Iteración
Entrada/Salida de datos en General (en Indica que una instrucción o grupo de
esta guía, solo la usaremos para la instrucciones deben ejecutarse varias
Entrada). veces.
El Diagrama de Flujo es una herramienta gráfica valiosa para la representación esquemática de la secuencia de
instrucciones de un algoritmo o de los pasos de un proceso. Se recomienda consultar el siguiente componente curricular
que apoya la elaboración de Diagramas de Flujo: http://www.eduteka.org/modulos.php?catx=4&idSubX=124.
Variables
Para poder utilizar algoritmos con diferentes conjuntos Las variables Globales se crean con los comandos da
de datos iniciales, se debe establecer una o nombra. Estas variables solo pierden su valor cuando
independencia clara entre los datos iniciales de un se cierra MicroMundos o cuando se borran con el
problema y la estructura de su solución. Esto se logra comando bnombres.
mediante la utilización de Variables (cantidades que se
suelen denotar con letras –identificadores- y que pueden En Scratch, se debe hacer clic en el botón “Variables” de
tomar cualquier valor de un intervalo de valores la paleta de bloques.
posibles).
ACTIVIDAD
Pedir a los estudiantes que analicen el siguiente ejemplo y que
escriban en forma de ecuación las situaciones planteadas.
Repetir la operación pidiendo a otro estudiante que escriba nuevos Haga clic en la bandera verde de Scratch.
valores en el papel de cada una de las cajas, tachando los valores
anteriores.
Hacer notar que en los papeles guardados en las cajas marcadas Acumuladores
con “BASE” y “ALTURA” se han anotado valores diferentes en cada Estructura muy utilizada en programación (da “A :A + :B)
ocasión. Este es el concepto de variable. y que consiste en almacenar en una variable (“A) el
Hacer notar también que en el papel guardado en la caja “DIVISOR” valor de ella misma (:A) más otro valor variable (:B). Es
solo se anotó un valor (2) al comienzo del ejercicio y no hubo muy útil para calcular sumatorias.
necesidad de cambiarlo posteriormente. Este es el concepto de
constante.
EJEMPLO
Escribir un procedimiento llamado acumulador para calcular la
Esta actividad se puede adaptar para reforzar el cálculo sumatoria de los números entre 1 y 10.
de áreas y perímetros de otras figuras geométricas
planas. MicroMundos
para acumulador
bnombres
Contadores da "contador 0
Los contadores en MicroMundos se implementan como da "sumatoria 0
una estructura de programación (da “A :A + 1) que repite 10 [da "contador :contador + 1
consistente en almacenar en una variable (“A) el valor da "sumatoria :sumatoria + :contador
de ella misma (:A) más un valor constante (1). Es muy muestra nombres]
útil para controlar el número de veces que debe muestra frase
ejecutarse un grupo de instrucciones. [El valor final del acumulador sumatoria es ] :sumatoria
fin
En Scratch, se utiliza la instrucción cambiar ... por ...
para incrementar la variable en una cantidad Ahora escriba en el centro de mando de MicroMundos acumulador.
determinada.
Cada lenguaje de programación tiene su conjunto de funciones matemáticas predefinidas. Estas se ejecutan haciendo
referencia a su nombre. Algunas necesitan, para arrojar un resultado, que se suministre información adicional
(parámetros o argumentos). Algunas de las funciones matemáticas más utilizadas en MicroMundos son:
Números: se utilizan como entradas en las operaciones Las siguientes son listas validas en MicroMundos:
matemáticas. Cuando se utilizan los signos positivo (+) o • [Esta es una lista de 7 elementos]
negativo (-), estos deben estar pegados al número. • [x y z]
MicroMundos acepta tanto el punto como la coma para
escribir números decimales (3,14=3.14). Esto es Scratch
importante tenerlo presente para no utilizar el punto para
marcar la separación de miles y millones. Si asignamos
a una variable el valor 20.000, MicroMundos guarda en
ella el valor 20 y no 20000; si le asignamos 1.345.625 en
lugar de 1345625, MicroMundos no aceptará esta
notación por tener dos puntos decimales. Por su parte,
Scratch solo utiliza el punto decimal; sin embargo, si
usted introduce el número 6,2, Scratch lo convertirá
automáticamente a 6.2.
EJEMPLO
Los siguientes son números validos en MicroMundos:
• 453
• 19,7
• 19.7
• -14,42
• 856.
• 1E6
El signo debe estar pegado al número: muestra –3 + 6 da como
resultado 3; muestra - 3 + 6 da como resultado el mensaje “-
necesita más entradas”. Scratch no reconoce la notación científica: Aunque en Scratch se pueden introducir tanto palabras
1E6. como números en una variable, la operación de suma de
dos variables o de elementos de una lista solo opera con
Palabras: Las palabras están formadas por letras y/o números (versión 1.4). Por lo tanto no se pueden
números. Una palabra está delimitada por espacios en concatenar varias palabras para formar una frase con el
blanco; sin embargo, si se quiere tener un texto operador +, debe utilizarse el operador “unir”. Varios
conformado por dos o más palabras, este debe operadores “unir” se pueden anidar para formar una
encerrarse entre barras (|palabra1 palabra2|). cadena de varios elementos. En el siguiente ejemplo se
requieren tres espacios: uno para mostrar el nombre,
EJEMPLO otro para separar el nombre del apellido y el tercero para
Las siguientes son palabras validas en Logo: el apellido.
• Hola
• x Scratch
• 548
• Once-Caldas
• ¿Quién?
El comando muestra “hola da como resultado hola; muestra “hola”
reporta hola”. Varias palabras se deben tratar como una lista.
OPERADORERS ARÍTMETICOS
Operador Operación Ejemplo Resultado
potencia Potencia potencia 4 2 16
^ 4^2
* Multiplicación 4*2 8
Una Expresión está compuesta por valores, funciones, desarrollar paso a paso las siguientes expresiones. Tener en cuenta
primitivas, constantes y/o variables, o por una la jerarquía de los operadores:
combinación de los anteriores mediante operadores. a. (5 + 2) * (4 + 4) = 56
Son Expresiones: b. 7 + 3 * 2 + (2 - 1) = 14
• Un valor (1.3, "Jorge) c. 6 * 2 + 4 * 3 + 5 / 2 = 26,5
• Una Constante o una Variable (divide, base, área) d. 5 + 1 * 4 / 2 * 7 - (8 + 2) = 9
• Una función (cos 60, arctan 1) e. 8 + (5 * 6) - 6 = 32
• Una combinación de valores, constantes, variables, f. 9 + 5 * 3 = 24
funciones y operadores que siguen reglas de g. 4 / 2 * (10 - 5) * 3 = 30
construcción y orden de evaluación de los
operadores (cos 60 + 7 - :altura) ACTIVIDAD
Pedir al estudiante que escriba en el Centro de Mando de
Las Expresiones pueden ser: MicroMundos (ilustración 1-2) las siguientes expresiones y anote en
• Aritméticas: Dan como resultado un valor el cuaderno sus observaciones sobre el resultado:
numérico. Contienen únicamente operadores 1. muestra 7 + 5 + 6
aritméticos y datos numéricos (pi * 20 - :X) 2. muestra [7 + 5 + 6]
• Alfanuméricas: Dan como resultado una serie o 3. muestra [mañana nos vemos en clase de inglés]
cadena de caracteres. 4. muestra mañana nos vemos en clase de inglés
• Lógicas: Dan como resultado un valor "Verdadero"
Obsérvese que las instrucciones 1 y 2 se diferencian en
o "Falso". Contienen variables y/o constantes
que mientras la primera da como resultado un valor
enlazadas con operadores lógicos (A>0 y B<=5).
numérico (18), la segunda es una lista y reporta una
• De Asignación: Estas Expresiones asignan el
cadena alfanumérica de caracteres “7 + 5 + 6”.
resultado de una Expresión a una Variable o a una
La instrucción 4 reporta “No sé cómo hacer mañana”
Constante. La Expresión de Asignación (da "área
porque le faltan los corchetes inicial y final para que
:base * :altura / 2) asigna (da) el valor resultante de
MicroMundos la considere una lista de cinco palabras.
la Expresión Aritmética (:base * :altura / 2) a la
En Scratch no son necesarios los paréntesis ya que el
variable área.
orden de evaluación de las expresiones es inequívoco.
EJEMPLO
EJEMPLO
Para diseñar algoritmos que posteriormente puedan ser traducidos a
Luisa Fernanda quiere llenar 5 cajas de bombones y sabe que en
un lenguaje de programación, es fundamental saber manejar muy
cada caja hay que incluir 12 bombones de menta, 14 de fresa
bien los operadores y el orden en el que estos se ejecutan. Las
intensa y 10 de limón. Encontrar al menos dos expresiones
fórmulas deben escribirse en una sola línea para que el computador
equivalentes para calcular el número de bombones que necesita
las evalúe.
Luisa Fernanda.
R/.
NOTACIÓN EXPRESIÓN
Expresión 1: 5 * 12 + 5 * 14 + 5 * 10
MATEMÁTICA ¿Qué significa cada producto?
(rc (potencia 6 2)+ 7) / (potencia 8 2) ¿Qué significa la suma de los productos?
Scratch no tiene el operador potencia, sin
embargo es fácil programarlo:
http://scratch.mit.edu/projects/jualop/752239 Expresión 2: 5 * ( 12 + 14 + 10 )
(base * altura / 2) ¿Qué representa la suma del paréntesis?
¿Por qué la suma se debe multiplicar por 5?
¿Las dos expresiones dan el mismo resultado?
Ejercicio adaptado de “Cuenta Jugando 5”; Página 48
EJEMPLO (Casasbuenas & Cifuentes, 1998b).
Evaluar la expresión muestra ((potencia (5 + 3) 2) - 10) / 3 + 4 * (2 +
4) teniendo en cuenta la jerarquía de los operadores: ACTIVIDAD
R/. da “númeroA 5 (asigna el valor 5 a la Constante númeroA)
((potencia (5+3) 2) - 10) / 3 + 4 * (2 + 4) = ((potencia 8 2) - 10) / 3 + 4 * 6 da “númeroB 8 (asigna el valor 8 a la Constante númeroB)
((potencia8 2) - 10) / 3 + 4 * 6 = (64 - 10) / 3 + 4 * 6 Utilizando la información de los valores asignados a las Constantes
(64 - 10) / 3 + 4 * 6 = 54 / 3 + 4 * 6 númeroA y númeroB, evaluar las siguientes expresiones:
54 / 3 + 4 * 6 = 18 + 24 1. 20 + :númeroA
18 + 24 = 42 2. :númeroA + 3 * :númeroB
42 3. :númeroA > :númeroB
4. :númeroA + "123
ACTIVIDAD 5. 4 + :númeroA - :númeroB
Tomando como modelo el ejemplo anterior y utilizando lápiz y papel,
LAS ESTRUCTURAS
TIP
Edsger Wybe Dijkstra nació en Rotterdam, (Holanda) en 1930. En
1956 anunció su algoritmo de caminos mínimos; posteriormente
propuso el algoritmo del árbol generador minimal. A principios de la
Ilustración 3-1: Fases segunda y tercera del ciclo de programación. década de los 60, aplicó la idea de exclusión mutua a la
comunicación entre un computador y su teclado. Su solución de
exclusión mutua ha sido usada en muchos procesadores y tarjetas
Un Algoritmo está compuesto por instrucciones de de memoria desde 1964, año en el que fue utilizada por IBM en la
diferentes tipos, organizadas secuencialmente, en forma arquitectura del “IBM 360”. El siguiente problema del que se ocupó
de estructuras de control. De estas estructuras, las más Dijkstra fue el de los filósofos comensales. En este problema, cinco
comunes y que se cubren en esta guía son las filósofos están sentados en una mesa circular con un plato de arroz
siguientes: delante y un palillo a cada lado, de manera que hay cinco palillos en
• Secuencial. total. El problema trata sobre el uso de recursos comunes sin que los
• Iterativa (repetición). procesos (los filósofos) lleguen a una situación de bloqueo mutuo;
además, que los recursos se utilicen por todos los procesos de la
• Condicional (decisión, selección).
manera más eficiente. Dijkstra también contribuyó a desterrar el
comando GOTO de la programación: el comando "GOTO es
Una estructura de control se define como un esquema
considerado dañino. Cuantas más sentencias GOTO tenga un
que permite representar ideas de manera simplificada y
programa, más confuso será el código fuente".
que bajo condiciones normales, es constante (Trejos,
1999).
Logo
Logo es un lenguaje de programación con un número
limitado de palabras y de reglas gramaticales si se lo
compara con lenguajes humanos, como el castellano o
el inglés. Las instrucciones en Logo son equivalentes a
las oraciones en castellano y las reglas para construir
esas instrucciones son más simples que las reglas
gramaticales de nuestro idioma, pero mucho más
precisas.
Los Mandos hacen algo. Por ejemplo, derecha y Aunque MicroMundos es bueno y ampliamente utilizado
muestra son Mandos (derecha 120, muestra rumbo, en escuelas de América Latina, su costo puede
etc). Los Reporteros informan sobre el resultado de un constituir una restricción para muchas Instituciones
cálculo o sobre el estado de un objeto. Por ejemplo, Educativas. Sin embargo, entre las alternativas gratuitas
rumbo y primero son Reporteros. En la instrucción (licencia GNU) de Logo hay una que utiliza en núcleo de
muestra rumbo, el Reportero rumbo devuelve al Mando Logo creado por Brian Harvey de la Universidad de
muestra el rumbo actual de la tortuga, rumbo como tal Berkeley: Microsoft Windows Logo (MSWLogo). Si bien,
no puede hacer nada. no es un ambiente de programación tan atractivo y
elaborado como MicroMundos, esta versión de Logo es
Se requiere que los estudiantes aprendan a interpretar gratuita y tiene una traducción al español realizada por
las instrucciones tal como lo hacen con las oraciones en Javier López-Escobar que se puede descargar de:
castellano (sustantivos, verbos, conectores, adjetivos, http://sourceforge.net/projects/mswlogoes Sin embargo,
etc). En MicroMundos la primera palabra de una desde 2006, y debido al notorio abandono de MSWLogo
instrucción siempre debe ser un Mando, por lo tanto, los por parte de su desarrollador, David Costanzo asumió la
Reporteros solo se pueden utilizar como entradas de un continuación del desarrollo de MSWLogo con el nombre
Mando o de un procedimiento. FMSLogo: http://fmslogo.sourceforge.net/
Fundamentos de programación
Una vez descritos brevemente los entornos de
programación que se utilizan a lo largo de esta Guía, se
tratarán a continuación una serie de conceptos básicos
requeridos para empezar a utilizar dichos entornos.
COMENTARIOS
Los comentarios no tienen ningún efecto en la ejecución
del algoritmo. Se utilizan para aclarar instrucciones que
puedan prestarse a confusión o como ayuda a otras
personas que deben leerlo y entenderlo. La mayoría de
los lenguajes de programación ofrecen la posibilidad de
comentar el código de los programas.
Ilustración 3-2(b): Área de trabajo de Scratch
(Ver imagen con mayor tamaño en el Anexo 8) Los comentarios en un procedimiento de MicroMundos
se hacen con el punto y coma (;). MicroMundos ignora el
Aunque Scratch es un proyecto de código abierto, su texto entre el punto y coma (;) y el final de la línea.
desarrollo es cerrado. El código fuente se ofrece de
manera libre y gratuita. Actualmente hay disponibles
MicroMundos
versiones oficiales para Windows, Mac y Sugar (XO);
para lectura
Además, hay versiones no oficiales para Linux.
local "valorUno ; declarar variables y constantes
local "ValorDos
Este entorno de programación aprovecha los avances
pregunta [Ingrese el primer valor ] ; ingresar valorUno
en diseño de interfaces para hacer que la programación
da "valorUno respuesta
sea más atractiva y accesible para todo aquel que se
pregunta [Ingrese el segundo valor ] ; ingresar valorDos
enfrente por primera vez a aprender a programar. Según
da "valorDos respuesta
sus creadores, fue diseñado como medio de expresión muestra frase [El primer valor es ] :valorUno
para ayudar a niños y jóvenes a expresar sus ideas de muestra frase [El segundo valor es ] :valorDos
forma creativa, al tiempo que desarrollan habilidades de fin
pensamiento algorítmico y de aprendizaje del Siglo XXI,
a medida que sus maestros superan modelos de
En Scratch, los comentarios se agregan en una caja de
educación tradicional en los que utilizan las TIC
texto amarilla que se crea al hacer clic derecho sobre
simplemente para reproducir prácticas educativas
cualquier parte del área de programas (zona central gris)
obsoletas.
y seleccionar la opción “añadir comentario”.
Entre las características más atractivas de Scratch,
Scratch
adicionales a las mencionadas en el párrafo anterior,
que lo hacen interesante para muchas Instituciones
Educativas se cuentan: es gratuito, tiene el respaldo del
MIT, está en permanente desarrollo (cada año se liberan
aproximadamente dos versiones con cambios
significativos), corre en computadores con bajas
prestaciones técnicas y se puede ejecutar desde una
memoria USB (pen drive), entre otras.
EJEMPLO 3-2
Escribir un procedimiento que se llame triangulo para hallar el área
de un triángulo rectángulo cuya Base mide 3 cm, la Altura 4 cm y la
Hipotenusa 5 cm. Introducir en el código comentarios que aclaren lo
que está sucediendo en cada uno de los pasos importantes.
R/
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El área de un triángulo rectángulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo. La
incógnita es el área y todos los valores son constantes. El valor de la PROCESOS
hipotenusa se puede omitir. El estudiante debe preguntarse si sus Se llama procesos a todas las instrucciones contenidas
conocimientos actuales de matemáticas le permiten resolver este en un algoritmo para:
problema; de no ser así, debe plantear una estrategia para obtener • declarar variables y constantes (solo en
los conocimientos requeridos. MicroMundos);
Restricciones: Utilizar las medidas dadas.
• asignar valores iniciales a variables y constantes;
Procesos necesarios: Guardar en dos variables (BASE y ALTURA)
• leer datos que suministra el usuario por medio del
los valores de Base y Altura; Guardar en una constante (DIV) el
teclado o del ratón (mouse);
divisor 2; aplicar la fórmula BASE*ALTURA/DIV y guardar el
resultado en la variable AREA; comunicar el resultado (AREA). • realizar operaciones matemáticas (aplicar fórmulas);
• reportar o mostrar contenidos de variables y
DISEÑO DEL ALGORITMO constantes;
• mostrar en pantalla resultados de procedimientos
activados por el programa.
MicroMundos Scratch
Ilustración 3-3: Con el ratón se puede hacer clic sobre los Botones y Ilustración 3-5: Los comandos pregunta y respuesta permiten
deslizar el indicador de los Controles (a la izquierda disminuye y interactuar con el usuario para obtener información de él.
hacia la derecha aumenta).
En Scratch las respuestas que el usuario aporta se
En Scratch algunos objetos se les puede dar forma de pueden almacenar en variables con el comando
botón y programarlos para que cumplan la misma respuesta. Para mostrar lo que el usuario contesta se
función que cumplen estos en MicroMundos. Respecto a puede utilizar los comandos “decir” y “pensar”.
los controles, en Scratch cada variable se puede
convertir en un control deslizante. Basta con hacer clic EJEMPLO 3-3
derecho sobre cualquier variable que se muestre en el MicroMundos
escenario y seleccionar “deslizador”; luego se hace clic para lectura
derecho nuevamente y se eligen los valores mínimo y local "valorUno ; declarar variables y constantes
máximo que puede almacenar esa variable mediante la local "ValorDos
manipulación con el deslizador. pregunta [Ingrese el primer valor ] ; ingresar valorUno
da "valorUno respuesta
Scratch pregunta [Ingrese el segundo valor ] ; ingresar valorDos
da "valorDos respuesta
muestra frase [El primer valor es ] :valorUno
muestra frase [El segundo valor es ] :valorDos
fin
Scratch
MicroMundos
para dibujaCuadrado
cuadrado 120
fin
Una estructura se define como un esquema con cierta Restricciones: La figura resultante debe ser igual en su forma a la
distribución y orden que permite representar una idea de muestra. Las dimensiones pueden variar.
forma simplificada y que bajo ciertas condiciones es Procesos necesarios: la figura se puede realizar mediante tres
constante (Trejos, 1999). La estructura de control procedimientos. El primero, que puede llamarse simetríaCuadrado,
secuencial es la más sencilla. También se la conoce dibuja un cuadrado con los comandos adelante y derecha. El
como estructura lineal. Se compone de instrucciones segundo procedimiento (simetríaCuadricula), dibuja cuatro
que deben ejecutarse en forma consecutiva, una tras cuadrados utilizando el procedimiento simetríaCuadrado y el
otra, siguiendo una línea de flujo. Solamente los comando izquierda. El tercero (simetríaEstrella), dibuja dos veces la
problemas muy sencillos pueden resolverse haciendo figura que se forma con el procedimiento simetríaCuadrado; se debe
uso únicamente de esta estructura. Normalmente, la girar la tortuga 45 grados a la derecha luego de ejecutar
estructura secuencial hace parte de soluciones a simetríaCuadrado por primera vez.
problemas complejos en las que se la utiliza mezclada
con estructuras iterativas (repetir varias veces un DISEÑO DEL ALGORITMO
conjunto de instrucciones) y condicionales (tomar
decisiones).
EJEMPLO 3-5
Escribir un procedimiento para dibujar en la pantalla una figura
simétrica igual a la siguiente:
para simetríaCuadrado
adelante 100
derecha 90
R/. adelante 100
ANÁLISIS DEL PROBLEMA derecha 90
Formular el problema: Ya está claramente planteado. adelante 100
Resultados esperados: El dibujo dado. derecha 90
Datos disponibles: La figura geométrica suministrada. El análisis de adelante 100
la figura permite establecer que está construida con varios derecha 90
cuadrados de igual tamaño. fin
para simetríaEstrella
limpia
cp
simetríaCuadricula
derecha 45
simetríaCuadricula
fin
para simetríaCuadricula
simetríaCuadrado
izquierda 90
simetríaCuadrado
izquierda 90
simetríaCuadrado
izquierda 90
simetríaCuadrado
izquierda 90
fin El procedimiento simetríaEstrella (3) también está compuesto
únicamente por una estructura secuencial que permite dibujar una
estrella perfectamente simétrica. Este procedimiento llama dos veces
al procedimiento simetríaCuadricula que a su vez, cada que es
invocado, llama cuatro veces al procedimiento simetríaCuadrado.
Para lograr el efecto de estrella, luego de llamar la primera vez al
procedimiento simetríaCuadricula, se gira la tortuga 45 grados, antes
de llamar el mismo procedimiento por segunda vez.
EJEMPLO 3-6
http://scratch.mit.edu/projects/jualop/42800 Escribir un procedimiento para calcular el área de cualquier triángulo
rectángulo. En él se debe pedir al usuario que ingrese los valores de
Muchos estudiantes logran construir la figura del la Altura y la Base del triángulo.
procedimiento simetríaEstrella utilizando gran cantidad R/.
de comandos que se repiten sin estructura alguna ANÁLISIS DEL PROBLEMA
(mediante experimentación). Es muy importante que Formular el problema: Ya está claramente planteado.
ellos reflexionen sobre las ventajas que ofrecen los Resultados esperados: Un procedimiento que permita calcular el
procedimientos cuando se los utiliza a manera de área de cualquier triángulo rectángulo.
objetos que cumplen con una función determinada Datos disponibles: Base y Altura del triángulo (se deben solicitar al
(dibujar un cuadrado, calcular un área, etc). Una tarea usuario). El estudiante debe preguntarse si sus conocimientos
que debe realizarse varias veces es candidata ideal para actuales de matemáticas le permiten resolver este problema; de no
tratarla como un procedimiento. Con la utilización de ser así, debe plantear una estrategia para obtener los conocimientos
parámetros se pueden cambiar algunos valores cada requeridos.
vez que se ejecute esa tarea. De esta manera, si Restricciones: Los valores de base y altura son variables y se
necesitamos dibujar varios cuadrados de diferentes deben solicitar al usuario.
tamaños, lo más adecuado será construir un Procesos necesarios: definir variables; asignar el valor 2 a la
procedimiento con el valor de Lado como parámetro y constante div; solicitar al usuario el valor de la altura del triángulo;
ejecutarlo varias veces asignando a este el valor del solicitar al usuario el valor de la base; aplicar la fórmula de área;
Lado del cuadro a dibujar, cada vez que se ejecute (ver mostrar el resultado.
el ejemplo 3-4).
Pág.48 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
DISEÑO DEL ALGORITMO cada vez que se ejecute el procedimiento
triánguloRectángulo, este le preguntará al usuario cuál
es la altura y la base del triángulo del cual desea
calcular su área.
EJEMPLO 3-8
Escribir un procedimiento que muestre 85 veces en pantalla la frase
“Esto es un camello”.
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente formulado.
Resultados esperados: Que aparezca 85 veces en pantalla la frase
“Esto es un camello”.
Datos disponibles: La frase dada.
Restricciones: Ninguna.
Procesos necesarios: Mostrar la frase mencionada 85 veces.
TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS Un análisis más elaborado de este problema permitirá a
Con el uso del comando repite: los estudiantes adquirir una conciencia mayor de la
para camello2a organización global de un cuadrado. Determinar los
repite 85 elementos comunes presentes en todos los cuadrados
[ permite identificar qué permanece estático (cuatro
muestra [Esto es un camello] segmentos de recta iguales y cuatro ángulos iguales) y
] qué es lo que cambia (longitud de los segmentos).
fin Aquello que cambia entre un cuadrado y otro se puede
tratar como un parámetro. Además, este análisis permite
Ahora con el uso del comando cumpleveces: descubrir que es posible utilizar otro tipo de estructura
para camello2b de control para elaborar el mismo dibujo:
cumpleveces [i 85]
[ TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
para cuadrado :lado
muestra [Esto es un camello] limpia
] cp
fin repite 4
[
adelante :lado
TRADUCCIÓN DEL ALGORITMO EN SCRATCH derecha 90
]
fin
Historia Curiosa
Un día, en la India, un joven bracmán llamado Lahur Sessa pidió una
audiencia con el Rey para obsequiarle el juego que había inventado.
La curiosidad del rey lo llevó a conceder la cita que pedía el joven
Sessa. El rey quedó maravillado y aprendió rápidamente las reglas
de aquel juego que consistía de un tablero cuadrado dividido en
sesenta y cuatro cuadritos iguales (32 blancos y 32 negros); sobre
este tablero se ubicaban dos colecciones de piezas, que se
distinguían unas de otras por el color, blancas y negras, repitiendo
simétricamente los motivos y subordinadas a reglas que permitían de
varios modos su movimiento.
Algún tiempo después, el rey mandó llamar a su presencia al joven
bracmán y dirigiéndose a él le dijo:
Pág.55 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
- Quiero recompensarte, amigo mío, por este maravilloso obsequio, ANÁLISIS DEL PROBLEMA
que de tanto me sirvió para aliviar viejas angustias. Pide, pues, lo Formular el problema: Es un problema de multiplicaciones de
que desees, para que yo pueda demostrar, una vez más, como soy factores iguales que pueden expresarse en forma de potencias;
de agradecido con aquellos que son dignos de una recompensa. además, para llegar al resultado final se deben acumular los
Ante tal ofrecimiento, el joven respondió: resultados parciales.
- Voy, pues, a aceptar por el juego que inventé, una recompensa que Resultados esperados: El número de granos que el Rey Ladava
corresponda a vuestra generosidad; no deseo, sin embargo, ni oro, debe entregar a Lahur Sessa.
ni tierras, ni palacios. Deseo mi recompensa en granos de trigo. Datos disponibles: El número de cuadros del tablero de ajedrez
-¿Granos de trigo? –exclamó el rey, sin ocultar la sorpresa que le (64) y la regla dada por Sessa: “un grano de trigo por la primera
causara semejante propuesta-. ¿Cómo podré pagarte con tan casilla del tablero, dos por la segunda, cuatro por la tercera, ocho
insignificante moneda? por la cuarta, y así sucesivamente hasta la sexagésima cuarta y
-Nada más simple -aclaró Sessa-. Dadme un grano de trigo por la última casilla del tablero”.
primera casilla del tablero, dos por la segunda, cuatro por la tercera, Restricciones: Aplicar la regla planteada por Sessa.
ocho por la cuarta, y así sucesivamente hasta la sexagésima cuarta Procesos necesarios: Un ciclo que se repita 64 veces. En cada
y última casilla del tablero. iteración se debe acumular en una variable (granos), su propio valor
No sólo el rey, sino también los visires y venerables bracmanes, se más el resultado de 2 elevado a un exponente que aumenta su valor
rieron estrepitosamente al oír la extraña solicitud del joven. en uno con cada iteración.
Insensato -exclamó el rey-. ¿Dónde aprendiste tan grande
indiferencia por la fortuna? La recompensa que me pides es ridícula. DISEÑO DEL ALGORITMO
Mando llamar el rey a los algebristas más hábiles de la Corte y les
ordenó calculasen la porción de trigo que Sessa pretendía.
Los sabios matemáticos, al cabo de algunas horas de realizar
cálculos dispendiosos, volvieron al salón para hacer conocer al rey el
resultado completo de sus cálculos.
Preguntóles el rey, interrumpiendo el juego:
-¿Con cuantos granos de trigo podré cumplir, finalmente, con la
promesa hecha al joven Sessa?
-Rey magnánimo -declaró el más sabio de los geómetras-:
calculamos el número de granos de trigo que constituirá la
recompensa elegida por Sessa, y obtuvimos un número cuya
magnitud es inconcebible para la imaginación humana (el número en
cuestión contiene 20 guarismos y es el siguiente:
18.446.744.073.709. 551. 615. Se obtiene restando 1 a la potencia
64 de 2).
-La cantidad de trigo que debe entregarse a Lahur Sessa -continúo
el geómetra- equivale a una montaña que teniendo por base la
ciudad de Taligana, fuese 100 veces más alta que el Himalaya. La
India entera, sembrados todos sus campos, y destruidas todas sus
ciudades, no produciría en un siglo la cantidad de trigo que, por
vuestra promesa, debe entregarse al joven Sessa.
¿Cómo describir aquí la sorpresa y el asombro que esas palabras
causaron al Rey Ladava y a sus dignos visires? El soberano hindú
se veía, por primera vez, en la imposibilidad de cumplir una promesa.
Lahur Sessa -refiere la leyenda de la época-, como buen súbdito, no
quiso dejar afligido a su soberano. Después de declarar
públicamente que se desdecía del pedido que formulara, se dirigió
respetuosamente al monarca y le dijo: los hombres más precavidos,
eluden no sólo la apariencia engañosa de los números, sino también
la falsa modestia de los ambiciosos.
El rey, olvidando la montaña de trigo que prometiera al joven
bracmán, lo nombró su primer ministro. TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS
(Tomado del libro “El hombre que calculaba” escrito por Malba Utilizando el comando repite:
Tahan) para ajedrez
bnombres
da "exponente 1
EJEMPLO 3-12 da "granos 0
Elaborar un procedimiento para ayudar a los hábiles algebristas de la repite 64
corte del Rey Ladava con el cálculo del número de granos de trigo [
que deben entregar a Lahur Sessa como pago por haber inventado da "granos :granos + potencia 2 :exponente
el juego de ajedrez. da "exponente :exponente + 1
R/. muestra nombres
]
Pág.56 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
muestra frase
[El número de granos que ganó Sessa es ] :granos 3. Elaborar un procedimiento que le reporte al electricista de un
fin edificio recién construido cuantos bombillos debe comprar. Se sabe
que el edificio tiene 8 pisos, 8 apartamento en cada piso y cada
apartamento tiene 8 bombillos. En la solución se debe emplear una
estructura repetitiva.
TRADUCCIÓN DEL ALGORITMO EN SCRATCH
4. Elaborar un procedimiento que calcule el área de cualquier cubo.
ACTIVIDADES
Los estudiantes deben encontrar solución a los siguientes problemas
empleando la metodología expuesta en la Unidad 1: Analizar el
problema (formulación del problema, resultados esperados, datos
disponibles, restricciones y procesos necesarios), diseñar el
algoritmo, traducirlo al lenguaje Logo y probar el programa
resultante.
EJEMPLO 3-13
EJEMPLO
"La escuela tiene pan francés caído de China" es una CADENA de
palabras que carece de sentido.
"Los amigos de lo ajeno" es una EXPRESIÓN que tiene sentido pero
no completo.
"Ojalá que mañana no llueva" es una ORACIÓN con sentido
completo pero no es calificable.
"Simón Bolívar nació en Santa Marta" es una PROPOSICIÓN que
puede calificarse de verdadera o falsa.
ACTIVIDAD
Escribir en el espacio si la propuesta corresponde a una
cadena, expresión, oración o proposición:
En este ejemplo, se puede observar la sintaxis de los c. ________________ calle perfecta para perro azul.
operadores lógicos (y, o, no), mediante los cuales se unen d. ________________ el carro sedán azul.
proposiciones sencillas para construir proposiciones e. ________________ ¿qué hora es?
compuestas. Estos deben ir en seguida del paréntesis que
abre la proposición: f. ________________ el nevado del Ruiz es un volcán.
siotro o :calificación > 6.0 :calificación = 6.0 g. ________________ Simón Bolívar murió en Santa Marta
La proposición se lee así: h. ________________ Cali es una ciudad colombiana.
“calificación mayor que 6.0 o calificación igual a 6.0”.
i. ________________ camisa cuadrada por carro naciente.
Según Bustamante (2007), "una proposición es una A es mayor que B (:a > :b)
frase declarativa que puede ser afirmada o negada" y
para Iranzo (2005) la lógica proposicional "se ocupa de
A es mayor o igual (o :a > :b :a = :b)
los enunciados declarativos simples como un todo
que B
indivisible y que pueden combinarse mediante partículas
lógicas denominadas conectores (no, y, o, si... A es como mínimo (o :a > :b :a = :b)
entonces..., etc)". A esta lógica también se le conoce igual a B
con el nombre de lógica de enunciados o lógica de
conectores. De acuerdo con estos dos autores, los A es menor que B (:a < :b)
siguientes enunciados declarativos se pueden negar o
afirmar, por lo tanto pueden considerarse proposiciones: A es menor o igual (o :a < :b :a = :b)
que B
1. Cali es la capital del Valle del Cauca.
A es al menos (o :a < :b :a = :b)
2. El cuatro es un número impar.
igual a B
3. Seis es menor que doce.
4. El INSA es un colegio regentado por la comunidad A está entre 0 y 10 (y :a > 0 :a < 10)
de Padres Basilianos.
5. Andrés Pastrana es el presidente de Colombia.
6. Es verano A está entre 0 y (y (o :a > 0 :a = 0) (o :a < 10 :a =
7. Hace calor 10, inclusive 10))
TIP
En un programa se pueden incluir varias cláusulas
condicionales anidadas. Los comandos si y siotro se
pueden anidar de igual manera como se anida la función
si (if) en la Hoja de Cálculo.
ACTIVIDAD
Tomando como base el ejemplo anterior, realizar las
modificaciones necesarias para que adicionalmente, el
programa muestre en pantalla “No es un Triángulo” en
caso de que cualquiera de los ángulos sea menor o
igual a cero.
Depuración
La corrección de fallas es una de las situaciones que
mayor frecuencia tienen en el mundo profesional. Con
esta actividad se intenta identificar fallas sintácticas o
lógicas en programas que no funcionan adecuadamente;
una vez aislada la falla, esta se soluciona y se vuelve a
probar el programa y a validar los resultados. Según
Jonassen (2003), para corregir fallas efectiva y
eficientemente se requiere conocimiento del sistema
(comprensión conceptual de cómo funciona el sistema),
conocimiento procedimental (cómo llevar a cabo tanto
procedimientos de solución de fallas, como actividades
de prueba) y conocimiento estratégico (saber cuándo,
Ilustración 4-1: Cuarta fase del ciclo de programación. dónde y por qué aplicar procedimientos de solución de
fallas y actividades de prueba).
Es muy difícil elaborar procedimientos perfectos en un
primer intento y la dificultad aumenta a medida que los
problemas se vuelven más complejos. Después de Fallas de sintaxis
traducir el algoritmo en un lenguaje de programación, el Este tipo de fallas solo se presenta en MicroMundos ya
procedimiento resultante debe ser probado y los que el entorno de programación de Scratch es gráfico y
resultados validados (revisión). A este proceso se le los estudiantes no deben escribir el código. Además, los
conoce como depuración y contribuye a mejorar en los bloques con las instrucciones son autoencajables, por
estudiantes la capacidad para resolver problemas tanto no es posible ubicar un bloque de manera que se
puesto que la depuración basada en la retroalimentación generen fallas de sintaxis.
es una habilidad útil para toda la vida (Stager, 2003).
Las fallas sintácticas son las más sencillas de identificar
La depuración de un procedimiento hace parte ya que el entorno de programación indica dónde se ha
fundamental del ciclo de programación y desde el punto producido el error y de que tipo es. Por ejemplo,
de vista educativo estimula en los estudiantes la MicroMundos reportará el error “valorDos no tiene valor
curiosidad, la perspectiva, la comunicación y promueve en prueba” cuando, en el procedimiento “prueba”, se
valores como responsabilidad, fortaleza, laboriosidad, intenta mostrar el contenido de la variable “valorDos” sin
paciencia y perseverancia. La programación facilita un haberla asignado antes.
diálogo interior en el cual la retroalimentación constante
y el éxito gradual empujan a los alumnos a ir más allá de En caso de presentarse una falla de sintaxis, el
sus expectativas (Stager, 2003). estudiante debe:
• Comprender el mensaje de error que reporta el
Otras dos actividades relacionadas con esta etapa, que ambiente de programación (apoyarse en las opciones
no se tratarán en esta guía, son la afinación y la de ayuda que ofrece MicroMundos o en el docente).
documentación. La primera consiste en realizar retoques • Examinar el código del programa para identificar en
para lograr una mejor apariencia del programa (en cuál instrucción se encuentra la falla
pantalla o en los resultados impresos) o para ofrecer
• Corregir la falla
funcionalidades más allá de los resultados esperados,
• Probar el programa de nuevo
especificados en la fase de análisis del problema. La
segunda tiene un carácter eminentemente comunicativo,
con la documentación de un programa se pone a prueba
EJEMPLO 4-1
la capacidad del estudiante para informar a otras
Retomemos el ejemplo del estudiante que aprueba un examen
personas qué hace su programa, cómo lo hace y el
cuando obtiene una calificación mayor o igual a seis (ejemplo 3-14).
significado de cada elemento utilizado. Esta actividad se
Se requiere elaborar un procedimiento que pida al usuario una
puede llevar a cabo mediante comentarios introducidos
calificación, aplique el criterio de aprobación e imprima “Aprobado” o
al código o por medio de documentación formal en un
“Reprobado”, según sea el caso.
documento que se anexa al procedimiento elaborado.
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Es un problema sencillo de selección doble.
EJEMPLO 4-2
Continuamos con el mismo ejemplo: Elaborar un procedimiento que
pida al usuario una calificación, aplique el criterio de aprobación e
imprima “Aprobado” o “Reprobado”, según sea el caso. Con el fin de
ejemplificar una falla de lógica, se debe digitar en el área de
procedimientos de MMP el siguiente código que representa el
algoritmo del ejemplo 4-1.
PROGRAMACIÓN DE COMPUTADORES
UNA PROPUESTA DE CURRÍCULO PARA SCRATCH
Esta propuesta hace parte del “Modelo Curricular Interactivo de Informática”
http://www.eduteka.org/modulos.php?catx=9&idSubX=280&ida=937&art=1
http://www.eduteka.org/curriculo2/Herramientas.php?codMat=16
Definición
Scratch es un entorno de programación desarrollado por un grupo de investigadores del Lifelong Kindergarten Group del
Laboratorio de Medios del MIT, bajo la dirección del Dr. Mitchel Resnick.
Este entorno aprovecha los avances en diseño de interfaces para hacer que la programación sea más atractiva y
accesible para todo aquel que se enfrente por primera vez a aprender a programar. Según sus creadores, fue diseñado
como medio de expresión para ayudar a niños y jóvenes a expresar sus ideas de forma creativa, al tiempo que
desarrollan habilidades de pensamiento lógico y de aprendizaje del Siglo XXI, a medida que sus maestros superan
modelos de educación tradicional en los que utilizan las TIC simplemente para reproducir prácticas educativas obsoletas.
Alcance
- Se busca que el estudiante utilice tanto estructuras de control como el conjunto de instrucciones (bloques) que
ofrece el entorno de programación Scratch para elaborar procedimientos con el fin de solucionar problemas,
elaborar simulaciones o comunicar información. Los estudiantes no elaborarán programas complejos, sólo se
concentrarán en la elaboración de procedimientos.
Objetivo General
- Al terminar la instrucción, el estudiante estará en capacidad de actuar creativamente para elaborar programas en
Scratch que resuelvan situaciones planteadas por el docente tales como: historias interactivas, simulaciones y
solución de problemas.
Objetivos Específicos
- Utilizar el sitio Web de Scratch y registrarse (Actividad 0)
- Reconocer el entorno de trabajo de Scratch (actividad 0)
- Utilizar apropiadamente las funciones básicas del entorno de trabajo de Scratch (abrir y cerrar programa, abrir y
cerrar proyectos existentes, cambiar el lenguaje del entorno) (actividad 0)
- Reconocer el entorno de trabajo del editor de pinturas (actividad 0)
- Utilizar el editor de pinturas (Actividad 1)
- Crear y editar objetos, disfraces, fondos y escenario (Actividad 1)
- Dar instrucciones básicas a objetos (al presionar, por siempre, esperar, mover, etc) (actividad 1)
- Crear historias interactivas con Scratch incorporando instrucciones como: pensar, pensar por N segundos, decir,
decir por N segundos, cambiar disfraz e instrucciones de sonido (actividad 2)
- Explicar en sus propias palabras qué es un evento y qué es un hilo (actividad 3)
- Crear programas que manejen eventos (sensores) y multihilos (enviar a todos, al recibir, al presionar objeto,
mostrar, esconder) (actividad 3 y actividad 4)
- Reconocer las formas de documentar la funcionalidad de un Proyecto en Scratch (agregar comentarios, notas del
proyecto). (actividad 4)
- Realizar modificaciones a programas existentes para mejorarlos. (actividad 4)
- Elaborar dibujos mediante el movimiento de objetos (funcionalidades de Lápiz) (Actividad 4B)
- Utilizar operaciones matemáticas y booleanas
- Crear y utilizar variables y listas
- Compartir con otras personas los trabajos realizados en Scratch.
CONTENIDOS
Utilizar apropiadamente las funciones básicas del entorno de trabajo de Scratch (abrir y cerrar programa, abrir y
cerrar proyectos existentes, cambiar el lenguaje del entorno)
o Abrir y cerrar el programa
o Abrir y cerrar un proyecto existente
o Crear un proyecto nuevo
o Importar un Objeto Sorpresa
o Duplicar, borrar, agrandar y achicar objeto (Barra herramientas)
o Guardar un proyecto
o Seleccionar lenguaje (idioma) de la interfaz
o Ejecutar un proyecto utilizando el botón Bandera Verde
o Detener la ejecución de un programa utilizando el botón Parar Todo
o Seleccionar el modo presentación
Evaluación (logros)
• El estudiante demuestra que utiliza las opciones básicas del entorno, al: abrir, ejecutar y cerrar, proyectos existentes;
• Crea un proyecto nuevo en el que incorpore al menos un Objeto, le cambie el idioma a la interfaz y lo ejecute en los diferentes modos de
presentación que permite el entorno de trabajo.
Períodos de clase: 2
Actividades:
TEMA: Actividad Introductoria a Scratch http://www.eduteka.org/proyectos.php/5/2483
Dar instrucciones básicas a Objetos (al presionar, por siempre, esperar, mover, etc) – actividad 1
o Utilizar la instrucción al presionar Bandera Verde [Bloque Control]
o Utilizar la instrucción Por Siempre [Bloque Control]
o Utilizar la instrucción Esperar N segundos [Bloque Control]
o Utilizar las instrucciones Si y Si – Sino [Bloque Control]
o Explicar la instrucción Esperar Hasta Que [Bloque Control]
o Explicar la instrucción Por Siempre Si [Bloque Control]
o Utilizar la instrucción Mover N Pasos [Bloque Movimiento]
o Utilizar la instrucción Ir a X: Y: [Bloque Movimiento]
o Utilizar la instrucción Ir a <posición de un objeto> [Bloque Movimiento]
o Utilizar la instrucción Apuntar en dirección [Bloque Movimiento]
o Utilizar la instrucción Apuntar hacia <nombre objeto> [Bloque Movimiento]
o Utilizar la instrucción Rebotar si está tocando borde [Bloque Movimiento]
o Explicar la instrucción Girar N grados [Bloque Movimiento]
o Utilizar la instrucción Cambiar X por [Bloque Movimiento]
o Utilizar la instrucción Cambiar Y por [Bloque Movimiento]
o Utilizar la instrucción Fijar posición X [Bloque Movimiento]
o Utilizar la instrucción Fijar posición Y [Bloque Movimiento]
o Mostrar en el escenario la “posición X” de un objeto [Bloque Movimiento]
o Mostrar en el escenario la “posición Y” de un objeto [Bloque Movimiento]
o Mostrar en el escenario la “dirección” de un objeto [Bloque Movimiento]
o Utilizar la instrucción Deslizar en N segundos a posición X,Y [Bloque Movimiento]
o Utilizar el sensor “tocando <borde>” [Bloque Sensores]
o Utilizar la instrucción Cambiar efecto [Bloque Apariencia]
o Utilizar la instrucción Siguiente Disfraz [Bloque Apariencia]
o Utilizar la instrucción Fijar Tamaño a [Bloque Apariencia]
o Utilizar la instrucción Cambiar Tamaño por [Bloque Apariencia]
o Mostrar en el escenario el “tamaño” de un objeto [Bloque Apariencia]
o Mostrar en el escenario el “número de disfraz” de un objeto [Bloque Apariencia]
o Enviar un objeto hacia atrás N capas [Bloque Apariencia]
o Copiar el programa de un Objeto a otro
o Cambiar el nombre a un Objeto, Disfraz o Fondo
o Cambiar el nombre al Escenario
o Reconocer la posición de un Objeto
o Activar la opción “ver los pasos separados” en el botón EXTRAS
o Utilizar la ayuda en línea de Scratch
o Borrar instrucciones
Evaluación (logros)
o Utiliza, como mínimo, dos formas de mover un Objeto
o Al mover un objeto, incorpora al menos una instrucción repetitiva
o Incorpora instrucciones de Apariencia para enriquecer los movimientos de un Objeto.
Períodos de clase: 4
Actividades:
TEMA: Animando un paisaje en Scratch http://www.eduteka.org/proyectos.php/5/2447
Crear programas que manejen eventos (sensores) y multihilos (enviar a todos, al recibir, al presionar objeto)
o Utilizar la instrucción Enviar a todos [Bloque Control]
o Utilizar la instrucción Enviar a todos [Bloque Control]
o Utilizar la instrucción Al Recibir [Bloque Control]
o Utilizar instrucción Al Presionar Objeto [Bloque Control]
o Utilizar la instrucción Al presionar tecla [Bloque Control]
o Utilizar la instrucción Repetir hasta que [Bloque Control]
o Utilizar la instrucción Detener Todo [Bloque Control]
o Utilizar la instrucción Detener Programa [Bloque Control]
o Utilizar la instrucción Mostrar [Bloque Apariencia]
o Utilizar la instrucción Esconder [Bloque Apariencia]
o Utilizar la instrucción Fijar Efecto a [Bloque Apariencia]
o Utilizar la instrucción Quitar Efectos Gráficos [Bloque Apariencia]
o Utilizar la instrucción Posición X del ratón [Bloque Sensores]
o Utilizar la instrucción Posición Y del ratón [Bloque Sensores]
o Utilizar la instrucción Ratón presionado? [Bloque Sensores]
o Utilizar el sensor <Tecla> Presionada [Bloque Sensores]
o Utilizar el sensor Tocando <...> [Bloque Sensores]
o Utilizar el sensor Tocando el Color <...> [Bloque Sensores]
o Utilizar la instrucción <color 1> sobre <color 2> [Bloque Sensores]
o Utilizar la instrucción Distancia a [Bloque Sensores]
o Utilizar la instrucción Reiniciar cronómetro [Bloque Sensores]
o mostrar Cronómetro en el escenario [Bloque Sensores]
NOTA GENERAL: Componente curricular de Scratch elaborado por Eduteka con el apoyo de Motorola Foundation, Motorola de Colombia Ltda. y la
gestión de la ONG Give to Colombia.
PROGRAMACIÓN DE COMPUTADORES
UNA PROPUESTA DE CURRÍCULO PARA MICROMUNDOS
Esta propuesta hace parte del “Modelo Curricular Interactivo de Informática”
http://www.eduteka.org/curriculo2/Herramientas.php?codMat=15
DEFINICIÓN
Algoritmos y programación se definen como los procesos de formulación de una solución a una situación planteada,
apoyándose en conceptos y estructuras propias de la programación.
ALCANCE
Se busca que el estudiante utilice metodologías y estructuras secuenciales, iterativas y condicionales para analizar
problemas, diseñar algoritmos, traducir algoritmos a un lenguaje de programación y depurar procedimientos sencillos con
el fin de solucionar problemas. Los estudiantes no elaborarán programas complejos, sólo se concentrarán en la
elaboración de procedimientos.
OBJETIVO GENERAL
Al terminar la instrucción en Algoritmos y Programación, el estudiante debe estar en capacidad de utilizar metodologías y
estructuras secuenciales, iterativas y condicionales para analizar problemas, diseñar algoritmos, traducir algoritmos a un
lenguaje de programación y depurar los procedimientos resultantes.
OBJETIVOS ESPECÍFICOS
Al finalizar la instrucción en esta herramienta informática, el estudiante estará en capacidad de:
≈ Conocer los símbolos que se utilizan para representar algoritmos mediante diagramas de flujo.
Comprender que los diagramas de flujo han sido una de las técnicas más utilizadas para representar gráficamente la secuencia de
instrucciones de un algoritmo
Identificar y recordar el significado de los principales símbolos estandarizados para elaborar diagramas de flujo (inicio, final, líneas de
flujo, entrada por teclado, llamada a subrutina, saluda impresa, salida en pantalla, conector, decisión, iteración, etc)
Conocer las principales reglas para elaborar diagramas de flujo (encabezado, dirección de flujo, iniciación de variables y constantes, etc)
PERÍODOS DE CLASE: 2
INDICADORES DE LOGRO: Dada una serie de símbolos para representar algoritmos, escribe al frente su significado. [A, F]
Dado un algoritmo sencillo, explica la función que realiza en cada uno de los pasos. [A, F]
≈ Comprender en qué fases del ciclo de programación se pueden producir las fallas de sintaxis y de precaución.
Comprender qué es una falla de sintaxis
Entender en qué fase del ciclo de programación se pueden producir fallas de sintaxis
Conocer las causas más comunes por las que se producen las fallas de sintaxis
Comprender el significado de los mensajes de error que presenta el compilador cuando detecta una falla de sintaxis y solucionarla.
Conocer las medidas que se deben tomar para evitar las fallas de sintaxis
Comprender qué es una falla de precaución (recomendaciones técnicas o “warning error”)
Entender en qué fase del ciclo de programación se pueden producir fallas de precaución
Conocer las causas más comunes por las que se producen las fallas de precaución
Conocer las medidas que se deben tomar para evitar las fallas de precaución
PERÍODOS DE CLASE: 2
INDICADORES DE LOGRO: Dada una serie de fallas que se pueden presentar en un procedimiento, las relaciona con las fases del ciclo de programación en las
cuales estas se pueden producir. [F]
≈ Reconocer el entorno de trabajo que ofrece un software para elaborar diagramas de flujo (menús, barras, área de
trabajo).
Entender la barra de título
Entender la barra de menús (Archivo, Edición, Ver, Insertar, Formato, Ventana)
Entender las barras de herramientas
Entender la barra de desplazamiento
Entender la barra de estado
Entender el área de trabajo
Entender las opciones de zoom (aumentar/disminuir la escala de visualización)
PERÍODOS DE CLASE: 1
INDICADORES DE LOGRO: En sus propias palabras, describe brevemente, el entorno de trabajo que ofrece el software seleccionado para elaborar diagramas de
flujo. [A, F]
NOTA: Ver la reseña de algunas herramientas descargables de Internet que facilitan el Aprendizaje Visual. Incluye descripción de
software para construir Diagramas de Flujo http://www.eduteka.org/HerramientasVisuales.php
≈ Utilizar apropiadamente las funciones básicas de un software para elaborar diagramas de flujo.
Abrir y cerrar la aplicación
Abrir y cerrar un diagrama de flujo existente
Crear instrucciones nuevas dentro de un diagrama de flujo utilizando el símbolo apropiado
Crear líneas de flujo entre las instrucciones de un diagrama de flujo
Adicionar un título general que identifique un diagrama de flujo
Seleccionar título, instrucciones o líneas de flujo
Mover de posición el título, las instrucciones o las líneas de flujo
Eliminar título, instrucciones o líneas de flujo
Utilizar el comando deshacer
Guardar un diagrama de flujo en una unidad de almacenamiento local o remota
Guardar un diagrama de flujo para que pueda abrirse con otras versiones del mismo software.
Exportar un diagrama de flujo a un formato gráfico para que lo puedan leer otros programas
Utilizar las funciones de ayuda que ofrece el software
PERÍODOS DE CLASE: 3
INDICADORES DE LOGRO: Utilizando un software para elaborar diagramas de flujo, crea un nuevo diagrama, lo graba en un lugar establecido por el profesor,
lo cierra; si es necesario, lo abre nuevamente para modificarlo. [A, F]
≈ Comprender en qué fases del ciclo de programación se pueden producir las fallas de concepción y de lógica.
Comprender qué es una falla de concepción (mala formulación del problema)
Entender en qué fase del ciclo de programación se pueden producir fallas de concepción
Conocer las causas más comunes por las que se producen las fallas de concepción
Conocer las medidas que se deben tomar para evitar las fallas de concepción
Comprender qué es una falla de lógica (algoritmos mal diseñados)
Entender en qué fase del ciclo de programación se pueden producir fallas de lógica
Conocer las causas más comunes por las que se producen las fallas de lógica
Conocer las medidas que se deben tomar para evitar las fallas de lógica
PERÍODOS DE CLASE: 2
INDICADORES DE LOGRO: Dado un algoritmo elaborado por otro estudiante, realiza la prueba de escritorio y predice que resultado arrojará el computador con
un conjunto determinado de datos de entrada. [F]
≈ Reflexionar sobre la conveniencia de emplear una metodología con pasos ordenados para analizar problemas.
Hacer conciencia de la importancia y conveniencia de emplear una metodología para analizar problemas
Reflexionar sobre la importancia de poner por escrito el resultado del análisis de problemas (para cada uno de los pasos)
PERÍODOS DE CLASE: 1
INDICADORES DE LOGRO: Elabora un ensayo en el que plasma sus reflexiones cobre la conveniencia o no de emplear una metodología con pasos ordenados
para aprender a analizar problemas. [F]
NOTA GENERAL: El número de clases que aparece asociada a cada uno de los objetivos específicos indica la cantidad de períodos
de clase, de 55 minutos, estimado por los profesores participantes, necesarios para impartir la instrucción y realizar ejercicios y
prácticas necesarios para que el estudiante pueda dominar lo que se pretende enseñar.
ESTÁNDARES
A. Operaciones y Conceptos Básicos
B. Problemas Sociales, Éticos y Humanos
C. Herramientas de las TIC para la Productividad
D. Herramientas de las TIC para la Comunicación
E. Herramientas de las TIC para la Investigación
F. Herramientas de las TIC para la Solución de Problemas y la Toma de Decisiones
A N Á LIS IS D EL P R O B LEM A
F o r m u la r e l p r o b le m a :
R e s u lt a d o s e s p e r a d o s :
D a t o s D is p o n ib le s :
R e s t r ic cio n e s :
P r o c e s o s N e c e s a r io s :
21st Century Skills (2004): Logros indispensables para los estudiantes del Siglo XXI. [Consulta en línea: Eduteka, Marzo 16, 2009,
http://www.eduteka.org/SeisElementos.php]
Aebli, Hans (2001): 12 Formas básicas de enseñar, una didáctica basada en la psicología; Ediciones Narcea, Madrid.
Banaji, Shakuntal & Burn, Andrew (2006): The rhetorics of creativity: a review of the literature. Centre for the Study of Children, Youth and
Media, Institute of Education (University of London), Londres [consulta en línea: Creative Partnership, Abril 13, 2009,
http://www.creative-partnerships.com/data/files/rhetorics-of-creativity-12.pdf]
Beltrán, Luis Pompilio & Suárez, Alberto (1999): Matemáticas con tecnología aplicada 5; Prentice Hall, Bogotá.
Bernays, P (1949): Lógica y ciencia; Actas del congreso internacional de filosofía de la ciencia, Colloque de Logique, Paris.
Brandsford, John & Stein, Barry (1984): The IDEAL problem solver, [Consulta en línea de un resumen del contenido del libro: npsnet, Marzo 27,
2004, http://www.npsnet.com/waletzky/BookSummaries/TheIDEALProblemSolver.html]
Brown, Stephen & Walter, Marion (1990): The art of problem posing, [Consulta en línea: Questia, Marzo 27, 2007,
http://www.questia.com/PM.qst?a=o&d=58818239]
Bunge, Mario (1959): Metascientific queries; Ed. Charles C. Thomas, Springfield.
Bustamante Arias, Alfonso (2007): Notas para un curso de Lógica y argumentación; Universidad Icesi, Cali, primera edición.
Cajaraville Pegito, José A. (1989): Ordenador y educación matemática, algunas modalidades de uso; Editorial Síntesis, Madrid.
Cantillo Parra, Lucila (1990): Matemática concreta 5, cuaderno de actividades; Editorial Voluntad, Bogotá.
Caro Pineda, Silvina (2003): Lógica de programación y algoritmos; Centro de investigaciones para el desarrollo CIPADE, Uniboyacá, Tunja.
Carreras Llorenç y Otros (2001): Cómo educar en valores; Narcea Ediciones, Madrid.
Casasbuenas, Cecilia & Eslava, Carola (1985): Cubo mágico 4; Educar Editores, Bogotá.
Casasbuenas, Cecilia & Cifuentes, Virginia (1998a): Cuenta jugando 4; Editorial Norma, Bogotá.
Casasbuenas, Cecilia & Cifuentes, Virginia (1998b): Cuenta jugando 5; Editorial Norma, Bogotá.
Castellanos, Ricardo & Ferreira, Gonzalo (2000a): Informática 1; Editorial Alfa Omega, Bogotá.
Castellanos, Ricardo & Ferreira, Gonzalo (2000b): Informática 2; Editorial Alfa Omega, Bogotá.
Castellanos, Ricardo & Ferreira, Gonzalo (2000c): Informática 3; Editorial Alfa Omega, Bogotá.
Castellanos, María Victoria de & Torres, Gladis (1986): Sistema matemático 4; Editorial Norma, Bogotá.
Castiblanco Paiba, Ana Cecilia & Castiblanco Paiba, José Antonio (1988): Practiquemos matemática 5; Intermedio Editores, Bogotá.
Clements, Douglas H. & Meredith, Julie S. (1992): Research on Logo, effects and efficacy, [Consulta en Línea: Logo Foundation, MIT, Febrero 26
de 2007, http://el.media.mit.edu/logo-foundation/pubs/papers/research_logo.html]
Copi, Irving & Cohen, Carl (2000): Introducción a la Lógica; Editorial Limusa, México.
Corbí Bellot, Antonio y Otros (1998): Fundamentos de programación, Volumen I: Metodología; Universidad de Alicante, España.
Craft, Ana (2001): An Analysis of Research and Literature on Creativity in Education. Qualifications and Curriculum Authority.
Creative Partnerships (2006): The rhetorics of creativity: a review of the literature; Institute of Education, University of London; [Consulta en
Línea: Creative Partnerships, Abril 13 de 2009, http://www.creative-partnerships.com/research-resources/]
Cuena, José (1986): Inteligencia artificial, sistemas expertos (sistemas basados en reglas y programación lógica); Alianza Editorial, Madrid.
Daintith, John (1982): Diccionario de matemáticas; Editorial Norma, Bogotá.
De Bono, Edward (1970): El pensamiento lateral, Editorial Paidos Ibérica, Barcelona.
---------- (1992): El pensamiento creativo, Editorial Paidos Ibérica, Barcelona.
Del Rio Gómez, Sara Luz (2003): Técnica de solución de problemas utilizando una computadora; [Consulta en Línea: Unam, Enero 15 de 2007,
http://www.bibliodgsca.unam.mx/tesis/tes9sarg/toc.htm]
Delors, Jacques (1996): La educación encierra un tesoro; Informe de la Unesco de la comisión internacional sobre la educación para el siglo XXI;
Grupo Santillana, Madrid.
Deval, Juan (2001): Aprender en la vida y en la escuela; Ediciones Morata, Madrid, segunda edición.
Díaz Pulecio, Laura Jeannette (1993): Recreo matemático 5, cuaderno de actividades; Editorial Voluntad, Bogotá.
Edie, Arvid R. Y Otros (1997): Engineering fundamentals and problem solving; McGraw Hill, Estados Unidos, tercera edición.
Feicht, Louis (2000): Old computer tricks: Enhance algebraic thinking; Learning & Leading with technology, Volumen 27, Número 8.
Ferrater Mora, José (1957): ¿Qué es la lógica?; Editorial Columba, Argentina.
Gallardo Ruiz, José & García López, Carmen: Apuntes para la asignatura informática, diseño de algoritmos y programas; [Consulta en línea:
Universidad de Málaga, Diciembre 8 de 2004, http://www.lcc.uma.es/personal/pepeg/mates]
Gallo, Gonzalo (2004): El sentido de la vida; Periódicos Asociados, Bogotá.
Gardner, Howard (1993): Creating minds: An anatomy of creativity seen through the lives of Freud, Einstein, Picasso, Stravinsky, Eliot,
Graham and Gandhi. Basic Books, Nueva York.
Garza, Rosa María & Leventhal, Susana (2000): Aprender cómo aprender; Editorial Trillas, México.
Good, Thomas & Brophy, Jere (1996): Psicología Edutactiva Contemporánea; McGraw Hill, México, quinta edición.
Gutiérrez, José Blun & Montenegro, Ignacio (1995): Juguemos con Logo 2; Fecón Ltda., Bogotá.
Guzdial, Mark (2000): Soporte tecnológico para el aprendizaje basado en proyectos, Capítulo 3 del libro Aprendiendo con tecnología, Crhis
Dede (compilador); Paidos, Argentina.
Holloway, G.E.T. (1982): Percepción del espacio en el niño según Piaget; Ediciones Piados Ibérica, Barcelona.
Iranzo, Pascual Julián (2005): Lógica simbólica para informáticos; Alfaomega, México.