You are on page 1of 95

EDUCACIN BSICA

ALGORITMOS Y
PROGRAMACIN
GUA
PARA DOCENTES

JUAN CARLOS LPEZ GARCA


Fundacin Gabriel
Segunda Edicin Piedrahita Uribe
www.eduteka.org

Pg.1 - 7-abr-10 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ALGORITMOS Y PROGRAMACIN (GUA PARA DOCENTES)
SEGUNDA EDICIN, 2007, 2009.
Juan Carlos Lpez Garca
http://www.eduteka.org

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)

Usted es libre de:


copiar, distribuir y comunicar pblicamente esta Gua de Algoritmos y Programacin para docentes.

Bajo las condiciones siguientes:


Reconocimiento. Debe reconocer los crditos de la obra mencionando al autor y a Eduteka (pero no de una manera que sugiera que
tiene su apoyo o apoyan el uso que hace de su obra).

No comercial. No puede utilizar esta obra para fines comerciales.

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.

Se otorga permiso para enlazar este documento desde cualquier


sitio Web, con la siguiente direccin: http://www.eduteka.org/GuiaAlgoritmos.php

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

La segunda edicin de esta Gua se elabor gracias al apoyo de Motorola Foundation,


Motorola de Colombia Ltda. y la gestin de la ONG Give to Colombia.

Pg.2 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


PROGRAMACIN DE COMPUTADORES
EN EDUCACIN ESCOLAR
4. UNIDAD 1: DESARROLLO DE HABILIDADES DE PENSAMIENTO
4. Desarrollo de habilidades de pensamiento de orden superior
5. Programacin y Matemticas
5. Programacin y Ciencias Naturales
6. Solucin de problemas
9. Solucin de problemas y programacin
11. Analizar el problema (entenderlo)
12. Formular el problema
12. Precisar los resultados esperados
12. Identificar datos disponibles
13. Determinar las restricciones
13. Establecer procesos
14. Disear, traducir y depurar un algoritmo
17. Creatividad
18. Desarrollo de la creatividad
19. Espiral del pensamiento creativo
21. UNIDAD 2: ALGORITMOS, CONCEPTOS BSICOS
21. Qu es un algoritmo?
22. Pensamiento Algoritmico
23. Aprestamiento
26. Representacin
27. Simbologa de los diagramas de flujo
28. Reglas para la elaboracin de diagramas de flujo
29. Conceptos bsicos de programacin
29. Variables
30. Constantes
31. Contadores
31. Acumuladores
32. Identificadores
32. Palabras reservadas
33. Funciones matemticas
34. Tipos de datos
35. Operadores
35. Orden de evaluacin de los operadores
36. Expresiones
37. UNIDAD 3: ESTRUCTURAS BSICAS
37. Las estructuras
38. Conceptos bsicos de programacin
39. Fundamentos de programacin
39. Comentarios
40. Procesos
41. Interactividad
42. Procedimientos
46. Estructura secuencial
51. Estructura iterativa (repeticin)
58. Estructura condicional
69. UNIDAD 4: DEPURACIN
69. Cuando se presentan problemas
69. Depuracin
69. Fallas de sintaxis
72. Fallas de lgica
72. Anexo 1: Resumen de comandos de MicroMundos y de Scratch
76. Anexo 2: Esquema de contenidos de esta Gua
77. Anexo 3: Plan de trabajo con Estudiantes
78. Anexo 4: Una propuesta de currculo para ensear Scratch
84. Anexo 5: Una propuesta de currculo para ensear MicroMundos
91. Anexo 6: Plantilla para anlisis de problemas
92. Anexo 7: Plantilla para diagramas de flujo
93. Anexo 8: Interfaz de Scratch, versin 1.4
94. Bibliografa citada o consultada

Pg.3 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


UNIDAD 1: DESARROLLO DE HABILIDADES DE PENSAMIENTO

DESARROLLO DE HABILIDADES DE PENSAMIENTO DE ORDEN SUPERIOR

Existe actualmente un consenso general dentro de la compromete a los estudiantes en la consideracin de


comunidad educativa mundial sobre la necesidad de varios aspectos importantes para la solucin de
superar el tipo de enseanza basada en la transmisin problemas: decidir sobre la naturaleza del problema,
de contenidos para apuntarle en su lugar al desarrollo seleccionar una representacin que ayude a resolverlo
de capacidades. Investigaciones y estudios recientes y, monitorear sus propios pensamientos (metacognicin)
proponen diversos conjuntos de habilidades que la y estrategias de solucin. Este ltimo, es un aspecto que
educacin debe fomentar para que los estudiantes deben desarrollar desde edades tempranas. No
puedan tener xito en el mundo digital y globalizado en debemos olvidar que solucionar problemas con ayuda
el que van a vivir. Este planteamiento exige, sin del computador puede convertirse en una excelente
dilaciones, implementar estrategias que contribuyan herramienta para adquirir la costumbre de enfrentar
efectivamente en el desarrollo de esas habilidades problemas predefinidos de manera rigurosa y
planteadas como fundamentales para la educacin en el sistemtica, aun, cuando no se utilice un computador
Siglo XXI (21st Century Skills, 2004). para solucionarlo.

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).

Programacin y Matemticas Programacin y Ciencias Naturales


Son varios los temas de las matemticas cuya
En Ciencias Naturales tambin hay temas en los cuales
comprensin se puede mejorar mediante la integracin realizar actividades de programacin de computadores
de esta asignatura con un curso de algoritmos y puede ayudar a mejorar su comprensin por parte de los
programacin:
estudiantes.
Concepto de variable. Una variable es una ubicacin Mediante el trabajo con entornos de programacin como
de memoria en el computador o en la calculadora Scratch o MicroMundos, los estudiantes aprenden a
que tiene un nombre (identificador) y en la que se seleccionar, crear y manejar mltiples formas de medios
pueden almacenar diferentes valores. (texto, imgenes y grabaciones de audio). La
Concepto de funcin. La mayora de calculadoras comunicacin efectiva requiere hoy en da, para ser
cientficas vienen de fabrica con cientos de creativa y persuasiva, la escogencia y manipulacin de
funciones y los estudiantes pueden crear los mismos tipos de medios que estos entornos de
procedimientos que se comportan como funciones programacin ponen al alcance de los estudiantes. Se
(aceptan parmetros, realizan clculos y reportan un espera que a medida que ellos ganan experiencia
resultado). creando con medios, se vuelvan ms perceptivos y
Manejo de ecuaciones y graficacin. crticos en el anlisis de los que tienen a su alcance en
Modelado matemtico. Algunas de las ideas clave el mundo que los rodea (Rusk, Resnick & Maloney,
de los modelos matemticos estn presentes en los 2007).
manipulables virtuales (simulaciones y
micromundos). Estos manipulables se pueden Por ejemplo, realizar proyectos cuyo producto final sea
emplear tanto en procesos de entrenamiento (drill la comunicacin de resultados obtenidos en procesos de
and practice) como de educacin matemtica. Sin indagacin y/o experimentacin en clase de Ciencias:
embargo, la tendencia es a utilizarlos en ambientes
en los que los estudiantes se convierten en Explicacin de las partes de una clula y su
diseadores y no en simples consumidores. importancia como unidad bsica de los seres vivos.
Evaluacin. En la mayora de las situaciones Exposicin de los diversos sistemas de rganos del
extraescolares, las personas que necesitan utilizar ser humano con la respectiva explicacin de su
matemticas regularmente tienden a usar funcin.
calculadoras, computadores y otros dispositivos Clasificacin de los seres vivos en diversos grupos
especializados (GPS, medicin con lser, etc) como taxonmicos (plantas, animales, microorganismos,
Pg.5 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
etc). Representacin del movimiento y desplazamiento de
Descripcin y comparacin de diversos tipos de objetos con diferentes velocidades.
neuronas. Ilustracin interactiva del sistema solar.
Explicacin de las funciones de los diversos
componentes de un circuito elctrico. En el caso de las Ciencias Naturales es fundamental
Descripcin de los principales elementos del sistema tener en cuenta que los proyectos que se realicen
solar que incluya las relaciones de tamao, utilizando entornos de programacin como Scratch o
movimiento y posicin. MicroMundos pueden requerirse conocimiento bsico
del tema por parte de los estudiantes. En este caso, los
Adicionalmente, la elaboracin de simulaciones es un proyectos se convierten en profundizacin para la
veta muy rica para formular proyectos en Ciencias comprensin de esos temas.
Naturales. Estas sin duda contribuyen a la comprensin
de fenmenos naturales ya que en este tipo de De lo contrario, se debe incluir en cada proyecto un
actividades los estudiantes actan como diseadores. componente previo de investigacin en el cual los
No se debe pasar por alto que los estudiantes aprendan estudiantes puedan alcanzar los conocimientos bsicos
ms construyendo materiales de instruccin que conceptuales requeridos para llevar a cabo el proyecto.
estudindolos (Jonassen, Carr & Yue, 1998). La mayora de estos proyectos de este tipo se enfocan
en la comunicacin de hallazgos de indagaciones y/o
Para poder construir las simulaciones los estudiantes experimentaciones.
deben coordinar periodicidad y reglas de interaccin
entre varios objetos mviles programables (tortugas y Una tercera opcin es trabajar con el entorno de
objetos). Adems, la posibilidad de programar programacin como actividad exploratoria a un tema
interacciones con el usuario de la simulacin ofrece dado en Ciencias Naturales; sin embargo, este enfoque
oportunidades valiosas para comprometer al estudiante requiere una planeacin cuidadosa para que se logre el
diseador en la reflexin sobre deteccin de actividad, objetivo de aprendizaje y la actividad no se quede
retroalimentacin, usabilidad y otros elementos nicamente en lo ldico.
presentes en los sistemas de computo que se utilizan
diariamente en empresas y hogares.

Los siguientes son algunos ejemplos de proyectos cuyo


producto final consiste en una simulacin sobre diversos
temas que son fundamentales en Ciencias Naturales:

Imitacin del comportamiento de seres vivos en


ecosistemas, teniendo en cuenta necesidades y
cantidades disponibles de energa y nutrientes
(cadena alimentaria).
Representacin del fenmeno migratorio de varias
especies de animales como respuesta a cambios en
el ambiente y en los ecosistemas en los que viven.
Ilustracin interactiva de la adaptacin de los seres
vivos a variaciones en el entorno en que viven.
Demostracin del funcionamiento de circuitos
elctricos en serie y en paralelo.
Imitacin del efecto de la transferencia de energa
trmica en los cambios de estado de algunas
sustancias.
Representacin del ciclo de vida de una planta
teniendo en cuenta factores ambientales (semilla
siembra desarrollo planta florecimiento
polinizacin semilla).
Diseo de experimentos en los cuales se deba
modificar una variable para dar respuesta a
preguntas.
Imitacin de fenmenos de camuflaje con un
entorno y relacionarlos con ciertas necesidades en
algunos seres vivos.

Pg.6 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


SOLUCIN DE PROBLEMAS

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

Ilustracin 1-2(b): rea de trabajo de Scratch Versin 1.4


Cuando se invoca este procedimiento escribiendo rectngulo en el
(interfaz del programa) Centro de Mando de MicroMundos o haciendo clic en la bandera
verde de Scratch, el computador ejecuta automticamente y en
orden consecutiva, las instrucciones que se encuentran entre para
EJEMPLO rectngulo [to rectangulo] y fin [end] (MicroMundos) o debajo de la
Pedir a los estudiantes que escriban en el Centro de Mando las instruccin [al presionar bandera verde]. Antes de escribir el anterior
instrucciones para dibujar un rectngulo con las siguientes medidas:
procedimiento, los estudiantes deben analizar la figura geomtrica
Lado1= 80; Lado2=120. que desean construir, describirla y reflexionar acerca de cmo se
unen sus partes (dos pares de lados paralelos de igual longitud y
MicroMundos Scratch cuatro ngulos iguales de 90 grados). Deben explicar el todo
cp El Centro de Mando de mediante la composicin de las partes, y esta composicin supone,
adelante 80 MicroMundos no tiene por tanto, la existencia de autenticas operaciones de segmentacin o
derecha 90 equivalente en Scratch. particin y de operaciones inversas de reunin o adicin, as como
adelante 120 desplazamientos por separacin o concentracin (Piaget, 1964).
derecha 90
adelante 80 Pedir a los estudiantes que escriban un procedimiento
derecha 90 ms general para dibujar cualquier rectngulo, significa
adelante 120 que ellos deben tratar las dimensiones de la figura como
variables (Lado1= ?; Lado2= ?) y no como constantes
A medida que el estudiante introduce cada una de estas (Lado1= 80; Lado2= 120). Adems, deben construir una
instrucciones se dibuja cada uno de los lados que conforman el definicin de rectngulo que el computador entienda; de
rectngulo. esta manera, empiezan a construir conocimiento intuitivo
NOTA: Ver en el Anexo 1 un resumen de las primitivas (comandos e acerca de la definicin de esta figura geomtrica,
instrucciones) de MicroMundos y de Scratch utilizadas en esta gua. conocimiento que luego pueden formalizar en una
definicin abstracta de la misma (Clements & Meredith,
Sin embargo, en esta gua se utilizar el rea de 1992).
procedimientos de MicroMundos para programar el
computador. Los procedimientos son mdulos con Adicionalmente, la programacin de computadores
instrucciones que se inician con el comando para y que compromete a los estudiantes en varios aspectos
el computador ejecuta automticamente, una tras otra, importantes de la solucin de problemas: decidir sobre
hasta encontrar el comando fin. Emplear Logo de esta la naturaleza del problema, seleccionar una
manera exige que el estudiante piense en todos los representacin que les ayude a resolverlo, y monitorear
comandos que conforman un procedimiento antes de sus propios pensamientos (metacognicin) y estrategias
escribirlo, ejecutarlo y comprobar si produce el resultado
Pg.10 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
de solucin. Este ltimo, es un aspecto que ellos deben Analizar el problema (entenderlo)
desarrollar desde edades tempranas y solucionar
problemas con ayuda del computador puede convertirse
en una excelente herramienta para adquirir la costumbre
de tratar cualquier problema de manera rigurosa y
sistemtica, aun, cuando no se vaya a utilizar un
computador para solucionarlo.

De hecho, para muchos educadores, el uso apropiado


de la tecnologa en la educacin tiene un significado
similar a la solucin de problemas matemticos. La
programacin de computadores para llevar a cabo
tareas matemticas retadoras puede mejorar la
comprensin del estudiante programador sobre las
matemticas relacionadas con una solucin. Esto Ilustracin 1-4: Primera fase del ciclo de programacin.
implica abrirle un espacio a la programacin en el
estudio de las matemticas, pero enfocndose en los Los programas de computador tienen como finalidad
problemas matemticos y en el uso del computador resolver problemas especficos y el primer paso consiste
como una herramienta para solucionar problemas de en definir con precisin el problema hasta lograr la mejor
esta rea (Wilson, Fernndez & Hadaway, 1993). comprensin posible. Una forma de realizar esta
actividad se basa en formular claramente el problema,
Numerosos autores de libros sobre programacin, especificar los resultados que se desean obtener,
plantean cuatro fases para elaborar un procedimiento identificar la informacin disponible (datos),
que realice una tarea especfica. Estas fases determinar las restricciones y definir los procesos
concuerdan con las operaciones mentales descritas por necesarios para convertir los datos disponibles (materia
Polya para resolver problemas: prima) en la informacin requerida (resultados).
1. Analizar el problema (Entender el problema)
2. Disear un algoritmo (Trazar un plan) Estas etapas coinciden parcialmente con los elementos
3. Traducir el algoritmo a un lenguaje de programacin generales que, segn Schunk (1997), estn presentes
(Ejecutar el plan) en todos los problemas:
4. Depurar el programa (Revisar) 1. Especificar claramente los resultados que se desean
obtener (meta y submetas)
Como se puede apreciar, hay una similitud entre las 2. Identificar la informacin disponible (estado inicial)
metodologas propuestas para solucionar problemas 3. Definir los procesos que llevan desde los datos
matemticos (Clements & Meredith, 1992; Daz, 1993; disponibles hasta el resultado deseado (operaciones)
Melo, 2001; NAP, 2004) y las cuatro fases para
solucionar problemas especficos de reas diversas,
mediante la programacin de computadores.

Ilustracin 1-3: fases para elaborar un programa de computador.


Ilustracin 1-5: Etapas a desarrollar en la fase de anlisis de un
problema (entenderlo)

Para establecer un modelo que los estudiantes puedan


utilizar en la fase de anlisis del problema, debemos
agregar dos temas a los elementos expuestos por
Schunk (1997): formular el problema y determinar las
restricciones.
Pg.11 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Ahora veamos con mayor detalle cada una de las etapas Adems, es conveniente que los estudiantes se
del anlisis de un problema. habiten a analizar los problemas desde diferentes
puntos de vista y a categorizar la informacin dispersa
que reciben como materia prima (Schunk, 1997).
Formular el problema
La solucin de un problema debe iniciar por determinar y En programacin es frecuente que quien programa deba
comprender exactamente en qu consiste ese problema. formular el problema a partir de los resultados
La mayora de los problemas que se resuelven en el esperados. Es muy importante que el estudiante sea
aula de clase llegan a manos de los estudiantes consciente de que cuando las especificaciones de un
perfectamente formulados. Esta etapa es una buena programa se comunican mediante lenguaje natural,
oportunidad para plantear situaciones en forma verbal o estas pueden ser ambiguas, incompletas e
escrita que vinculen la enseanza de las matemticas incongruentes. En esta etapa se debe hacer una
con el entorno en el que vive el estudiante y que tengan representacin precisa del problema (Rumbaugh, 1996);
una variedad de estructuras y de formas de solucin especificar lo ms exactamente posible lo que hay que
(Zemelman, Daniels & Hayde, 1998). hacer (no cmo hay que hacerlo).

Esta metodologa obliga al estudiante a formular el EJEMPLO


problema a partir de la situacin real planteada. De esta Doa Ruby necesita decidir cmo comprar un televisor que cuesta
manera se contrarresta la costumbre tan comn en el 850.000 de contado o 960.000 a crdito. Ella tiene 600.000 pesos en
aula de que los problemas sean formulados por el efectivo.
profesor o tomados de los libros de texto (Brown & R/.
Walter, 1990). Como el efectivo que tiene doa Ruby no le alcanza para comprar el
televisor de contado, ella tiene dos opciones: comprarlo totalmente a
EJEMPLO crdito o pagar una parte de contado (cuota inicial) y el resto a
OPCIN 1: crdito.
Juan Felipe es jefe de bodega en una fabrica de paales Para poder resolver el problema se debe conocer el nmero de
desechables y sabe que la produccin diaria es de 744 paales y cuotas si desea pagarlo totalmente a crdito o conocer el nmero de
que en cada caja donde se empacan para la venta caben 12 cuotas y el valor total del televisor si se da una cuota inicial de
paales. Cuntas cajas debe conseguir Juan Felipe para empacar 600.000 pesos.
los paales fabricados en una semana?
OPCIN 2:
Juan Felipe es jefe de bodega en una fabrica de paales Precisar los resultados esperados
desechables y una de las tares del da consiste en llamar al (meta y submetas)
proveedor de los empaques y ordenarle la cantidad suficiente de Para establecer los resultados que se esperan (meta) es
cajas para empacar los paales fabricados en la semana prxima. El necesario identificar la informacin relevante, ignorar los
jefe de produccin le inform ayer a Juan Felipe que la produccin detalles sin importancia, entender los elementos del
diaria ser de 744 paales y en cada caja cabe una docena de ellos. problema y activar el esquema correcto que permita
Qu debe hacer Felipe? comprenderlo en su totalidad (Woolfolk, 1999).

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

Pg.14 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


fondo del problema (utilizando alguna metodologa), se representado grficamente se pasa a la etapa de
puede proceder a elaborar el algoritmo (diagrama de traduccin a un lenguaje de programacin determinado
flujo). Este consiste en la representacin grfica, (en nuestro caso ser Logo). Cada lenguaje posee sus
mediante smbolos geomtricos, de la secuencia lgica propias reglas gramaticales, por lo tanto es fundamental
de las instrucciones (plan) que posteriormente sern que los estudiantes conozcan de antemano la sintaxis
traducidas a un lenguaje de programacin, como Logo, de los comandos que deben utilizar para resolver el
para ejecutarlas y probarlas en un computador. problema. A mayor dominio del lenguaje de
programacin, mayor posibilidad de llegar rpidamente a
EJEMPLO una solucin satisfactoria. A esta fase de traduccin se
Disear un algoritmo (seudocdigo y diagrama de flujo) para hallar el le conoce comnmente como codificacin.
rea de un tringulo rectngulo cuya Base mide 3 cm, la Altura 4 cm
y la Hipotenusa 5 cm. EJEMPLO
R/ A partir del ejemplo anterior, escribir un procedimiento en Logo que
ANLISIS DEL PROBLEMA se llame tringulo para hallar el rea de un tringulo rectngulo cuya
Formular el problema: Ya se encuentra claramente planteado. Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.
Resultados esperados: El rea de un tringulo rectngulo. R/
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo. La MicroMundos
incgnita es el rea y todos los valores son constantes. El valor de la para tringulo
hipotenusa se puede omitir. El estudiante debe preguntarse si sus local "div
conocimientos actuales de matemticas le permiten resolver este local "base
problema; de no ser as, debe plantear una estrategia para obtener local "altura
los conocimientos requeridos. local "rea
Determinar las restricciones: Utilizar las medidas dadas. da "div 2
Procesos necesarios: Guardar en dos variables (BASE y ALTURA) da "base 3
los valores de Base y Altura; Guardar en una constante (DIV) el da "altura 4
divisor 2; aplicar la frmula BASE*ALTURA/DIV y guardar el da "rea :base * :altura / :div
resultado en la variable AREA; comunicar el resultado (AREA). muestra :rea
fin
ALGORITMO EN SEUDOCDIGO
Paso 1: Inicio Scratch
Paso 2: Asignar el nmero 2 a la constante "div"
Paso 3: Asignar el nmero 3 a la constante base
Paso 4: Asignar el nmero 4 a la constante altura
Paso 5: Guardar en la variable "rea" el resultado de base*altura/div
Paso 6: Imprimir el valor de la variable "rea"
Paso 7: Final

Al escribir en el centro de mando de MicroMundos la palabra


tringulo se debe obtener como resultado 6. En el caso de Scratch,
hacer clic en la bandera verde y se debe obtener el mismo resultado.

Depurar el programa (revisar)


Este tema se tratar en profundidad en la Unidad 4 de
esta gua. Despus de traducir el algoritmo en un
lenguaje de programacin como Logo, el programa
resultante debe ser probado y validados los resultados.
ALGORITMO EN DIAGRAMA DE FLUJO A este proceso se le conoce como depuracin. Depurar
programas contribuye a mejorar la capacidad en los
Ilustracin 1-8: Diagrama de Flujo para hallar el rea de un tringulo estudiantes para resolver problemas; la depuracin
rectngulo. basada en la retroalimentacin es una habilidad til para
toda la vida (Stager, 2003).

Quienes han escrito alguna vez un programa de


Traducir el algoritmo (ejecutar el plan) computador, saben de la dificultad que representa
Este tema se tratar en profundidad en las Unidades 3 y elaborar programas perfectos en el primer intento,
4 de esta gua. Una vez que el algoritmo est diseado y
Pg.15 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
dificultad que aumenta a medida que el problema a
resolver es ms complejo. La depuracin, afinamiento y
documentacin de un programa hacen parte
fundamental del ciclo de programacin y desde el punto
de vista educativo estimula en los estudiantes la
curiosidad, la perspectiva, la comunicacin y promueve
valores como responsabilidad, fortaleza, laboriosidad,
paciencia y perseverancia. La programacin facilita un
dilogo interior en el cual la retroalimentacin constante
y el xito gradual empujan a los alumnos a ir ms all de
sus expectativas (Stager, 2003).

Otras dos actividades relacionadas con esta etapa son


la afinacin y la documentacin. La primera consiste en
realizar retoques para lograr una mejor apariencia del
programa (en pantalla o en los resultados impresos) o
para ofrecer funcionalidades ms all de los resultados
esperados (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 la capacidad del estudiante para informar
a otras personas cmo funciona su programa y lo que
significa cada elemento utilizado.

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

Incluso, en caso que el enunciado del problema no hubiese indicado


el valor de la Hipotenusa, si se poseen los suficientes conocimientos
de geometra, se puede calcular el valor de esta a partir de la Base,
la Altura y la condicin de ser un tringulo rectngulo:

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).
.

Pg.16 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


CREATIVIDAD

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

Pg.17 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


