Professional Documents
Culture Documents
ALGORITMOS Y
PROGRAMACIN
GUA
PARA DOCENTES
El autor otorga permiso para utilizar este documento bajo la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Genrica
(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 trminos 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 acompaa un Cuaderno de Trabajo para estudiantes que se puede descargar gratuitamente de:
http://www.eduteka.org/GuiaAlgoritmos.php
El autor agradece el envo de cualquier comentario sobre esta Gua a los correos: editor@eduteka.org; jualop@gmail.com
En la mayora de conjuntos de habilidades propuestos Esto en cuanto a la solucin de problemas, pero hay
figuran las habilidades de pensamiento de orden otra habilidad de pensamiento que tambin se puede
superior entre las que se incluye la destreza para ayudar a desarrollar con un cursos de Algoritmos y
solucionar problemas; por esta razn, se requiere Programacin: La Creatividad.
seleccionar estrategias efectivas para ayudar a que los
estudiantes las desarrollen. Para atender esta En los ltimos aos, la creatividad forma parte de las
necesidad, la programacin de computadores constituye prioridades de los sistemas educativos en varios pases,
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 formacin de superior. Al punto que los Estndares Nacionales
programadores. Es importante insistir en esta Norteamericanos de TIC para Estudiantes (NETS-S)
orientacin debido a que las metodologas utilizadas en formulados en 1998, estaban encabezados por
Educacin Bsica para llevar a cabo cursos de Operaciones y conceptos bsicos de las TIC y la
Algoritmos y Programacin, son heredadas de la Creatividad no figuraba. Sin embargo, en la nueva
educacin superior y muchos de los docentes que las versin de estos Estndares, liberada en 2008, la
utilizan se dedican principalmente a ensear los creatividad encabeza los seis grupos de estndares.
vericuetos de lenguajes de programacin profesionales Otro ejemplo muy diciente es la creacin en Inglaterra
tales como Java, C++, Visual Basic, etc. Hablar hoy de del Consorcio para la Creatividad que busca promover
aprender a disear y construir aplicaciones (programas) en la educacin el desarrollo de habilidades de
complejas, implica una labor titnica que en la mayora pensamiento que conduzcan la formacin de personas
de los casos est fuera del alcance de la Educacin orientadas a la creatividad y a la innovacin.
Bsica ya que demanda necesariamente enfoques de
programacin como el orientado a objetos al que Una de las razones para que la creatividad se hubiese
apuntan la mayora de tendencias en Ingeniera de convertido en tema prioritario es que tiene un alto
Sistemas. impacto en la generacin de riqueza por parte de las
empresas de la Sociedad de la Creatividad. En esta
Por esta razn, en la Educacin Bsica es altamente empresas, los reconocimientos profesionales se dan
recomendable utilizar ambientes de programacin gracias al talento, la creatividad y la inteligencia. La
basados en Logo, fciles de utilizar y que permitan creatividad reemplaz las materias primas como fuente
realizar procedimientos que contengan estructuras fundamental de crecimiento econmico. Para tener xito
bsicas (secuencial, decisin y repeticin), 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 bsica secundaria o en la generen innovaciones (Banaji & Burn, 2006). Cada vez
Media Tcnica sera aconsejable introducir a los es mayor el nmero de empresas que fundamentan su
estudiantes a la programacin orientada a objetos modelo de negocio en la creatividad y la innovacin;
mediante entornos de programacin visuales y para ellas, son indispensables personas que adems de
amigables como Alice, KPL o Processing. tener los conocimientos requeridos para desempearse
en los diferentes cargos, tengan habilidad para pensar y
Desde el punto de vista educativo, la programacin 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 Comisin Europea,
desarrollar el pensamiento algortmico. Adicionalmente, consciente de la importancia que tienen la creatividad y
Pg.4 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
la innovacin para el desarrollo social y econmico de ayuda en la solucin de problemas. Esto sugiere
los pases del viejo continente, decidiera proclamar el que una evaluacin autentica en matemticas debe
2009 como el Ao de la Creatividad y la Innovacin 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 evaluacin enriquecidos.
educativos consiste en lograr que se generen las Adicionalmente, hay otros campos ms avanzados
estrategias adecuadas para que los estudiantes se de las matemticas que tambin se pueden impactar
desarrollen como pensadores creativos. As como para con un curso de algoritmos y programacin:
la sociedad griega en tiempos de Alejandro el Grande Inteligencia artificial, robtica, aprendizaje asistido
era prioridad que las personas desarrollaran su cuerpo por computador (CAL), aprendizaje asistido por
como preparacin 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 desempearse con Es muy importante tener presente que resolver
xito en ella. Pero, dado que el desarrollo de estas problemas matemticos mediante procedimientos tiene
habilidades se debe iniciar desde edad temprana, la
dos ciclos: uno en el cual se resuelve el problema
educacin debe asumir su cuota de responsabilidad en
matemtico en s (con papel y lpiz) y otro en el que esa
esta importante tarea.
solucin se automatiza en el computador. Crear un
procedimiento para calcular el rea de cualquier
Desde este punto de vista, la presente Gua de rectngulo a partir de las dimensiones de sus lados,
Algoritmos y Programacin, dirigida a docentes de requiere que el estudiante primero resuelva el problema
Educacin Bsica, se concentra en el desarrollo de la
matemtico (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 utilizacin
procedimiento que pida los datos de entrada, realice los
en el aula, los ejemplos que se proponen corresponden clculos y muestre el resultado (analizar el problema,
a temas de Matemticas y Ciencias Naturales para disear un algoritmo, traducir el algoritmo a un lenguaje
grados cuarto y quinto de Bsica Primaria. de programacin y depurar el programa).
Una de las acepciones que trae el Diccionario de Real empricas para llegar a una solucin. El mtodo
Academia de la Lengua Espaola (RAE) respecto a la heurstico conocido como IDEAL, formulado por
palabra Problema es Planteamiento de una situacin Bransford y Stein (1984), incluye cinco pasos:
cuya respuesta desconocida debe obtenerse a travs de Identificar el problema; definir y presentar el
mtodos cientficos. Con miras a lograr esa respuesta, problema; explorar las estrategias viables; avanzar
un problema se puede definir como una situacin en la en las estrategias; y lograr la solucin 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 matemtico Polya (1957) tambin
La mayora de problemas tienen algunos elementos en formul un mtodo heurstico para resolver
comn: 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 Gua se utilizar este mtodo propuesto por Polya.
conocimientos, habilidades y energa de quien va a Algoritmos : Consiste en aplicar adecuadamente
resolverlo (Moursund, 1999). una serie de pasos detallados que aseguran una
solucin correcta. Por lo general, cada algoritmo es
Casi todos los problemas requieren, que quien los especfico de un dominio del conocimiento. La
resuelve, los divida en submetas que, cuando son programacin de computadores se apoya en este
dominadas (por lo regular en orden), llevan a alcanzar el mtodo, tal como veremos en la Unidad 2.
objetivo. La solucin de problemas tambin requiere que Modelo de procesamiento de informacin : 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 vas de solucin). Las
posibles soluciones avanzan por subtemas y
Cada disciplina dispone de estrategias especficas para requieren que se realicen operaciones en cada uno
resolver problemas de su mbito; por ejemplo, resolver de ellos.
problemas matemticos implica utilizar estrategias Anlisis de medios y fines : Se funda en la
propias de las matemticas. Sin embargo, algunos comparacin del estado inicial con la meta que se
psiclogos 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 travs 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, mtodo se puede proceder en retrospectiva (desde la
destacan los siguientes mtodos 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 analgico : Se apoya en el
funcione. Puede tomar mucho tiempo y no es seguro establecimiento de una analoga entre una situacin
que se llegue a una solucin. Es una estrategia que resulte familiar y la situacin 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 elctrica, verificar el muchas soluciones (sin evaluarlas); decidir los
interruptor. criterios para estimar las soluciones generadas; y
Iluminacin : Implica la sbita conciencia de una emplear esos criterios para seleccionar la mejor
solucin que sea viable. Es muy utilizado el modelo solucin. Requiere que los estudiantes no emitan
de cuatro pasos formulado por Wallas (1921): juicios con respecto a las posibles soluciones hasta
preparacin, incubacin, iluminacin y verificacin. que terminen de formularlas.
Estos cuatro momentos tambin se conocen como Sistemas de produccin : Se basa en la aplicacin
proceso creativo. Algunas investigaciones han de una red de secuencias de condicin y accin
determinado que cuando en el periodo de incubacin (Anderson, 1990).
se incluye una interrupcin 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 incubacin ayuda cual difiere completamente del pensamiento lineal
a "olvidar" falsas pistas, mientras que no hacer (lgico). 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 solucin creativa alternativas para solucionar un problema. Su
se estanque en estrategias inapropiadas. importancia para la educacin radica en permitir que
Heurstica : Se basa en la utilizacin de reglas el estudiante: explore (escuche y acepte puntos de
Pg.7 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
vista diferentes, busque alternativas); avive ejemplo, en Recreo Matemtico 5 (Daz, 1993) y en Dominios 5
(promueva el uso de la fantasa 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 solucin de un problema
preestablecidas); y contrarreste la rigidez (vea las matemtico:
cosas desde diferentes ngulos y evite 1. COMPRENDER EL PROBLEMA.
dogmatismos). Este es un mtodo adecuado cuando Leer el problema varias veces
el problema que se desea resolver no requiere
Establecer los datos del problema
informacin adicional, sino un reordenamiento de la
informacin disponible; cuando hay ausencia del Aclarar lo que se va a resolver (Cul 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 incgnita del problema
de perfeccionamiento y redefinir esa posibilidad como Organizar la informacin
un problema (De Bono, 1970).
Agrupar los datos en categoras
Como se puede apreciar, hay muchas estrategias para Trazar una figura o diagrama.
solucionar problemas; sin embargo, esta Gua se enfoca 2. HACER EL PLAN.
principalmente en dos de estas estrategias: Heurstica y Escoger y decidir las operaciones a efectuar.
Algortmica. Eliminar los datos intiles.
Descomponer el problema en otros ms pequeos.
Segn Polya (1957), cuando se resuelven problemas, 3. EJECUTAR EL PLAN (Resolver).
intervienen cuatro operaciones mentales: Ejecutar en detalle cada operacin.
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 SOLUCIN (Revisar).
4. Revisar Dar una respuesta completa
Hallar el mismo resultado de otra manera.
Numerosos autores de textos escolares de matemticas Verificar por apreciacin 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
Fernndez & 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 Andrs lleg 3 veces en primer lugar, 4 veces
problemas. de ltimo y 6 veces de intermedio, Qu puntaje obtuvo? (Adaptado
de Melo (2001), pgina 30).
R/.
COMPRENDE
Leer detenidamente el problema
Cuntos colores de fichas se reparten?
Cuntas fichas rojas, azules y amarillas obtuvo Andrs?
Qu pregunta el problema?
PLANEA
Para hallar el puntaje que obtiene Andrs por sus llegadas de
primero, calcular el cubo de la cantidad de fichas rojas.
Ilustracin 1-1: Interpretacin dinmica y cclica 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 dinmica y
lugar, calcular el cuadrado de la cantidad de fichas amarillas.
cclica de la solucin 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 cmo 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
comprensin del problema (Wilson, Fernndez & Por cuatro fichas amarillas: 42 = 16 puntos
Hadaway, 1993; Guzdial, 2000). Para obtener el puntaje final de Andrs, 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 mayora de los textos escolares de matemticas abordan la amarillas (39 16 = 23 puntos).
Solucin de Problemas bajo el enfoque planteado por Polya. Por REVISA
Pg.8 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
El puntaje que obtuvo Andrs es 23 puntos. Fomentar la utilizacin de representaciones visuales
Verificar las operaciones y comparar los clculos con la solucin que favorezcan la comprensin de conceptos
estimada. (diagramas de flujo, mapas conceptuales, diagramas
de Venn, etc).
El anterior es un problema tpico en clase de Dar retroalimentacin personalizada en
matemticas. Es muy importante que los estudiantes consideracin al esfuerzo hecho por los estudiantes
reflexionen sobre las actividades que realizan para para solucionar problemas.
solucionarlo (metacognicin) y las agrupen de acuerdo a Verificar que una cantidad importante de la
las etapas que contenga la estrategia de solucin instruccin ocurra en grupos pequeos o en
empleada. situaciones de uno a uno.
Ventilar los errores y malentendidos ms comunes.
ACTIVIDAD Promover la interaccin tanto estudiante-docente,
En la academia de las ciencias sociales hay dos grupos de materias: como estudiante-estudiante. Los nios son los
Geografa, con 124 alumnos; Historia, con 220; y Educacin mejores maestros de otros nios en cosas tan
Ambiental, con 185. Si hay 25 alumnos que estudian Geografa y importantes para ellos como el aprendizaje de
Educacin Ambiental, 37 que estudian Educacin Ambiental e diversos juegos (Savater, 1996).
Historia, y ninguno toma las tres materias, cuntos alumnos tiene la
academia? (Adaptado de Melo, 2001, pgina 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 (representacin, clasificacin e
interseccin). Es buena idea que construyan una tabla para
organizar la informacin y un diagrama de Venn para representar los Solucin de problemas y programacin
datos. Desde el punto de vista educativo, la solucin de
problemas mediante la programacin de computadores
posibilita la activacin 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. Segn 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,
prcticas con el fin de ayudar a los estudiantes a anticipar errores, y evaluar rpidamente diferentes
desarrollar habilidades para resolver problemas: escenarios mentales (Stager, 2003).
Plantear verbalmente problemas con variedad de
estructuras y de formas de solucin.
Presentar diversas estrategias de solucin de
problemas.
Asignar problemas que tengan aplicacin en la vida
diaria.
Ofrecer experiencias que estimulen la curiosidad de
los estudiantes y construyan confianza en la
investigacin, la solucin de problemas y la
comunicacin.
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 cmo los conceptos y
habilidades utilizados podran aplicarse en otros Ilustracin 1-2(a): rea de trabajo de MicroMundos EX
contextos. (interfaz del programa)
Promover, de manera creciente, la abstraccin y la
generalizacin mediante la reflexin y la Quienes han utilizado Logo con estudiantes de bsica
experimentacin. primaria (especialmente con grados 3 a 5 - 8 a 11
Pg.9 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
aos) habrn 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 difcil conducta de la
para darle instrucciones a la tortuga. Por ejemplo, reflexin que se inicia a partir de los siete u ocho aos
utilizan el centro de mando (rea de comandos) para cuando nios y nias dejan de actuar por impulso y
introducir manualmente, una a una, las instrucciones empiezan a pensar antes de proceder. Adems,
para construir un rectngulo. Esta forma de utilizar Logo demanda de los estudiantes planificar, formular hiptesis
promueve la exploracin y permite al estudiante ver y anticipar qu suceder.
inmediatamente cul es el efecto que produce cada
instruccin ejecutada.
EJEMPLO
Pedir a los estudiantes que escriban un procedimiento para dibujar
un rectngulo 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 rectngulo
cp
adelante 80
derecha 90
adelante 120
derecha 90
adelante 80
derecha 90
adelante 120
Fin
La Opcin 1 plantea directamente el problema que el estudiante Determinar con claridad cul es el resultado final
debe resolver. Mientras que la Opcin 2 plantea una situacin y la (producto) que debe devolver el programa es algo que
pregunta es Qu debe hacer Felipe?. La Opcin 2 demanda al ayuda a establecer la meta. Es necesario analizar qu
estudiante leer muy bien el texto para comprender la situacin 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, diagramacin, orden,
preguntar al estudiante cunto es 7 menos 3 versus preguntar s etc). El estudiante debe preguntarse:
Rosa tiene 7 naranjas y Julio tiene 3, cuntas naranjas de ms tiene Qu informacin me solicitan?
Rosa. Qu formato debe tener esta informacin?
La comprensin lingstica 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 visin general de lo que se le
Otro aspecto muy importante en la etapa de anlisis del
pide y una segunda lectura para poder responder
problema consiste en determinar cul es la informacin
preguntas como:
disponible. El estudiante debe preguntarse:
Puedo definir mejor el problema?
Qu informacin es importante?
Qu palabras del problema me son desconocidas?
Qu informacin no es relevante?
Cules son las palabras clave del problema?
Cules son los datos de entrada? (conocidos)
He resuelto antes algn problema similar?
Cul es la incgnita?
Qu informacin es importante?
Qu informacin me falta para resolver el
Qu informacin puedo omitir?
problema? (datos desconocidos)
Pg.12 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Puedo agrupar los datos en categoras?
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 frmulas debo emplear?
Qu conocimientos tengo en el rea o reas del Cmo afectan las condiciones a los procesos?
problema? Qu debo hacer?
Son suficientes esos conocimientos? Cul es el orden de lo que debo hacer?
Dnde puedo obtener el conocimiento que necesito
para resolver el problema? En la medida de lo posible, es aconsejable dividir el
Mis compaeros de estudio me pueden ayudar a problema original en otros ms pequeos y fciles de
clarificar mis dudas? solucionar (submetas), hasta que los pasos para
Qu expertos en el tema puedo consultar? alcanzarlas se puedan determinar con bastante
precisin (mdulos). Esto es lo que en programacin se
En el mbito de las matemticas, se conoce como denomina diseo descendente o top-down (Joyanes,
conocimiento condicional a aquel que activan los 2001).
estudiantes cuando aplican procedimientos matemticos
concretos de manera intencional y consciente a ciertas El diseo descendente se utiliza en la programacin
situaciones. El conocimiento condicional proporciona al estructurada de computadores debido a que facilita:
alumno un sistema de valoracin sobre la extensin y La comprensin del problema
las limitaciones de su saber (qu sabe sobre el tema, su Las modificaciones en los mdulos
capacidad de memoria, etc), a la vez que examina la La verificacin de la solucin
naturaleza de la demanda del profesor y su objetivo
ltimo, y evala variables externas como pueden ser el Al realizar divisiones sucesivas del problema en otros
tiempo que tiene o con quin realiza la tarea (Orubia & ms pequeos y manejables (mdulos), hay que tener
Rochera & Barber, 2001). cuidado para no perder de vista la comprensin de este
como un todo. El estudiante, luego de dividir el problema
EJEMPLO original en submetas (mdulos), 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 to 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 an le falta? en cuyo caso resulta ms aconsejable utilizar una
(Adaptado de Casasbuenas & Cifuentes (1998b), pgina 23). metodologa orientada a objetos. Especialmente, cuando
R/. profesores universitarios manifiestan su preocupacin
Formular el problema: Ya se encuentra claramente planteado. por el aprendizaje de malas prcticas de programacin
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 solucin de este carrera de Ingeniera de Sistemas. Es aconsejable que
problema y se pueden omitir. los ejemplos y actividades planteados a los estudiantes
contengan solo un problema cuya solucin sea muy
corta (no necesariamente sencillo de resolver). De esta
Determinar las restricciones forma ellos podrn enfocarse en aplicar completamente
Resulta fundamental que los estudiantes determinen la metodologa propuesta para analizar problemas
aquello que est permitido o prohibido hacer y/o utilizar (formular el problema, especificar los resultados,
para llegar a una solucin. En este punto se deben identificar la informacin disponible, determinar las
exponer las necesidades y restricciones (no una restricciones y definir los procesos) sin perderse en el
propuesta de solucin). 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
Cules datos puedo considerar fijos (constantes) ejemplo, si se desea producir un software para trabajar
para simplificar el problema? con figuras geomtricas de diferentes tipos, el tringulo
Cules datos son variables? rectngulo ser uno de los objetos a tener en cuenta y
Cules datos debo calcular? este a su vez, debe prestar los siguientes servicios
(Jimnez, 2002):
Pg.13 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: 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 matemticos (Rodrguez, 1995):
3. Un procedimiento para calcular la hipotenusa. 1. Leer con mucho cuidado el problema hasta entenderlo.
4. Un procedimiento para calcular el permetro. 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 solucin de problemas matemticos:
Cuntas preguntas tiene el problema? Cules?
Qu debes hacer primero? Para qu?
Qu debes hacer luego? Para qu?
Cul debe ser la respuesta (estimada) del problema?
ACTIVIDAD
Basndose en la metodologa expuesta en esta unidad, dividir a los
estudiantes en grupos y distribuir entre ellos la tarea de anlisis
detallado (Formular el problema, Resultados esperados, Datos
Ilustracin 1-6: Descripcin de los servicios que debe estar en disponibles, Determinar las restricciones y Procesos necesarios)
capacidad de prestar el objeto tringulo rectngulo. 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 rectngulo cuya rea es de 15 cm2
De acuerdo con la metodologa descrita, analizar el problema de y uno de sus lados mide 3 cm.
hallar el rea de un tringulo rectngulo cuya Base mide 3 cm, la 3. Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm.
Altura 4 cm y la Hipotenusa 5 cm. 4. Hallar el rea de un pentgono 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 tringulo rectngulo. Dato Curioso
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo. La Deep Blue de IBM fue el primer computador que super a un
incgnita es el rea y todos los valores son constantes. El valor de la campen 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 matemticas 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 versin 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 frmula Gunness de los Records 2002)
rea=base*altura/2; comunicar el resultado (rea).
ACTIVIDAD
La mayora de las metodologas propuestas para la solucin de
problemas matemticos se aproxima al ciclo de programacin de
computadores. Se puede iniciar planteando a los estudiantes
problemas matemticos 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, Cuntos discos
comprar?
Analizar el problema:
Qu tienes en cuenta cuando vas a comprar un disco?
Tienes informacin suficiente para resolver el problema de
Luisa? Ilustracin 1-7: Fases segunda, tercera y cuarta, del ciclo de
programacin.
Qu dato averiguaras para saber cuntos discos puede
comprar Luisa?
Plantear ahora este problema utilizando la metodologa de Formular
el problema, Resultados esperados, Datos disponibles, Disear 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 gua. Por el momento, podemos resumir que
TIP nicamente hasta cuando se ha realizado un anlisis a
EJEMPLO
Complementar la solucin del problema de hallar el rea de un
tringulo rectngulo 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
tringulo rectngulo (resultado esperado), pero adicionalmente se
puede calcular el permetro (afinacin), aplicando la frmula:
permetro=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 deban derribarse
entre ellas. Programado como diversin 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
dlares (el equivalente a 930.000 dlares 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 cientficas.
Dispona de una memoria de 4Kb y los operadores empleaban un
teclado y cinta de papel perforado para la introduccin de datos. (Libro
Guinness de los Records, 2002).
.
Si se quiere llegar a un planteamiento, para Educacin final llega a ser aceptada por un grupo cultural
Bsica, que contribuya efectivamente a desarrollar la particular.
creatividad programando computadores, es conveniente
como primera medida, llegar a un acuerdo sobre qu es En los Estndares Nacionales Estadounidenses de TIC
la creatividad, pues varios autores la definen de manera para Estudiantes (NETSS), reformulados por ISTE, el
diferente. primer grupo corresponde a Creatividad e Innovacin.
Para ISTE, los estudiantes al finalizar sus Educacin
De acuerdo con el Diccionario de la Real Academia Media deben demostrar pensamiento creativo, construir
Espaola (RAE), creatividad es la facultad de crear o la conocimiento y desarrollar productos y procesos
capacidad de creacin. Por su parte, la enciclopedia innovadores utilizando las TIC.
Microsoft Encarta define la Creatividad como la
capacidad de inventar algo nuevo, de relacionar algo Segn 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
Segn Wikipedia, la creatividad es un proceso mental y trabajos originales como medios de expresin 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 Segn el Comit Consultivo Nacional para la Educacin
encontrar soluciones originales y a la voluntad de Creativa y Cultural de Inglaterra (NACCCE, por su sigla
modificar o transformar el mundo. en Ingls), 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 ms aceptadas en los ltimos 50 aos son 1999).
aquellas que unen creatividad e imaginacin. 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 innovacin
naturaleza humana. Ella se refiere a la creatividad con c se estn reconociendo como aquellas que separan a los
minscula como la habilidad para hacer frente, de estudiantes que estn preparados para los ambientes de
manera efectiva, a los retos y cambios que nos plantea vida y de trabajo del Siglo XXI, cada vez ms complejos,
la vida en el siglo XXI. Esta es la creatividad que sirve de los que no lo estn. Hacer nfasis en creatividad,
para afrontar tareas cotidianas (elaborar una nueva pensamiento crtico, comunicacin y colaboracin es
receta o un arreglo floral, escribir una carta o poema, esencial en la preparacin de los estudiantes para el
ensear un nuevo truco a alguien, etc). Tambin entra futuro. Entre las competencias de creatividad e
en juego cuando se deben superar obstculos tales innovacin que propone el Consorcio estn: 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 mayscula 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 contribucin tangible y til en el campo en el que ocurre
poco corrientes como artistas renombrados, cientficos e la innovacin.
inventores.
Por su parte, el Consorcio para la Creatividad propone
Stenberg (1997), autor reconocido en este campo, que sta se refiere a mucho ms 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 ms all de lo dado y engendrar resolver problemas y reflexionar crticamente; todas
ideas nuevas e interesantes), analtica (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
prctica (traducir teoras abstractas en realizaciones empodera a los jvenes a imaginar un mundo diferente y
efectivas). Estas dos ltimas inteligencias aportan la les da confianza y motivacin para llevar a cabo lo que
posibilidad de diferenciar entre ideas innovadoras imaginan (Creative Partnerships, 2006).
buenas y malas y, adems, relacionarlas con la vida
cotidiana (Lpez, 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 algortmico que promueve esta gua, mediante el
EJEMPLO
QU ES UN ALGORITMO?
ALGORITMO EN SEUDOCDIGO
Paso 1: Inicio.
Paso 2: Leer los dos nmeros (a y b). Avanzar al paso 3.
Paso 3: Comparar a y b para determinar cul 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 operacin a menos b, asignar el valor de b a
a y asignar el valor de la resta a b. Ir al paso 3.
Ilustracin 2-1: Segunda fase del ciclo de programacin. Investigaciones realizadas en Educacin Bsica (en
ambientes constructivistas) recomiendan incluir la
Luego de analizar detalladamente el problema hasta solucin de problemas en el currculo de matemticas
entenderlo completamente, se procede a disear 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 lgica. El conjunto especfico de aplicaciones (Wilson, Fernndez
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 planificacin y sobre cmo
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
definicin matemtica del mismo. Tener claro el enfatizaron en la elaboracin de un plan para desarrollar
proceso digestivo, no implica que los alimentos un procedimiento matemtico (este inclua el uso de
consumidos nutran ms. La familiaridad de lo cotidiano estrategias como dividir conceptos grandes en otros
impide a las personas ver muchos algoritmos que se ms pequeos) encontraron que los estudiantes
suceden a su alrededor. Procesos, rutinas o biorritmos empezaron a utilizar con mayor frecuencia estrategias
naturales como la gestacin, las estaciones, la de planificacin y de dibujo para resolver problemas
circulacin sangunea, los ciclos csmicos, etc, son matemticos en los cuales no utilizaban Logo.
algoritmos naturales que generalmente pasan
desapercibidos. Dato Curioso
La palabra Algoritmo tiene su origen en el nombre del matemtico
La rama del saber que mayor utilizacin ha hecho del Persa "Mohamed ibn Musa al Khwarizmi" (825 d.C.). Su apellido fue
enfoque algortmico es las matemticas. Durante miles traducido al latn como Algorismus y posteriormente paso al espaol
de aos el ser humano se ha esforzado por abstraer la como Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al-
estructura de la solucin de problemas con el fin de Mamun y astrnomo en el observatorio de Bagdad. Sus trabajos de
determinar claramente cul es el camino seguro, preciso lgebra, aritmtica y tablas astronmicas adelantaron enormemente
y rpido que lleva a esas soluciones. Son abundantes el pensamiento matemtico y fue el primero en utilizar la expresin
los ejemplos: mximo comn divisor, teorema de al-yabr (de la que procede la palabra lgebra). Su trabajo con los
Pitgoras, reas de figuras geomtricas, divisin, suma algoritmos introdujo el mtodo de clculo utilizando la numeracin
de nmeros fraccionarios, etc. Todos estos algoritmos arbiga y la notacin decimal.
matemticos independizan los datos iniciales del
problema de la estructura de su solucin, lo que permite
su aplicacin con diferentes conjuntos de datos iniciales En el mbito de la computacin, los Algoritmos son una
(variables). herramienta que permite describir claramente un
conjunto finito de instrucciones, ordenadas
secuencialmente y libres de ambigedad, que debe
EJEMPLO llevar a cabo un computador para lograr un resultado
Consideremos el algoritmo de Euclides para hallar el Mximo Comn previsible. Vale la pena recordar que un programa de
Divisor (MCD) de dos nmeros enteros positivos dados. Obsrvese computador consiste de una serie de instrucciones muy
que no se especifica cules son los dos nmeros, pero si se precisas y escritas en un lenguaje de programacin que
establece claramente una restriccin: deben ser enteros y positivos. el computador entiende (Logo, Java, Pascal, etc).
Ilustracin 2: Comienzo del nivel tres del juego Misin 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, adems de la versin para
Computadores Personales (PCs), ofrecen versiones
para los computadores OX de la iniciativa OLPC (One
Laptop Per Child). Esto es importante ya que cada da
ms nios en Amrica 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
Ilustracin 3: El personaje ya ha movido los obstculos (1, 2, 3) y y compaeros. Utiliza un lenguaje preciso? utiliza vocablos
est a punto de alcanzar la baldosa caf que le permite avanzar al corrientes?
nivel siguiente.
ACTIVIDAD
La ilustracin 2 muestra el comienzo del nivel tres del A diferencia de los seres humanos que realizan actividades sin
juego (cada nivel es ms difcil 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 lgico
llegar a la baldosa caf de la parte inferior del cuadrado. de ejecucin.
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 direccin correcta y en el orden estudiantes en forma desordenada para que ellos los ordenen.
adecuado. En la ilustracin 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.
algortmico y procedimental. El razonamiento abstracto ___ Sacar el pescado del agua.
bsicamente es un proceso de ordenacin de objetos,
situaciones o sucesos en secuencias lgicas de acuerdo ACTIVIDAD
con algn criterio previamente establecido. Para ello se Solicitar a los estudiantes que traigan para la prxima clase los
debe comprender e interpretar los cambios en funcin siguientes elementos:
de la forma cmo varan las caractersticas de inters de Arroz, lentejas o maz (medio puado).
los objetos o sucesos estudiados. Todo cambio conduce Una banda de caucho.
a una alteracin de algn aspecto del objeto, suceso o Un vaso plstico.
situacin (Snchez, 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 observacin para determinar qu es lo siguientes instrucciones para elaborar Maracas:
que cambia (figura, forma, posicin, etc) y cul es el 1. Recortar del papel resistente un trozo ms grande que la boca
patrn de cambio (direccin, tamao, color, etc): del vaso plstico.
2. Introducir el arroz, las lentejas o el maz en el vaso (cada
elemento produce una sonoridad diferente).
3. Poner sobre la boca del vaso el papel.
Pg.24 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: 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 lgico y matemtico ingls Alan Turing (1291-1954),
construy la primera mquina conceptual como una herramienta
matemtica para estudiar los procesos algortmicos. Un clculo en
una mquina de Turing consta de una secuencia de pasos que
ejecuta su unidad de control. Si un problema se puede resolver en la
mquina de Turing entonces es algortmico, y recprocamente si un
problema tiene solucin algortmica, entonces se puede resolver en
la mquina de Turing.
(Adaptado de Qu es realmente un Algoritmo?, Escuela de
Ingeniera, Colombia.)
La estandarizacin de los smbolos para la elaboracin de Diagramas de Flujo tard varios aos. Con el fin de evitar la
utilizacin de smbolos diferentes para representar procesos iguales, la Organizacin Internacional para la
Estandarizacin (ISO, por su sigla en ingls) y el Instituto Nacional Americano de Estandarizacin (ANSI, por su sigla en
ingls), estandarizaron los smbolos que mayor aceptacin tenan en 1985. Los siguientes son los principales smbolos
para elaborar Diagramas de Flujo:
Inicio/Final Decisin
Se utiliza para indicar el inicio y el final Indica la comparacin de dos datos y
de un diagrama; del Inicio slo puede dependiendo del resultado lgico
salir una lnea de flujo y al Final slo (falso o verdadero) se toma la
debe llegar una lnea. decisin de seguir un camino del
diagrama u otro.
Entrada General Iteracin
Entrada/Salida de datos en General (en Indica que una instruccin o grupo de
esta gua, solo la usaremos para la instrucciones deben ejecutarse varias
Entrada). veces.
El Diagrama de Flujo es una herramienta grfica valiosa para la representacin esquemtica 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 elaboracin 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 solucin. Esto se logra comando bnombres.
mediante la utilizacin de Variables (cantidades que se
suelen denotar con letras identificadores- y que pueden En Scratch, se debe hacer clic en el botn 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 ecuacin las situaciones planteadas.
Repetir la operacin 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 programacin (da A :A + :B)
ocasin. Este es el concepto de variable. y que consiste en almacenar en una variable (A) el
Hacer notar tambin que en el papel guardado en la caja DIVISOR valor de ella misma (:A) ms 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 clculo sumatoria de los nmeros entre 1 y 10.
de reas y permetros de otras figuras geomtricas
planas. MicroMundos
para acumulador
bnombres
Contadores da "contador 0
Los contadores en MicroMundos se implementan como da "sumatoria 0
una estructura de programacin (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) ms un valor constante (1). Es muy muestra nombres]
til para controlar el nmero 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 instruccin cambiar ... por ...
para incrementar la variable en una cantidad Ahora escriba en el centro de mando de MicroMundos acumulador.
determinada.
Cada lenguaje de programacin tiene su conjunto de funciones matemticas predefinidas. Estas se ejecutan haciendo
referencia a su nombre. Algunas necesitan, para arrojar un resultado, que se suministre informacin adicional
(parmetros o argumentos). Algunas de las funciones matemticas ms utilizadas en MicroMundos son:
Nmeros: se utilizan como entradas en las operaciones Las siguientes son listas validas en MicroMundos:
matemticas. Cuando se utilizan los signos positivo (+) o [Esta es una lista de 7 elementos]
negativo (-), estos deben estar pegados al nmero. [x y z]
MicroMundos acepta tanto el punto como la coma para
escribir nmeros decimales (3,14=3.14). Esto es Scratch
importante tenerlo presente para no utilizar el punto para
marcar la separacin 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
notacin por tener dos puntos decimales. Por su parte,
Scratch solo utiliza el punto decimal; sin embargo, si
usted introduce el nmero 6,2, Scratch lo convertir
automticamente a 6.2.
EJEMPLO
Los siguientes son nmeros validos en MicroMundos:
453
19,7
19.7
-14,42
856.
1E6
El signo debe estar pegado al nmero: muestra 3 + 6 da como
resultado 3; muestra - 3 + 6 da como resultado el mensaje -
necesita ms entradas. Scratch no reconoce la notacin cientfica: Aunque en Scratch se pueden introducir tanto palabras
1E6. como nmeros en una variable, la operacin de suma de
dos variables o de elementos de una lista solo opera con
Palabras: Las palabras estn formadas por letras y/o nmeros (versin 1.4). Por lo tanto no se pueden
nmeros. 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 ms 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
Quin?
El comando muestra hola da como resultado hola; muestra hola
reporta hola. Varias palabras se deben tratar como una lista.
OPERADORERS ARTMETICOS
Operador Operacin Ejemplo Resultado
potencia Potencia potencia 4 2 16
^ 4^2
* Multiplicacin 4*2 8
Una Expresin est compuesta por valores, funciones, desarrollar paso a paso las siguientes expresiones. Tener en cuenta
primitivas, constantes y/o variables, o por una la jerarqua de los operadores:
combinacin 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 funcin (cos 60, arctan 1) e. 8 + (5 * 6) - 6 = 32
Una combinacin de valores, constantes, variables, f. 9 + 5 * 3 = 24
funciones y operadores que siguen reglas de g. 4 / 2 * (10 - 5) * 3 = 30
construccin y orden de evaluacin de los
operadores (cos 60 + 7 - :altura) ACTIVIDAD
Pedir al estudiante que escriba en el Centro de Mando de
Las Expresiones pueden ser: MicroMundos (ilustracin 1-2) las siguientes expresiones y anote en
Aritmticas: Dan como resultado un valor el cuaderno sus observaciones sobre el resultado:
numrico. Contienen nicamente operadores 1. muestra 7 + 5 + 6
aritmticos y datos numricos (pi * 20 - :X) 2. muestra [7 + 5 + 6]
Alfanumricas: Dan como resultado una serie o 3. muestra [maana nos vemos en clase de ingls]
cadena de caracteres. 4. muestra maana nos vemos en clase de ingls
Lgicas: Dan como resultado un valor "Verdadero"
Obsrvese 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 lgicos (A>0 y B<=5).
numrico (18), la segunda es una lista y reporta una
De Asignacin: Estas Expresiones asignan el
cadena alfanumrica de caracteres 7 + 5 + 6.
resultado de una Expresin a una Variable o a una
La instruccin 4 reporta No s cmo hacer maana
Constante. La Expresin de Asignacin (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 Expresin Aritmtica (:base * :altura / 2) a la
En Scratch no son necesarios los parntesis ya que el
variable rea.
orden de evaluacin de las expresiones es inequvoco.
EJEMPLO
EJEMPLO
Para disear algoritmos que posteriormente puedan ser traducidos a
Luisa Fernanda quiere llenar 5 cajas de bombones y sabe que en
un lenguaje de programacin, 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 limn. Encontrar al menos dos expresiones
frmulas deben escribirse en una sola lnea para que el computador
equivalentes para calcular el nmero de bombones que necesita
las evale.
Luisa Fernanda.
R/.
NOTACIN EXPRESIN
Expresin 1: 5 * 12 + 5 * 14 + 5 * 10
MATEMTICA 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 fcil programarlo:
http://scratch.mit.edu/projects/jualop/752239 Expresin 2: 5 * ( 12 + 14 + 10 )
(base * altura / 2) Qu representa la suma del parntesis?
Por qu la suma se debe multiplicar por 5?
Las dos expresiones dan el mismo resultado?
Ejercicio adaptado de Cuenta Jugando 5; Pgina 48
EJEMPLO (Casasbuenas & Cifuentes, 1998b).
Evaluar la expresin muestra ((potencia (5 + 3) 2) - 10) / 3 + 4 * (2 +
4) teniendo en cuenta la jerarqua de los operadores: ACTIVIDAD
R/. da nmeroA 5 (asigna el valor 5 a la Constante nmeroA)
((potencia (5+3) 2) - 10) / 3 + 4 * (2 + 4) = ((potencia 8 2) - 10) / 3 + 4 * 6 da nmeroB 8 (asigna el valor 8 a la Constante nmeroB)
((potencia8 2) - 10) / 3 + 4 * 6 = (64 - 10) / 3 + 4 * 6 Utilizando la informacin de los valores asignados a las Constantes
(64 - 10) / 3 + 4 * 6 = 54 / 3 + 4 * 6 nmeroA y nmeroB, evaluar las siguientes expresiones:
54 / 3 + 4 * 6 = 18 + 24 1. 20 + :nmeroA
18 + 24 = 42 2. :nmeroA + 3 * :nmeroB
42 3. :nmeroA > :nmeroB
4. :nmeroA + "123
ACTIVIDAD 5. 4 + :nmeroA - :nmeroB
Tomando como modelo el ejemplo anterior y utilizando lpiz y papel,
LAS ESTRUCTURAS
TIP
Edsger Wybe Dijkstra naci en Rotterdam, (Holanda) en 1930. En
1956 anunci su algoritmo de caminos mnimos; posteriormente
propuso el algoritmo del rbol generador minimal. A principios de la
Ilustracin 3-1: Fases segunda y tercera del ciclo de programacin. dcada de los 60, aplic la idea de exclusin mutua a la
comunicacin entre un computador y su teclado. Su solucin de
exclusin mutua ha sido usada en muchos procesadores y tarjetas
Un Algoritmo est compuesto por instrucciones de de memoria desde 1964, ao 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 ms Dijkstra fue el de los filsofos comensales. En este problema, cinco
comunes y que se cubren en esta gua son las filsofos estn 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 (repeticin). procesos (los filsofos) lleguen a una situacin de bloqueo mutuo;
adems, que los recursos se utilicen por todos los procesos de la
Condicional (decisin, seleccin).
manera ms eficiente. Dijkstra tambin contribuy a desterrar el
comando GOTO de la programacin: el comando "GOTO es
Una estructura de control se define como un esquema
considerado daino. Cuantas ms sentencias GOTO tenga un
que permite representar ideas de manera simplificada y
programa, ms confuso ser el cdigo fuente".
que bajo condiciones normales, es constante (Trejos,
1999).
Logo
Logo es un lenguaje de programacin con un nmero
limitado de palabras y de reglas gramaticales si se lo
compara con lenguajes humanos, como el castellano o
el ingls. Las instrucciones en Logo son equivalentes a
las oraciones en castellano y las reglas para construir
esas instrucciones son ms simples que las reglas
gramaticales de nuestro idioma, pero mucho ms
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 Amrica Latina, su costo puede
etc). Los Reporteros informan sobre el resultado de un constituir una restriccin para muchas Instituciones
clculo o sobre el estado de un objeto. Por ejemplo, Educativas. Sin embargo, entre las alternativas gratuitas
rumbo y primero son Reporteros. En la instruccin (licencia GNU) de Logo hay una que utiliza en ncleo 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 programacin tan atractivo y
elaborado como MicroMundos, esta versin de Logo es
Se requiere que los estudiantes aprendan a interpretar gratuita y tiene una traduccin al espaol realizada por
las instrucciones tal como lo hacen con las oraciones en Javier Lpez-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
instruccin 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 continuacin del desarrollo de MSWLogo con el nombre
Mando o de un procedimiento. FMSLogo: http://fmslogo.sourceforge.net/
Fundamentos de programacin
Una vez descritos brevemente los entornos de
programacin que se utilizan a lo largo de esta Gua, se
tratarn a continuacin una serie de conceptos bsicos
requeridos para empezar a utilizar dichos entornos.
COMENTARIOS
Los comentarios no tienen ningn efecto en la ejecucin
del algoritmo. Se utilizan para aclarar instrucciones que
puedan prestarse a confusin o como ayuda a otras
personas que deben leerlo y entenderlo. La mayora de
los lenguajes de programacin ofrecen la posibilidad de
comentar el cdigo de los programas.
Ilustracin 3-2(b): rea de trabajo de Scratch
(Ver imagen con mayor tamao 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 cdigo abierto, su texto entre el punto y coma (;) y el final de la lnea.
desarrollo es cerrado. El cdigo fuente se ofrece de
manera libre y gratuita. Actualmente hay disponibles
MicroMundos
versiones oficiales para Windows, Mac y Sugar (XO);
para lectura
Adems, hay versiones no oficiales para Linux.
local "valorUno ; declarar variables y constantes
local "ValorDos
Este entorno de programacin aprovecha los avances
pregunta [Ingrese el primer valor ] ; ingresar valorUno
en diseo de interfaces para hacer que la programacin
da "valorUno respuesta
sea ms atractiva y accesible para todo aquel que se
pregunta [Ingrese el segundo valor ] ; ingresar valorDos
enfrente por primera vez a aprender a programar. Segn
da "valorDos respuesta
sus creadores, fue diseado como medio de expresin muestra frase [El primer valor es ] :valorUno
para ayudar a nios y jvenes a expresar sus ideas de muestra frase [El segundo valor es ] :valorDos
forma creativa, al tiempo que desarrollan habilidades de fin
pensamiento algortmico y de aprendizaje del Siglo XXI,
a medida que sus maestros superan modelos de
En Scratch, los comentarios se agregan en una caja de
educacin tradicional en los que utilizan las TIC
texto amarilla que se crea al hacer clic derecho sobre
simplemente para reproducir prcticas educativas
cualquier parte del rea de programas (zona central gris)
obsoletas.
y seleccionar la opcin aadir comentario.
Entre las caractersticas ms atractivas de Scratch,
Scratch
adicionales a las mencionadas en el prrafo anterior,
que lo hacen interesante para muchas Instituciones
Educativas se cuentan: es gratuito, tiene el respaldo del
MIT, est en permanente desarrollo (cada ao se liberan
aproximadamente dos versiones con cambios
significativos), corre en computadores con bajas
prestaciones tcnicas 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 tringulo rectngulo cuya Base mide 3 cm, la Altura 4 cm y la
Hipotenusa 5 cm. Introducir en el cdigo comentarios que aclaren lo
que est sucediendo en cada uno de los pasos importantes.
R/
ANLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El rea de un tringulo rectngulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo. La
incgnita 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 matemticas 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 ratn (mouse);
divisor 2; aplicar la frmula BASE*ALTURA/DIV y guardar el
resultado en la variable AREA; comunicar el resultado (AREA). realizar operaciones matemticas (aplicar frmulas);
reportar o mostrar contenidos de variables y
DISEO DEL ALGORITMO constantes;
mostrar en pantalla resultados de procedimientos
activados por el programa.
MicroMundos Scratch
Ilustracin 3-3: Con el ratn se puede hacer clic sobre los Botones y Ilustracin 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 informacin 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
botn y programarlos para que cumplan la misma respuesta. Para mostrar lo que el usuario contesta se
funcin 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 mnimo y local "valorUno ; declarar variables y constantes
mximo que puede almacenar esa variable mediante la local "ValorDos
manipulacin 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
distribucin 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 simetraCuadrado,
secuencial es la ms sencilla. Tambin se la conoce dibuja un cuadrado con los comandos adelante y derecha. El
como estructura lineal. Se compone de instrucciones segundo procedimiento (simetraCuadricula), dibuja cuatro
que deben ejecutarse en forma consecutiva, una tras cuadrados utilizando el procedimiento simetraCuadrado y el
otra, siguiendo una lnea de flujo. Solamente los comando izquierda. El tercero (simetraEstrella), dibuja dos veces la
problemas muy sencillos pueden resolverse haciendo figura que se forma con el procedimiento simetraCuadrado; 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 simetraCuadrado por primera vez.
problemas complejos en las que se la utiliza mezclada
con estructuras iterativas (repetir varias veces un DISEO DEL ALGORITMO
conjunto de instrucciones) y condicionales (tomar
decisiones).
EJEMPLO 3-5
Escribir un procedimiento para dibujar en la pantalla una figura
simtrica igual a la siguiente:
para simetraCuadrado
adelante 100
derecha 90
R/. adelante 100
ANLISIS DEL PROBLEMA derecha 90
Formular el problema: Ya est claramente planteado. adelante 100
Resultados esperados: El dibujo dado. derecha 90
Datos disponibles: La figura geomtrica suministrada. El anlisis de adelante 100
la figura permite establecer que est construida con varios derecha 90
cuadrados de igual tamao. fin
para simetraEstrella
limpia
cp
simetraCuadricula
derecha 45
simetraCuadricula
fin
para simetraCuadricula
simetraCuadrado
izquierda 90
simetraCuadrado
izquierda 90
simetraCuadrado
izquierda 90
simetraCuadrado
izquierda 90
fin El procedimiento simetraEstrella (3) tambin est compuesto
nicamente por una estructura secuencial que permite dibujar una
estrella perfectamente simtrica. Este procedimiento llama dos veces
al procedimiento simetraCuadricula que a su vez, cada que es
invocado, llama cuatro veces al procedimiento simetraCuadrado.
Para lograr el efecto de estrella, luego de llamar la primera vez al
procedimiento simetraCuadricula, 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 tringulo
rectngulo. 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 tringulo.
procedimiento simetraEstrella utilizando gran cantidad R/.
de comandos que se repiten sin estructura alguna ANLISIS DEL PROBLEMA
(mediante experimentacin). 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 tringulo rectngulo.
objetos que cumplen con una funcin determinada Datos disponibles: Base y Altura del tringulo (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 matemticas le permiten resolver este problema; de no
tratarla como un procedimiento. Con la utilizacin de ser as, debe plantear una estrategia para obtener los conocimientos
parmetros 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.
tamaos, lo ms adecuado ser construir un Procesos necesarios: definir variables; asignar el valor 2 a la
procedimiento con el valor de Lado como parmetro y constante div; solicitar al usuario el valor de la altura del tringulo;
ejecutarlo varias veces asignando a este el valor del solicitar al usuario el valor de la base; aplicar la frmula de rea;
Lado del cuadro a dibujar, cada vez que se ejecute (ver mostrar el resultado.
el ejemplo 3-4).
Pg.48 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
DISEO DEL ALGORITMO cada vez que se ejecute el procedimiento
tringuloRectngulo, este le preguntar al usuario cul
es la altura y la base del tringulo 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/.
ANLISIS 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.
Historia Curiosa
Un da, en la India, un joven bracmn llamado Lahur Sessa pidi una
audiencia con el Rey para obsequiarle el juego que haba inventado.
La curiosidad del rey lo llev a conceder la cita que peda el joven
Sessa. El rey qued maravillado y aprendi rpidamente las reglas
de aquel juego que consista 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
distinguan unas de otras por el color, blancas y negras, repitiendo
simtricamente los motivos y subordinadas a reglas que permitan de
varios modos su movimiento.
Algn tiempo despus, el rey mand llamar a su presencia al joven
bracmn y dirigindose a l le dijo:
Pg.55 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
- Quiero recompensarte, amigo mo, por este maravilloso obsequio, ANLISIS 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 ms, como soy factores iguales que pueden expresarse en forma de potencias;
de agradecido con aquellos que son dignos de una recompensa. adems, 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 nmero 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 nmero 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-. Cmo 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 sexagsima cuarta y
-Nada ms 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 sexagsima cuarta Procesos necesarios: Un ciclo que se repita 64 veces. En cada
y ltima casilla del tablero. iteracin se debe acumular en una variable (granos), su propio valor
No slo el rey, sino tambin los visires y venerables bracmanes, se ms el resultado de 2 elevado a un exponente que aumenta su valor
rieron estrepitosamente al or la extraa solicitud del joven. en uno con cada iteracin.
Insensato -exclam el rey-. Dnde aprendiste tan grande
indiferencia por la fortuna? La recompensa que me pides es ridcula. DISEO DEL ALGORITMO
Mando llamar el rey a los algebristas ms hbiles de la Corte y les
orden calculasen la porcin de trigo que Sessa pretenda.
Los sabios matemticos, al cabo de algunas horas de realizar
clculos dispendiosos, volvieron al saln para hacer conocer al rey el
resultado completo de sus clculos.
Preguntles el rey, interrumpiendo el juego:
-Con cuantos granos de trigo podr cumplir, finalmente, con la
promesa hecha al joven Sessa?
-Rey magnnimo -declar el ms sabio de los gemetras-:
calculamos el nmero de granos de trigo que constituir la
recompensa elegida por Sessa, y obtuvimos un nmero cuya
magnitud es inconcebible para la imaginacin humana (el nmero en
cuestin 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 -contino
el gemetra- equivale a una montaa que teniendo por base la
ciudad de Taligana, fuese 100 veces ms alta que el Himalaya. La
India entera, sembrados todos sus campos, y destruidas todas sus
ciudades, no producira en un siglo la cantidad de trigo que, por
vuestra promesa, debe entregarse al joven Sessa.
Cmo describir aqu la sorpresa y el asombro que esas palabras
causaron al Rey Ladava y a sus dignos visires? El soberano hind
se vea, por primera vez, en la imposibilidad de cumplir una promesa.
Lahur Sessa -refiere la leyenda de la poca-, como buen sbdito, no
quiso dejar afligido a su soberano. Despus de declarar
pblicamente que se desdeca del pedido que formulara, se dirigi
respetuosamente al monarca y le dijo: los hombres ms precavidos,
eluden no slo la apariencia engaosa de los nmeros, sino tambin
la falsa modestia de los ambiciosos.
El rey, olvidando la montaa de trigo que prometiera al joven
bracmn, lo nombr su primer ministro. TRADUCCIN 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 hbiles algebristas de la repite 64
corte del Rey Ladava con el clculo del nmero 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
]
Pg.56 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
muestra frase
[El nmero de granos que gan Sessa es ] :granos 3. Elaborar un procedimiento que le reporte al electricista de un
fin edificio recin 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 solucin se debe emplear una
estructura repetitiva.
TRADUCCIN DEL ALGORITMO EN SCRATCH
4. Elaborar un procedimiento que calcule el rea de cualquier cubo.
ACTIVIDADES
Los estudiantes deben encontrar solucin a los siguientes problemas
empleando la metodologa expuesta en la Unidad 1: Analizar el
problema (formulacin del problema, resultados esperados, datos
disponibles, restricciones y procesos necesarios), disear el
algoritmo, traducirlo al lenguaje Logo y probar el programa
resultante.
EJEMPLO 3-13
EJEMPLO
"La escuela tiene pan francs cado de China" es una CADENA de
palabras que carece de sentido.
"Los amigos de lo ajeno" es una EXPRESIN que tiene sentido pero
no completo.
"Ojal que maana no llueva" es una ORACIN con sentido
completo pero no es calificable.
"Simn Bolvar naci en Santa Marta" es una PROPOSICIN que
puede calificarse de verdadera o falsa.
ACTIVIDAD
Escribir en el espacio si la propuesta corresponde a una
cadena, expresin, oracin o proposicin:
En este ejemplo, se puede observar la sintaxis de los c. ________________ calle perfecta para perro azul.
operadores lgicos (y, o, no), mediante los cuales se unen d. ________________ el carro sedn azul.
proposiciones sencillas para construir proposiciones e. ________________ qu hora es?
compuestas. Estos deben ir en seguida del parntesis que
abre la proposicin: f. ________________ el nevado del Ruiz es un volcn.
siotro o :calificacin > 6.0 :calificacin = 6.0 g. ________________ Simn Bolvar muri en Santa Marta
La proposicin se lee as: h. ________________ Cali es una ciudad colombiana.
calificacin mayor que 6.0 o calificacin igual a 6.0.
i. ________________ camisa cuadrada por carro naciente.
Segn Bustamante (2007), "una proposicin es una A es mayor que B (:a > :b)
frase declarativa que puede ser afirmada o negada" y
para Iranzo (2005) la lgica 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 partculas
lgicas denominadas conectores (no, y, o, si... A es como mnimo (o :a > :b :a = :b)
entonces..., etc)". A esta lgica tambin se le conoce igual a B
con el nombre de lgica de enunciados o lgica 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 nmero 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. Andrs 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 clusulas
condicionales anidadas. Los comandos si y siotro se
pueden anidar de igual manera como se anida la funcin
si (if) en la Hoja de Clculo.
ACTIVIDAD
Tomando como base el ejemplo anterior, realizar las
modificaciones necesarias para que adicionalmente, el
programa muestre en pantalla No es un Tringulo en
caso de que cualquiera de los ngulos sea menor o
igual a cero.
Depuracin
La correccin de fallas es una de las situaciones que
mayor frecuencia tienen en el mundo profesional. Con
esta actividad se intenta identificar fallas sintcticas o
lgicas 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. Segn
Jonassen (2003), para corregir fallas efectiva y
eficientemente se requiere conocimiento del sistema
(comprensin conceptual de cmo funciona el sistema),
conocimiento procedimental (cmo llevar a cabo tanto
procedimientos de solucin de fallas, como actividades
de prueba) y conocimiento estratgico (saber cundo,
Ilustracin 4-1: Cuarta fase del ciclo de programacin. dnde y por qu aplicar procedimientos de solucin de
fallas y actividades de prueba).
Es muy difcil elaborar procedimientos perfectos en un
primer intento y la dificultad aumenta a medida que los
problemas se vuelven ms complejos. Despus de Fallas de sintaxis
traducir el algoritmo en un lenguaje de programacin, el Este tipo de fallas solo se presenta en MicroMundos ya
procedimiento resultante debe ser probado y los que el entorno de programacin de Scratch es grfico y
resultados validados (revisin). A este proceso se le los estudiantes no deben escribir el cdigo. Adems, los
conoce como depuracin 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 depuracin basada en la retroalimentacin generen fallas de sintaxis.
es una habilidad til para toda la vida (Stager, 2003).
Las fallas sintcticas son las ms sencillas de identificar
La depuracin de un procedimiento hace parte ya que el entorno de programacin indica dnde se ha
fundamental del ciclo de programacin 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 comunicacin 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 programacin facilita un haberla asignado antes.
dilogo interior en el cual la retroalimentacin constante
y el xito gradual empujan a los alumnos a ir ms 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 programacin (apoyarse en las opciones
no se tratarn en esta gua, son la afinacin y la de ayuda que ofrece MicroMundos o en el docente).
documentacin. La primera consiste en realizar retoques Examinar el cdigo del programa para identificar en
para lograr una mejor apariencia del programa (en cul instruccin se encuentra la falla
pantalla o en los resultados impresos) o para ofrecer
Corregir la falla
funcionalidades ms all de los resultados esperados,
Probar el programa de nuevo
especificados en la fase de anlisis del problema. La
segunda tiene un carcter eminentemente comunicativo,
con la documentacin 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, cmo lo hace y el
cuando obtiene una calificacin 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
calificacin, aplique el criterio de aprobacin e imprima Aprobado o
al cdigo o por medio de documentacin formal en un
Reprobado, segn sea el caso.
documento que se anexa al procedimiento elaborado.
R/.
ANLISIS DEL PROBLEMA
Formular el problema: Es un problema sencillo de seleccin doble.
EJEMPLO 4-2
Continuamos con el mismo ejemplo: Elaborar un procedimiento que
pida al usuario una calificacin, aplique el criterio de aprobacin e
imprima Aprobado o Reprobado, segn sea el caso. Con el fin de
ejemplificar una falla de lgica, se debe digitar en el rea de
procedimientos de MMP el siguiente cdigo que representa el
algoritmo del ejemplo 4-1.
PROGRAMACIN DE COMPUTADORES
UNA PROPUESTA DE CURRCULO PARA SCRATCH
Esta propuesta hace parte del Modelo Curricular Interactivo de Informtica
http://www.eduteka.org/modulos.php?catx=9&idSubX=280&ida=937&art=1
http://www.eduteka.org/curriculo2/Herramientas.php?codMat=16
Definicin
Scratch es un entorno de programacin desarrollado por un grupo de investigadores del Lifelong Kindergarten Group del
Laboratorio de Medios del MIT, bajo la direccin del Dr. Mitchel Resnick.
Este entorno aprovecha los avances en diseo de interfaces para hacer que la programacin sea ms atractiva y
accesible para todo aquel que se enfrente por primera vez a aprender a programar. Segn sus creadores, fue diseado
como medio de expresin para ayudar a nios y jvenes a expresar sus ideas de forma creativa, al tiempo que
desarrollan habilidades de pensamiento lgico y de aprendizaje del Siglo XXI, a medida que sus maestros superan
modelos de educacin tradicional en los que utilizan las TIC simplemente para reproducir prcticas educativas obsoletas.
Alcance
- Se busca que el estudiante utilice tanto estructuras de control como el conjunto de instrucciones (bloques) que
ofrece el entorno de programacin Scratch para elaborar procedimientos con el fin de solucionar problemas,
elaborar simulaciones o comunicar informacin. Los estudiantes no elaborarn programas complejos, slo se
concentrarn en la elaboracin de procedimientos.
Objetivo General
- Al terminar la instruccin, 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
solucin de problemas.
Objetivos Especficos
- Utilizar el sitio Web de Scratch y registrarse (Actividad 0)
- Reconocer el entorno de trabajo de Scratch (actividad 0)
- Utilizar apropiadamente las funciones bsicas 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 bsicas 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 Lpiz) (Actividad 4B)
- Utilizar operaciones matemticas y booleanas
- Crear y utilizar variables y listas
- Compartir con otras personas los trabajos realizados en Scratch.
CONTENIDOS
Utilizar apropiadamente las funciones bsicas 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 botn Bandera Verde
o Detener la ejecucin de un programa utilizando el botn Parar Todo
o Seleccionar el modo presentacin
Evaluacin (logros)
El estudiante demuestra que utiliza las opciones bsicas 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
presentacin que permite el entorno de trabajo.
Perodos de clase: 2
Actividades:
TEMA: Actividad Introductoria a Scratch http://www.eduteka.org/proyectos.php/5/2483
Dar instrucciones bsicas a Objetos (al presionar, por siempre, esperar, mover, etc) actividad 1
o Utilizar la instruccin al presionar Bandera Verde [Bloque Control]
o Utilizar la instruccin Por Siempre [Bloque Control]
o Utilizar la instruccin Esperar N segundos [Bloque Control]
o Utilizar las instrucciones Si y Si Sino [Bloque Control]
o Explicar la instruccin Esperar Hasta Que [Bloque Control]
o Explicar la instruccin Por Siempre Si [Bloque Control]
o Utilizar la instruccin Mover N Pasos [Bloque Movimiento]
o Utilizar la instruccin Ir a X: Y: [Bloque Movimiento]
o Utilizar la instruccin Ir a <posicin de un objeto> [Bloque Movimiento]
o Utilizar la instruccin Apuntar en direccin [Bloque Movimiento]
o Utilizar la instruccin Apuntar hacia <nombre objeto> [Bloque Movimiento]
o Utilizar la instruccin Rebotar si est tocando borde [Bloque Movimiento]
o Explicar la instruccin Girar N grados [Bloque Movimiento]
o Utilizar la instruccin Cambiar X por [Bloque Movimiento]
o Utilizar la instruccin Cambiar Y por [Bloque Movimiento]
o Utilizar la instruccin Fijar posicin X [Bloque Movimiento]
o Utilizar la instruccin Fijar posicin Y [Bloque Movimiento]
o Mostrar en el escenario la posicin X de un objeto [Bloque Movimiento]
o Mostrar en el escenario la posicin Y de un objeto [Bloque Movimiento]
o Mostrar en el escenario la direccin de un objeto [Bloque Movimiento]
o Utilizar la instruccin Deslizar en N segundos a posicin X,Y [Bloque Movimiento]
o Utilizar el sensor tocando <borde> [Bloque Sensores]
o Utilizar la instruccin Cambiar efecto [Bloque Apariencia]
o Utilizar la instruccin Siguiente Disfraz [Bloque Apariencia]
o Utilizar la instruccin Fijar Tamao a [Bloque Apariencia]
o Utilizar la instruccin Cambiar Tamao por [Bloque Apariencia]
o Mostrar en el escenario el tamao de un objeto [Bloque Apariencia]
o Mostrar en el escenario el nmero de disfraz de un objeto [Bloque Apariencia]
o Enviar un objeto hacia atrs 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 posicin de un Objeto
o Activar la opcin ver los pasos separados en el botn EXTRAS
o Utilizar la ayuda en lnea de Scratch
o Borrar instrucciones
Evaluacin (logros)
o Utiliza, como mnimo, dos formas de mover un Objeto
o Al mover un objeto, incorpora al menos una instruccin repetitiva
o Incorpora instrucciones de Apariencia para enriquecer los movimientos de un Objeto.
Perodos 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 instruccin Enviar a todos [Bloque Control]
o Utilizar la instruccin Enviar a todos [Bloque Control]
o Utilizar la instruccin Al Recibir [Bloque Control]
o Utilizar instruccin Al Presionar Objeto [Bloque Control]
o Utilizar la instruccin Al presionar tecla [Bloque Control]
o Utilizar la instruccin Repetir hasta que [Bloque Control]
o Utilizar la instruccin Detener Todo [Bloque Control]
o Utilizar la instruccin Detener Programa [Bloque Control]
o Utilizar la instruccin Mostrar [Bloque Apariencia]
o Utilizar la instruccin Esconder [Bloque Apariencia]
o Utilizar la instruccin Fijar Efecto a [Bloque Apariencia]
o Utilizar la instruccin Quitar Efectos Grficos [Bloque Apariencia]
o Utilizar la instruccin Posicin X del ratn [Bloque Sensores]
o Utilizar la instruccin Posicin Y del ratn [Bloque Sensores]
o Utilizar la instruccin Ratn 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 instruccin <color 1> sobre <color 2> [Bloque Sensores]
o Utilizar la instruccin Distancia a [Bloque Sensores]
o Utilizar la instruccin Reiniciar cronmetro [Bloque Sensores]
o mostrar Cronmetro 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
gestin de la ONG Give to Colombia.
PROGRAMACIN DE COMPUTADORES
UNA PROPUESTA DE CURRCULO PARA MICROMUNDOS
Esta propuesta hace parte del Modelo Curricular Interactivo de Informtica
http://www.eduteka.org/curriculo2/Herramientas.php?codMat=15
DEFINICIN
Algoritmos y programacin se definen como los procesos de formulacin de una solucin a una situacin planteada,
apoyndose en conceptos y estructuras propias de la programacin.
ALCANCE
Se busca que el estudiante utilice metodologas y estructuras secuenciales, iterativas y condicionales para analizar
problemas, disear algoritmos, traducir algoritmos a un lenguaje de programacin y depurar procedimientos sencillos con
el fin de solucionar problemas. Los estudiantes no elaborarn programas complejos, slo se concentrarn en la
elaboracin de procedimientos.
OBJETIVO GENERAL
Al terminar la instruccin en Algoritmos y Programacin, el estudiante debe estar en capacidad de utilizar metodologas y
estructuras secuenciales, iterativas y condicionales para analizar problemas, disear algoritmos, traducir algoritmos a un
lenguaje de programacin y depurar los procedimientos resultantes.
OBJETIVOS ESPECFICOS
Al finalizar la instruccin en esta herramienta informtica, el estudiante estar en capacidad de:
Comprender qu es un algoritmo.
Comprender por qu no se debe empezar a disear un algoritmo hasta no haber analizado detalladamente los problemas que se desean
resolver
Identificar en el entorno: procesos, ciclos, rutinas o biorritmos que se puedan considerar como algoritmos (concepto intuitivo de
algoritmo)
Comprender que un algoritmo es un conjunto de pasos sucesivos y organizados en secuencia lgica
Comprender la importancia de organizar en secuencia lgica los pasos de diversos procesos
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Describe al menos dos procesos, ciclos, rutinas o biorritmos que se den en el entorno y que puedan considerarse como algoritmos.
[A, F]
Dada una lectura que describa una serie de instrucciones, sigue cada uno de los pasos indicados en esta, en el orden establecido. [F]
Conocer los smbolos que se utilizan para representar algoritmos mediante diagramas de flujo.
Comprender que los diagramas de flujo han sido una de las tcnicas ms utilizadas para representar grficamente la secuencia de
instrucciones de un algoritmo
Identificar y recordar el significado de los principales smbolos estandarizados para elaborar diagramas de flujo (inicio, final, lneas de
flujo, entrada por teclado, llamada a subrutina, saluda impresa, salida en pantalla, conector, decisin, iteracin, etc)
Conocer las principales reglas para elaborar diagramas de flujo (encabezado, direccin de flujo, iniciacin de variables y constantes, etc)
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Dada una serie de smbolos para representar algoritmos, escribe al frente su significado. [A, F]
Dado un algoritmo sencillo, explica la funcin que realiza en cada uno de los pasos. [A, F]
Comprender en qu fases del ciclo de programacin se pueden producir las fallas de sintaxis y de precaucin.
Comprender qu es una falla de sintaxis
Entender en qu fase del ciclo de programacin se pueden producir fallas de sintaxis
Conocer las causas ms 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 precaucin (recomendaciones tcnicas o warning error)
Entender en qu fase del ciclo de programacin se pueden producir fallas de precaucin
Conocer las causas ms comunes por las que se producen las fallas de precaucin
Conocer las medidas que se deben tomar para evitar las fallas de precaucin
PERODOS 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 programacin en las
cuales estas se pueden producir. [F]
Reconocer el entorno de trabajo que ofrece un software para elaborar diagramas de flujo (mens, barras, rea de
trabajo).
Entender la barra de ttulo
Entender la barra de mens (Archivo, Edicin, 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 visualizacin)
PERODOS 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 resea de algunas herramientas descargables de Internet que facilitan el Aprendizaje Visual. Incluye descripcin de
software para construir Diagramas de Flujo http://www.eduteka.org/HerramientasVisuales.php
Utilizar apropiadamente las funciones bsicas de un software para elaborar diagramas de flujo.
Abrir y cerrar la aplicacin
Abrir y cerrar un diagrama de flujo existente
Crear instrucciones nuevas dentro de un diagrama de flujo utilizando el smbolo apropiado
Crear lneas de flujo entre las instrucciones de un diagrama de flujo
Adicionar un ttulo general que identifique un diagrama de flujo
Seleccionar ttulo, instrucciones o lneas de flujo
Mover de posicin el ttulo, las instrucciones o las lneas de flujo
Eliminar ttulo, instrucciones o lneas 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 grfico para que lo puedan leer otros programas
Utilizar las funciones de ayuda que ofrece el software
PERODOS 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 programacin se pueden producir las fallas de concepcin y de lgica.
Comprender qu es una falla de concepcin (mala formulacin del problema)
Entender en qu fase del ciclo de programacin se pueden producir fallas de concepcin
Conocer las causas ms comunes por las que se producen las fallas de concepcin
Conocer las medidas que se deben tomar para evitar las fallas de concepcin
Comprender qu es una falla de lgica (algoritmos mal diseados)
Entender en qu fase del ciclo de programacin se pueden producir fallas de lgica
Conocer las causas ms comunes por las que se producen las fallas de lgica
Conocer las medidas que se deben tomar para evitar las fallas de lgica
PERODOS 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 metodologa con pasos ordenados para analizar problemas.
Hacer conciencia de la importancia y conveniencia de emplear una metodologa para analizar problemas
Reflexionar sobre la importancia de poner por escrito el resultado del anlisis de problemas (para cada uno de los pasos)
PERODOS DE CLASE: 1
INDICADORES DE LOGRO: Elabora un ensayo en el que plasma sus reflexiones cobre la conveniencia o no de emplear una metodologa con pasos ordenados
para aprender a analizar problemas. [F]
NOTA GENERAL: El nmero de clases que aparece asociada a cada uno de los objetivos especficos indica la cantidad de perodos
de clase, de 55 minutos, estimado por los profesores participantes, necesarios para impartir la instruccin y realizar ejercicios y
prcticas necesarios para que el estudiante pueda dominar lo que se pretende ensear.
ESTNDARES
A. Operaciones y Conceptos Bsicos
B. Problemas Sociales, ticos y Humanos
C. Herramientas de las TIC para la Productividad
D. Herramientas de las TIC para la Comunicacin
E. Herramientas de las TIC para la Investigacin
F. Herramientas de las TIC para la Solucin 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 lnea: Eduteka, Marzo 16, 2009,
http://www.eduteka.org/SeisElementos.php]
Aebli, Hans (2001): 12 Formas bsicas de ensear, una didctica basada en la psicologa; 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 lnea: Creative Partnership, Abril 13, 2009,
http://www.creative-partnerships.com/data/files/rhetorics-of-creativity-12.pdf]
Beltrn, Luis Pompilio & Surez, Alberto (1999): Matemticas con tecnologa aplicada 5; Prentice Hall, Bogot.
Bernays, P (1949): Lgica y ciencia; Actas del congreso internacional de filosofa de la ciencia, Colloque de Logique, Paris.
Brandsford, John & Stein, Barry (1984): The IDEAL problem solver, [Consulta en lnea 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 lnea: 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 Lgica y argumentacin; Universidad Icesi, Cali, primera edicin.
Cajaraville Pegito, Jos A. (1989): Ordenador y educacin matemtica, algunas modalidades de uso; Editorial Sntesis, Madrid.
Cantillo Parra, Lucila (1990): Matemtica concreta 5, cuaderno de actividades; Editorial Voluntad, Bogot.
Caro Pineda, Silvina (2003): Lgica de programacin y algoritmos; Centro de investigaciones para el desarrollo CIPADE, Uniboyac, Tunja.
Carreras Lloren y Otros (2001): Cmo educar en valores; Narcea Ediciones, Madrid.
Casasbuenas, Cecilia & Eslava, Carola (1985): Cubo mgico 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): Informtica 1; Editorial Alfa Omega, Bogot.
Castellanos, Ricardo & Ferreira, Gonzalo (2000b): Informtica 2; Editorial Alfa Omega, Bogot.
Castellanos, Ricardo & Ferreira, Gonzalo (2000c): Informtica 3; Editorial Alfa Omega, Bogot.
Castellanos, Mara Victoria de & Torres, Gladis (1986): Sistema matemtico 4; Editorial Norma, Bogot.
Castiblanco Paiba, Ana Cecilia & Castiblanco Paiba, Jos Antonio (1988): Practiquemos matemtica 5; Intermedio Editores, Bogot.
Clements, Douglas H. & Meredith, Julie S. (1992): Research on Logo, effects and efficacy, [Consulta en Lnea: Logo Foundation, MIT, Febrero 26
de 2007, http://el.media.mit.edu/logo-foundation/pubs/papers/research_logo.html]
Copi, Irving & Cohen, Carl (2000): Introduccin a la Lgica; Editorial Limusa, Mxico.
Corb Bellot, Antonio y Otros (1998): Fundamentos de programacin, Volumen I: Metodologa; Universidad de Alicante, Espaa.
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
Lnea: 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 programacin lgica); Alianza Editorial, Madrid.
Daintith, John (1982): Diccionario de matemticas; Editorial Norma, Bogot.
De Bono, Edward (1970): El pensamiento lateral, Editorial Paidos Ibrica, Barcelona.
---------- (1992): El pensamiento creativo, Editorial Paidos Ibrica, Barcelona.
Del Rio Gmez, Sara Luz (2003): Tcnica de solucin de problemas utilizando una computadora; [Consulta en Lnea: Unam, Enero 15 de 2007,
http://www.bibliodgsca.unam.mx/tesis/tes9sarg/toc.htm]
Delors, Jacques (1996): La educacin encierra un tesoro; Informe de la Unesco de la comisin internacional sobre la educacin para el siglo XXI;
Grupo Santillana, Madrid.
Deval, Juan (2001): Aprender en la vida y en la escuela; Ediciones Morata, Madrid, segunda edicin.
Daz Pulecio, Laura Jeannette (1993): Recreo matemtico 5, cuaderno de actividades; Editorial Voluntad, Bogot.
Edie, Arvid R. Y Otros (1997): Engineering fundamentals and problem solving; McGraw Hill, Estados Unidos, tercera edicin.
Feicht, Louis (2000): Old computer tricks: Enhance algebraic thinking; Learning & Leading with technology, Volumen 27, Nmero 8.
Ferrater Mora, Jos (1957): Qu es la lgica?; Editorial Columba, Argentina.
Gallardo Ruiz, Jos & Garca Lpez, Carmen: Apuntes para la asignatura informtica, diseo de algoritmos y programas; [Consulta en lnea:
Universidad de Mlaga, Diciembre 8 de 2004, http://www.lcc.uma.es/personal/pepeg/mates]
Gallo, Gonzalo (2004): El sentido de la vida; Peridicos 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 Mara & Leventhal, Susana (2000): Aprender cmo aprender; Editorial Trillas, Mxico.
Good, Thomas & Brophy, Jere (1996): Psicologa Edutactiva Contempornea; McGraw Hill, Mxico, quinta edicin.
Gutirrez, Jos Blun & Montenegro, Ignacio (1995): Juguemos con Logo 2; Fecn Ltda., Bogot.
Guzdial, Mark (2000): Soporte tecnolgico para el aprendizaje basado en proyectos, Captulo 3 del libro Aprendiendo con tecnologa, Crhis
Dede (compilador); Paidos, Argentina.
Holloway, G.E.T. (1982): Percepcin del espacio en el nio segn Piaget; Ediciones Piados Ibrica, Barcelona.
Iranzo, Pascual Julin (2005): Lgica simblica para informticos; Alfaomega, Mxico.