enfoque de solucin de problemas predefinidos, se realizar observaciones, hacer abstraccin en diversos
complementa con el desarrollo de pensamiento creativo. temas, realizar ejercicios de dibujo y utilizar metforas y
Pues en el mundo actual, en el que lo nico permanente analogas.
es el cambio, adems de aprender a resolver tipos
especficos de problemas, los estudiantes deben Sin embargo, puede sonar ambicioso implementar toda
aprender a improvisar creativamente cuando se una metodologa para desarrollar la creatividad en un
encuentren con situaciones inesperadas y a explorar curso de Algoritmos y Programacin. Por esto y para
alternativas de solucin variadas (Resnick, 2007). efectos de la presente Gua, se seleccionaron dos
tcnicas de pensamiento que hacen una contribucin al
desarrollo de la creatividad: planteamiento de problemas
Desarrollo de la creatividad inesperados y formulacin de alternativas.
Una de las cuestiones en torno a la creatividad que an
no tiene respuesta definitiva es si esta se puede El planteamiento de problemas inesperados busca
desarrollar o simplemente se nace con dicha complementar el enfoque de solucin de problemas
genialidad (C mayscula). predefinidos que para resolverlos pueden hacer uso de
metodologas como la propuesta por Polya. Es
Respecto al genio creativo, el Consorcio para la precisamente esta metodologa la que se ha utilizado
Creatividad considera que ste es un discurso para resolver problemas matemticos; sin embargo,
posromntico apoyado por quienes han visto la algunos docentes han manifestado preocupacin ya que
creatividad nicamente como una cualidad especial de si bien, la metodologa ayuda a que los estudiantes
pocas personas, generalmente artistas, tales como estructuren su pensamiento, muchos de ellos se
escritores, msicos, pintores, etc (Banaji & Burn, 2006). encasillan en ella y les cuesta trabajo encontrar
Los que explican la creatividad desde una perspectiva soluciones alternativas.
basada en caractersticas de la personalidad afirman
que las personas creativas tienen rasgos comunes: En este sentido, entornos de programacin como
buen humor; confianza en s mismos; flexibilidad y Scratch y MicroMundos, comprometen a los estudiantes
adaptabilidad; alta capacidad de asociacin; en la bsqueda de soluciones innovadoras a problemas
sensibilidad; curiosidad intelectual; percepcin y inesperados; no se trata solamente de aprender a
observacin agudas; iniciativa para tomar riesgos; solucionar problemas de manera predefinida, sino de
imaginacin; expresividad; capacidad crtica; estar preparado para generar nuevas soluciones a
entusiasmo; y, tenacidad (Lpez, 2000). Por el contrario, medida que los problemas se presentan (Resnick,
quienes no son creativos presentan recurrentemente 2007).
algunas de los siguientes rasgos: tienden a
especializarse en ciertos temas; son extremadamente Por su parte, formular alternativas, se basa en el primer
racionales; les falta confianza en si mismos; no tienen principio bsico del Pensamiento Lateral propuesto por
motivacin; su capacidad para escuchar es reducida; De Bono (1970): cualquier modo de valorar una
respetan la autoridad en exceso; no son buenos situacin es slo uno de los muchos modos posibles de
observadores; y, tienen deficiente pensamiento crtico. valorarla. La bsqueda de alternativas a una situacin o
problema parece un proceso tpico del pensamiento
Sin embargo, buena parte de los autores que han lgico; sin embargo, desde el punto de vista de la
trabajado en profundidad el tema de la creatividad, entre creatividad no se busca la mejor alternativa sino la
ellos Resnick, De Bono y Johansson, no solo formulacin del mayor nmero posible de alternativas.
argumentan que si es posible desarrollarla, sino que Por lo tanto, es conveniente fijar de entrada y poner por
aportan propuestas concretas para trabajarla en el aula escrito, el nmero de alternativas que los estudiantes
de clase. Adems, plantean que las siguientes deben plantear. Desde la lgica, por lo general la
habilidades cognitivas, susceptibles de desarrollar, estn bsqueda se interrumpe cuando se halla una alternativa
presentes en las personas consideradas como creativas: que parece satisfactoria.
se plantean nuevos objetivos; exploran un mayor
nmero de alternativas; evalan, durante el transcurso Como aprestamiento a la realizacin de proyectos que
del proceso de solucin, los objetivos, las alternativas y busquen deliberadamente desarrollar la creatividad, es
las tareas; se aseguran de entender a cabalidad los deseable que los estudiantes realicen actividades tales
problemas; son observadores; usan la abstraccin; usan como: hacer asociacin de ideas sobre temas ya vistos
metforas y analogas; desglosan la tarea en subtareas en clase, elaborar listados de atributos de objetos
y desarrollan productos intermedios; y, usan estrategias cotidianos, buscar al menos 30 usos para cada uno de
metacognitivas (Lpez, 2000). los objetos cotidianos propuestos, Jugar con Torres de
Hanoi de tres y cuatro discos y, elaborar figuras con el
Segn De Bono (1970), es conveniente empezar a Tangram, entre otras. Estas actividades permiten
ensear, a partir de los 7 aos, tcnicas de pensamiento evidenciar el estilo de pensamiento predominante de
que faciliten el desarrollo de la creatividad. Entre las que cada estudiante. Quienes piensan convergentemente
se pueden implementar en cursos de diferentes tendern a abordar los problemas de forma lgica,
asignaturas tenemos: plantear problemas inesperados, ordenada y a establecer relaciones comunes; quienes
formular alternativas, proponer e implementar diseos, piensan divergentemente, tendern a hacer juicios
Pg.18 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
ilgicos, innovadores y poco comunes. cantidad de alternativas de solucin que generen los
estudiantes a un problema planteado, que las
respuestas correctas. Por tanto, debe evitarse a toda
Espiral del pensamiento creativo costa, la emisin de juicios de valor negativos ante
Con el fin de promover el desarrollo de la creatividad, cualquier alternativa, por ilgica que parezca.
esta Gua propone utilizar la Espiral del Pensamiento
Creativo propuesta por Mitchel Resnick (2007). En esta, Adicionalmente, en las diferentes fases de la Espiral, se
los estudiantes imaginan lo que quieren hacer; crean un debe aprovechar cualquier oportunidad para plantear
proyecto basado en sus ideas; juegan con sus ideas y problemas inesperados y para solicitar a los estudiantes
creaciones; comparten sus ideas y creaciones con otros que formulen alternativas de solucin a cada problema o
y reflexionan sobre sus experiencias; lo anterior los lleva situacin que se presente. En este mismo sentido, la
a imaginar nuevas ideas y nuevos proyectos. La espiral prctica indica que en reiteradas ocasiones los
genera un proceso indefinido de mejoramiento continuo. estudiantes plantean a sus docentes situaciones que
ellos desean desarrollar en sus proyectos. Dichas
situaciones se convierten en problemas inesperados que
los docentes deben resolver. Estas situaciones las
pueden aprovechar los docentes para plantearlas a toda
la clase como problemas inesperados.

EJEMPLO

Proyecto: La cadena alimentaria

Estndares MEN que se cubren (Colombia): Explico la dinmica


de un ecosistema teniendo en cuenta las necesidades de energa y
nutrientes de los seres vivos (cadena alimentaria).

Descripcin: En este proyecto los estudiantes deben representar el


comportamiento de varios seres vivos en su respectivo ecosistema,
teniendo en cuenta tanto necesidades como cantidades disponibles
Ilustracin 1-9: Espiral del Pensamiento Creativo diseada por el Dr. de energa y nutrientes (cadena alimentaria). Para ello, deben
Mitchel Resnick elaborar una simulacin, en MicroMundos o en Scratch, de una
cadena alimentaria teniendo en cuenta seres productores,
En un comienzo, este proceso lo debe planear y dirigir el hervivoros, carnvoros y omnivoros.
docente. Sin embargo, a medida que los estudiantes lo
interiorizan, aprenden a recorrerla de manera Fases del proyecto:
independiente para desarrollar sus propias ideas, 1. Los estudiantes deben imaginar un ecosistema que contenga
ponerlas a prueba, desafiar lmites y fronteras, por lo menos cuatro seres vivos. Luego deben dibujar o importar
experimentar con alternativas, recibir retroalimentacin los seres vivios que imaginaron. Adems, deben dibujar el
de otros y generar nuevas ideas con base en sus escenario que representa el ecosistema.
experiencias (Resnick, 2007). En este punto, el docente debe estimular la reflexin para que
ellos verifiquen que el ecosistema que dibujaron corresponde
Es muy importante que al disear las diferentes fases de con los seres vivientes que en la simulacin incluyeron en este.
un proyecto, en el cual los estudiantes utilizarn un Un problema inesperado puede plantearse mediante la pregunta
ambiente de programacin como Scratch o todos los seres vivos que representaste viven en ese
MicroMundos, los docentes tengan en cuenta los ecosistema? Si la respuesta es negativa, deben plantear por
elementos de la espiral de la creatividad. Por ejemplo, escrito al menos tres alternativas de solucin (por ejemplo:
se deben incluir en el proyecto espacios para compartir cambiar el ecosistema, cambiar alguno de los seres vivos,
el trabajo realizado, para escuchar y valorar la cambiarlo todo, etc).
retroalimentacin del grupo a cada trabajo individual y Adems, cada ser vivo debe tener un tamao proporcional en
para reflexionar sobre las posibles mejoras que se relacin a los otros seres y elementos del ecosistema.
pueden realizar con base en la retroalimentacin En caso de ser necesario, se debe destinar un lapso de tiempo
recibida. de la clase para investigar ,en Internet o en la Biblioteca
Escolar, qu seres vivos habitan en el ecosistema que
Para que la Espiral del Pensamiento Creativo funcione, dibujaron.
los docentes deben promover un ambiente en el que se 2. Esta fase inicia con otro problema inesperado: La tarea qued
permita imaginar, transformar, idealizar, desestructurar y mal planteada y hay que corregirla, de los cuatro seres vivos
reestructurar. Un ambiente donde se pueda comunicar, que se crearon en la fase anterior, debe haber por lo menos un
donde haya tolerancia para las reacciones espontneas ser vivo de cada tipo: productor, herbvoro, carnvoro y
(Lpez, 2000). Los docentes deben propiciar un omnivoro.
ambiente de confianza, en el que sea ms importante la Los estudiantes deben investigar qu seres vivos de cada tipo
Pg.19 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
habitan en el ecosistema que dibujaron. Luego, dibujar o cierta regin de la pantalla, se debe hacer un control
importar los seres vivos correctos para que se cumpla la permanente (dentro de un por siempre) con el comando
condicin planteada en la tarea rectificada. No es necesario que posicin y de objeto1 posicin x de objeto 1. Si el
eliminen los seres vivos que haban creado en la fase 1, ser supera ese valor, entonces se lo desplaza en una
siempre y cuando correspondan al ecosistema. posicin menor en el eje x o y, y se gira 45 grados.
3. A continuacin, deben programar el desplazamiento de los
seres vivos por todo el espacio disponible y de manera aleatoria En la fase 6 es recomendable crear cada uno de los
(se pueden utilizar las instrucciones rebotar si est tocando un seres vivos (ejemplo, el conejo) y hacerle toda la
borde y nmero al azar entre 1 y 15 grados como parmetro programacin para que se comporte de acuerdo a lo
de la instruccin girar). esperado. Una vez funcione correctamente la
Como problema inesperado pedir que se restrinja el movimiento programacin, se copia varias veces el ser vivo
de manera que se aproxime al comportamiento real de cada ser (ejemplo, el conejo) y se ubica en posiciones diferentes
vivo. Por ejemplo, si el fondo tiene tierra y firmamento, entonces del escenario. Adems, cada copia del ser vivo debe
un ser vivo que no vuela, no se puede mover en el rea de la aparecer en momentos diferentes para simular la tasa
pantalla que representa el firmamento. Agregar variables para de reproduccin.
controlar la velocidad a la que se desplaza cada ser vivo.
Algunos, como las plantas, tendrn velocidad 0. Por ltimo, bien sea que los estudiantes utilicen el
4. Los estudiantes comparten el trabajo realizado con el resto de la entorno de programacin en Ciencias Naturales para
clase y reciben retroalimentacin tanto de sus compaeros, comunicar resultados obtenidos en procesos de
como del docente. indagacin y/o experimentacin o para elaborar
5. Atender la retroalimentacin suministrada. Hacer la simulaciones de diversos fenmenos naturales, los
programacin correspondiente para que cuando a un ser vivo lo docentes deben promover comportamientos personales
toque otro al que le sirve de alimento, el primero desaparezca y sociales fundamentales para el funcionamiento de la
(como si se lo hubiera comido). Espiral del Pensamiento Creativo, tales como:
6. El problema inesperado ahora es que debe programarse la Escuchar activamente a compaeros y compaeras.
aparicin de varios seres vivos iguales, ubicados en diferentes Reconocer puntos de vista diferentes y compararlos
posiciones de la pantalla (por ejemplo, si uno de los seres vivos con los propios.
de la animacin es un conejo, copiar entonces el objeto conejo, Reconocer y aceptar el escepticismo de los dems
al menos tres veces, pues en un ecosistema rara vez se compaeros ante la informacin que se presenta.
encuentra un solo animal de cada especie). Solicitar a los Cumplir con las funciones asignadas cuando se
estudiantes, al menos dos alternativas, para realizar esta tarea. trabaja en grupo.
Las apariciones deben hacerse de acuerdo a una tasa de Respetar y cuidar los seres vivos y objetos
reproduccin establecida para cada uno de los seres vivos. Por presentes en el entorno.
ejemplo, se reproducen ms rpidamente los conejos que los
zorros.
Se puede destinar un tiempo de la clase para investigar la tasa
de reproduccin de cada uno de los seres vivos que se incluyen
en la animacin.
7. Compartir con el resto de la clase el trabajo realizado y recibir
retroalimentacin de los compaeros.
8. Realizar los ltimos ajustes al funcionamiento de la simulacin y
agregar controles para manipular las tasas de reproduccin y/o
la velocidad de desplazamiento para cada ser vivo.
9. Socializar con el resto de la clase el trabajo finalizado.

En este ejemplo hay que prestar atencin a lo siguiente:

En la fase 3, se debe crear una variable por cada ser


vivo, que controle la velocidad a la cual este se va a
mover (los que no se desplazan, como las plantas,
deben inicializarse con valor 0). Por lo regular, esta
condicin se implementa con el comando esperar x
segundos; sin embargo, ntese que si el valor de la
variable aumenta, en lugar de aumentar la velocidad, lo .
que hace es disminuirla ya que el tiempo de espera ser
mayor. Para limitar el desplazamiento de un ser vivo a

Pg.20 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


UNIDAD 2: ALGORITMOS, CONCEPTOS BSICOS

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).

En resumen, un Algoritmo es una secuencia ordenada


Pg.21 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
de instrucciones, pasos o procesos que llevan a la comunicacin depende de elementos como vocabulario,
solucin de un determinado problema. Los hay tan uso de comodines en lugar de vocablos precisos, uso de
sencillos y cotidianos como seguir la receta del mdico, adverbios coloquiales en lugar de adverbios formales,
abrir una puerta, lavarse las manos, etc; hasta los que etc. Es fundamental que los estudiantes aprendan a
conducen a la solucin de problemas muy complejos. diferenciar entre comunicacin informal y comunicacin
formal, cuya principal caracterstica es la precisin. Los
algoritmos no admiten ningn tipo de ambigedad ya
EJEMPLO que los lenguajes de programacin tienen un
Un procedimiento que realizamos varias veces al da vocabulario restringido y preciso. Esto exige la
consiste en lavarnos los dientes. Veamos la forma de utilizacin de un conjunto determinado de palabras,
expresar este procedimiento como un Algoritmo: mandos o primitivas en cualquiera de los procedimientos
1. Tomar la crema dental que se elaboren.
2. Destapar la crema dental
3. Tomar el cepillo de dientes ACTIVIDAD
4. Aplicar crema dental al cepillo Discutir en parejas el ejemplo de la bombilla y proponer algunas
5. Tapar la crema dental mejoras. Luego, un voluntario pasa al tablero y escribe un Algoritmo
6. Abrir la llave del lavamanos con participacin de toda la clase.
7. Remojar el cepillo con la crema dental
8. Cerrar la llave del lavamanos
9. Frotar los dientes con el cepillo
10. Abrir la llave del lavamanos Pensamiento Algortmico
11. Enjuagarse la boca Cuando se habla de algoritmos, con frecuencia
12. Enjuagar el cepillo aparecen tres tipos de pensamiento que generalmente
13. Cerrar la llave del lavamanos se relacionan con ellos y que se utilizan
14. Secarse la cara y las manos con una toalla indiscriminadamente como sinnimos: Pensamiento
Computacional, Pensamiento Algortmico y Pensamiento
Procedimental. Por lo tanto es importante puntualizar a
EJEMPLO qu se refiere cada uno de estos pensamientos.
El ejemplo de cambiar una bombilla (foco) fundida es uno de los ms
utilizados por su sencillez para mostrar los pasos de un Algoritmo: Segn Moursund (2006), el pensamiento computacional
1. Ubicar una escalera debajo de la bombilla fundida hace referencia a la representacin y solucin de
2. Tomar una bombilla nueva problemas utilizando inteligencia humana, de mquinas
3. Subir por la escalera o de otras formas que ayuden a resolver el problema. El
4. Girar la bombilla fundida hacia la izquierda hasta soltarla pensamiento algortmico se refiere al desarrollo y uso de
5. Enroscar la bombilla nueva en el plafn hasta apretarla algoritmos que puedan ayudar a resolver un tipo
6. Bajar de la escalera especifico de problema o a realizar un tipo especifico de
7. Fin tarea. Por su parte, el pensamiento procedimental se
ocupa del desarrollo y utilizacin de procedimientos
diseados para resolver un tipo especifico de problema
En trminos generales, un Algoritmo debe ser: o para realizar un tipo especifico de tarea, pero que no
Realizable: El proceso algortmico debe terminar necesariamente, siempre resulta exitoso.
despus de una cantidad finita de pasos. Se dice
que un algoritmo es inaplicable cuando se ejecuta Por otra parte y de acuerdo con un reporte del Consejo
con un conjunto de datos iniciales y el proceso Nacional de Investigacin de Estados Unidos (National
resulta infinito o durante la ejecucin se encuentra Research Council, NRC, 2004), conocido como Being
con un obstculo insuperable sin arrojar un Fluent with Information Technology, el Pensamiento
resultado. Algortmico incluye elementos tales como:
Comprensible: Debe ser claro lo que hace, de descomposicin funcional, repeticin (iteracin y/o
forma que quien ejecute los pasos (ser humano o recursin), organizacin de datos (registro, campo,
mquina) sepa qu, cmo y cundo hacerlo. Debe arreglo, lista, etc), generalizacin y parametrizacin,
existir un procedimiento que determine el proceso diseo por descomposicin de un problema en partes
de ejecucin. ms pequeas y manejables (top-down) y refinamiento.
Preciso: El orden de ejecucin de las instrucciones
debe estar perfectamente indicado. Cuando se El Pensamiento Algortmico est fuertemente ligado al
ejecuta varias veces, con los mismos datos iniciales, pensamiento procedimental requerido en la
el resultado debe ser el mismo siempre. La precisin programacin de computadores; sin embargo, su
implica determinismo. desarrollo puede conducir a los estudiantes a
aproximarse guiada y disciplinadamente a los problemas
Un aspecto muy importante sobre el cual los estudiantes de forma que este pueda transferirse a otros ambientes
deben reflexionar es la ambigedad del lenguaje natural diferentes a los de la programacin. En pocas palabras,
que utilizan para comunicarse diariamente con sus la programacin de computadores aporta al mbito
semejantes. La informalidad o formalidad en la escolar un laboratorio para desarrollar habilidades
Pg.22 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
indispensables en la vida real del Siglo XXI. formales, los estudiantes demuestran su inteligencia por
medio del uso lgico de smbolos relacionados con
Una diferencia notoria entre un algoritmo y un programa conceptos abstractos.
es que el algoritmo incorpora las caractersticas
estructurales bsicas de la computacin,
independientemente de los detalles de su Aprestamiento
implementacin; mientras que un programa tiene un Una forma motivadora y divertida de aprestamiento a la
conjunto especfico de detalles para resolver un programacin de computadores y que puede ayudar a
problema. Se puede observar que una tcnica de los estudiantes a desarrollar los pensamientos
solucin (correspondiente al algoritmo) se puede utilizar algortmico y procedimental consiste en que ellos
en diferentes situaciones problemticas realicen actividades con juegos de estrategia como
(correspondiente a los programas). De manera inversa, Sokoban, Misin Escape, Tetris e Implode, as
se espera que una solucin exitosa de problemas como ejercicios de Razonamiento Abstracto. En
incorpore procesos generales que son independientes Sokoban se deben llevar las piedras hacia el lugar
de las situaciones especficas (NRC, 2004). Esto se donde aparecen los prismas y para lograrlo, estas se
conoce como experiencias de vida y los estudiantes deben empujar con el personaje teniendo cuidado en los
deben adquirirlas en su paso por la educacin bsica y movimientos que se hacen para no bloquear el juego ya
media para desempearse adecuadamente en su vida que el personaje solo puede empujar una piedra a la vez
diaria. y no puede moverlas hacia atrs, siempre hacia delante.
Hay disponibles varias versiones de Sokoban para
Este es todo un reto para la educacin, reto en el que la descargar y para jugar en lnea.
programacin de computadores puede hacer una
contribucin positiva. Un programa consiste de uno o
ms procedimientos con instrucciones paso a paso que
pueden ejecutarse en un computador; por lo tanto,
utilizar el diseo de procedimientos que solucionen o
ayuden a solucionar problemas con diferentes niveles de
complejidad es un recurso que puede aprovechar el
docente para captar el inters de los estudiantes en
actividades de programacin. Por ejemplo, asignar la
tarea de disear un procesador de texto bsico (ingreso
del texto mediante teclado, mostrarlo en la pantalla y
guardarlo en el disco duro) es una tarea relativamente
sencilla. Pero el proyecto puede aumentar su
complejidad si se aaden funciones para dar formato al
texto (fuentes, tamao y caractersticas especiales).
Posteriormente el proyecto puede crecer si se agregan
funcionalidades para manejar imgenes y tablas. Al
igual que en este ejemplo, se pueden disear proyectos
de clase interesantes para mantener motivados a los
estudiantes y cuyas tareas y retos sean progresivos en
complejidad; que cada nuevo reto parta de lo construido
con anterioridad. En resumen, los procedimientos son Ilustracin 1: El marcianito debe mover la cuatro piedras redondas
un tipo particular de tarea que busca solucionar hasta ubicarlas sobre los rombos morados.
problemas especficos y al desarrollarlos se ponen en http://www.matejoven.mendoza.edu.ar/matejue/juegos/sokoban/sokoban.htm
juego los pensamientos algortmico y procedimental.
Por su parte, el juego Misin Escape de la serie
David Moursund (2006) se bas en sus propias Chicos del Barrio de Cartn Networks
experimentaciones y en la teora de los cuatro estados (http://www.cartoonnetworkla.com/spanish/) se puede
de desarrollo cognitivo planteada por Piaget para utilizar para mejorar la habilidad de los estudiantes para
proponer un planteamiento que amarra la computacin llevar a cabo tareas en forma ordenada y lgica. En este
con una escala de desarrollo cognitivo en la que se da juego, los participantes deben encontrar la mejor va de
bastante protagonismo al desarrollo del pensamiento escape a travs de la casa del rbol y recorrerla en la
algortmico en los nios. Segn Moursund (2006) en la menor cantidad de movimientos posibles. Para despejar
etapa de las operaciones concretas los nios empiezan el camino de objetos hay que seguir las reglas del juego
a manipular lgica y sistemticamente smbolos en un y si no se mueven los objetos precisos, en la direccin
computador y aprenden a apoyarse en software para correcta y en el orden adecuado, el camino se puede
resolver un rango amplio de problemas y tareas de tipo bloquear.
general. De esta manera, ganan habilidad considerable
tanto en la utilizacin de lenguajes como Scratch y
MicroMundos, como en la manipulacin de ambientes
grficos. Posteriormente, en la etapa de operaciones
Pg.23 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
2 1
3

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.

Suministre al otro grupo de estudiantes las siguientes instrucciones


para elaborar Maracas:
1. Recortar del papel resistente un trozo ms grande que la boca
del vaso plstico.
2. Poner sobre la boca del vaso el papel.
3. Fijar el papel al vaso con ayuda de la banda de caucho.
4. Asegurarse que la boca del vaso quede sellada.
5. Introducir el arroz, las lentejas o el maz en el vaso (cada
elemento produce una sonoridad diferente).

Las instrucciones dadas a ambos grupos son las mismas. Sin


embargo, esta actividad ilustra muy claramente la importancia que
tiene el orden en que se ejecutan las instrucciones de un algoritmo.

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.)

A continuacin se presentan conceptos bsicos que los


estudiantes deben conocer (y dominar) antes de iniciar
el aprendizaje de las estructuras bsicas (secuencial,
decisin y repetitiva) del lenguaje algortmico y de
programacin que abordaremos en la Unidad 3.

Pg.25 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


REPRESENTACIN DE ALGORITMOS

Los Algoritmos se puede expresar de muchas maneras,


pero en esta gua se tratarn solo dos formas: Utilizar Diagramas de Flujo para representar un
Seudocdigo y Diagrama de Flujo. En Seudocdigo la algoritmo tiene claras ventajas, especialmente cuando
secuencia de instrucciones se representa por medio de son construidos por estudiantes de bsica y media.
frases o proposiciones, mientras que en un Diagrama Numerosas investigaciones han mostrado que el
de Flujo se representa por medio de grficos. Aprendizaje Visual es uno de los mejores mtodos para
ensear habilidades del pensamiento. Las tcnicas que
EJEMPLO utilizan formas graficas para representar ideas e
Elaborar un Algoritmo para calcular el rea de cualquier tringulo informacin ayudan a los estudiantes a clarificar su
rectngulo y presentar el resultado en pantalla. pensamiento, y a procesar, organizar y priorizar nueva
informacin. Los diagramas visuales revelan patrones,
SEUDOCDIGO interrelaciones e interdependencias adems de
Paso 1: Inicio estimular el pensamiento creativo.
Paso 2: Asignar el nmero 2 a la constante "Div"
Paso 3: Conocer la base del tringulo y guardarla en la variable La utilizacin de Diagramas ayuda a los estudiantes a:
"Base" Clarificar el pensamiento : Ellos pueden ver cmo se
Paso 4: Conocer la altura del tringulo y guardarla en la variable conectan los procesos y se dan cuenta de cmo
"Altura" estos se pueden organizar o agrupar para darles el
Paso 5: Guardar en la variable "Area" el valor de multiplicar "Base" orden lgico correcto.
por "Altura" Identificar pasos errneos : Sobre un diagrama es
Paso 6: Guardar en la variable "Area" el valor de dividir "Area" ms fcil identificar los cambios que se requieren
entre "Div" para el correcto funcionamiento de un programa de
Paso 7: Reportar el valor de la variable "Area" computador que hacerlo sobre el cdigo.
Paso 8: Final
DIAGRAMA DE FLUJO Los Diagramas de Flujo son una de las tcnicas ms
utilizadas para representar grficamente la secuencia de
instrucciones de un Algoritmo. Estas instrucciones estn
compuestas por operaciones, decisiones lgicas y ciclos
repetitivos, entre otros. La solucin de un problema
puede contener varios conjuntos de instrucciones
(procedimientos o mtodos) que tienen como finalidad
ejecutar cada uno de los procesos necesarios para
llegar a la solucin de un problema a partir de los datos
disponibles (estado inicial).

Las ventajas de disear un Diagrama de Flujo antes de


empezar a generar el cdigo de un programa (Rojas &
acato, 1980) son, entre otras:
Forzar la identificacin de todos los pasos de una
solucin de forma clara y lgica;
Establecer una visin amplia y objetiva de la
solucin;
Verificar si se han tenido en cuenta todas las
Ilustracin 2-4: Algoritmo para calcular el rea de cualquier posibilidades;
tringulo rectngulo Comprobar si hay procedimientos duplicados;
Representar grficamente una solucin (es ms
El seudocdigo est compuesto por proposiciones simple hacerlo con grficas que mediante palabras);
informales en espaol que permiten expresar
Facilitar a otras personas la comprensin de la
detalladamente las instrucciones que llevan desde un secuencia lgica de la solucin planteada;
estado inicial (problema) hasta un resultados deseado
Posibilitar acuerdos con base en la aproximacin
(solucin). Por lo regular, los algoritmos se escriben por
comn a una solucin de un problema, resolver
refinamiento: se escribe una primera versin que luego
ambigedades o realizar mejoras;
se descompone en varios subproblemas (el nmero
Establecer posibles modificaciones (resulta ms fcil
depende de la complejidad del problema)
depurar un programa con el diagrama que con el
independientes entre s. Si es necesario se va refinando
listado del cdigo);
cada vez las instrucciones hasta que las proposiciones
generales en espaol como las del ejemplo anterior se Agilizar la codificacin (traduccin) del algoritmo en
puedan codificar en el lenguaje seleccionado para hacer un lenguaje de programacin;
la programacin (en el caso de esta gua ser Logo). Servir como elemento de documentacin de la
solucin del problema.
Pg.26 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
ACTIVIDAD
Basndose en la ltima actividad planteada en la unidad 1, elaborar
un algoritmo en seudocdigo para cada uno de los siguientes
problemas (se puede utilizar una copia de la plantilla que aparece en
el anexo 7):
1. Hallar el permetro de un cuadrado cuyo lado mide 5 cm
2. Hallar el rea de un cuadrado cuyo lado mide 5 cm.
3. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm2
y uno de sus lados mide 3 cm.
4. Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm.
5. Hallar el rea de un pentgono regular de 6 cm de lado y con 4
cm de apotema.

SIMBOLOGA DE LOS DIAGRAMAS DE FLUJO

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.

Entrada por teclado Salida Impresa


Instruccin de entrada de datos por Indica la presentacin de uno o varios
teclado. Indica que el computador debe resultados en forma impresa.
esperar a que el usuario teclee un dato
que se guardar en una variable o
constante.
Llamada a subrutina Salida en Pantalla
Indica la llamada a una subrutina o Instruccin de presentacin de
procedimiento determinado. mensajes o resultados en pantalla.

Accin/Proceso General Conector


Indica una accin o instruccin general Indica el enlace de dos partes de un
que debe realizar el computador diagrama dentro de la misma pgina.
(cambios de valores de variables,
asignaciones, operaciones aritmticas,
etc).
Flujo Conector
Indica el seguimiento lgico del Indica el enlace de dos partes de un
diagrama. Tambin indica el sentido de diagrama en pginas diferentes.
ejecucin de las operaciones.

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.

Pg.27 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


REGLAS PARA LA ELABORACIN DE DIAGRAMAS DE FLUJO

Cuando el algoritmo se desea expresar en forma de


diagrama de flujo, se deben tener en cuenta algunas
reglas o principios bsicos para su elaboracin (Rojas &
acato, 1980):
Poner un encabezado que incluya un ttulo que
identifique la funcin del algoritmo; el nombre del
autor; y la fecha de elaboracin;
Slo se pueden utilizar smbolos estndar (ISO
5807);
Los diagramas se deben dibujar de arriba haca
abajo y de izquierda a derecha;
La ejecucin del programa siempre empieza en la
parte superior del diagrama; Ilustracin 2-6: Plantilla StandardGraph ISO 5807 para la elaboracin
Los smbolos de Inicio y Final deben aparecer manual de Diagramas de Flujo.
solo una vez;
La direccin del flujo se debe representar por medio Tambin existe software especial para elaborar
de flechas (lneas de flujo); Diagramas de Flujo en forma rpida y fcil. Los
Todas las lneas de flujo deben llegar a un smbolo o programas para esta tarea permiten a los estudiantes:
a otra lnea; Almacenar digitalmente los diagramas construidos;
Una lnea de flujo recta nunca debe cruzar a otra. Introducirles modificaciones fcilmente;
Cuando dos lneas de flujo se crucen, una de ellas Imprimir copias de los diagramas para compartirlos
debe incluir una lnea arqueada en el sitio donde con compaeros o documentar sus trabajos;
cruza a la otra (ilustracin 2-5); Exportarlos en varios formatos grficos para
Se deben inicializar las variables que se utilicen o utilizarlos en otros programas;
permitir la asignacin de valores mediante consulta al Alinear y organizar los smbolos automticamente;
usuario; Agregar colores, tamao de letra y sombreados para
Las bifurcaciones y ciclos se deben dibujar lograr una apariencia profesional;
procurando una cierta simetra; Ahorrar tiempo en la modificacin de un diagrama ya
Cada rombo de decisin debe tener al menos dos que no es necesario hacer todo el dibujo
lneas de salida (una para SI y otra para NO); nuevamente;
Las acciones y decisiones se deben describir
utilizando el menor numero de palabras posible; sin En las siguientes direcciones de Internet se puede
que resulten confusas o poco claras; encontrar informacin de software para la elaboracin
Si el Diagrama se vuelve complejo y confuso, es de Diagramas de Flujo:
mejor utilizar smbolos conectores para reducir las Eduteka Diagramas de Flujo
http://www.eduteka.org/modulos.php?catx=4&idSubX=117
lneas de flujo;
GraFI-co
Todo el Diagrama debe ser claro, ordenado y fcil de http://www.eduteka.org/pdfdir/graFIco.rar
recorrer; SmartDraw
El Diagrama se debe probar recorrindolo con datos http://www.smartdraw.com
iniciales simples (prueba de escritorio). WinEsquema
http://www.softonic.com/ie/27771/WinEsquema
Dia Win32 Installer
http://www.softonic.com/ie/33781/dia
DFD 1.0
http://www.softonic.com/ie/16035/DFD
Paraben's Flow Charter
Incorrecto Correcto http://www.paraben.com/html/flow.html
Ilustracin 2-5: Cruce de lneas de flujo Edraw Flowchart
http://www.edrawsoft.com/flowchart.php
Los Diagramas se pueden dibujar utilizando lpiz y Novagraph Chartist
http://www.tucows.com/preview/289535.html
papel, en cuyo caso resultan muy tiles las plantillas
Flow Charting 6
plsticas como la de la ilustracin 2-6. Estas descargan http://www.patton-patton.com
al estudiante de la preocupacin por lograr uniformidad OrgPlus
en el dibujo. http://www.tucows.com/preview/281861.html
Antechinus Draw Magic
http://www.tucows.com/preview/254904.html

Pg.28 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ACTIVIDAD matemtico Pierre Fermat, 1601-1665), para averiguar si se trataba
Basndose en la actividad anterior, convertir los algoritmos de un nmero primo. Al cabo de 10 das, el resultado fue "NO". Este
elaborados en seudocdigo en diagramas de flujo: es el clculo realizado por un computador en el que se ha tardado
1. Hallar el rea de un cuadrado cuyo lado mide 5 cm. ms en dar una respuesta de "s" o "no". (Libro Gunness de los
2. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm2 Records 2002)
y uno de sus lados mide 3 cm.
3. Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm.
4. Hallar el rea de un pentgono regular de 6 cm de lado y con 4 Para avanzar en el tema de los Algoritmos resulta
cm de apotema. indispensable que los estudiantes comprendan algunos
conceptos bsicos (variables, constantes,
identificadores, funciones, operadores, etc), los cuales
Dato Curioso sern indispensables tanto para disear algoritmos
En el ao 1986, se introdujo en el supercomputador CRAY-2 la cifra como para traducirlos a un lenguaje de programacin,
2^220+1, o nmero de Fermat 20 (que debe su nombre al cualquiera que este sea (Logo, Java, Visual Basic, etc).

CONCEPTOS BSICOS DE PROGRAMACIN

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).

En programacin, las Variables son espacios de trabajo


(contenedores) reservados para guardar datos (valores).
El valor de una Variable puede cambiar en algn paso
del Algoritmo o permanecer invariable; por lo tanto, el
valor que contiene una variable es el del ltimo dato
asignado a esta. En el Algoritmo de la Ilustracin 2-4,
"rea" es un ejemplo de Variable; en el paso 5 se
guard en ella el resultado de multiplicar "base" por
"altura" y en el paso 6 se utiliz nuevamente para
guardar el valor de dividir su propio contenido ("rea")
entre la Constante "div".

MicroMundos ofrece tres tipos de variables: Locales,


Globales y de Estado. Las primeras retienen su valor el
tiempo que dure la ejecucin del procedimiento en el
cual se utiliza. Las variables Locales se pueden crear
con las primitivas asigna y local o en la lnea del ttulo de
un procedimiento.
Luego se hace clic en el botn Nueva variable y se
En MicroMundos se utiliza el comando da para asignar asigna un nombre a la variable, en este caso Puntaje.
un valor a una variable o constante. La sintaxis es: Cuando se genera una variable, aparecen los bloques
da nombreVariable valor correspondientes a ella. Se puede escoger si la variable
que es equivalente a la forma nombreVariable=Valor es para todos los Objetos (global) o solo para un Objeto
que se utiliza en la mayora de los lenguajes de (local).
programacin.
Con el botn Borrar una variable se borran todos los
Para utilizar el valor almacenado en una variable o bloques asociados con una variable.
constante se debe anteponer dos puntos (:) al nombre;
en
:nombreVariable Al hacer clic sobre el cuadrito de seleccin, se empieza
los dos puntos significan no quiero que ejecutes el a Informar el valor de la variable Puntaje en el
comando nombreVariable; quiero el valor almacenado escenario.
en nombreVariable.
Pg.29 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
da "variableLocal 20
fin
Incrementa la variable en una cantidad determinada (Si
Ahora escriba en el centro de mando de MicroMundos la secuencia
se tiene ms de una variable, utilice el men
de instrucciones en cursiva y debe obtener las respuestas
desplegable para seleccionar el nombre de la variable
subrayadas:
que se desea modificar).
tipoVariable 70
muestra :valorParmetro
valorParmetro no tiene valor
Inicializa la variable a un valor especfico. muestra :variableLocal
variableLocal no tiene valor
muestra :variableGlobal
Muestra el monitor de la variable en el escenario. 150
Observe que las variables :valorParmetro y :variableLocal no
conservan su valor por fuera del procedimiento tipoVariable, mientras
que la variable :variableGlobal es de tipo global y conserva su valor
Esta opcin esconde el monitor de la variable para que (150) por fuera del procedimiento donde fue creada.
no aparezca en el escenario.
En MicroMundos tambin existen las variables de
estado que permiten conocer o modificar los
EJEMPLO
componentes ms importantes de una tortuga, un
MicroMundos control o una caja de texto.
para equiltero :tamao
limpia
cp
repite 3 [adelante :tamao derecha 120]
Constantes
fin Las Constantes se crean en Logo de la misma forma
que las variables y consisten en datos que, luego de ser
Ahora escriba en el centro de mando de MicroMundos la palabra asignados, no cambian en ninguna instruccin del
equiltero seguida por un nmero que representa el tamao de cada Algoritmo. Pueden contener constantes matemticas (pi)
lado del tringulo (ejemplo: equiltero 70 ). o generadas para guardar valores fijos (3.8, "Jorge",
La variable local :tamao creada en la lnea de ttulo del etc). En el Algoritmo de la Ilustracin 2-4, "div" es un
procedimiento equiltero, contiene el valor 70 mientras el ejemplo de Constante.
procedimiento se est ejecutando. Los dos puntos : que preceden
el nombre de la variable tamao le indican a Logo que no se quiere
la palabra tamao si no el valor que contiene la variable tamao. EJEMPLO
Las variables y constantes adems de tener un Nombre
(identificador) para poder referirnos a ellas en los procedimientos,
Scratch
guardan un Valor en su interior.
Nombre (identificador) Valor
apellido Lpez
saldo 20000
tamao 8.5
esTringulo SI

ACTIVIDAD
Pedir a los estudiantes que analicen el siguiente ejemplo y que
escriban en forma de ecuacin las situaciones planteadas.

Ejemplo: El doble de la edad de Carlos Andrs es 32 aos:


edadCarlos es la constante donde se guarda la edad de Carlos
En Scratch haga clic en la bandera verde para que se dibuje en el Andrs;
escenario un tringulo equiltero con lado 100. Para dibujar R/. 2 x edadCarlos = 32
tringulos de tamaos diferentes basta con fijar la variable tamao a
otro valor. Situaciones:
1. La mitad de un valor (valor1) es 60
2. Cuatro veces un nmero (nmero1) equivale a 20
EJEMPLO 3. Un nmero (nmero2) disminuido en 5 es 18
Escriba en el rea de procedimientos las siguientes lneas de cdigo: 4. El doble (elDoble) del precio de una manzana
para tipoVariable :valorParmetro 5. La midad (laMitad) del precio de una gaseosa
limpia 6. el triple (elTriple) de mi edad
da "variableGlobal 150
local "variableLocal Los valores que pueden tomar valor1, nmero1 y
Pg.30 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
nmero2 (tres primeras situaciones) son constantes:
120, 5 y 23 respectivamente; no pueden tomar otros
valores. Adems, estas constantes son las incgnitas de EJEMPLO
las situaciones. Escribir un procedimiento llamado contador para contar los nmeros
entre 1 y 10.
Los valores que pueden tomar elDoble, laMitad y MicroMundos
elTriple son variables ya que dependen de un precio o para contador
de la edad del estudiante que resuelve el ejercicio. Los bnombres
valores de estas variables hay que conocerlos para da "nmero 0
introducirlos en el problema como datos iniciales, pero repite 10 [da "nmero :nmero + 1
no son la incgnita. Para ampliar esta actividad, el muestra nombres]
docente puede plantear nuevas situaciones o pedir a los muestra frase
estudiantes que planteen situaciones similares. [El valor final del contador nmero es ] :nmero
fin

ACTIVIDAD Ahora escriba en el centro de mando de MicroMundos contador.


Pedir a los estudiantes que traigan tres cajas de cartn (del tamao
de las de los zapatos) y marcar cada caja con uno de los siguientes Scratch
letreros: BASE, ALTURA y DIVISOR. Introducir un papel en blanco
en cada una de las cajas. Solicitar a un estudiante del grupo que
escriba un valor en cada uno de los papeles guardados en las cajas.

Escribir en el tablero la frmula para calcular el rea de un tringulo


rectngulo:
(Base * Altura / 2)
Luego pedir a otro estudiante que escriba en el tablero los valores de
los papeles guardados en cada una de las cajas y aplique la frmula
para calcular el rea de un tringulo utilizando esos valores.

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.

En este caso se almacena en la variable Puntaje el valor


que ella tenga en el momento ms el valor constante 1.
Pg.31 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Scratch procedimientos. Adems, el docente podr ayudarles a
revisar y depurar sus programas en forma ms eficiente
si estos son fciles de leer (Feicht, 2000).

Palabras reservadas (primitivas)


Todos los lenguajes de programacin definen unas
palabras para nombrar sus comandos, instrucciones y
funciones. Un identificador definido por el usuario no
puede tener el nombre de una palabra reservada en
MicroMundos.

Algunas palabras reservadas en MicroMundos


adelante (ad) muestra
derecha (de) para
Haga clic en la bandera verde de Scratch y el resultado debe ser izquierda (iz) limpia
2036. atrs (at) rumbo
repite cp
da sp
Identificadores
Los identificadores son nombres que se dan a los Las palabras reservadas no operan en Scratch ya que
elementos utilizados para resolver un problema y poder todas las instrucciones, incluyendo mandos y reporteros,
diferenciar unos de otros. Al asignar nombres son bloques de construccin (ver la seccin Conceptos
(identificadores) a variables, constantes y bsicos de Logo en la Unidad 3). Los estudiantes no
procedimientos se deben tener en cuenta algunas deben escribir las instrucciones, solo deben escribir los
reglas: parmetros en algunas de ellas.
Los nombres pueden estar formados por una
combinacin de letras y nmeros (saldoMes, salario,
fecha2, baseTringulo, etc). ACTIVIDAD
El primer carcter de un nombre debe ser una letra. Cules de los siguientes identificadores NO son validos como
La mayora de los lenguajes de programacin nombres de Variables en MicroMundos y por qu?
diferencian las maysculas de las minsculas. 1. nmeroX
Los nombres deben ser nemotcnicos, con solo 2. Numero X
leerlos se puede entender lo que contienen. Deben 3. 7
ser muy descriptivos; no utilizar abreviaturas, a 4. A(45+
menos que se justifique plenamente. 5. VII
Es conveniente utilizar una sola palabra para 6. 7mesas
nombrar pginas, controles, variables, etc. 7. sieteMesas
No utilizar caracteres reservados (%, +, /, >, etc).
MicroMundos admite letras acentuadas (, , , , ). En cuanto a palabras reservadas, Scratch es ms
Se debe tener en cuenta que algunos lenguajes de flexible que MicroMundos, pues se pueden utilizar como
programacin no admiten las tildes. nombres de variables aquellos identificadores que no
No utilizar palabras reservadas por los lenguajes de son validos en MicroMundos: A(45+, 7, etc.
programacin.
Para cumplir con convenciones ampliamente TIP
utilizadas (Jimnez, 2002), los nombres de Es buena idea asignar, a Variables y Constantes, nombres que
procedimientos, variables y constantes deben indiquen cul puede ser su contenido. Por ejemplo, a una Variable
empezar con minscula. Ejemplo, fecha, suma, etc. que contendr el valor de la base de un tringulo debe asignrsele el
Si es un nombre compuesto por varias palabras, nombre "baseTriangulo"; "areaCuadrado" a una que guardar el rea
cada una de las palabras (con excepcin de la de un cuadrado; y "radio" a una que contendr el valor del radio de
primera) deben empezar con mayscula. Ejemplo: una circunferencia. Aunque MicroMundos no hace distincin entre
fechaInicial, baseTringulo, etc. maysculas y minsculas, es buena prctica ser consistente a lo
largo de todo el algoritmo en su uso (RADIOCIRC RadioCirc).
El tipo de nombre identificadores- que se asigne a Esto debido a que la mayora de lenguajes de programacin s
variables, constantes y procedimientos es muy hacen distincin entre maysculas y minsculas.
importante. Cuando los estudiantes dejan de trabajar en
un proyecto por varios das, es ms fcil para ellos .
retomar la actividad si los identificadores describen muy
bien el contenido de variables, constantes y

Pg.32 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


FUNCIONES MATEMTICAS

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:

DESCRIPCIN SINTAXIS MicroMundos Scratch


ARCO TANGENTE. arctan nmero
Devuelve el arco tangente (la funcin inversa de la
tangente) de su entrada. Ver tan y cos. Ejemplo:
cp
cumpleveces [i 100]
[fx coorx + 1 fy -50 + 2 * arctan :i / 100]
COSENO. cos nmero
Devuelve el coseno de su entrada.
Ver sen y tan. Ejemplo:
cp
repite 120 [fy 50 * cos 3 * coorx fx coorx +
1]
EXPONENCIAL. exp nmero
Devuelve e a la potencia del nmero.
Ejemplo:
cp
repite 55 [fx coorx + 1 fy exp coorx / 15]
LOGARITMO NATURAL. ln nmero
Devuelve el logaritmo natural (el logaritmo en base
e) del nmero. Es el contrario de exp. Ejemplo:
Ver tambin log. muestra ln 15

LOGARITMO. log nmero


Devuelve el logaritmo del nmero.
Ver ln y exp. Ejemplo:
muestra log 15
PI pi
Devuelve la constante PI. No disponible en Scratch
Ejemplo:
cp
repite 360 [ad pi * 100 / 360 de 1]
repite 360 [ad pi * 150 / 360 iz 1]
POTENCIA potencia nmero1 nmero2
Devuelve el nmero1 elevado a la POTENCIA de Scratch no tiene el operador potencia, sin
nmero2. Ejemplo: embargo es fcil programarlo:
muestra potencia 4 2 http://scratch.mit.edu/projects/jualop/752239

RAZ CUADRADA. rc nmero


Devuelve la raz cuadrada de su entrada.
Ejemplo:
muestra rc 16
SENO. sen nmero
Devuelve el seno del nmero en grados.
Ver cos. Ejemplo:
cp
repite 260 [fy 25 * sen 6 * coorx fx coorx +
1 / 2]
TANGENTE. tan nmero
Devuelve la tangente de su entrada.
Ver sen y cos. Ejemplo:
cp
repite 28 [fy 8 * tan 6 * coorx fx coorx + 1 /
2]

Pg.33 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


TIPOS DE DATOS

La mayora de los lenguajes de programacin disponen


de una amplia variedad de datos. MicroMundos solo
tiene tres tipos de datos: nmeros, palabras y listas. EJEMPLO

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.

Listas: una secuencia de palabras puede manipularse


igual que una sola palabra mediante el uso de listas.
Una lista es una secuencia de palabras separadas por
espacios en blanco y encerrada entre corchetes. Las
palabras en una lista no necesitan comillas y los
espacios en blanco se ignoran.

Pg.34 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


OPERADORES

Son smbolos que sirven para manipular datos. En / Divisin 4/2 2


MicroMundos es necesario dejar un espacio en blanco a
cada lado del signo aritmtico. Los operadores y las
operaciones que se pueden realizar con ellos se + Suma 4+2 6
clasifican en:
Aritmticos: Posibilitan las operaciones entre datos - resta 4-2 2
de tipo numrico y dan como resultado otro valor de
tipo numrico. Ejemplo: potencia (potencia); asignacin da A 4 Se asigna el
producto (*); divisin (/); suma (+); resta (-); valor de 4 a la
asignacin (). Este ltimo operador de variable A
MicroMundos presenta diferencias con el operador
de asignacin (=) que utilizan la mayora de los
lenguajes de programacin. La expresin muestra azar 6 + 1 reporta un resultado
Alfanumricos: Permiten operar con datos de tipo diferente al que reporta muestra (azar 6) + 1 Por qu?
carcter o cadenas. La mayora de los lenguajes de Las operaciones que se encuentran entre parntesis se
programacin admiten el operador + para realizar la evalan primero; las que tienen el mismo orden de
concatenacin (unin) de caracteres o cadenas. Ni evaluacin se ejecutan de izquierda a derecha. Los
MicroMundos, ni Scratch tienen esta opcin. En clculos aritmticos siempre se realizan antes que
Scratch debe utilizarse, para concatenar, el cualquier otro mando Logo. Por ejemplo, en la
operador &. instruccin muestra azar 6 + 1, la operacin aritmtica
Relacinales: Permiten la comparacin entre datos 6 + 1 se realiza primero que el mando Logo azar y a su
del mismo tipo y dan como resultado dos valores vez, el mando azar se ejecuta primero que el mando
posibles: Verdadero o Falso. Ejemplo: igual a (=); muestra. En instrucciones como muestra (azar 6) + 1
menor que (<); mayor que (>). hay que tener presente que siempre se deben utilizar
Lgicos: Posibilitan la evaluacin lgica de dos pares de parntesis. En Scratch no est disponible la
expresiones de tipo lgico. Dan como resultado uno opcin de parntesis (hasta la versin 1.4).
de dos valores posibles: Verdadero o Falso.
Ejemplo: negacin (no); conjuncin (y); disyuncin
(o). ACTIVIDAD
Pedir al estudiante que escriba en el Centro de Mando (ilustracin 1-
2) de MicroMundos las siguientes expresiones y anote en su
Orden de evaluacin de los operadores cuaderno las observaciones sobre los resultados de cada pareja (1 y
Los computadores ejecutan los operadores en un orden 2; 3 y 4, 5 y 6):
predeterminado. El siguiente es el orden (jerarqua) para 1. muestra 243 + 5 - 6 + 86 42
ejecutar operadores: 2. muestra 5 + 86 - 42 - 6 + 243
1. Parntesis (se ejecutan primero los ms internos) 3. muestra 7 + ( 8 * 16)
2. Signo (-2) 4. muestra (7 + 8 ) * 16
3. Potencias y Races (potencia y rc); Productos y 5. muestra 24 / 4 * 8
Divisiones ( * y /) 6. muestra 4 * 8 / 24
4. Sumas y Restas (+ y -)
5. Concatenacin (+)
6. Relacinales (=, <, >)
7. Negacin (no)
8. Conjuncin (y)
9. Disyuncin (o)

OPERADORERS ARTMETICOS
Operador Operacin Ejemplo Resultado
potencia Potencia potencia 4 2 16
^ 4^2
* Multiplicacin 4*2 8

Pg.35 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


EXPRESIONES

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,

Pg.36 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


UNIDAD 3: ESTRUCTURAS BSICAS

LAS ESTRUCTURAS

programacin, pueden descargar gratuitamente las


correspondientes Guas de Referencia:
MicroMundos (proyecto Teddi - PDF; 560KB)
http://www.eduteka.org/pdfdir/ManualMicroMundos.pdf
Scratch (MIT - PDF; 1.5MB)
http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf

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).

El uso del diseo descendente en los programas, la


ejecucin de operaciones secuenciales, la utilizacin de
ciclos repetitivos y, la toma de decisiones y alternativas
de proceso, ofrecen amplias posibilidades para resolver
problemas mediante la construccin de procedimientos
(Castellanos & Ferreyra, 2000b).

Un famoso teorema de los aos sesenta, formulado por


Edsger Wybe Dijkstra, demostraba que se puede
escribir cualquier programa utilizando nicamente la tres
estructuras de control mencionadas. Actualmente, la
programacin orientada a objetos (POO) busca reducir
al mximo la cantidad de estructuras de control
mediante el uso de polimorfismo; pero an as, todava
se vale de estas estructuras para construir mtodos, los
cuales podra decirse que son equivalentes a los
procedimientos que se plantean en esta gua.

Para traducir los algoritmos diseados a un lenguaje de


programacin que el computador pueda entender, en
esta gua se utilizan dos entornos de programacin
basados en Logo: MicroMundos y Scratch. Los docentes
interesados en conocer estos ambientes de

Pg.37 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


CONCEPTOS BSICOS DE PROGRAMACIN

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.

Logo fue desarrollado por Seymour Paper en el MIT en


1968 con el fin de utilizarlo en el mbito educativo. Con
este lenguaje de programacin, inicialmente los nios
dan instrucciones a una tortuga (adelante, atrs,
derecha, izquierda, etc) para elaborar dibujos sencillos.
Pero a medida que logran dominio del lenguaje, ellos
utilizan comandos ms sofisticados para realizar
creaciones ms complejas.

Desde 1968 a la fecha se han creado numerosas


versiones de Logo Ilustracin 3-2(a): rea de trabajo de MicroMundos
(http://www.elica.net/download/papers/LogoTreeProject.pdf); sin (interfaz del programa)
embargo, en esta Gua se utilizarn los entornos de
programacin basados en Logo MicroMundos y EJEMPLO 3-1
Scratch. Ambos ofrecen una serie de comandos Digitar en el Centro de Mando (Ilustracin 3-2) la instruccin:
llamados primitivas para construir procedimientos (ver rumbo
una lista bsica de primitivas en el Anexo 1). MicroMundos devuelve un mensaje de error:
No s qu hacer con 0
Para obtener mayor informacin sobre Logo, se Digitar la siguiente instruccin en el Centro de Mando:
recomienda visitar el sitio Web de Daniel Ajoy muestra rumbo
http://neoparaiso.com/logo/ MicroMundos devuelve el rumbo actual de la tortuga:
0
En este caso el resultado de rumbo es reportado a muestra.
MicroMundos
MicroMundos (http://www.micromundos.com) es un Los docentes interesados en conocer ms a fondo
entorno de programacin desarrollado por la compaa MicroMundos, pueden descargar una versin de prueba
canadiense LCSI. La lista de primitivas es ms extensa por 30 das del sitio: http://www.micromundos.com
que la de Scratch; la cual, junto a los procedimientos Adems, pueden descargar gratuitamente la Gua de
elaborados por el programador, se pueden clasificar en Referencia en espaol: Proyecto Teddi; PDF; 560KB)
dos categoras: Mandos y Reporteros. http://www.eduteka.org/pdfdir/ManualMicroMundos.pdf

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/

Pg.38 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Scratch Los docentes interesados en conocer ms a fondo el
Scratch (http://scratch.mit.edu/) es un entorno de ambiente de programacin Scratch, puede descargarlo
programacin desarrollado recientemente por un grupo gratuitamente de la siguiente direccin:
de investigadores del Lifelong Kindergarten Group del http://scratch.mit.edu/. Adems, pueden descargar la
Laboratorio de Medios del MIT, bajo la direccin del Dr. Gua de Referencia en espaol (PDF; 1.5MB):
Michael Resnick. http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf

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.

Scratch es una muy buena alternativa a MicroMundos;


sin embargo, las Instituciones Educativas que ya
cuentan con MicroMundos, pueden utilizar ambos
entornos ya que puede resultar benfico para los Los algoritmos diseados como ejemplos en esta Gua
estudiantes exponerlos a diferentes ambientes de no estn optimizados ya que con ellos se busca mostrar
explicita y detalladamente las operaciones bsicas
programacin en los que puedan realizar las mismas
cosas. requeridas para una solucin y no la forma ptima de
solucin. Algunos ejemplos exponen de manera

Pg.39 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


deliberada la forma larga y poco elaborada, para luego Scratch
presentar la forma optimizada.

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.

Vale la pena recordar que la declaracin de variables y


constantes se realiza en MicroMundos de la siguiente
forma:
local nombreVariable (Ej. local altura).

La sintaxis para asignacin de un valor a una variable o


constante es:
da nombreVariable Valor (Ej. da altura 4).

Luego de asociar valores a variables o constantes, estas


se pueden utilizar anteponiendo dos puntos (:) al
TRADUCCIN DEL ALGORITMO nombre de la variable o constante:
MicroMundos da nuevaAltura 2 + :altura
para tringulo
local "div ;declara las constantes como locales. El Mando da asigna a la variable nuevaAltura el valor 2
local "base ms el contenido de la variable altura.
local "altura
local "rea ;declara esta variable como local. Por otra parte, al momento de crear una variable en
da "div 2 ;almacena 2 en la constante div (div=2) Scratch, el entorno pregunta si esta ser visible para
da "base 3 ;equivalente a base=3 todos los objetos (global) o solo ser visible para este
da "altura 4 objeto (local).
da "rea :base * :altura / :div ;aplica la frmula.
muestra :rea ;reporta el contenido de la variable rea Scratch
fin

Tal como se puede comprobar al ejecutar el procedimiento anterior,


el texto entre un punto y coma y el final de una lnea de cdigo no
produce ningn resultado, ni causa errores de sintaxis.

Pg.40 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


MicroMundos
INTERACTIVIDAD
La interactividad entre el usuario y el programa es un
recurso muy valioso en programacin y se logra
permitiendo la comunicacin con el programa mediante
la utilizacin del teclado y/o el ratn (mouse).

En MicroMundos, la forma ms comn de interactuar


con un programa es por medio de controles y botones,
los cuales se manipulan con el ratn. Ambos se pueden
programar para que realicen acciones (ejecutar un
Ilustracin 3-4: Los comandos pregunta y respuesta permiten
procedimiento, ir a otra pgina, cambiar el valor a una
interactuar con el usuario para obtener informacin de l.
variable, etc).

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

Otra forma de interactuar con un programa consiste en


que el usuario utilice el teclado para responder a las
preguntas que le plantea el programa. En MicroMundos
las respuestas que el usuario aporta se pueden
almacenar en las variables correspondientes con el
comando respuesta. Para mostrar lo que el usuario
contesta se puede utilizar varios comandos de
MicroMundos (mostrar, escribe, anuncia, anuncia frase).
El ejemplo 3-6 de la seccin Estructura Secuencial
ilustra muy bien la interactividad que se puede
establecer entre usuario y programa. La interactividad

Pg.41 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


facilita generalizar la solucin de un problema. Por condiciones para que ellos ejerciten en forma efectiva y
ejemplo, si se elabora un procedimiento que calcule el divertida el pensamiento algortmico y los razonamientos
rea de un tringulo rectngulo, cada vez que se temporal y condicional.
cambien los valores iniciales de base y altura, estos
deben actualizarse en el cuerpo del procedimiento. La En este sentido, la utilizacin del rea de procedimientos
interactividad, por el contrario, permite que cada vez que de MicroMundos (ilustracin 3-2) ofrece mayores
se ejecute el procedimiento, este le pregunte al usuario posibilidades para gestionar, organizar y planificar, en
por los valores de base y altura, y los tome para contraposicin a introducir instrucciones una a una en el
calcular el rea sin la necesidad de modificar nada en el centro de mando (lo que permite al estudiante ver
procedimiento. inmediatamente cul es el efecto que produce cada
instruccin ejecutada).

PROCEDIMIENTOS Como se expuso en la Unidad 1, los procedimientos son


Segn Papert (1993), los problemas que experimentan mdulos con instrucciones que inician con el comando
muchos estudiantes con las matemticas se deben ms para y que el computador ejecuta automticamente,
a la falta de comprensin de los algoritmos apropiados, una tras otra, hasta encontrar el comando fin. Todo
que a la falta de manejo de los conceptos involucrados procedimiento debe tener un nombre que lo identifique y
en estos. Cuando experimentan problemas con la suma, que sirve para ejecutarlo cuando se ejecuta dicho
lo primero que se debe revisar es el procedimiento de la nombre. Pero antes de ejecutar un procedimiento, los
adicin. estudiantes deben utilizar pensamiento algortmico,
razonamiento temporal y razonamiento condicional, para
Los procedimientos se utilizan muy a menudo en la vida determinar y escribir todas las instrucciones que lo
diaria. Participar en un juego o dar instrucciones a deben componer y el orden lgico de ejecucin.
alguien que se encuentra perdido son actividades que
requieren pensamiento procedimental o algortmico. Los
estudiantes activan a diario este tipo de pensamiento sin
percatarse y sin hacer algn tipo de reflexin sobre esto.
De hecho, ellos disponen de un conocimiento
procedimental que utilizan en muchos aspectos de sus
vidas, tanto para planear una estrategia en un juego,
como para dar instrucciones a alguien perdido en el
vecindario. Lo curioso es que en raras ocasiones utilizan
este conocimiento procedimental en las clases de
matemticas. Los ambientes Logo ayudan a los
estudiantes a hacer conciencia de la idea de
procedimiento, ya que en l, los procedimientos se
convierten en algo que se puede nombrar, manipular y
reconocer (Papert, 1993).

Adems del pensamiento algortmico, los razonamientos


temporal y condicional juegan un papel muy importante Ilustracin 3-5: Elementos que componen el procedimiento
en la gestin, organizacin y planificacin de cualquier cuadrado; el parmetro es el nico elemento opcional.
procedimiento. Estos facilitan al programador plantear y
seguir instrucciones, fragmentar una tarea en mdulos Por otra parte, el vocabulario disponible en cualquier
con funciones precisas y plantear decisiones que un proyecto Logo est compuesto por los comandos
procedimiento debe tomar de acuerdo a ciertas propios del lenguaje (Mandos y Reporteros) ms los
condiciones. La programacin esta muy ligada al control nombres de los procedimientos definidos en ese
de la sucesin temporal de instrucciones organizadas en proyecto. En otras palabras, los procedimientos
secuencias. Este control, guiado por un razonamiento definidos (en este caso cuadrado) entran a formar
temporal, es necesario para organizar el orden de las parte del vocabulario de ese proyecto. Cuando se abre
instrucciones a ejecutar, para llamar otros un proyecto nuevo, esos procedimientos ya no estn
procedimientos en el orden correcto y ejecutar ciertas disponibles; por tanto, para utilizarlos hay que copiarlos
instrucciones mientras una condicin se d o a partir de de un proyecto existente y pegarlos en el nuevo
cuando esta se d (Dufoyer, 1991). Y, segn Friedman proyecto.
(1982) y Piaget (1946), citados por Dufoyer (1991), hay
que esperar necesariamente hasta los 7 u 8 aos (nivel Todo procedimiento debe tener una lnea de ttulo que
de las operaciones concretas) para que estas incluye un nombre; el cual, al invocarlo, ejecuta en
operaciones sean posibles. Por lo tanto, utilizar la orden, una a una, las lneas de instrucciones que
programacin de computadores con estudiantes de contiene hasta que llega a la lnea con el Mando fin.
cuarto grado en adelante es viable si se hace con el
objetivo de ofrecerles oportunidades de acceso a Para escribir procedimientos se deben tener en cuenta
conceptos relacionados con procedimientos, creando las siguientes recomendaciones:
Pg.42 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
El ttulo est compuesto por: el Mando para, el Aqu tenemos dos formas equivalentes e igualmente correctas de
nombre del procedimiento y los parmetros algoritmo para dibujar un cuadrado. El algoritmo de la izquierda
(opcional). utiliza un rectngulo de proceso para cada instruccin; el de la
El nombre del procedimiento debe ser una palabra. derecha agrupa en un solo rectngulo las instrucciones de proceso
Cuando se deben utilizar varias palabras para adyacentes.
nombrar un procedimiento, se escriben sin dejar
espacio entre ellas y con mayscula la primera letra TRADUCCIN DEL ALGORITMO
de la segunda palabra y de las subsiguientes El siguiente procedimiento es la traduccin al lenguaje Logo del
palabras (ejemplo: valorMasAlto). algoritmo representado por el diagrama de flujo. Pedir a los
Cada instruccin completa debe ocupar una lnea de estudiantes que lo escriban en el rea de procedimientos.
cdigo
Puede contener lneas en blanco MicroMundos
En la ltima lnea solo puede aparecer el Mando fin para cuadrado :lado
Desde un procedimiento se pueden invocar otros limpia
procedimientos. cp
adelante :lado
Ejemplo 3-4 derecha 90
Escribir un procedimiento para dibujar en la pantalla un cuadrado de adelante :lado
tamao variable. derecha 90
R/. adelante :lado
derecha 90
ANLISIS DEL PROBLEMA adelante :lado
Formular el problema: Ya est claramente planteado. fin
Resultados esperados: El dibujo de un cuadrado en la pantalla.
Datos disponibles: El tamao de los lados del cuadrado debe Cuando escriban en el Centro de Mando el nombre del
ingresarlo el usuario; se sabe que todos los ngulos internos de un procedimiento, seguido del parmetro correspondiente al tamao del
cuadrado son de 90 grados. El estudiante debe preguntarse si sus lado (Ejemplo: cuadrado 100 ) debe dibujarse en la pantalla un
conocimientos actuales de matemticas le permiten resolver este cuadrado.
problema; de no ser as, debe plantear una estrategia para obtener
los conocimientos requeridos. Scratch
Restricciones: El tamao del cuadrado lo suministra el usuario.
Procesos necesarios: Leer el tamao del cuadrado como un
parmetro llamado lado; bajar la pluma de dibujar; avanzar adelante
una distancia igual a lado; girar 90 grados a la derecha; avanzar
adelante una distancia igual a lado; girar 90 grados a la derecha;
avanzar adelante una distancia igual a lado; girar 90 grados a la
derecha; avanzar adelante una distancia igual a lado.

DISEO DEL ALGORITMO

Con el fin de poder ejemplificar ms adelante las dos


formas de ejecutar un procedimiento, se debe escribir
este otro procedimiento:

MicroMundos
para dibujaCuadrado
cuadrado 120
fin

El procedimiento cuadrado ilustra el modelo general


para escribir procedimientos con parmetros. Este tipo
de procedimientos son muy tiles cuando varias
Pg.43 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
instrucciones se deben ejecutar en un programa varias cuadrado 150.
veces de manera idntica, cuya nica diferencia sea el
valor inicial que tomen algunas variables. En estos Otra forma de ejecutar un procedimiento es invocndolo
casos, las instrucciones se empaquetan en un desde otro procedimiento. Cuando se ejecuta el
procedimiento y los distintos valores iniciales de las procedimiento dibujaCuadrado (sin parmetros),
variables se asignan por medio de parmetros. indirectamente se ejecuta el procedimiento cuadrado
con 120 como parmetro. Este procedimiento dibuja
El nombre del parmetro se debe escribir en la lnea del exactamente el mismo cuadrado cada vez que se
ttulo, despus del nombre del procedimiento, ejecuta (ver ejemplo 3-4).
ajustndose a las indicaciones establecidas en la
Unidad 2 de esta gua para nombrar identificadores. No Adicionalmente, poder invocar un procedimiento desde
olvidar que al parmetro se debe anteponer el signo de otro, simplifica el dibujo de figuras simtricas. Se dice
dos puntos (:) tal como se puede apreciar en el ejemplo que una figura es simtrica cuando al doblarla por la
3-4 (:lado). mitad sus dos partes coinciden (Casasbuenas &
Cifuentes, 1998b). El ejemplo 3-5 en la seccin
Luego de definir el nombre de un parmetro en la lnea Estructura Secuencial ilustra muy bien la construccin
de ttulo de un procedimiento (para cuadrado :lado), este de figuras simtricas mediante la utilizacin de
parmetro se puede utilizar en cualquiera de las procedimientos que invocan a otros procedimientos.
instrucciones (ejemplo: adelante :lado).
Cada procedimiento tiene su propia biblioteca de
En otras palabras, la lnea de ttulo del procedimiento nombres, esta es la razn por la cual un procedimiento
cuadrado le dice a Logo que solo hay un parmetro, puede transferirle parmetros a otros, manteniendo los
llamado lado. En el cuerpo del procedimiento se utiliza el valores de sus propios parmetros. Como los nombres
Mando adelante acompaado del parmetro :lado. Esta de los parmetros son privados, diferentes
instruccin dibuja una lnea cuya medida es igual al procedimientos pueden usar el mismo nombre para un
valor que contiene :lado. parmetro sin que haya confusin acerca de su valor.
Cuando Logo ejecuta un procedimiento, ste establece
Cuando en el ttulo de un procedimiento se definen uno una biblioteca privada que contiene los nombres de los
o varios parmetros, estos no tienen valor. Solo cuando parmetros que hay en la definicin del procedimiento,
se ejecuta el procedimiento es que se conoce el valor de asociados con los valores dados al momento de llamar
cada parmetro. Por esta razn, todo parmetro debe al procedimiento. Al ejecutarse una instruccin que
tener un nombre. Por ejemplo, al cambiar la lnea de contiene el nombre del parmetro, el procedimiento
ttulo del procedimiento cuadrado por la siguiente (con busca en su biblioteca privada el valor de ese nombre.
dos parmetros): Este es el motivo por el cual el mismo nombre de
para cuadrado :lado :ngulo parmetro puede estar en dos bibliotecas distintas y
el valor del ngulo se tratar como un parmetro cuando tener informacin diferente.
se invoque el procedimiento.
Los parmetros son como "variables locales" del
En resumen, un procedimiento, internamente, es un procedimiento en el cual fueron definidos. La
algoritmo que resuelve en forma parcial un problema. importancia de los nombres de entrada privados es que
Desde el punto de vista externo es una orden o ofrecen la posibilidad de ejecutar un procedimiento sin
instruccin nica que puede formar parte de otro tener que preocuparse por detalles de su definicin.
procedimiento o algoritmo (Cajaraville, 1989).
Por su parte, en Scratch no hay procedimientos con
Por otra parte, los estudiantes deben aprender a parmetros como en MicroMundos; sin embargo, se
distinguir entre escribir un procedimiento y ejecutarlo. La pueden simular con las instrucciones de Control Al
primera actividad es el resultado de las etapas de enviar a todos y Al recibir.
anlisis del problema, diseo del algoritmo y traduccin
de este a un lenguaje de programacin. Scratch

La segunda actividad (ejecutar un procedimiento) hay


dos formas de realizarla. La manera ms simple
consiste en escribir el nombre del procedimiento en el
Centro de Mando (ver ilustracin 3-2). Escribir cuadrado
100 en el Centro de Mando ejecuta el procedimiento
llamado cuadrado, asigna el valor 100 al parmetro :lado
y dibuja en la pantalla un cuadrado. Este procedimiento
requiere que el usuario especifique la medida de los
lados. Para dibujar un cuadrado cuyos lados midan 60
unidades se debe escribir cuadrado 60 en el Centro de
Mando. Para dibujar un cuadrado ms grande se debe
aumentar el valor del parmetro; por ejemplo:
Pg.44 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Para ejecutar los procedimientos en Scratch basta con
hacer clic en la bandera verde ubicada en la esquina
superior derecha de la pantalla:

En la siguiente seccin se presentan las estructuras de


control bsicas que los estudiantes deben dominar para
poder disear algoritmos y traducirlos a un lenguaje de
programacin.

Pg.45 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ESTRUCTURA SECUENCIAL

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).

Ilustracin 3-6: Modelo de estructura secuencial.

Una estructura de control secuencial puede contener


cualquiera de las siguientes instrucciones:
declaracin variables
asignacin de valores
entrada de datos
procesamiento de datos (operaciones)
reporte de resultados

EJEMPLO 3-5
Escribir un procedimiento para dibujar en la pantalla una figura
simtrica igual a la siguiente:

TRADUCIN DEL ALGORITMO


La solucin de este problema tiene tres procedimientos:
(1) simetraCuadrado, (2) simetraCuadricula y (3) simetraEstrella.

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

Pg.46 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


simetraCuadricula no realiza ningn dibujo, lo que hace es llamar
cuatro veces el procedimiento simetraCuadrado que es el que
realmente dibuja un cuadrado cada vez que se invoca. Para que los
cuadrados sean adyacentes, se necesita girar la tortuga 90 grados a
la izquierda despus de cada llamada al procedimiento
simetraCuadrado.

para simetraEstrella
limpia
cp
simetraCuadricula
derecha 45
simetraCuadricula
fin

El procedimiento simetraCuadrado (1) est compuesto solamente


por una estructura secuencial que realiza el dibujo de un cuadrado
cuyos lados miden 100.

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.

Las siguientes son las instrucciones equivalentes en


Scratch para elaborar la misma estrella:

El procedimiento simetraCuadricula (2) est compuesto por una


estructura secuencial que dibuja cuatro cuadrados con lados
adyacentes entre s. Esta es una figura simtrica ya que si se dobla
por la mitad, ambas mitades coinciden. Para construir esta
cuadricula no fue necesario escribir un procedimiento con el cdigo
para dibujar cuadro cuadrados; en realidad, el procedimiento

Pg.47 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Este ejemplo ilustra la construccin de figuras simtricas
mediante la utilizacin de procedimientos invocados
desde otros procedimientos. El concepto de simetra es
muy importante tanto en disciplinas como matemticas y
arte como en la cultura general del estudiante. La
programacin de computadores puede apoyar muy
efectivamente el afianzamiento en el nio del concepto
que este tiene de simetra, alcanzado en forma intuitiva
a travs del espejo. Los espejos son para los nios su
primera experiencia y permiten examinar muchos
aspectos de las simetras. Se puede uno preguntar
acerca de la inversin mutua entre derecha e izquierda,
acerca de las distancias entre el objeto y su imagen en
el espejo, lo que ocurre cuando se mueve el objeto o se
mueve el espejo, o lo que ocurre cuando estos giran
Fletchet, T. J. citado por Cajaraville (1989).

Por otra parte, la construccin de figuras como estas


requiere un dominio espacial del estudiantes ya que es
mucho ms difcil reproducir una accin correctamente
en el pensamiento que llevarla a cabo en el nivel de la
conducta. Por ejemplo, es ms sencillo moverse de un
lugar a otro en un espacio fsico o dar vueltas en torno a
objetos que representar mentalmente esos movimientos
con precisin o representarlos en un plano e invertir
mentalmente las posiciones de los objetos haciendo
girar el plano (Piaget,1993).

Por ltimo, en este ejemplo se utilizan ms comandos


de los que realmente se requieren. Como el objetivo no
es presentar cdigos optimizados sino ms bien que el
estudiante se familiarice con los comandos disponibles,
ms adelante, cuando se vea la estructura repetitiva, el
docente puede repetir este ejemplo y utilizar el comando
repetir. Posteriormente, promover la reflexin de los
estudiantes sobre la optimizacin del cdigo y las
mltiples maneras que hay en programacin para
realizar la misma tarea.

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.

Tanto en la utilizacin de la estructura secuencial, como


en las dos que veremos ms adelante, es muy
importante que los estudiantes reflexionen y determinen
el orden de ejecucin de las instrucciones (posicin) ya
que la conmutatividad no es una propiedad aplicable a
los algoritmos. El lenguaje algortmico, al igual que el
lenguaje formal de las matemticas, tiene carcter
grfico y posicional; busca la precisin, el rigor, la
abreviacin y la universalidad; y, su finalidad
fundamental consiste en obtener resultados
internamente consistentes (Onrubia & Rochera &
Barbar, 2001).

La construccin de estructuras algortmicas, entendidas


estas como secuencias de instrucciones y operaciones,
con el fin de lograr un resultado concreto, ayuda a
TRADUCCIN DEL ALGORITMO EN MICROMUNDOS afianzar en los estudiantes el conocimiento
para tringuloRectngulo procedimental matemtico. Este conocimiento se
local "div ; declarar variables y constantes caracteriza por la accin (saber hacer) frente al
local "base conocimiento declarativo que se basa en la enunciacin
local "altura (saber decir). Saber explicar (enunciar) un teorema no
local "rea garantiza que este se sepa aplicar (actuar)
da "div 2 correctamente en la solucin de una situacin
pregunta [Ingrese la Altura del Tringulo] ; ingresar altura y problemtica determinada (Onrubia & Rochera &
base Barbar, 2001).
da "altura respuesta
pregunta [Ingrese la Base del Tringulo] Toda secuencia de acciones tiene una estructura que
da "base respuesta debe planearse (consciente o inconscientemente) antes
da "rea :base * :altura / :div ; realizar clculos de ejecutarla. Cuando la accin se realiza de manera
anuncia frase [El rea del tringulo es:] :rea ; reportar el automtica, quien acta no es consciente de la
resultado estructura y por tanto no puede ver las correlaciones en
fin su actuacin y con el entorno de dicha accin; las
acciones se convierten en operaciones cuando quien las
TRADUCCIN DEL ALGORITMO EN SCRATCH realiza es consciente de las relaciones inherentes. Pero
las acciones prcticas requieren tanta atencin que
puede ser difcil realizarlas dndose cuenta al mismo
tiempo de las correlaciones inherentes a ellas. Por esto,
son fundamentales los sistemas de signos a los cuales
se traducen las acciones; con los signos se pueden
expresar las relaciones que existen dentro de las
acciones y entre sus objetos, y se puede proceder con
los signos del mismo modo que con los objetos reales
(Aebli, 2001).

Segn Saussure (1916), citado por Aebli (2001), hay


tres grandes grupos dentro de los signos: los smbolos,
los signos propiamente dichos y las seales. Un signo, a
diferencia de un smbolo, no se parece a su significado;
es elegido arbitrariamente y para conocer su significado
En este ejemplo, el procedimiento tringuloRectngulo hay que aprenderlo y fijarlo en la memoria: palabras de
tambin est compuesto nicamente por una estructura lenguajes naturales, cifras, signos algebraicos, etc. Los
secuencial de instrucciones. En ella se utilizan las significados se pueden codificar bsicamente de cuatro
primitivas pregunta y respuesta para permitir que el formas: mediante la palabra hablada, la palabra escrita,
usuario del programa suministre al programa los datos el signo grfico, y la variable. As, el nmero 2 se puede
altura y base del tringulo. De esta forma, se logra un representar mediante el fonema dos, la palabra dos,
procedimiento generalizado para calcular el rea de el signo 2 o .. y la variable a.
CUALQUIER tringulo rectngulo. En otras palabras,
Pg.49 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
De lo anterior se puede deducir que elaborar programas TRADUCCIN DEL ALGORITMO EN SCRATCH
de computador para resolver problemas matemticos
ofrece al estudiante la oportunidad de fijar la atencin en
la estructura de las operaciones que realiza, mediante
su traduccin a un sistema de signos que el computador
pueda entender. Dirigir la atencin a la estructura tiene
como consecuencia que operaciones clsicas, como la
suma con nmeros naturales, se hagan cada vez ms
mviles y puedan constituir sistemas cada vez ms
complejos (Aebli, 2001).
Este es un problema muy sencillo de resolver mediante
la utilizacin de una estructura secuencial. Pedir a los
EJEMPLO 3-7
estudiantes que analicen qu tan eficiente sera utilizar
Escribir un procedimiento que muestre 3 veces en pantalla la frase
la misma estructura si el enunciado del problema fuera:
Esto es un camello.
Escribir un procedimiento que muestre 60 veces en
R/.
pantalla la frase Esto es un camello. Qu habra que
ANLISIS DEL PROBLEMA
hacer si se cambiara 3 veces por 60?
Formular el problema: Ya se encuentra claramente formulado.
Resultados esperados: Que aparezca tres veces en pantalla la
frase Esto es un camello.
ACTIVIDADES
Datos disponibles: La frase dada.
1. Disear un algoritmo que pida al usuario dos nmeros y calcule la
Restricciones: Ninguna.
suma, la resta, la multiplicacin y la divisin del primero por el
Procesos necesarios: Ninguno.
segundo. Traducir el algoritmo al lenguaje Logo y probarlo.
DISEO DEL ALGORITMO
2. Disear un algoritmo para calcular cuntos litros caben en un
tanque. Los datos de entrada (profundidad, largo y ancho) deben
estar dados en metros. Se debe tener presente que 1 litro equivale a
1 dm3. Traducir el algoritmo al lenguaje Logo y probarlo.

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS


para camello1
muestra [Esto es un camello]
muestra [Esto es un camello]
muestra [Esto es un camello]
fin

Pg.50 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ESTRUCTURA ITERATIVA (REPETICIN)

La estructura iterativa o de repeticin permite ejecutar ejemplo: repite 60 [muestra hola]


una o varias instrucciones, un nmero determinado de donde nmero (60) indica las veces que se ejecutar la
veces o, indefinidamente, mientras se cumpla una lista-de-instrucciones ([muestra hola]).
condicin. Esta estructura ayuda a simplificar los
algoritmos, ahorrando tiempo valioso a quien resuelve La sintaxis de cumpleveces en MMP es:
problemas con ayuda del computador. cumpleveces [serie] [lista-de-instrucciones]
ejemplo: cumpleveces [i 8][muestra :i]
En programacin existen al menos dos tipos de donde serie ([i 8]) indica el nombre del parmetro (i) y el
estructuras repetitivas, las cuales a su vez tienen nmero de veces (8) que se ejecutar la lista-de-
variantes en los diferentes lenguajes de programacin. instrucciones ([muestra :i]).
La caracterstica comn es que ambos tipos permiten
ejecutar una o varias instrucciones: Por su parte, la estructura repetitiva se implementa en
un nmero determinado de veces. Scratch con los Mandos repetir (n veces); repetir hasta
mientras se cumpla una condicin. que <una condicin sea verdadera>; por siempre; por
siempre si <una condicin es verdadera>:
Debido a que esta gua est diseada para educacin
bsica, solo se cubre aqu el primer tipo de estructura
repetitiva: Ejecutar una o varias instrucciones un nmero
determinado de veces.

La cantidad de horas disponibles para informtica es


otro de los factores que impiden desarrollar un programa
curricular con todas las variantes que puede ofrecer la
estructura repetitiva. Por lo general, la mayora de
instituciones educativas destina una o dos horas
semanales a la clase de informtica, tiempo muy
limitado para cubrir todas las variantes que ofrecen los
lenguajes de programacin. Ante esta situacin, se
requiere concentrar esfuerzos en lograr la comprensin
de conceptos fundamentales de los tres tipos bsicos de
estructura (secuencial, repetitiva y condicional). Esto
solo se consigue resolviendo una buena cantidad de
problemas cuya solucin requiera de estas estructuras
en forma combinada.

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.

Ilustracin 3-7: Modelo de estructura iterativa.

En MicroMundos, la estructura repetitiva se implementa


con los Mandos repite y cumpleveces.

La sintaxis de repite en MMP es:


repite nmero [lista-de-instrucciones]

Pg.51 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DISEO DEL ALGORITMO cuadrado cuyos lados fueran variables. Es muy probable
que en una primera aproximacin a la solucin de este
problema ellos elaboren un procedimiento similar al que
se plante en ese ejemplo, utilizando una estructura
secuencial:

para cuadrado :lado


limpia
cp
adelante :lado
derecha 90
adelante :lado
derecha 90
adelante :lado
derecha 90
adelante :lado
fin

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS Un anlisis ms elaborado de este problema permitir a


Con el uso del comando repite: los estudiantes adquirir una conciencia mayor de la
para camello2a organizacin global de un cuadrado. Determinar los
repite 85 elementos comunes presentes en todos los cuadrados
[ permite identificar qu permanece esttico (cuatro
muestra [Esto es un camello] segmentos de recta iguales y cuatro ngulos iguales) y
] qu es lo que cambia (longitud de los segmentos).
fin Aquello que cambia entre un cuadrado y otro se puede
tratar como un parmetro. Adems, este anlisis permite
Ahora con el uso del comando cumpleveces: descubrir que es posible utilizar otro tipo de estructura
para camello2b de control para elaborar el mismo dibujo:
cumpleveces [i 85]
[ TRADUCCIN DEL ALGORITMO EN MICROMUNDOS
para cuadrado :lado
muestra [Esto es un camello] limpia
] cp
fin repite 4
[
adelante :lado
TRADUCCIN DEL ALGORITMO EN SCRATCH derecha 90
]
fin

TRADUCCIN DEL ALGORITMO EN SCRATCH

Un problema similar fue resuelto en el Ejemplo 3-7 de la


estructura secuencial. En ese ejemplo se escribi el
procedimiento camello1 que mostraba tres veces en
pantalla la frase Esto es un camello. Tal como
debieron advertirlo los estudiantes, resolver este nuevo
enunciado agregando instrucciones al procedimiento
camello1 no es prctico. Por eso, en este ejemplo se
dise un algoritmo muy sencillo mediante la utilizacin
de una estructura iterativa que repite la frase 85 veces.
El nmero de veces que se repite la frase no tiene Esta situacin evidencia cmo en las actividades de
incidencia en la estructura del algoritmo, sea este 85 programacin el estudiante debe utilizar conocimientos
1385. Es muy importante que los estudiantes tengan adquiridos con anterioridad, cmo la etapa de anlisis
muy claro la diferencia entre los procedimientos favorece y alienta el rigor y la disciplina en el
camello1 y camello2a. razonamiento y cmo ese anlisis puede conducir a
nuevos descubrimientos que deriven en
En el Ejemplo 3-4 se solicit a los estudiantes dibujar un reorganizaciones del pensamiento, reestructuraciones
de esquemas, etc. (Dufoyer, 1991). Adems, algunos
Pg.52 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
psiclogos han llegado a sugerir que la programacin da "contador 0
alienta el estudio de las matemticas, facilita la da "sumatoria 0
comprensin de conceptos de esta disciplina, admite repite 100
explorar activamente campos de conocimiento, permite [
desarrollar habilidades y ofrece un lenguaje que permite da "contador :contador + 1
describir la forma personal de resolver problemas. da "sumatoria :sumatoria + :contador
muestra nombres
]
EJEMPLO 3-9 muestra frase
Calcular el valor de la sumatoria: 1 + 2 + 3 + 4 +5 + + 100. [El valor de la suma 1 + 2 + 3 + . . . + 100 es ] :sumatoria
R/. fin
ANLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente formulado. Ahora el mismo algoritmo pero con el Mando cumpleveces de
Resultados esperados: El resultado de la suma de los nmeros MicroMundos:
entre 1 y 100.
Datos disponibles: El rango de nmeros dado. para suma100b
Restricciones: Ninguna. bnombres
Procesos necesarios: guardar el nmero 0 en una variable e da "sumatoria 0
incrementarla en 1 cada vez que se ejecute el ciclo repetitivo. cumpleveces [contador 100 ]
Guardar 0 en otra variable e ir acumulando en ella su propio valor [
ms el valor de la primera variable. da "sumatoria :sumatoria + :contador + 1
muestra nombres
DISEO DEL ALGORITMO ]
muestra frase
[El valor de la suma 1 + 2 + 3 + . . . + 100 es ] :sumatoria
fin

Los procedimientos suma100a y suma100b son


equivalentes, realizan la misma tarea. La primitiva de
MicroMundos cumpleveces utilizada en el
procedimiento suma100b tiene una ventaja adicional
con respecto a repite : incorpora una variable que
aumenta en uno su valor cada vez que se ejecuta un
ciclo de la estructura iterativa. La variable, que en este
caso se llama contador inicia en 0 y termina en 99,
para un total de 100 ciclos. Por este motivo se necesita
sumarle uno a contador para que tome valores entre 1
y 100.

TRADUCCIN DEL ALGORITMO EN SCRATCH

Este algoritmo utiliza una operacin muy til en programacin:


sumatoria = sumatoria + contador
Consiste en almacenar en una variable sumatoria el valor de ella
EJEMPLO 3-10
misma (sumatoria) ms otro valor variable (contador). Es muy
La profesora ngela Cristina necesita calcular la nota definitiva para
utilizada para acumular valores.
cada uno de los 22 alumnos que asisten a su curso de geometra.
Ella realiz a todos sus estudiantes, en el primer periodo del ao
TRADUCCIN DEL ALGORITMO EN MICROMUNDOS
lectivo, dos exmenes y asign un trabajo de investigacin. Cmo
Con el Mando repite:
puedes ayudarle?
para suma100a
R/.
bnombres
Pg.53 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
ANLISIS DEL PROBLEMA
Formular el problema: Se requiere calcular un promedio de tres
notas para cada uno de los 22 alumnos.
Resultados esperados: La nota definitiva de cada uno de los 22
alumnos.
Datos disponibles: El nmero de alumnos: 22. Las notas de cada
alumno las debe digitar la profesora.
Restricciones: Cada una de las tres notas tienen el mismo
porcentaje en la nota definitiva. Tres notas por alumno y 22 alumnos.
Procesos necesarios: Para cada uno de los 22 alumnos: Leer las
tres notas, sumarlas, calcular el promedio y mostrar el promedio.

DISEO DEL ALGORITMO

El procedimiento notas realiza la misma tarea 22 veces:


leer tres notas, sumarlas, promediarlas y mostrar el
promedio. La manera ms eficiente de resolver este
problema es mediante una estructura iterativa. Ntese
que los valores de las notas que ingresa el usuario no se
validan, esto puede ocasionar que alguien digite una
nota de, por ejemplo, 960; lo que dar como resultado
un promedio fuera del rango permitido. Este aspecto se
atiende con la siguiente estructura, la condicional.

Los ejemplos anteriores ilustran la solucin de


problemas mediante la utilizacin de estructuras
repetitivas. En ellos se puede apreciar claramente la
forma como esta estructura simplifica algunas
soluciones, en comparacin con soluciones cuya
estructura es secuencial.

Por otro lado, la estructura repetitiva es muy apropiada


para explorar los conceptos de multiplicacin (suma
cuyos sumandos son iguales) y potenciacin
(multiplicacin de factores iguales).

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS EJEMPLO 3-11


para notas Elaborar un procedimiento para calcular tablas de multiplicar. El
cumpleveces [estudiante 22] usuario debe ingresar qu tabla de multiplicar desea.
[ R/.
pregunta [Ingrese la nota del primer examen ] ANLISIS DEL PROBLEMA
da "examenUno respuesta Formular el problema: Ya se encuentra claramente formulado.
pregunta [Ingrese la nota del segundo examen ] Resultados esperados: La tabla de multiplicar que el usuario
da "examenDos respuesta indique.
pregunta [Ingrese la nota del trabajo de investigacin ] Datos disponibles: El nmero de la tabla (indicada por el usuario).
da "trabajo respuesta Restricciones: Ninguna.
da "sumatoria :examenUno + :examenDos + :trabajo Procesos necesarios: pedir al usuario que ingrese la tabla de
da "promedio :sumatoria / 3 multiplicar que desea. Guardar ese valor en una variable (tabla).
muestra (frase [El promedio del estudiante ] :estudiante + 1 [ es Multiplicar cada uno de los valores entre 0 y 9 por la variable tabla.
] Mostrar el resultado de cada multiplicacin.
:promedio)
]
Fin

TRADUCCIN DEL ALGORITMO EN SCRATCH

Pg.54 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DISEO DEL ALGORITMO

Ilustracin 3-8: Ejecucin del procedimiento tablaMultiplicar.

TRADUCCIN DEL ALGORITMO EN SCRATCH

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS


para tablaMultiplicar
pregunta [Qu tabla de multiplicar desea? ]
da "tabla respuesta La estructura repetitiva es muy apropiada para reforzar
cumpleveces [multiplicando 10] los conceptos de multiplicacin y potenciacin. La suma
[ 6 + 6 + 6 + 6 + 6 + 6 + 6 puede expresarse como una
da "resultado :multiplicando * :tabla multiplicacin: 6 * 7; de forma similar, la multiplicacin 3
4
muestra (frase :tabla [ x ] :multiplicando [ = ] :resultado) * 3 * 3 * 3 puede expresarse como una potencia: 3 =81.
] El nmero 3, que se multiplica varias veces, se conoce
fin como base; 4, la cantidad de veces que se debe
multiplicar la base, se conoce como exponente, y 81, el
Ntese que, al igual que en el ejemplo 3-10, el reportero resultado, se conoce como potencia. Se lee: 81 es la
frase devuelve una lista formada por sus entradas potencia de 3 elevado a la 4.
(palabras o listas). frase puede tomar ms de dos
entradas cuando se utilizan parntesis para encerrar el Existe una leyenda muy antigua sobre el origen del
reportero y sus entradas, las cuales pueden incluir texto juego de ajedrez. La leyenda evidencia claramente la
entre corchetes: velocidad con que aumenta una progresin geomtrica y
muestra (frase [texto 1] :variable1 [ texto2] :variable2 + 1 es un buen punto de partida para empezar a resolver
:variable3 [texto3]) problemas de potenciacin con ayuda del computador.

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.

5. Elaborar un procedimiento que dibuje polgonos regulares de 5, 6,


7, 8 y 9 lados. El usuario debe indicar el nmero de lados del
polgono.

Ntese que como Scratch (hasta la versin 1.4) no incluye un


operador para calcular potencias, una forma de solucionar esta
situacin consiste en elaborar un subprocedimiento llamado
potenciacin para realizar este clculo a partir de multiplicaciones
sucesivas.

Obtuvieron los estudiantes el mismo resultado


(18446744073709551615)?
El computador tambin tard varias horas para calcular
el resultado final?
Qu funcin cumplen los comandos bnombres y
nombres en MicroMundos?
Cul es la diferencia entre crecimiento aritmtico y
crecimiento geomtrico?

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.

1. Elaborar un procedimiento que calcule y muestre las reas de 100


crculos con radio de 1 a 100 cm.

2. Elaborar un procedimiento que calcule y muestre el cuadrado de


los nmeros 1 a 90.
Pg.57 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
ESTRUCTURA CONDICIONAL

Es fundamental que los estudiantes presten atencin


especial a las estructuras que utilizan para resolver Por su parte, un bloque de instrucciones puede contener
problemas y las reconozcan para lograr mayor control una o varias instrucciones que se ejecutan una detrs
sobre la solucin planteada. De esta manera, la de otra. La estructura condicional tiene tres variantes:
programacin de computadores les ayuda a planear seleccin simple.
conscientemente las secuencias de acciones que seleccin doble.
resuelven un problema planteado y las estructuras seleccin mltiple.
involucradas en una solucin dada.
Las estructuras condicionales simple y doble evalan
La estructura condicional se utiliza para indicarle al una proposicin (condicin) que devuelve como
computador que debe evaluar una condicin y, a partir resultado nicamente dos valores posibles y
del resultado, ejecutar el bloque de instrucciones excluyentes: verdadero o falso. En cambio, la estructura
correspondiente. La forma ms comn est compuesta condicional de seleccin mltiple permite que la
por una proposicin (condicin) que se evala y dos condicin devuelva ms de un valor posible y que para
bloques de instrucciones que se ejecutan, uno cuando la cada uno de esos valores se ejecute el bloque de
condicin es verdadera (seleccin simple y doble) y otro instrucciones correspondiente. Por ejemplo, una
cuando sta es falsa (nicamente en la seleccin doble). situacin tpica de seleccin mltiple es cuando la
Algunos autores se refieren a este tipo de estructura incorporacin al ejercito, de un joven al terminar sus
como estructura de seleccin, estructura selectiva o estudios de educacin media, depende del color de una
estructura de decisin; en esta gua, todas estas balota: si saca una balota roja, su incorporacin al
denominaciones son consideradas sinnimas. ejercito es inmediata; si es azul, la incorporacin ser en
julio; y si es blanca, el estudiante no debe prestar
Para que una proposicin (frase declarativa) sea valida, servicio militar. En esta situacin hay tres valores
debe poder afirmarse que es verdadera o falsa. En posibles y cada uno de esos valores implica la ejecucin
programacin, se utilizan operadores relacionales (<, =, de una instruccin diferente (Jimnez, 2002).
>) para establecer la relacin que existe entre dos
elementos de la proposicin. Por ejemplo, La Debido al alcance de esta gua, solo se cubren aqu los
calificacin de Esteban en Historia es mayor que 6.0, es dos primeros tipos de estructura condicional: simple y
una proposicin valida. De una parte tenemos La doble.
calificacin de Esteban en Historia (A) y, de la otra, el
valor 6.0 (B); de A con respecto a B, se afirma que A
es mayor que B, por lo tanto, la relacin existente entre Seleccin simple
A y B es ser mayor que. Para que el computador La estructura condicional de seleccin simple ejecuta un
entienda esta proposicin, debe expresarse as: bloque de instrucciones cuando la proposicin
:calificacin > 6.0, donde :calificacin es la variable (condicin) es verdadera; si esta es falsa, no hace nada.
que contiene el valor de la calificacin de Esteban en
Historia.

OPERADOR DESCRIPCIN EJEMPLO


= Igual que :nguloUno = 90
:tipo = SI
< Menor que :nguloUno < 90

> Mayor que :nguloUno > 90

Adicionalmente, las proposiciones pueden ser sencillas


o compuestas. Las proposiciones compuestas se forman
con dos o ms proposiciones sencillas unidas por
operadores lgicos (y, o, no). Cuando se unen dos
proposiciones por medio del operador lgico y, Ilustracin 3-9: Modelo de estructura condicional simple.
significa que ambas proposiciones deben ser
verdaderas (conjuncin). Cuando se unen dos Para la estructura condicional de seleccin simple,
proposiciones por medio del operador lgico o, MicroMundos ofrece el comando si. La sintaxis es:
significa que por lo menos una de las dos proposiciones
debe ser verdadera (disyuncin). si cierto-o-falso
Pg.58 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
[ forma que se aprecie muy claramente dnde inicia y
lista-de-instrucciones dnde termina una lista-de-instrucciones.
]

el comando si ejecuta la lista-de-instrucciones Seleccin doble


nicamente si al evaluarse la proposicin, esta devuelve La estructura condicional de seleccin doble ejecuta un
cierto (verdadero). bloque de instrucciones (A) cuando la proposicin
(condicin) es verdadera y un bloque diferente (B)
Por su parte, la estructura condicional de seleccin cuando esta es falsa.
simple se implementa en Scratch con el bloque si
(condicin):

EJEMPLO 3-13

TRADUCCIN DEL ALGORITMO EN SCRATCH

Ilustracin 3-10: Modelo de estructura condicional doble.

Para la estructura condicional de seleccin doble,


MicroMundos ofrece el comando siotro. La sintaxis es:
siotro cierto-o-falso
[
lista-de-instrucciones-A
]
TRADUCCIN DEL ALGORITMO EN MICROMUNDOS [
para seleccinSimple lista-de-instrucciones-B
pregunta [Ingrese el ngulo] ]
da "nguloUno respuesta El comando siotro ejecuta la lista-de-instrucciones-A si
si :nguloUno = 90 al evaluarse la proposicin, esta es verdadera. Si la
[ proposicin es falsa, se ejecuta la lista-de-instrucciones-
da "reportar [ es un ngulo recto] B. Ambas listas de instrucciones se deben indicar entre
muestra frase :nguloUno :reportar corchetes [ ] y pueden estar compuestas por una o ms
] instrucciones.
fin
En Scratch, la estructura condicional de seleccin doble
En este ejemplo, cierto-o-falso (:nguloUno = 90) indica se implementa con el bloque si (condicin) si no:
la condicin que se debe evaluar la cual puede devolver
nicamente uno de dos valores posibles: verdadero o
falso. En caso de ser verdadera la proposicin, se
ejecuta la [lista-de-instrucciones] indicada entre
corchetes; esta puede contener una o varias
instrucciones. Cuando es falsa la proposicin evaluada,
no se ejecutan instrucciones.

Adems, se puede observar un recurso grfico muy EJEMPLO 3-14


importante para dar claridad a las lneas de cdigo de para seleccinDoble
los procedimientos en MicroMundos: (1) dejar lneas en pregunta [Ingrese el ngulo]
blanco para dividir bloques de cdigo; (2) utilizar da "nguloUno respuesta
sangras para indicar porciones de cdigo subordinadas siotro (:nguloUno = 90)
a un comando; (3) abrir y cerrar los corchetes que [
indican bloques de cdigo en una lnea a parte, de tal da "reportar [ es un ngulo recto]

Pg.59 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


] empieza y dnde termina la lista que conforma el
[ bloque que se debe ejecutar.
da "reportar [ NO es un ngulo recto]
]
muestra frase :nguloUno :reportar EJEMPLO 3-15
fin Un estudiante aprueba un examen cuando obtiene una calificacin
mayor o igual a seis. Elaborar un procedimiento que pida al usuario
una calificacin, aplique el criterio de aprobacin e imprima
Aprobado o Reprobado, segn sea el caso.
R/.
ANLISIS DEL PROBLEMA
Formular el problema: Es un problema sencillo de seleccin doble.
Resultados esperados: Un aviso que reporte si el estudiante
Aprob o Reprob el examen.
Datos disponibles: La calificacin ingresada por el usuario. Para
aprobar, la nota debe ser mayor o igual a 6.0.
Restricciones: Aplicar el criterio de aprobacin.
Procesos necesarios: Solicitar al usuario que ingrese la calificacin.
Evaluar si la calificacin es igual o superior a 6.0; en caso de ser
verdadero, reportar Aprobado; en caso contrario, reportar
Reprobado.

DISEO DEL ALGORITMO


En este ejemplo, cierto-o-falso (:nguloUno = 90) indica
la proposicin que se debe evaluar, la cual solo puede
devolver uno de dos valores posibles: verdadero o falso.
En caso de que la proposicin sea verdadera, se ejecuta
la [lista-de-instrucciones-A] indicada entre corchetes:
([da reportar [ es un ngulo recto]]). Cuando la
proposicin evaluada es falsa, se ejecuta la [lista-de-
instrucciones-B] ([da reportar [ NO es un ngulo
recto]]).

Ntese que en MicroMundos la instruccin


muestra frase :nguloUno :reportar
se encuentra fuera de los corchetes; por tanto, se
ejecutar sin importar si la proposicin es verdadera o
falsa. Adems, ejemplifica muy bien el concepto de
variable ya que el valor del ngulo se guarda en la
variable denominada nguloUno y el aviso que se debe
mostrar acerca de si el ngulo es o no recto, tambin se
guarda en una variable (reportar).

Tanto en la estructura de seleccin simple como en la


doble se debe tener en cuenta lo siguiente:
La proposicin debe ser una frase declarativa, la cual
se pueda afirmar o negar.
En MicroMundos, se requiere que en el encabezado TRADUCCIN DEL ALGORITMO EN
vayan las palabras reservadas si y siotro MICROMUNDOS
respectivamente. para aprueba
En MicroMundos, cuando la proposicin es sencilla local "calificacin
(sin operadores lgicos) no es necesario que vaya pregunta [Ingrese la Calificacin]
entre parntesis; si es compuesta (dos o ms da "calificacin respuesta
proposiciones unidas con operadores lgicos como: siotro o :calificacin > 6.0 :calificacin = 6.0
o, y, no) tiene que encerrarse con parntesis. Como [
en el primer caso no sobran los parntesis (no anuncia [Aprobado]
genera error), es recomendable utilizarlos siempre. ]
Por ejemplo: (nguloUno = 90) es una proposicin [
sencilla equivalente a nguloUno = 90, pero es mejor anuncia [Reprobado]
utilizar la primera forma. ]
En MicroMundos, las listas de instrucciones deben fin
estar agrupadas con corchetes, estos indican dnde
Pg.60 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
proposiciones simples y compuestas (calificables como
TRADUCCIN DEL ALGORITMO EN SCRATCH falsas o verdaderas).

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:

a. ________________ prohibido fumar en el saln de clase.


b. ________________ el oro es un elemento de la tabla peridica.

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.

Proposiciones j. ________________ Per y Chile son pases Iberoamericanos.


Segn Piaget (1993), las operaciones verbales o k. ________________ el cuaderno verde de geometra.
proposicionales surgen hacia los once o doce aos con l. ________________ est permitido subir las escaleras.
la capacidad para razonar por hiptesis. Esta capacidad m. _______________ cuatro y diez son nmeros menores que veinte.
hipottica-deductiva es la que hace posible que los n. ________________ si alguien es chileno, entonces es espaol.
nios entre los once y los catorce aos piensen en
o. ________________ hace mucho fro
trminos de proposiciones y no nicamente sobre
objetos; acepten cualquier tipo de dato como puramente p. ________________ en un lugar de la Mancha de cuyo nombre
hipottico y razonen correctamente a partir de l; q. ________________ ojal no me llame.
deduzcan las implicaciones de enunciados posibles y r. ________________ apague la luz cuando salga.
as distingan entre lo posible y lo necesario; formulen
todas las hiptesis posibles relativas a los factores que
entran en juego en una actividad y organicen la Un curso de algoritmos y programacin puede contribuir
significativamente a desarrollar la capacidad hipottica-
informacin en funcin de estos factores.
deductiva en la que el pensamiento no proceda de lo
De acuerdo con Piaget y sus seguidores, es en este real a lo terico, sino que parta de la teora y establezca
estado del desarrollo cognitivo en el que se constituye o verifique relaciones reales entre cosas.
Concretamente, dos tipos de actividades pueden ayudar
un conjunto de estructuras proposicionales basadas en
a lograr este propsito: utilizar estructuras condicionales
lo que en teora de conjuntos se llama un "conjunto de
todos los subconjuntos". Esta estructura est las cuales estn basadas en la operacin de implicacin
conformada por operaciones equivalentes a ciertas (si...., entonces...) y formular enunciados declarativos
estructuras del pensamiento verbal, tales como compuestos (proposiciones simples unidas por los
implicacin (p -> q: si..., entonces...; si la hiptesis p es conectores lgicos y, ) que el computador pueda
evaluar como verdaderos o falsos. Adicionalmente,
verdadera, entonces la consecuencia q se sigue
estos enunciados promueven el razonamiento por
necesariamente); disyuncin (p V q; p, q, los dos);
unin (p ^ q); incompatibilidad (p | q). atribucin o relacin (Felipe es ms joven que ngela)
en contraposicin al razonamiento por predicados
Una forma efectiva para iniciar a los estudiantes ms (Felipe es joven).
pequeos en el tema de las proposiciones puede ser la
Precisamente, la estructura condicional utilizada en
propuesta por Marqunez & Sanz (1988): empezar con
cadenas de palabras (sin sentido), avanzar a programacin (si... entonces...) ofrece al estudiante
expresiones (con sentido incompleto), continuar con oportunidades para desarrollar habilidades con
oraciones (con sentido completo) y finalizar con proposiciones y relaciones de orden. Sin embargo hay
que tener en cuenta que la construccin si P entonces
Pg.61 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
S, que utilizan los lenguajes de programacin doce, respectivamente.
MicroMundos y Scratch, es procedimental y no
declarativa ya que hace nfasis en la accin y no en el Hay que tener cuidado con el uso del lenguaje cotidiano
concepto semntico de verdad (Iranzo, 2005). Mientras en el que dos relaciones pueden ser equivalentes como
que en lgica se indica que entre P y S hay una relacin igual o superior a y mayor o igual que. En cambio,
de dependencia en la que al suceder P, necesariamente entre 0 y 10, inclusive y entre 0 y 10 no son
se causa S; en programacin se indica que cuando P es equivalentes; en la primera relacin los valores 0 y 10
verdadero, necesariamente se ejecuta un conjunto de hacen que la proposicin sea verdadera, en la segunda
instrucciones A y en caso de ser falso no se ejecuta relacin, no.
ninguna instruccin (seleccin simple) o necesariamente
se ejecuta un conjunto de instrucciones B (seleccin RELACIN (MicroMundos) y Scratch
doble). A es igual a B (:a = :b)

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))

De las proposiciones primera, tercera, cuarta y quinta


podemos decir que son verdaderas y de la segunda Un aspecto fundamental de la estructura condicional es
podemos afirmar que es falsa. Sin embargo, para poder la reflexin sobre el papel del lenguaje natural en la
afirmar que la cuarta proposicin es verdadera, hay que formulacin y uso de relaciones de orden y de
disponer del conocimiento suficiente sobre este colegio proposiciones. Diversos autores que se han ocupado de
ubicado en el barrio Andrs Sann en la ciudad de Cali. la lgica y el lenguaje han establecido tres categoras
Esto nos conduce a hacer otra consideracin: establecer generales para el uso del lenguaje: informativa
explcitamente si una proposicin es verdadera o falsa (suministra informacin definiendo, declarando,
puede resultar en algunos casos muy difcil o imposible. aclarando, describiendo), expresiva (expresa
Por otra parte, la quinta proposicin fue verdadera sentimientos, emociones, deseos) y directiva (busca
durante un lapso de tiempo (1998-2002). inducir a alguien a que haga u omita algo). Son ejemplos
de cada una de estas categoras lo siguiente:
En relacin a las proposiciones sexta y sptima, su valor Uso informativo:
de verdad depende del momento en el cual se haga la La lnea recta es la ms corta entre dos punto
afirmacin. Esto nos lleva a otra forma de clasificar los de un plano.
enunciados declarativos: de accin cuando el sujeto no Colombia es un pas andino
est determinado (6 y 7); de atribucin cuando el sujeto Los noruegos son altos, delgados y de ojos
es determinado y se le atribuye una propiedad (1, 2 y 5); azules.
y de relacin cuando hay dos o ms sujetos (3 y 4). Uso expresivo:
Ojal haga buen da maana!
Con respecto a las relaciones de orden podemos decir Qu horror! no podra soportar algo tan
que consisten en un par de elementos presentes en una doloroso.
proposicin relacionados por medio de un atributo Uso directivo:
gradado. Por ejemplo, el elemento A es mayor o igual Prohibido fumar
que el elemento B o seis es menor que doce. Cierre la puerta
Proposiciones en las cuales mayor o igual que y Se solicita comportarse bien
menor que son las relaciones de orden que se
establecen entre los elementos A y B, y entre seis y
Pg.62 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Para la programacin y en especial para la estructura Tambin hay que tener cuidado cuando se quiere
condicional, resulta imprescindible el uso informativo del comparar un texto conformado por dos o ms palabras,
lenguaje. Este se encarga de comunicar informacin este debe encerrarse entre barras (|palabra1
mediante la formulacin y afirmacin o negacin de palabra2|).
proposiciones. El discurso informativo se utiliza para
describir el mundo y para razonar sobre l, sin importar
si las proposiciones son importantes o no, si son Otro aspecto a tener en cuenta con las proposiciones y
generales o especficas, o si son verdaderas o falsas que se debe trabajar con los estudiantes es la riqueza
(Copi & Cohen, 2000). del lenguaje natural (Marqunez & Sanz, 1998). Por
ejemplo, el conector lgico "y" (^) se presenta de
Los estudiantes deben estar en capacidad de distinguir diversas formas en el lenguaje comn utilizado para
el discurso informativo en un texto o en el planteamiento formular problemas y los estudiantes deben aprender a
verbal de un problema. Pero en ciertos textos o identificarlo:
planteamientos resulta difcil identificar de manera
inmediata la existencia de proposiciones que se puedan Cali Y Medelln son ciudades ecuatorianas.
contestar con un verdadero o con un falso (Solano, Bogot, Quito, Lima, Montevideo son ciudades
1991). En lenguajes de programacin como Logo es capitales (Bogot es ciudad capital Y Quito es
muy importante que las proposiciones se puedan ciudad capital Y Lima es ciudad capital Y
expresar directamente, en forma de notacin Montevideo es ciudad capital)
matemtica o mediante texto. Para ello, es fundamental Luisa estudia, Cristina tambin (Luisa estudia Y
que los estudiantes identifiquen los componentes de las Cristina estudia)
proposiciones (enunciados y relacin entre ellos) y En Bogot hace fro, IGUALMENTE en Tunja (En
verifiquen que sean validos. Luego determinen en cada Bogot hace fro Y en Tunja hace fro)
proposicin el sujeto (objetos o individuos acerca de los En Bogot hace fro, DEL MISMO MODO en Tunja
cuales se afirma algo) y el predicado (propiedad que (En Bogot hace fro Y en Tunja hace fro)
posee el sujeto) y en seguida identifiquen con un En Bogot hace fro, MIENTRAS QUE en Cartagena
nombre (identificador) al que puede variar (sujeto o calor (En Bogot hace fro Y en Cartagena hace
predicado). calor)
ngela tiene un automvil, PERO no sabe manejarlo
Por ejemplo, en la proposicin nmero 1 Cali es la an (ngela tiene automvil Y ngela no sabe
capital del Valle del Cauca, el sujeto es Cali, el manejar automvil)
predicado es capital del Valle del Cauca y la relacin
Luisa no viene, SIN EMBARGO escribe correos
es de igualdad es. Se debe asignar un nombre al
electrnicos todos los das (Luisa no viene Y Luisa
predicado (capitalValle) para guardar el valor Cali. En
escribe correos electrnicos todos los das)
el caso de la proposicin Seis es menor que doce, el
Esteban no estudia, NO OBSTANTE quiere hacerlo
sujeto es Seis, el predicado es doce y la relacin es
(Esteban no estudia Y Esteban quiere estudiar)
menor que.
A PESAR DEl buen tiempo, no vamos a la piscina
Por otra parte, de las siete proposiciones planteadas, (Hace buen tiempo Y no vamos a piscina)
solo la nmero tres se puede expresar en notacin PESE A QUE lo sabe, no lo puede decir (l lo sabe
matemtica; la otras proposiciones hay que expresarlas Y l no lo puede decir)
como texto, con excepcin de la nmero 2 que no se En Cali no hay energa elctrica, TAMPOCO en
puede expresar directamente: Bogot (En Cali no hay energa elctrica Y en
1. (:capitalValle = "Cali) Bogot no hay energa elctrica)
2. El cuatro es un nmero impar no se puede
expresar directamente. Hay que elaborar un Lo mismo ocurre con la determinacin de si una
procedimiento para determinar si un nmero es par proposicin est expresada en afirmativo o en negativo:
o impar. Colombia NO es un pas europeo.
3. (6 < 12) El Nilo es un ro Incontrolable (El Nilo es un ro que
4. (:rectorINSA = "Basiliano) NO se puede controlar)
5. (:presidenteColombia = "|lvaro Uribe|) La vida humana en Marte es Imposible (NO es
6. (:verano = true) posible la vida humana en Marte)
7. (:haceCalor = false) Luisa es una diseadora DESconocida (Luisa NO es
conocida como diseadora)
La aparicin de cometas es un fenmeno
TIP DIScontinuo (NO es continua la aparicin de
Hay que tener cuidado cuando se copia de un cometas)
procesador de texto una porcin de texto que contenga Los animales son Amorales (Los animales NO
comillas () y se pega en el rea de procedimientos de tienen moral)
MicroMundos [4]. Las comillas () que generan estos Los castigos son ANTIpedaggicos (NO son
programas no son equivalentes a las comillas de pedaggicos los castigos)
MicroMundos [4] (").
Pg.63 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
NUNCA me gan la lotera (NO me he ganado la g. El valor de una calificacin no puede exceder a 10
lotera) h. La capital de Colombia es Bogot
Ricardo JAMS miente (Ricardo NO ha mendido) i. 4 y 8 son nmeros menores que 10
NINGN hombre colombiano usa falda (Los
hombres colombianos NO usan falda)*
EJEMPLO
* Es una afirmacin falsa ya que los hombres colombianos de la etnia Supongamos que Mnica quiere ir a comer helado y su padre le
guambiana si usan falda. propone: Como hoy entregan tus calificaciones del segundo
perodo, si haz obtenido en matemticas ms de 8.0, vamos a comer
Un ltimo aspecto a tener en cuenta son los helado el prximo sbado, de lo contrario no vamos. La situacin
cuantificadores que se utilizan en algunas comer helado est sujeta a la condicin obtener ms de 8.0 en
proposiciones: todos, algunos, ningn, ninguno, slo, matemticas para el segundo perodo.
hay, etc. Incluso, proposiciones que no contienen R/.
cuantificadores se pueden transformar en proposiciones ANLISIS DEL PROBLEMA
cuantificadas: Cada planeta gira sobre su eje se puede Formular el problema: Es un problema sencillo de seleccin doble.
escribir como todos los planetas giran sobre su eje Resultados esperados: Un aviso que indique si el estudiante puede
(Melo, 2001). ir a comer helado el prximo sbado o no.
Datos disponibles: La calificacin de matemticas ingresada por el
usuario. La regla dice: para ir a comer helado, la nota debe ser
ACTIVIDADES mayor que 8.0.
1. Identificar cul(es) de las siguientes proposiciones Restricciones: Aplicar la regla dada.
son validas (calificables), explicar por qu son validas o Procesos necesarios: Solicitar al usuario que ingrese la calificacin
por qu no lo son: de matemticas. Evaluar si la calificacin es igual o inferior a 8.0; en
a. El ao 1200 aC. es ms reciente que el ao 970 de caso de ser verdadero, reportar NO come helado; en caso
la era Cristiana contrario, reportar SI come helado.
b. El jugo de lulo tiene muy buen sabor
c. La nota mxima en un examen es 10 DISEO DEL ALGORITMO
d. Esteban es alto
e. Ojal que no llueva maana
f. Podra decirme, por favor, qu hora es?
g. Cuatro es mayor que 2

2. Identificar para cul(es) de las siguientes


proposiciones es muy difcil o imposible establecer con
toda certeza si son ciertas o falsas.
a. Edith Piaf es la alcaldesa de Paris.
b. Juan Roa Sierra fue el asesino de Jorge Elicer
Gaitn el 9 de abril de 1948.
c. Marco Fidel Surez fue presidente de Colombia.
d. Bogot es la capital de Bolivia.

3. Identificar las partes que componen las siguientes


proposiciones (sujeto, predicado y la relacin entre
ambas). TRADUCCIN DEL ALGORITMO EN MICROMUNDOS
a. 7.0 es menor o igual que 20.5 para helado
b. El nguloUno es mayor que 90 local "matemticas
c. La calificacin de Juan Felipe en Historia es menor pregunta [Ingrese la calificacin de Matemticas]
que 5.0 da "matemticas respuesta
d. Cali y Medelln son ciudades colombianas siotro (o :matemticas < 8.0 :matemticas = 8.0)
e. 4 y 8 son nmeros menores que 10 [
f. La capital de Colombia es Bogot anuncia [NO come helado]
]
4. Expresar las siguientes proposiciones en un formato [
que pueda entender un computador. anuncia [SI come helado]
a. 7.0 es menor o igual que 20.5 ]
b. El nguloUno es mayor que 90 fin
c. El jugo de lulo tiene muy buen sabor
d. La calificacin de Juan Felipe en Historia es menor TRADUCCIN DEL ALGORITMO EN SCRATCH
que 5.0
e. Esteban es alto
f. El valor de una calificacin no puede ser mayor que
10
Pg.64 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
DISEO DEL ALGORITMO

En este ejemplo, la proposicin se puede expresar de


dos formas equivalentes:
(matemticas > 8.0)
(matemticas <= 8.0)
La primera forma es ms fcil de manipular por los
estudiantes, ya que si la proposicin es verdadera
entonces Si come helado y si la proposicin es falsa
entonces NO come helado; adems, utiliza el operador
relacional mayor que (>).
La segunda forma (utilizada en el algoritmo) es ms
compleja. En ella, si la proposicin es verdadera
entonces NO come helado y si la proposicin es falsa
entonces SI come helado. En esta forma se presenta
un contrasentido que puede desorientar a los
estudiantes. Adems, hay que usar el operador
relacional menor o igual que, el cual se traduce en
MicroMundos [4] as:
(o :matemticas < 8.0 :matemticas = 8.0)
la relacin de igualdad no se menciona explcitamente TRADUCCIN DEL ALGORITMO EN MICROMUNDOS
en el enunciado del problema. para notasDos
cumpleveces [estudiante 22]
EJEMPLO [
La profesora ngela Cristina necesita calcular la nota definitiva para pregunta [Ingrese la nota del primer examen ]
cada uno de los 22 alumnos que asisten a su curso de geometra, da "examenUno respuesta
con el fin de saber quines aprobaron y quines reprobaron (para pregunta [Ingrese la nota del segundo examen ]
aprobar hay que obtener una nota igual o superior a 6.5). Ella realiz da "examenDos respuesta
a todos sus estudiantes, en el primer periodo del ao lectivo, dos pregunta [Ingrese la nota del trabajo de investigacin ]
exmenes y asign un trabajo de investigacin. Cmo puedes da "trabajo respuesta
ayudarle? siotro (o :examenUno < 1 :examenUno > 10 :examenDos < 1
R/. :examenDos > 10 :trabajo < 1 :trabajo > 10)
ANLISIS DEL PROBLEMA [
Formular el problema: Se requiere calcular un promedio de tres anuncia [Datos no validos ]
notas para cada uno de los 22 alumnos. ]
Resultados esperados: La nota definitiva de cada uno de los 22 [
alumnos y un aviso que indique si aprob o no. da "sumatoria :examenUno + :examenDos + :trabajo
Datos disponibles: El nmero de alumnos: 22. Las notas de cada da "promedio :sumatoria / 3
alumno las debe digitar la profesora. siotro (:promedio < 6.5)
Restricciones: Cada una de las tres notas tienen el mismo [
porcentaje en la nota definitiva. Tres notas por alumno y 22 alumnos. da "aprobar [ -> NO aprob el primer periodo de
Todas las notas deben ser mayores o iguales a 1 y menores o Geometra ]
iguales a 10. Para aprobar hay que tener un promedio igual o ]
superior a 6.5. [
Procesos necesarios: Para cada uno de los 22 alumnos: Leer las da "aprobar [ -> SI aprob el primer periodo de
tres notas, verificar que estn en el rango permitido (entre 1 y 10), Geometra ]
sumarlas, calcular el promedio, verificar si aprob o no. Mostrar el ]
promedio y un aviso que informe si aprob o no.
Pg.65 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
muestra (frase [El promedio del estudiante ] :estudiante + 1 DISEO DEL ALGORITMO
[ es ]
:promedio :aprobar)
]
]
fin

TRADUCCIN DEL ALGORITMO EN SCRATCH

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS


para triangulo
local "ANGULO1
local "ANGULO2
local "ANGULO3
local "EsRectangulo
pregunta [Ingrese el 1er ngulo del Tringulo]
da "ANGULO1 respuesta
pregunta [Ingrese el 2do ngulo del Tringulo]
da "ANGULO2 respuesta

da "ANGULO3 180 - :ANGULO1 - :ANGULO2


Ntese que en este ejemplo se evala si la proposicin da "EsRectangulo "NO ;inicializa la variable TIPO en NO
compuesta es verdadera entonces los datos no son
validos. Como se utiliza el operador lgico o, basta con ;si uno de los ngulos es igual a 90 cambia el valor de TIPO a
que una de las proposiciones sea verdadera para que SI
toda la proposicin compuesta tambin lo sea. si :ANGULO1 = 90 [da "EsRectangulo "SI]
Adicionalmente, en la traduccin a Scratch se utilizan si :ANGULO2 = 90 [da "EsRectangulo "SI]
estructuras condicionales anidadas (ver la sustentacin si :ANGULO3 = 90 [da "EsRectangulo "SI]
educativa del uso de estructuras anidadas al final de
esta seccin). ;dependiendo del valor de EsRectangulo, muestra que tipo de
tringulo es
siotro :EsRectangulo = "SI
EJEMPLO [
Escribir un procedimiento para leer los valores de dos de los tres anuncia [SI es un Tringulo Rectngulo]
ngulos internos de un tringulo y mostrar en pantalla Es un ]
Tringulo Rectngulo si efectivamente es un tringulo de este tipo o, [
en caso contrario, mostrar No es un Tringulo Rectngulo. anuncia [NO es un Tringulo Rectngulo]
]
fin

Pg.66 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DISEO DEL ALGORITMO
TRADUCCIN DEL ALGORITMO EN SCRATCH

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS


para triangulo
local "ANGULO1
local "ANGULO2
local "ANGULO3
pregunta [Ingrese el 1er ngulo del Tringulo]
da "ANGULO1 respuesta
pregunta [Ingrese el 2do ngulo del Tringulo]
En este ejemplo se evala una a una las proposiciones da "ANGULO2 respuesta
para determinar s uno de los ngulos es igual a 90. da "ANGULO3 180 - :ANGULO1 - :ANGULO2
Ntese que la variable esRectngulo se inicializa con el siotro (o :ANGULO1 = 90 :ANGULO2 = 90 :ANGULO3 = 90)
valor NO, en caso de que cualquiera de los ngulos [
sea igual a 90, entonces la variable esRectangulo se anuncia [SI es un Tringulo Rectngulo]
cambia a SI. Finalmente se evala el valor resultante ]
de esta variable para mostrar el mensaje si o no es [
un tringulo rectngulo. anuncia [NO es un Tringulo Rectngulo]
]
fin
EJEMPLO TRADUCCIN DEL ALGORITMO EN SCRATCH
Escribir un procedimiento para leer los valores de dos de los tres
ngulos internos de un tringulo y mostrar en pantalla Es un
Tringulo Rectngulo si efectivamente es un tringulo de este tipo o,
en caso contrario, mostrar No es un Tringulo Rectngulo. Utilizar
operadores lgicos en la solucin.

Pg.67 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Esta es una solucin ms simple, corta y elegante que la haber realizado aportes por ms de 20 aos".
hallada en el ejemplo anterior. La utilizacin del
operador lgico o permite evaluar en una sola Para resolver este problema se puede plantear la
instruccin si alguno de los ngulos vale 90. Un siguiente inclusin de clases: edad(A) < gnero(B) <
problema inesperado a plantear a los estudiantes aportes(C).
consiste en preguntarles qu pasa si alguien digita
valores para los ngulos que sumados den ms de 180?
cmo controlar que esto no suceda?

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.

Estructuras condicionales anidadas


Hay situaciones que requieren el uso de estructuras
condicionales anidadas. En estas, el resultado de la
primera proposicin implica evaluar a continuacin una
segunda proposicin y esta a su vez requiere que se
evale una tercera proposicin, y as sucesivamente,
hasta agotar todas las condiciones.

Plantear estructuras algortmicas anidables (iterativa y


condicional) requiere procesos de pensamiento
asociados con el sistema operatorio de clasificacin o
inclusin. Este sistema se empieza a adquirir cuando los
nios trabajan con inclusiones de clases tales como:
gatos(A) < felinos(B) < animales(C) < seres vivos(D).
Pero el sistema de clasificacin est basado en cinco
operaciones: Composicin (A+A'=B, B+B'=C, B-A'=A, C-
B'=B); Inversin (-A-A'=-B); Identidad (A-A=0);
Tautologa (A+A=A, donde A+B=B); Asociatividad
(A+(A'+B')=(A+A')+B').

Para poder determinar rpida y efectivamente cundo la


solucin de un problema requiere estructuras anidadas,
se deben manejar sistemas de clasificacin o inclusin
de clases.

El siguiente caso ilustra muy bien este punto: "Se


requiere elaborar un procedimiento que permita
determinar para un grupo de 10 personas si tienen
derecho o no a jubilarse a partir de los datos gnero, .
edad y aos de aportes; y las siguientes condiciones: si
es hombre debe tener ms de 65 aos de edad y ms
de 60 aos si es mujer, pero en todo caso se deben

Pg.68 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


UNIDAD 4: DEPURACIN

CUANDO SE PRESENTAN PROBLEMAS

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.

Pg.69 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Resultados esperados: Un aviso que reporte si el estudiante revisar cuidadosamente. Uno de los procedimientos ms
Aprob o Reprob el examen. utilizados es el que se conoce como prueba de
Datos disponibles: La calificacin ingresada por el usuario. Para escritorio. Esta consiste seguir paso a paso cada una de
aprobar, la nota debe ser mayor o igual a 6.0. las instrucciones del procedimiento, asignando valores
Restricciones: Aplicar el criterio de aprobacin. iniciales a variables y constantes y, realizando las
Procesos necesarios: Solicitar al usuario que ingrese la calificacin. operaciones indicadas en cada instruccin hasta llegar
Evaluar si la calificacin es igual o superior a 6.0; en caso de ser al final del procedimiento. Luego, comparar los
verdadero, reportar Aprobado; en caso contrario, reportar resultados que produce la prueba de escritorio con los
Reprobado. resultados que arroja el procedimiento; ambos conjuntos
de resultados deben ser iguales. Esta metodologa es
DISEO DEL ALGORITMO viable cuando los procedimientos son sencillos, con
pocas instrucciones.

En caso de presentarse una falla de lgica, el estudiante


debe:
Examinar el diagrama de flujo para detectar
instrucciones que faltan, sobran o que se encuentran
en la posicin incorrecta
Asegurarse que las instrucciones representan
rigurosamente el diagrama de flujo
Utilizar las opciones de MicroMundos y Scratch para
ver la ejecucin del programa en forma lenta.

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.

TRADUCCIN DEL ALGORITMO


para aprueba2
TRADUCCIN DEL ALGORITMO local "calificacin
para aprueba1 pregunta [Ingrese la Calificacin]
local "calificacin da "calificacin respuesta
preguntas [Ingrese la Calificacin] siotro (o :calificacin < 6.0 :calificacin = 6.0)
da "calificacin respuesta [
siotro (o :calificacin > 6.0 :calificacin = 6.0) anuncia [Aprobado]
[ ]
anuncia [Aprobado] [
] anuncia [Reprobado]
[ ]
anuncia [Reprobado] fin
]
fin
Obsrvese que el procedimiento aprueba2 se ejecuta
Obsrvese que MicroMundos arroja un mensaje de error correctamente; no aparece ningn error de sintaxis.
cuando se ejecuta el procedimiento: No s cmo hacer Pero no funciona bien desde el punto de vista lgico. Si
preguntas en aprueba1. Este error se produce porque lo probamos con el valor 5, el procedimiento nos reporta
el comando pregunta est mal escrito, en su lugar se que el estudiante aprob la materia, cuando esto no es
escribi preguntas. El problema se soluciona al escribir correcto. Si lo probamos con 7, nos reporta que el
correctamente el comando indicado. estudiante reprob, cuando tampoco es exacto. En
cambio, cuando lo probamos con 6 nos dice que el
estudiante aprob y este dato si es correcto. El
problema radica en que en el comando siotro se digit
Fallas de lgica
errneamente < en lugar de >, tal como aparece en el
Este tipo de falla se presenta tanto en MicroMundos
diagrama de flujo.
como en Scratch. Para identificar fallas de tipo lgico en
un procedimiento que no se interrumpe en ningn
Adicionalmente, en este ejemplo se puede observar la
momento y que arroja unos resultados, estos se deben
sintaxis en MicroMundos de los operadores lgicos (y, o,
Pg.70 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
no), mediante los cuales se unen proposiciones sencillas
para construir proposiciones compuestas. Estos deben ir
en seguida del parntesis que abre la proposicin:
siotro (o :calificacin > 6.0 :calificacin = 6.0)
La proposicin se lee as:
calificacin mayor que 6.0 o calificacin igual a 6.0.

En la deteccin y eliminacin de fallas en un


procedimiento, cuenta mucho la cantidad de fallas
similares que el estudiante ha tenido oportunidad de
resolver. La experiencia es un factor crucial; incluso,
las fallas que se recuerdan con mayor precisin son
aquellas cuya solucin present mayor dificultad
(Jonassen, 2003). Con la depuracin, el estudiante
realiza un conjunto de actividades que contribuyen a
aprender de ese problema, a reinterpretarlo, a formular
otros nuevos y a incrementar la comprensin de la
solucin hallada. Esta incita a los estudiantes a
preguntarse: puedo obtener el mismo resultado de
una forma diferente? y puedo utilizar los mtodos
empleados para solucionar este problema en la solucin
de otros que se me han presentado antes?

Pg.71 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 1

RESUMEN DE COMANDOS DE MICROMUNDOS Y SCRATCH


A continuacin se ofrece un resumen de las primitivas de MicroMundos y Scratch utilizadas en esta Gua.

DESCRIPCIN MICROMUNDOS SCRATCH


ADELANTE Adelante (ad) nmero
Mueve la tortuga hacia adelante. Los valores Ver at, de, iz.
mnimos y mximos para adelante son -9999 y adelante control1
9999, respectivamente. repite 4 [ad 50 de 90]
ALTO Alto
Detiene el procedimiento que est activo. Alto Ver detntodo, detnme y reporta.
solo puede usarse dentro de un procedimiento. para contar :nmero
si :nmero > 100 [alto]
muestra :nmero
contar :nmero + 5
fin
ANUNCIA anuncia palabra-o-lista
Muestra el mensaje en una caja de alerta. anuncia "bienvenido
Haciendo clic en Aceptar se cierra la caja. Si anuncia [Hola]
mueve la caja de alerta a una nueva posicin anuncia texto1
mientras est en la pantalla, esta ser la posicin Ver pregunta y respuesta.
en que la prxima caja de alerta aparecer en el
proyecto.

ATRS atrs (at) nmero


Mueve la tortuga hacia atrs. Los valores Ver ad, de, iz
mnimos y mximos para atrs son -9999 y 9999, atrs 45
respectivamente. at control1
repite 4 [at 50 iz 90]
AZAR azar nmero
Devuelve un nmero entero positivo (incluyendo azar control1
el 0) menor que nmero. El nmero mximo es azar 2
9999. Repite 26 [ad azar 30 de azar 60]
BNOMBRES bnombres
Borra de la memoria todas las variables globales. Ver nombres.
MicroMundos no borra las variables cuando se bnombres
No aplica
abre o se crea un nuevo proyecto. Por lo tanto se
recomienda usar bnombres cada vez que se
inicie un nuevo proyecto.
CON PLUMA Cp
Pone la pluma a la tortuga en uso. La tortuga Ver sp.
dejar una marca cuando se mueva, pero no repite 6 [sp ad 10 cp ad 10]
cuando sea arrastrada.
CUMPLEVECES cumpleveces serie lista-de-
Activa la lista de instruccin para cada uno de los instruccin
valores especificados en la serie. La primera Ver cumplelista.
entrada es una lista con un nombre de variable cumpleveces [i 8][muestra :i] No aplica
temporal y un nmero mximo. La segunda cumpleveces [i 360] [fcolor :i / 10 ad
entrada es una lista de instrucciones que usa la 40 at 40 de 2]
variable incluida en la primera lista.
DA (ASIGNA) da vpalabra palabra-o-lista
Crea una variable y le asigna el valor palabra-o- Ver nombra, cosa, bnombre,
lista. Estas variables mantienen su valor siempre nombres y creavarproyecto.
y cuando no se las borre o se cierre da "equipo [t1 t2 t3]
MicroMundos. da "texto texto1

Pg.72 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DESCRIPCIN MICROMUNDOS SCRATCH
DERECHA de nmero; derecha nmero
Gira la tortuga hacia la derecha. El mximo valor Ver ad, at,iz.
para derecha es 9999. derecha 45
repite 5 [de -90 ad 15 de 90 ad 15]
ESCRIBE escribe (es) palabra-o-lista
Escribe la palabra o la lista en la caja de texto en Ver inserta. No aplica
uso. El texto va seguido de un retorno de lnea y escribe "holaescribe [Bienvenidos
de una secuencia de avance de lnea. de nuevo]
escribe texto1
ESPERA espera nmero
Origina una pausa en la ejecucin de un espera 2
programa o de una instruccin. El tiempo se mide espera control1
en dcimas de segundo.
ESPERAHASTA esperahasta cierto-o-falso-lista-de-
Antes de activar otra instruccin, espera hasta instrucciones
que cierto-o-falso-lista-de-instrucciones devuelva esperahasta [tocando? "t1 "t2]
cierto. La entrada debe ser una lista de t3, mt
instrucciones que devuelva cierto o falso cuando
se active.
FRASE frase (fr) palabra-o-lista1 palabra-o-
Devuelve una lista formada por sus entradas lista2
(palabras o listas). Frase puede tomar ms de (frase palabra-o-lista1 palabra-o-
dos entradas cuando frase y sus entradas se lista2 palabra-o-lista3...)
encierran entre parntesis. Frase no mostrar los Ver lista.
corchetes de las listas individuales dadas como frase "uno [dos]
entrada. (frase "una "gran [ciudad])
frase texto1 texto2
RUMBO frumbo nmero
Fija el rumbo de la tortuga (en grados) en la Ver rumbo.
direccin especificada. Los grados corresponden frumbo 0
a los de la brjula: 0 apunta al norte, 90 al este, frumbo control1
180 al sur y 270 al oeste. Derecha e izquierda
hacen girar a la tortuga un determinado nmero
de grados partiendo de la posicin en que se
encuentra en ese momento. En cambio, frumbo
hace que la tortuga apunte en una direccin
especfica, independientemente de su orientacin
anterior.
IZQUIERDA izquierda (iz) nmero
Gira la tortuga a la izquierda. El mximo valor Ver ad, at, de.
para izquierda es 9999. iz 45
ad 15
repite 4 [iz -90 ad 15 iz 90 ad 15]
LIMPIA PANTALLA Limpia
Limpia los grficos sin cambiar la posicin de la Ver bg y congelaf.
tortuga. limpia
LOCAL (VARIABLES) local palabra-o-lista
Crea una variable local en el procedimiento Ver asigna, da y nombra. No aplica
dentro del cual se utiliz el mando local. Local local "lista
slo puede ser usado dentro de un procedimiento. da "lista pginas
MUESTRA muestra palabra-o-lista
Escribe una palabra o una lista en el Centro de muestra "hola
Mando. Los corchetes exteriores de la lista no muestra [hola todos]
aparecen. muestra :texto1

Pg.73 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DESCRIPCIN MICROMUNDOS SCRATCH
NO no cierto-o-falso
Devuelve el valor lgico inverso de su entrada. Ver y y o. No aplica
no 1 = control1
NOMBRES Nombres
Devuelve los nombres de todas las variables con Ver bnombres
sus valores. muestra nombres
O o cierto-o-falso1 cierto-o-falso2
Devuelve cierto si alguna de sus entradas (o cierto-o-falso1 cierto-o-falso2
devuelve cierto. Si se usan ms de dos entradas, cierto-o-falso3...)
o y sus entradas deben estar entre parntesis. Ver y y no.
o 1 = control1 control1 < 4
(o 1 = control1 control1 < 4 2 >
control2)
PORSIEMPRE porsiempre palabra-o-lista-a-activar
Activa la entrada en forma repetitiva como un Ver lanza, y Tiempo y
proceso paralelo independiente. Use detn, Sincronizacin en los Temas de
Detener Todo, o Ctrl+Inter para detener el Ayuda de MicroMundos.
proceso. porsiempre [ad 2]
porsiempre "cuar
porsiempre texto1
PREGUNTA pregunta palabra-o-lista
Abre una caja de dilogo que muestra la pregunta Ver respuesta.
y una zona para escribir la respuesta. Respuesta pregunta "Bien?
devuelve lo que se ha escrito en la caja de pregunta [Cmo ests?]
dilogo. Si se escribe una pregunta muy larga, pregunta texto1
solo aparecer la parte que quepa dentro del
espacio dado. Si se arrastra la caja de dilogo a
una nueva posicin mientras sta muestra la
pregunta, sta ser la posicin en que la nueva
caja de dilogo se abrir dentro del proyecto.
REPITE repite nmero [lista-de-
Activa la lista de instrucciones el nmero de instrucciones]
veces especificado. Ver cumpleveces y cumplelista para
opciones ms avanzadas.
repite 96 [at 40 ad 40 de 4]
RESPUESTA respuesta
Devuelve el contenido de la ltima respuesta que da valor respuesta
se escribi en la caja de dilogos de pregunta. si respuesta = "s [ffig "contento]
Usando pregunta y respuesta, se pueden utilizar si respuesta = "no [ffig "triste]
las palabras escritas en el teclado para crear un
programa interactivo.
SI si cierto-o-falso [lista-a-activar]
Activa la lista de instrucciones slo si la Ver siotro.
proposicin de la primera entrada devuelve cierto. si 5 > 2 [anuncia "correcto]

SIOTRO siotro cierto-o-falso


Activa la primera lista de instrucciones si la [lista-de-instrucciones1]
proposicin devuelve cierto. Activa la segunda [lista-de-instrucciones2]
lista de instrucciones si la proposicin devuelve Ver si.
falso. siotro colordebajo = 15 [ad 50] [ at
50]
SIN PLUMA Sp
Significa sin pluma. Saca la pluma a la tortuga en Ver cp.
uso. La tortuga no dejar ningn trazo cuando se repite 6 [sp ad 10 cp ad 10]
mueva.

Pg.74 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


DESCRIPCIN MICROMUNDOS SCRATCH
Y y cierto-o-falso1 cierto-o-falso2
Devuelve cierto si todas sus entradas devuelven (y cierto-o-falso1 cierto-o-falso2
cierto. Si se utilizan ms de dos entradas, y debe cierto-o-falso3...)
estar entre parntesis junto con todas sus Ver o y no.
entradas. y1=13<4
(y 1 = 1 3 < 4 2 > 1)

Pg.75 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 2

ESQUEMA DE LA PRESENTE GUA


Esta gua est escrita para docentes; por tanto, los temas se presentan en una secuencia propia de la programacin de
computadores, tal como la establecen y manejan los especialistas de esta disciplina. Esta manera de exponer los
contenidos que se deben ensear, facilita al docente la consulta de cualquier tema. Adems, es la forma como por lo
general se presentan los libros de texto utilizados por los estudiantes universitarios.

Pg.76 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 3

PLAN DE TRABAJO CON ESTUDIANTES


La experiencia de utilizar esta gua con estudiantes de grado 5 de bsica primaria en el Instituto Nuestra Seora de la
Asuncin (INSA http://www.insa-col.org) demostr que la secuencia ptima de presentacin a los estudiantes de los
temas de Algoritmos y programacin, para su aprendizaje, debe ser diferente al orden en que se exponen en esta gua.
De la misma forma como Onrubia & Rochera & Barber (2001) aconsejan secuenciar la enseanza de las matemticas,
la sucesin de contenidos de la programacin se debe planear de acuerdo a una estructura helicoidal, en la que los
distintos temas se retomen en diversas ocasiones a lo largo del proceso de enseanza y aprendizaje, de forma que el
estudiante pueda comprender e interiorizar progresivamente dichos contenidos. Adicionalmente, este tipo de estructura
facilita el establecimiento de relaciones cada vez ms elaboradas entre los distintos aspectos de los algoritmos y la
programacin.
La secuencia que se propone en el cuadro siguiente evita que la primera fase del ciclo de programacin (analizar el
problema) se convierta en algo pesado y tedioso para los estudiantes. Cada unidad se puede cubrir en uno de los
periodos acadmicos en los que generalmente se divide el ao lectivo.

CICLO DE UNIDAD 1 UNIDAD 2 UNIDAD 3 UNIDAD 4


PROGRAMACIN (1er Perodo) (2do Perodo) (3er Perodo) (4to Perodo)

Problemas matemticos Ciclo de programacin Anlisis de problemas Anlisis de problemas


Ejemplos Anlisis de problemas (formular el problema; (formular el problema;
Actividades (formular el problema; resultados esperados; datos resultados esperados; datos
resultados esperados; datos disponibles; restricciones; disponibles; restricciones;
Ciclo de programacin
disponibles; restricciones; procesos necesarios) procesos necesarios)
procesos necesarios)

Qu es un algoritmo Pensamiento algortmico Diagrama de flujo Diagrama de flujo


Pseudocdigo Variables (elaboracin) (elaboracin)
Identificadores Constantes Expresiones Tipos de datos
Variables Operadores
Constantes Expresiones
Diagrama de flujo (smb.) Diagrama de flujo
Pensamiento algortmico (elaboracin)
Uso de software de AV
(elaboracin)
Introduccin a la prog. Procedimientos Estructura de repeticin Estructura condicional
Procedimientos Estructura secuencial
Palabras reservadas
Comentarios
Procesos
Interactividad usuario

Tipos de fallas Fallas de sintaxis Fallas de lgica Fallas de lgica


Fallas de sintaxis Fallas de concepcin Prueba de escritorio Prueba de escritorio
Fallas de precaucin Fallas de lgica Verificacin de resultados Verificacin de resultados
Prueba de escritorio Documentacin
Afinamiento

Anlisis de problemas Variables y constantes Operadores y expresiones Expresiones


TEMAS DE Solucin de problemas reas Polinomios aritmticos Polinomios aritmticos
MATEMTICAS Permetros Estructura de repeticin Estructura condicional
Estructura secuencial Multiplicacin Proposiciones
Operaciones Potenciacin Relaciones de orden
Procedimientos Polgonos
Crculos

Pg.77 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 4

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 el sitio web de Scratch y registrarse


o Acceder al sitio Web de Scratch
o Explorar el sitio Web de Scratch
o Registrarse en el sitio Web de Scratch
Evaluacin (Indicadores de logro)
Accede a la pgina Web de Scratch y se registra en ella.
Perodos de clase: 1
Actividades:

Pg.78 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


TEMA: Actividad Introductoria a Scratch http://www.eduteka.org/proyectos.php/5/2483

Reconocer el entorno de trabajo de Scratch


o Reconocer/Identificar la Barra de Ttulos
o Reconocer la Barra de Mens
o Reconocer Bandera Verde y el Botn Parar
o Reconocer el Escenario
o Reconocer la informacin de Coordenadas del Ratn dentro del Escenario
o Reconocer el Modo de Presentacin
o Reconocer los Botones de Objeto
o Reconocer la Lista de Objetos
o Reconocer el rea de Informacin del Objeto
o Reconocer el rea de Programa
o Reconocer el rea de Disfraces
o Reconocer el rea de Sonidos
o Reconocer el rea de Fondos
o Reconocer la Paleta de Bloques
Evaluacin (logros)
Sin ayuda de referencias, explica en sus propias palabras las principales partes del entorno de trabajo de Scratch
Perodos de clase: 1
Actividades:
TEMA: Actividad Introductoria a Scratch http://www.eduteka.org/proyectos.php/5/2483

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

Reconocer el entorno de trabajo del editor de pinturas


o Reconocer la opcin Importar
o Reconocer la opcin Deshacer
o Reconocer la opcin Rehacer
o Reconocer el lienzo
o Reconocer la opcin escalar
o Reconocer la opcin rotar
o Reconocer la opcin voltear
o Reconocer la opcin limpiar
o Reconocer la barra de herramientas
o Reconocer las opciones de rea
o Reconocer la opcin de intercambiar colores
o Reconocer la paleta de colores
o Reconocer la opcin de acercar
Evaluacin (logros)
o Sin ayuda de referencias, el estudiante indica cules son y para qu sirven las diferentes opciones del editor de pinturas de Scratch.
Perodos de clase: 2
Actividades:
TEMA: Actividad Introductoria a Scratch http://www.eduteka.org/proyectos.php/5/2483

Utilizar el editor de pinturas


o Importar una imagen de un archivo
o Dibujar sobre el lienzo
o Deshacer o rehacer una accin en el lienzo
o Escalar el tamao de una imagen
o Rotar una imagen en el sentido de las manecillas del reloj
o Voltear una imagen de forma vertical o horizontal
o Limpiar un trazo dibujado en el lienzo

Pg.79 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


o Dibujar figuras con la brocha, la lnea, el rectngulo y la elipse de la barra de herramientas.
o Utilizar el bote de pintura para llenar de color una figura
o Seleccionar el color con la herramienta de gotero
o Duplicar una imagen con la opcin de estampar
o Borrar una imagen del lienzo
o Insertar un texto en el lienzo
o Mover un texto o una imagen dentro del lienzo
o Cambiar los tamaos de las herramientas en la opcin de rea
o Cambiar de color las imgenes con la paleta de colores.
o Usar la lupa para acercar una imagen
Evaluacin (logros)
o Crea o edita una imagen, utilizando las principales opciones del editor de pinturas
Perodos de clase: 2
Actividades:
TEMA: Animando un paisaje en Scratch http://www.eduteka.org/proyectos.php/5/2447

Crear y editar Objetos, Disfraces, Fondos; y editar Escenario


o Pintar un Objeto nuevo (botn)
o Pintar, Importar, Editar, Copiar y Borrar Disfraces y Fondos.
o Mostrar al frente un Objeto < en lista de objetos >
o Exportar un Objeto
Evaluacin (logros)
o Explica la diferencia en la ruta de acceso al editor de pinturas cuando se va a: crear un objeto, a editar uno de sus disfraces o a editar un
fondo de un escenario.
o Crea nuevos objetos y edita sus disfraces.
o Realiza modificaciones sobre un fondo existente.
Perodos de clase: 2
Actividades:
TEMA: Animando un paisaje en Scratch http://www.eduteka.org/proyectos.php/5/2447

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

Pg.80 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Crear historias interactivas con Scratch incorporando instrucciones como: pensar, pensar por N segundos,
decir, decir por N segundos, cambiar disfraz e instrucciones de sonido.
o Utilizar la instruccin Repetir [Bloque Control]
o Utilizar la instruccin Pensar [Bloque Apariencia]
o Utilizar la instruccin Pensar por N segundos [Bloque Apariencia]
o Utilizar la instruccin Decir [Bloque Apariencia]
o Utilizar la instruccin Decir por N segundos [Bloque Apariencia]
o Utilizar la instruccin Cambiar el Disfraz a [Bloque Apariencia]
o Utilizar la instruccin Cambiar el Fondo a [Bloque Apariencia]
o Utilizar la instruccin Fondo Siguiente [Bloque Apariencia]
o Utilizar la instruccin Enviar al Frente [Bloque Apariencia]
o Utilizar la instruccin Tocar sonido [Bloque Sonido]
o Utilizar la instruccin Tocar sonido y esperar [Bloque Sonido]
o Utilizar la instruccin Fijar Volumen a [Bloque Sonido]
o Utilizar la instruccin Cambiar Volumen por [Bloque Sonido]
o Utilizar la instruccin Tocar Tambor Durante N Pulsos [Bloque Sonido]
o Utilizar la instruccin Detener todos los sonidos [Bloque Sonido]
o Utilizar la instruccin Silenciar sonidos durante N pulsos [Bloque Sonido]
o Utilizar la instruccin Tocar nota <nmero nota> durante N pulsos [B. Sonido]
o Utilizar la instruccin Fijar instrumento a <instrumento> [Bloque Sonido]
o Mostrar en el escenario el Volumen [Bloque Sonido]
o Utilizar la instruccin Cambiar tempo por <valor> [Bloque Sonido]
o Utilizar la instruccin Fijar tempo a N pulsos por minuto [Bloque Sonido]
o Mostrar en el escenario el valor de Tempo [Bloque Sonido]
o Importar un fondo (Escenario)
o Importar un Objeto
o Importar un Disfraz
o Grabar, Importar, Reproducir, Borrar y Parar sonidos para un Objeto o Escenario.
Evaluacin (logros)
o A partir de un dilogo entre dos personajes, redactado previamente, crea una animacin en la que se reproduzca de manera sincronizada la
interaccin entre dichos personajes (movimientos y conversacin).
o Incorpora sonidos a una animacin existente, manejando tanto sonidos de fondo, como independientes para cada Objeto (personaje).
Perodos de clase: 5
Actividades:
TEMA: Dilogos en Scratch http://www.eduteka.org/proyectos.php/5/2448

Establecer diferencias entre eventos e hilos


o Explicar qu es un evento
o Entender en qu casos se requiere programar por eventos
o Comprender qu es un hilo
o Entender en qu casos se requiere uno o ms hilos asociados a un Objeto
Evaluacin (logros)
o Dado un proyecto de Scratch por el docente, seala partes de los programas que corresponden a hilos
o Explica en sus propias palabras qu es un hilo en Scratch
o Con base en un proyecto creado previamente, explica qu instrucciones corresponden a eventos y por qu son eventos.
o Explica en sus propias palabras cmo se puede utilizar un evento en un programa.
Perodos de clase: 2
Actividades:
TEMA: Interaccin de Objetos en Scratch - Carrera carros http://www.eduteka.org/proyectos.php/5/2449

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]

Pg.81 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


o mostrar Volumen del sonido en el escenario [Bloque Sensores]
o mostrar resultado de sonido fuerte?, en el escenario [Bloque Sensores]
o mostrar valor de un sensor, en el escenario [Bloque Sensores]
o mostrar en el escenario si un sensor est activado [Bloque Sensores]
Evaluacin (logros)
o Dada una situacin problema por el docente, desarrolla un programa en Scratch que incorpore al menos el manejo de dos eventos.
Perodos de clase: 8
Actividades:
TEMA: Interaccin de Objetos en Scratch - Carrera carros http://www.eduteka.org/proyectos.php/5/2449
TEMA: Ampliando el juego Pong (parte 1) http://www.eduteka.org/proyectos.php/5/2458

Reconocer las formas de documentar la funcionalidad de un Proyecto en Scratch.


o Agregar comentarios a un programa
o Agregar notas al Proyecto
Evaluacin (logros)
o Dado un proyecto elaborado previamente, le agrega comentarios a un Programa y notas al Proyecto.
o Explica brevemente la importancia de agregar comentarios a un Programa y notas a un Proyecto.
Perodos de clase: 1
Actividades:
TEMA: Ampliando el juego Pong (parte 1) http://www.eduteka.org/proyectos.php/5/2458

Realizar modificaciones a programas existentes para mejorarlos.


o Explicar qu hace cada una de las instrucciones de un programa.
o Agregar comentarios explicativos de la funcionalidad de un hilo (concepto general en lugar de instruccin por instruccin)
o Agregar o cambiar instrucciones que mejoren la funcionalidad o el desempeo del programa.
Evaluacin (logros)
o Agrega comentarios explicativos de la funcionalidad de un Programa (hilo)
o Dado un proyecto en Scratch por el docente, y unos requerimientos de modificacin sobre el mismo, agrega o cambia las instrucciones
necesarias de tal manera que el programa cumpla con las nuevas especificaciones.
Perodos de clase: 1
Actividades:
TEMA: Ampliando el juego Pong (parte 1) http://www.eduteka.org/proyectos.php/5/2458

Elaborar dibujos mediante el movimiento de objetos (funcionalidades de Lpiz)


o Utilizar las instrucciones Subir Lpiz y Bajar Lpiz [Bloque Lpiz]
o Utilizar la instruccin Fijar Tamao de Lpiz a [Bloque Lpiz]
o Utilizar la instruccin Fijar Color de Lpiz a [Bloque Lpiz]
o Utilizar la instruccin Fijar Intensidad de Lpiz a [Bloque Lpiz]
o Utilizar la instruccin Cambiar Tamao de Lpiz por [Bloque Lpiz]
o Utilizar la instruccin Cambiar Color de Lpiz por [Bloque Lpiz]
o Utilizar la instruccin Cambiar Intensidad de Lpiz por [Bloque Lpiz]
o Utilizar la instruccin Borrar [Bloque Lpiz]
o Utilizar la instruccin Sellar (imagen del Objeto) [Bloque Lpiz]
Evaluacin (logros)
o Utiliza la funcionalidad de lpiz para hacer dibujos sobre el escenario.
Perodos de clase: 4
Actividades:
TEMA: Ampliando el juego Pong (parte 2) http://www.eduteka.org/proyectos.php/5/2459

Utilizar operaciones matemticas y booleanas


o Utilizar las operaciones +, -, * , / [Bloque Nmeros]
o Utilizar la funcin Mdulo [Bloque Nmeros]
o Utilizar la funcin Redondear [Bloque Nmeros]
o Utilizar funciones matemticas (abs, raz cuadrada, sin, cos, etc) [Bloque Nmeros]
o Utilizar operaciones booleanas >, <, =, y ,o ,no [Bloque Nmeros]
o Utilizar la instruccin Nmero al Azar entre 1 y N [Bloque Nmeros]
Evaluacin (logros)
o Utiliza las operaciones matemticas y booleanas para resolver problemas matemticos planteados por el docente.
Perodos de clase: 4
Actividades:

Crear y utilizar variables y listas


o Crear una Nueva Variable [Bloque Variables]
o Borrar una variable Bloque Variables]
o Utilizar la instruccin Fijar <variable> a <valor> [Bloque Variables]
o Utilizar la instruccin Cambiar <variable> por <valor> [Bloque Variables]
o Mostrar <variable> en el escenario [Bloque Variables]
o Utilizar la instruccin Esconder <variable> del escenario [Bloque Variables]
o Crear una Nueva Lista [Bloque Variables]
o Borrar una lista [Bloque Variables
o Mostrar <LISTA> en el escenario [Bloque Variables]

Pg.82 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


o Utilizar la instruccin Aade X a LISTA [Bloque Variables]
o Utilizar la instruccin Borrar (posicin N) de LISTA [Bloque Variables]
o Utilizar la instruccin Insertar ELEMENTO en POSICIN N de LISTA [Bloque Variables]
o Utilizar la instruccin Reemplazar (posicin N) de LISTA con NUEVO ELEMENTO [Bloque Variables]
o Utilizar la instruccin Item N de LISTA [Bloque Variables]
o Utilizar la instruccin Longitud de LISTA [Bloque Variables]
Evaluacin (logros)
o Utiliza variables para apoyar la solucin de problemas
o El estudiante crea y manipula listas para el manejo de elementos de informacin.
Perodos de clase: 6
Actividades:

Compartir con otras personas los trabajos realizados en Scratch.


o Explicar la importancia de compartir con otras personas los trabajos realizados en Scratch.
o Utilizar apropiadamente la instruccin Compartir
Evaluacin (logros)
o Una vez creado un proyecto, lo comparte con otras personas a travs de la pgina de Scratch.
Perodos de clase: 1
Actividades:

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.

Pg.83 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 5

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 una metodologa para resolver problemas matemticos.


 Conocer los elementos que tienen en comn la mayora de los problemas matemticos (estado inicial, meta, recursos y el estado actual
de conocimientos de quien pretende resolverlos)
 Conocer las cuatro operaciones mentales que intervienen en la solucin de problemas matemticos (entender el problema, trazar un
plan, ejecutarlo y revisar)
 Hacer conciencia sobre la utilizacin en la clase de matemticas de estas cuatro operaciones para resolver problemas
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Sin ayuda de referencias, describe brevemente, y en sus propias palabras, las cuatro operaciones mentales que intervienen en la
solucin de problemas matemticos. [A, F]
NOTA: Aunque Algoritmos y Programacin se puede integrar con varias asignaturas, las matemticas es un rea muy
adecuada ya que la forma de resolver problemas matemticos se asemeja mucho al ciclo de programacin.

Comprender las etapas del ciclo de programacin de computadores.


 Conocer las cuatro etapas del ciclo de programacin para resolver problemas con ayuda del computador (analizar el problema, disear
un algoritmo, traducir el algoritmo a un lenguaje de programacin y depurar el programa)
 Comprender la similitud que hay entre las operaciones mentales que intervienen en la solucin de problemas matemticos y las etapas
del ciclo de programacin
 Entender que la solucin de problemas matemticos mediante programacin tiene dos ciclos (uno en el que se resuelve el problema con
lpiz y papel y otro en el que se automatiza la solucin)
 Diferenciar entre Sistema Operativo y Software de Aplicacin.
 Diferencias entre Software de Aplicacin y Procedimientos.
PERODOS DE CLASE: 1
INDICADORES DE LOGRO: Explica brevemente las cuatro etapas del ciclo de programacin para resolver problemas con ayuda del computador. [A, F]

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]

Utilizar el lenguaje pseudocdigo para representar algoritmos.


Pg.84 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
 Utilizar frases o proposiciones en espaol para representar instrucciones
 Organizar en secuencia lgica las instrucciones que solucionan problemas planteados
 Refinar los algoritmos representados en pseudocdigo (escribir una primera versin y luego descomponerla en subproblemas, si fuera
necesario)
 Comprender la importancia de detallar al mximo las instruccin para que estas se puedan traducir a un lenguaje de programacin
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema de la vida cotidiana (como hacer un jugo de fruta), construye un algoritmo en pseudocdigo para solucionarlo.
[A, F]

Comprender qu son identificadores, variables y constantes.


 Comprender que los identificadores son nombres que se dan a los elementos (variables, constantes, procedimientos) utilizados en los
algoritmos
 Conocer un conjunto de reglas (convenciones) para asignar nombres a variables, constantes y procedimientos
 Conocer qu es una variable
 Entender cmo ayuda el uso de variables en la formulacin de un algoritmo y en su utilizacin con diferentes conjuntos de datos iniciales
(generalizacin)
 Conocer los tipos de variables y sus diferencias (globales y locales)
 Conocer cmo asignar un valor a una variable
 Conocer cmo utilizar el valor almacenado en una variable
 Conocer qu es una constante
 Conocer cmo asignar un valor a una constante
 Conocer cmo utilizar el valor almacenado en una constante
PERODOS DE CLASE: 6
INDICADORES DE LOGRO: Dado un problema de la vida cotidiana, lista las variables y constantes presentes en este. [A, F]
Dada una lista de variables y constantes, les asigna nombres que pueda entender el lenguaje de programacin. [A, F]
Dada una lista de variables y constantes, indica cmo asignarles valores a estos. [A, 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]

Reconocer el entorno de trabajo que ofrece un lenguaje de programacin.


 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
PERODOS DE CLASE: 1
INDICADORES DE LOGRO: En sus propias palabras, describe brevemente, el entorno de trabajo que ofrece el entorno de programacin. [A, F]

Utilizar apropiadamente las funciones bsicas de un lenguaje de programacin.


 Abrir y cerrar el ambiente de programacin
 Abrir y cerrar un procedimiento existente
 Crear instrucciones nuevas dentro de un procedimiento existente
 Guardar un procedimiento en una unidad de almacenamiento local o remota
 Crear un proyecto nuevo
 Escribir, con la sintaxis correcta, instrucciones en el lenguaje de programacin utilizado
 Compilar un procedimiento
 Ejecutar un procedimiento
 Utilizar las funciones de ayuda que ofrece el software
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Crea un nuevo procedimiento, lo graba en un lugar establecido por el profesor, lo cierra; si es necesario, lo abre nuevamente para
modificarlo. [A, F]
ACTIVIDADES: Tema: Caricaturas http://eduteka.org/actividades/actividades.php?idH=501

Traducir algoritmos a un lenguaje de programacin.


 Identificar procedimientos que se utilicen frecuentemente en la vida diaria
 Conocer qu significa un procedimiento en un programa de computador
 Conocer la forma de elaborar un procedimiento con el lenguaje de programacin seleccionado
 Comprender la estructura de un procedimiento (lnea de ttulo, instrucciones y final)
 Utilizar las reglas establecidas (convenciones) para nombrar procedimientos (identificadores)
 Conocer qu significa palabra reservada
 Conocer las principales primitivas (comandos) que ofrece el lenguaje de programacin utilizado y tenerlas en cuenta para traducir los
algoritmos a dicho lenguaje
 Conocer la sintaxis de las principales primitivas
 Conocer la forma de ejecutar un procedimiento en forma directa
Pg.85 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
 Conocer la forma de llamar un procedimiento desde otro procedimiento
 Hacer comentarios en procedimientos
 Traducir una a una las instrucciones de los diagramas de flujo al lenguaje de programacin utilizado
 Elaborar procedimientos que acepten parmetros
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: A partir de un algoritmo construido sobre un problema matemtico, lo traduce a un procedimiento en MMP. [A, F]
Abre un procedimiento y lo ejecuta. [A]
ACTIVIDADES: Tema: Caricaturas http://eduteka.org/actividades/actividades.php?idH=501

Utilizar el recurso de interactividad con los usuarios de los procedimientos.


 Entender qu es ser usuario de un programa de computador
 Comprender la importancia de la interactividad con el usuario en la generalizacin de soluciones a problemas
 Reconocer diferentes mtodos de interaccin con el usuario (teclado y ratn)
 Utilizar los comandos apropiados para establecer interactividad con el usuario mediante el teclado
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Elabora un procedimiento que solucione un problema planteado por el docente, en el que solicite al usuario digitar alguna
informacin. [F]

Reconocer los diferentes tipos de fallas que puede presentar un procedimiento.


 Comprender que hay fallas que detecta el computador (compilador) y otras no (fallas humanas)
 Conocer qu son las fallas de sintaxis y de precaucin (detectables por el computador)
 Conocer qu son las fallas de concepcin, de lgica y de procedimiento (fallas humanas)
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: En sus propias palabras, describe brevemente, los tipos de fallas que se pueden presentar en un procedimiento. [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]

Comprender los pasos para analizar problemas.


 Conocer los pasos para analizar un problema que se quiere sistematizar mediante un procedimiento
 Comprender en qu consiste el paso formular el problema (determinar y comprender exactamente en qu consiste el problema)
 Comprender en qu consiste el paso precisar los resultados esperados (metas y submetas)
 Comprender en qu consiste el paso identificar los datos disponibles
 Comprender en qu consiste el paso determinar las restricciones (aquello que est permitido o prohibido hacer y/o utilizar para llegar a
una solucin)
 Comprender en qu consiste el paso establecer los procesos necesarios (operaciones)
 Hacer conciencia de cmo estos pasos ayudan a lograr el objetivo de la primera etapa del ciclo de programacin
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Sin ayuda de referencias, lista los pasos propuestos para analizar problemas (formular el problema, precisar los resultados
esperados, identificar los datos disponibles, determinar las restricciones y establecer los procesos necesarios) y describe brevemente en qu consiste cada uno. [F]

Definir y utilizar variables y constantes en los algoritmos.


 Definir las variables y constantes necesarias para resolver un problema
 Nombrar las variables y constantes definidas utilizando las reglas establecidas para ello
 Inicializar las variables y constantes con los valores iniciales establecidos en el anlisis del problema
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema de la vida cotidiana, lista las variables y constantes presentes en este. [A, F]
Dada una lista de variables y constantes, les asigna nombres que pueda entender el lenguaje de programacin. [A, F]
Dada una lista de variables y constantes, indica cmo asignarles valores a estos. [A, F]

Comprender qu son operadores y expresiones.


 Conocer que es un operador
 Entender la clasificacin de operadores (aritmticos, alfanumricos, relacionales y lgicos).
 Saber el orden de evaluacin de los operadores
 Conocer qu es una expresin
 Entender los elementos que pueden conformar una expresin (valores, funciones, primitivas (comandos), constantes, variables, cadenas
alfanumricas, operadores)
 Conocer diferentes tipos de expresiones (aritmticas, alfanumricas, lgicas y de asignacin)
 Comprender cmo se pueden unir varios de estos elementos mediante operadores para formar una expresin compuesta
PERODOS DE CLASE: 4
INDICADORES DE LOGRO: Dado un algoritmo por el docente, identifica y explica las expresiones y operadores presentes en este [F]
Pg.86 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
Elaborar diagramas de flujo para representar soluciones de problemas.
 Utilizar smbolos para representar instrucciones
 Recordar y utilizar los principales smbolos estandarizados para elaborar diagramas de flujo (inicio, final, lneas de flujo, entrada por
teclado, llamada a subrutina, salida impresa, salida en pantalla, conector, decisin, iteracin, etc)
 Aplicar las reglas para elaborar diagramas de flujo (encabezado, direccin de flujo, iniciacin de variables y constantes, etc)
 Organizar en secuencia lgica las instrucciones que solucionan problemas planteados
 Elaborar diagramas de flujo para representar soluciones de problemas
 Refinar los algoritmos mediante la escritura de una primera versin y luego descomponerla en subproblemas (procedimientos), si fuera
necesario
 Detallar al mximo las instruccin para que estas se puedan traducir a un lenguaje de programacin
PERODOS DE CLASE: 4
INDICADORES DE LOGRO: Dado un problema matemtico (como sumar los nmeros pares comprendidos entre 2 y 1.000), construye un algoritmo en forma de
diagrama de flujo para solucionarlo. [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]

Realizar operaciones bsicas con instrucciones y lneas de flujo.


 Editar el texto de instrucciones de un diagrama de flujo
 Cambiar la apariencia de las instrucciones (color, fuente, tamao, forma (smbolo), etc)
 Cambiar la apariencia de las lneas de flujo (color, grosor de la lnea, aspecto de la flecha, etc)
 Utilizar las opciones de copiar y pegar para duplicar instrucciones
 Utilizar la opcin que ofrece el software para organizar automticamente los diagramas de flujo
PERODOS DE CLASE: 1
INDICADORES DE LOGRO: Dado un problema por el profesor, elabora un procedimiento para solucionarlo; la solucin debe incluir el anlisis del problema y el
diagrama de flujo. [F]

Elaborar procedimientos con estructura secuencial.


 Conocer qu es una estructura secuencial
 Conocer qu tipo de instrucciones puede contener una estructura secuencial (declaracin de variables y constantes, asignacin de
valores, entrada de datos, operaciones, reporte de resultados)
 Utilizar el orden correcto de ejecucin de las instrucciones del algoritmo
 Elaborar procedimientos que contengan nicamente la estructura secuencial
 Reflexionar sobre la estructura utilizada en la solucin de los problemas
PERODOS DE CLASE: 6
INDICADORES DE LOGRO: A partir de un algoritmo construido sobre un problema matemtico, lo traduce a un procedimiento en MMP. [A, F]
Abre un procedimiento y lo ejecuta. [A]
Elabora un procedimiento que solucione un problema planteado por el docente, en el que solicite al usuario digitar alguna informacin. [F]
Sin ayuda de referencias, describe con sus propias palabras qu es en programacin una estructura secuencial. [F]

Pg.87 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Identificar los mensajes de error ms comunes que presenta el lenguaje de programacin utilizado (fallas de sintaxis)
y si los hay corregirlos.
 Comprender el significado de los mensajes de error que presenta el compilador cuando detecta una falla de sintaxis
 Realizar acciones correctivas en el programa cuando el compilador reporte una falla de sintaxis
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Dado por el docente un procedimiento que contenga fallas de sintaxis, identifica y corrige dichas fallas. [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]

Realizar prueba de escritorio a los algoritmos elaborados.


 Comprender qu es una prueba de escritorio para un algoritmo
 Comprender cmo se realiza una prueba de escritorio
 Realizar la prueba de escritorio a los algoritmos diseados (dando diferentes datos de entrada y siguiendo la secuencia indicada en el
diagrama)
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]

Analizar problemas utilizando una metodologa con pasos ordenados.


 Listar en forma ordenada los pasos indicados para analizar problemas (formular el problema, precisar los resultados esperados,
identificar los datos disponibles, determinar las restricciones y establecer los procesos necesarios).
 Comprender que los pasos de la metodologa para analizar problemas son dinmicos y cclicos (no es necesario seguirlos en forma
secuencial)
 Comprender la importancia y conveniencia de emplear una metodologa para analizar problemas
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el primer paso de anlisis (formular problemas) siguiendo las indicaciones suministradas
en clase. [F]

Realizar el primer paso de la etapa de anlisis: Formular problemas.


 Formular por escrito problemas a partir de situaciones de la vida real, planteadas en forma verbal
 Hacer conciencia sobre la naturaleza ambigua, imprecisa, incompleta e incongruente que en muchas ocasiones tiene el lenguaje natural
y cmo afecta esto la formulacin de un problema
 Determinar si se puede definir mejor los problemas planteados
 Identificar y buscar en el diccionario las palabras desconocidas que aparecen en los problemas
 Reflexionar sobre si se ha resuelto problemas similares con anterioridad
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el primer paso de anlisis (formular problemas) siguiendo las indicaciones suministradas
en clase. [F]

Realizar el segundo paso de la etapa de anlisis: Precisar el resultado esperado.


 Precisar con claridad cul es resultado final (producto) que debe devolver el programa elaborado
 Establecer el formato que debe tener el resultado final (impreso, en pantalla, diagramacin, orden, etc)
 Identificar la informacin relevante de un problema
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el segundo paso de anlisis (precisar el resultado esperado) siguiendo las indicaciones
suministradas en clase. [F]

Realizar el tercer paso de la etapa de anlisis: Identificar los datos disponibles.


 Identificar cul es la informacin importante, para llegar a una solucin, que se ofrece en la formulacin de problemas
 Identificar cul es la informacin no relevante, para llegar a una solucin, que se ofrece en la formulacin de problemas (que se puede
omitir)
 Identificar los datos de entrada (conocidos) y la(s) incgnita(s) (datos desconocidos)
 Establecer las categoras en las cuales se pueden agrupar los datos
 Determinar el nivel de conocimiento que se posee en el mbito de los problemas que se pretende resolver y establecer una estrategia
para obtener los conocimientos que no se tienen actualmente, necesarios para llegar a una solucin
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el tercer paso de anlisis (identificar los datos disponibles) siguiendo las indicaciones
suministradas en clase. [F]

Realizar el cuarto paso de la etapa de anlisis: Determinar las restricciones.


Pg.88 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php
 Determinar lo que est permitido o prohibido hacer y/o utilizar para llegar a una solucin (restricciones)
 Identificar las condiciones que se plantean en la formulacin de los problemas
 Identificar los datos que pueden considerarse como fijos (constantes)
 Identificar los datos que deben considerarse como variables
 Identificar los datos que deben calcularse
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el cuarto paso de anlisis (determinar las restricciones) siguiendo las indicaciones
suministradas en clase. [F]

Realizar el quinto paso de la etapa de anlisis: Establecer los procesos necesarios.


 Determinar los procesos (operaciones) que permiten llegar a los resultados esperados a partir de los datos disponibles
 Determinar las frmulas que deben emplearse
 Identificar como afectan las condiciones (restricciones) a los procesos
 Identificar el orden en el que deben realizarse las operaciones
 Dividir, si es el caso, un problema en otros ms pequeos y fciles de solucionar (procedimientos)
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente, realiza el quinto paso de anlisis (establecer los procesos necesarios) siguiendo las indicaciones
suministradas en clase. [F]

Utilizar operadores y construir expresiones.


 Utilizar operadores aritmticos para construir expresiones aritmticas que tengan en cuenta el orden de evaluacin de los operadores
 Utilizar operadores alfanumricos para construir expresiones alfanumricas
 Utilizar operadores lgicos y relacionales para construir expresiones lgicas
 Utilizar combinaciones apropiadas de operadores para construir expresiones de asignacin
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Dado un problema por el docente que requiera plantear expresiones, identifica variables y constantes y las une mediante operadores
para establecer las expresiones correctas que resuelvan el problema. [F]

Elaborar procedimientos con estructura iterativa.


 Conocer qu es una estructura iterativa
 Comprender en qu casos es ventajoso utilizar una estructura iterativa
 Conocer qu tipo de instrucciones puede contener una estructura iterativa (instrucciones de control de ciclo, todas las instrucciones de la
estructura secuencial)
 Conocer los comandos con los cuales se implementa la estructura iterativa
 Utilizar el orden correcto de ejecucin de las instrucciones del algoritmo
 Elaborar procedimientos con una estructura iterativa que contenga y controle a una estructura secuencial
 Reflexionar sobre los tipos de problemas que requieren utilizar la estructura iterativa en la solucin
PERODOS DE CLASE: 6
INDICADORES DE LOGRO: Sin ayuda de referencias, describe con sus propias palabras qu es en programacin una estructura iterativa (de repeticin). [F]
Dado por el docente un problema que requiera para su solucin una estructura iterativa (repeticin), elabora un procedimiento con una estructura iterativa
que contenga y controle una estructura secuencial; la solucin debe incluir el anlisis del problema, el diagrama de flujo y la prueba de escritorio. [F]

Identificar fallas de lgica en los algoritmos elaborados y s las hay corregirlas.


 Comprender las fallas de lgica no son detectables por el compilador
 Realizar acciones correctivas en el programa cuando mediante la prueba de escritorio se encuentre una falla de lgica
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Dado por el docente un algoritmo y el respectivo procedimiento los cuales contengan fallas de lgica, identifica y corrige dichas
fallas. [F]

Comprender la importancia de verificar los resultados que produce un programa de computador.


 Comprender la importancia de verificar resultados
 Comprender cmo se verifican los resultados de un programa
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Dado por el docente un algoritmo y el respectivo procedimiento los cuales contengan fallas de lgica, identifica y corrige dichas
fallas. [F]
Sin ayuda de referencias, explica con sus propias palabras cul es la importancia de verificar los resultados que produce un programa de computador. [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]

Comprender qu tipos de datos acepta el lenguaje de programacin utilizado.


 Conocer diferentes tipos de datos (nmeros, palabras, listas, arreglos, etc)
 Conocer qu tipos de datos acepta el lenguaje de programacin utilizado y qu tratamiento le da a cada tipo
PERODOS DE CLASE: 3
INDICADORES DE LOGRO: Sin ayuda de referencias, contrasta las diferencias entre los tipos de datos que acepta el lenguaje de programacin utilizado. [F]

Pg.89 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


Elaborar procedimientos con estructura condicional.
 Conocer qu es una estructura condicional (seleccin simple y doble)
 Comprender en qu casos es ventajoso utilizar una estructura condicional
 Conocer qu tipo de instrucciones puede contener una estructura condicional (instrucciones de decisin, de control de ciclo y todas las
instrucciones de la estructura secuencial)
 Conocer y utilizar correctamente los comandos con los cuales se implementa la estructura condicional de seleccin simple
 Conocer y utilizar correctamente los comandos con los cuales se implementa la estructura condicional de seleccin doble
 Comprender que las proposiciones utilizadas en la estructura condicional deben poder evaluarse como verdaderas o falsas (solo dos
valores posibles y excluyentes)
 Utilizar correctamente los operadores relacionales y lgicos para construir proposiciones (sencillas y compuestas)
 Expresar apropiadamente las proposiciones para que el lenguaje de programacin las pueda entender y evaluar
 Utilizar el orden correcto de ejecucin de las instrucciones del algoritmo
 Elaborar procedimientos con una estructura condicional que contenga y controle a una estructura secuencial
 Reflexionar sobre el papel que cumple el lenguaje en la formulacin y uso de relaciones de orden y de proposiciones
 Reflexionar sobre los tipos de problemas que requieren utilizar la estructura condicional en la solucin
 Reflexionar sobre la importancia que tiene reconocer las estructuras de solucin de problemas en la forma de planear secuencias de
acciones
PERODOS DE CLASE: 6
INDICADORES DE LOGRO: Sin ayuda de referencias, describe con sus propias palabras qu es en programacin una estructura condicional. [F]
Dado por el docente un problema que requiera para su solucin una estructura condicional, elabora un procedimiento con una estructura condicional que
contenga y controle una estructura secuencial; la solucin debe incluir el anlisis del problema, el algoritmo en forma de diagrama de flujo y la prueba de escritorio. [F]

Verificar los resultados que produce un procedimiento.


 Estimar el resultado que debe producir un procedimiento y compararlo con el realmente producido para determinar si se encuentra
cercano al valor estimado
 Realizar todas las operaciones manualmente con un conjunto de datos iniciales y comparar el resultado con el que arroja el
procedimiento luego de introducirle el mismo conjunto de datos
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: A partir de la lectura de problemas, identifica correctamente el resultado esperado, los datos disponibles, las restricciones y los
procesos necesarios para resolverlos. [F]
Dada una situacin del mundo real, enuncia (formula) un problema que tenga todos los elementos (resultado esperado, datos disponibles, restricciones y
procesos necesarios) y explica por qu es un problema. [F]

Comprender la importancia de documentar los procedimientos.


 Comprender qu es la documentacin de procedimientos y las ventajas que ofrece
 Entender que los procedimientos documentados son ms fciles de leer y comprender por otras personas diferentes a quien los escribi
PERODOS DE CLASE: 1
INDICADORES DE LOGRO: Sin ayuda de referencias, explica brevemente y con sus propias palabras cul es la importancia de documentar los procedimientos.
[F]

Comprender la importancia de ajustar (afinar o mejorar) los procedimientos.


 Comprender en qu consiste ajustar un procedimiento
 Comprender que los requerimientos iniciales pueden estar mal planteados, por tanto el procedimiento resultante se puede mejorar
 Conocer el impacto que tiene en la imagen de un programador la realizacin de mejoras en los procedimientos (ir ms all de lo
solicitado)
PERODOS DE CLASE: 2
INDICADORES DE LOGRO: Sin ayuda de referencias, explica brevemente y con sus propias palabras cul es la importancia de ajustar (afinar o mejorar) los
procedimientos. [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

Pg.90 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 6

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 :

Pg.91 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 7

Pg.92 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ANEXO 8

Interfaz de Scratch, versin 1.4 (http://scratch.mit.edu)

Pg.93 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


BIBLIOGRAFA CITADA O CONSULTADA

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.

Pg.94 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php


ISTE (2007): Estndares Nacionales Estadounidenses de TIC para Estudiantes. [Consulta en lnea: Eduteka, Marzo 18, 2009,
http://www.eduteka.org/estandaresestux.php3]
Jimnez Collazos, Luz Elena (2002): Conceptos bsicos de programacin con Java; Universidad Icesi, Cali.
Johansson, Frans (2005): El efecto Medici. Ediciones Deusto, Barcelona.
Jonassen, David; Carr, Chad; Yue, Hsiu-Ping (1998): Computadores como herramientas de la mente; [Consulta en lnea: Eduteka, Abril 7 de
2007, http://eduteka.org/tema_mes.php3?TemaID=0012]
Joyanes Aguilar, Luis (2001): Fundamentos de programacin, algoritmos y estructura de datos; Mc Graw Hill, Mxico, segunda edicin.
Lau, Joe & Chan, Jonathan (2004): OpenCourseWare on critical thinking, logic, and creativity: Strategic reasoning; [Consulta en lnea: Critical
Thinking Web, Junio 15 de 2007, http://philosophy.hku.hk/think/strategy/]
Lizcano de Guerrero, Carmen (1999): Plan curricular; Ediciones Universidad Santo Toms, Bogot, segunda edicin.
Lpez, Eliana (2004): La evaluacin en educacin en valores; [Consulta en lnea: Organizacin de Estados Iberoamericanos OEI, Agosto 31 de
2004, http://www.campus.oei.org/valores/boletin10a02.htm]
Lpez Fraz, Blanca Silvia (2000): Pensamientos crtico y creativo. Trillas, Mxico.
Lpez Garca, Juan Carlos (2009): Programacin de computadores y creatividad; Gua de Algoritmos y Programacin para docentes [Consulta
en lnea: Eduteka, Julio 16, 2009, http://www.eduteka.org/ProgramacionCreatividad.php].
Malan, David (2007): Scratch para los futuros cientficos de la computacin; Ponencia presentada en el octavo simposio tcnico de ACM,
Covington, Kentucky [Consulta en lnea: Eduteka, Noviembre 9, 2009, http://www.eduteka.org/ScratchMalan.php].
Marqunez Argote, Germn & Sanz Adrados, Juan Jos (1988): Lgica; Universidad Santo Toms, Bogota.
Melo R., Clara Esther (2001); Dominios 5, matemticas para bsica primaria; Editorial Escuelas del Futuro, Bogot.
MEN (2003): Estndares bsicos de calidad en matemticas y lenguaje, versin adaptada para las familias colombianas; Ministerio de
Educacin Nacional de Colombia (MEN); Proyecto MEN-ASCOFADE, Bogot; [Consulta en lnea: MEN, Febrero 16 de 2004,
http://www.eduteka.org/pdfdir/MENEstMatLen.pdf]
---------- (2000): Lineamientos curriculares para el rea de tecnologa e informtica; Ministerio de Educacin Nacional de Colombia (MEN).
---------- (1999): Nuevas tecnologas y currculo de matemticas, lineamientos curriculares; Cooperativa Editorial Magisterio, Bogot.
---------- (1996): Educacin en tecnologa, propuesta para la educacin bsica; Documento I; Ministerio de Educacin Nacional de Colombia
(MEN).
Moursund, David (1999): Project-Based learning using information technology; ISTE Publications.
---------- (1996): Increasing your expertise as a problem solver, some roles of computers; [Consulta en lnea: Universidad de Oregon, Enero 28
de 2004, http://darkwing.uoregon.edu/~moursund/PSBook1996/introduction.htm]
---------- (2006): Computational Thinking and Math Maturity: Improving Math Education in K-8 Schools; [Consulta en lnea: Universidad de
Oregon, Octubre 25 de 2007, http://uoregon.edu/~moursund/Books/ElMath/ElMath.html]
NAP (2004): Computer Science: Reflections on the field, reflections from the field; [consulta en lnea: National Academy Press;
http://nap.edu/catalog/11106.html]
NRC -National Research Council- (2004): Being fluent with information technology; National Academy Press (NAP), Washington, D.C. ;
[Consulta en lnea: NAP, Enero 30 de 2005, http://www.nap.edu/html/beingfluent/]
Nio, Carlos Alberto & Rodrguez, Beryeny (1999): Mi libro matemtico 5; Ediciones Magster, Bogot.
Olmos Gil, Tulio (2003): Lgica para nios; [Consulta en lnea: Aldea Educativa, Enero 08 de 2004,
http://www.terra.com.ve/aldeaeducativa/temas/tareas28726.html]
Onrubia, Javier & Rochera, Maria Jos & Barber, Elena (2001): La enseanza y el aprendizaje de las matemticas: una perspectiva
psicolgica; captulo 19 del libro Desarrollo psicolgico y educacin, Csar Coll (compilador), Alianza Editorial, Madrid.
Ortiz de Maschwitz, Elena Mara (2000): Inteligencias mltiples en la educacin de la persona; Editorial Magisterio, Bogot.
Papert, Seymour (1993): Mindstorms: Children, computers, and powerful ideas; Basic Books, New York, segunda edicin.
Piaget, Jean (1964): Seis estudios de psicologa; Seix Barral, Barcelona, 1977 (ditions Gonthier, Ginebra, 1964).
---------- (1969a): Biologa y conocimiento; Siglo XXI Editores, Mxico.
---------- (1993): Estudios sobre lgica y psicologa (compilacin Alfredo Deao y Juan Delval); Ediciones Altaya, Barcelona.
Piaget, Jean & Inhelder Brbel (1969b): Psicologa del nio; Ediciones Morata, Madrid.
Polya, George (1957): How to solve it; Princeton University Press, segunda edicin.
Ramrez Bohrquez, Tania (2004): Deje atrs el temor a la matemtica; Editorial Nuevo Mundo, Bogot; Tercera Edicin.
Resnick, Mitchel (2007a): Sembrando las semillas para una sociedad ms creativa. Laboratorio de medios de MIT, Massachussets [Consulta en
lnea: Eduteka, Marzo 16, 2009, http://www.eduteka.org/ScratchResnickCreatividad.php].
---------- (2007b): All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten; [Consulta en
lnea: Eduteka, Noviembre 9, 2009, http://web.media.mit.edu/~mres/papers/kindergarten-learning-approach.pdf].
Resnick, Mitchel y Otros (2009): Scratch: Progamming for all; [Consulta en lnea: Communications of the ACM, Noviembre 9, 2009,
http://cacm.acm.org/magazines/2009/11/48421-scratch-programming-for-all/fulltext].
Ritter M., Grace Alexandra & Borja P., Ral Andr (2000): Algoritmos y Programacin; Universidad Icesi, Cali.
Rizo Cabrera, Celia & Campistrous Prez, Luis (2005): Didctica y solucin de problemas; Ponencia presentada en el XIX Simposio
Costarricense sobre Matemticas, Ciencias y Sociedad [Consulta en lnea: Universidad Nacional Heredia, Marzo 16 de 2007,
http://www.cimm.ucr.ac.cr/simposios/recursos/XIX/campistrous.pdf ]
Robinson, Ken (1999): All Our Futures: Creativity, Culture and Education. National Advisory Committee on Creative and Cultural Education and
DfEE publications, Inglaterra.
Rodrguez, Benjamn & Castro Walter (1995): Serie matemtica construyamos 5; Educar Editores, Bogot.
Rojas A., Vicente & acato C., Jos (1980): Tcnica de flujogramas I; Editora Andina, Quito, sptima edicin.
Pg.95 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php

You might also like