Você está na página 1de 416

EDUCACIN BSIC A

ALGO RITMOS Y
PROGRAMA CIN
GUA
P ARA DOCENTES

JUAN CARLOS LPEZ GARCA

Fundacin Gabriel

Segunda Edicin

www.eduteka.org

Piedrahita Uribe

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
UNIDAD 1: DESARROLLO DE HABILIDADES DE PENSAMIENTO
Desarrollo de habilidades de pensamiento de orden superior
Programacin y Matemticas
Programacin y Ciencias Naturales
Solucin de problemas
Solucin de problemas y programacin
Analizar el problema (entenderlo)
Formular el problema
Precisar los resultados esperados
Identificar datos disponibles
Determinar las restricciones
Establecer procesos
Disear, traducir y depurar un algoritmo
Creatividad
Desarrollo de la creatividad
Espiral del pensamiento creativo
UNIDAD 2: ALGORITMOS, CONCEPTOS BSICOS
Qu es un algoritmo?
Pensamiento Algoritmico
Aprestamiento
Representacin
Simbologa de los diagramas de flujo

Reglas para la elaboracin de diagramas de flujo


Conceptos bsicos de programacin
Variables
Constantes
Contadores
Acumuladores
Identificadores
Palabras reservadas
Funciones matemticas
Tipos de datos
Operadores
Orden de evaluacin de los operadores
Expresiones
UNIDAD 3: ESTRUCTURAS BSICAS
Las estructuras
Conceptos bsicos de programacin
Fundamentos de programacin
Comentarios
Procesos
Interactividad
Procedimientos
Estructura secuencial
Estructura iterativa (repeticin)
Estructura condicional
UNIDAD 4: DEPURACIN
Cuando se presentan problemas
Depuracin
Fallas de sintaxis
Fallas de lgica

Anexo 1: Resumen de comandos de MicroMundos y de Scratch


Anexo 2: Esquema de contenidos de esta Gua
Anexo 3: Plan de trabajo con Estudiantes
Anexo 4: Una propuesta de currculo para ensear Scratch
Anexo 5: Una propuesta de currculo para ensear MicroMundos
Anexo 6: Plantilla para anlisis de problemas
Anexo 7: Plantilla para diagramas de flujo
Anexo 8: Interfaz de Scratch, versin 1.4
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


(programas) complejas, implica una labor titnica
Existe actualmente un consenso general dentro de
la comunidad educativa mundial sobre la necesidad
de superar el tipo de enseanza basada en la
transmisin de contenidos para apuntarle en su
lugar al desarrollo de capacidades. Investigaciones

que en la mayora de los casos est fuera del


alcance de la Educacin Bsica ya que demanda
necesariamente enfoques de programacin como el
orientado a objetos al que apuntan la mayora de
tendencias en Ingeniera de Sistemas.

y estudios recientes proponen diversos conjuntos


de habilidades que la educacin debe fomentar
para que los estudiantes puedan tener xito en el
mundo digital y globalizado en el que van a vivir.
Este planteamiento exige, sin dilaciones,
implementar estrategias que contribuyan
efectivamente en el desarrollo de esas habilidades
planteadas como fundamentales para la educacin
en el Siglo XXI (21st Century Skills, 2004).

Por esta razn, en la Educacin Bsica es


altamente recomendable utilizar ambientes de
programacin basados en Logo, fciles de utilizar y
que permitan realizar procedimientos que
contengan estructuras bsicas (secuencial,
decisin y repeticin), pero siempre conducentes al
desarrollo de habilidades del Siglo XXI. Solo en los
ltimos grados de bsica secundaria o en la Media

En la mayora de conjuntos de habilidades

Tcnica sera aconsejable introducir a los

propuestos figuran las habilidades de pensamiento

estudiantes a la programacin orientada a objetos

de orden superior entre las que se incluye la

mediante entornos de programacin visuales y

destreza para solucionar problemas; por esta

amigables como Alice, KPL o Processing.

razn, se requiere seleccionar estrategias efectivas


para ayudar a que los estudiantes las desarrollen.
Para atender esta necesidad, la programacin de
computadores constituye una buena alternativa,
siempre y cuando se la enfoque al logro de esta
destreza y no a la formacin de programadores. Es
importante insistir en esta orientacin debido a que
las metodologas utilizadas en Educacin Bsica

Desde el punto de vista educativo, la programacin


de computadores posibilita no solo activar una
amplia variedad de estilos de aprendizaje (Stager,
2003) sino desarrollar el pensamiento algortmico.
Adicionalmente,

para llevar a cabo cursos de Algoritmos y


Programacin, son heredadas de la educacin
superior y muchos de los docentes que las utilizan
se dedican principalmente a ensear los vericuetos
de lenguajes de programacin profesionales tales
como Java, C++, Visual Basic, etc. Hablar hoy de
aprender a disear y construir aplicaciones

compromete a los estudiantes en la consideracin


de varios aspectos importantes para la solucin de
problemas: decidir sobre la naturaleza del
problema, seleccionar una representacin que
ayude a resolverlo y, monitorear sus propios

pensamientos (metacognicin) y estrategias de

desarrollo de habilidades de pensamiento que

solucin. Este ltimo, es un aspecto que deben

conduzcan la formacin de personas orientadas a

desarrollar desde edades tempranas. No debemos

la creatividad y a la innovacin.

olvidar que solucionar problemas con ayuda del


computador puede convertirse en una excelente
herramienta para adquirir la costumbre de enfrentar
problemas predefinidos de manera rigurosa y
sistemtica, aun, cuando no se utilice un
computador para solucionarlo.

Una de las razones para que la creatividad se


hubiese convertido en tema prioritario es que tiene
un alto impacto en la generacin de riqueza por
parte de las empresas de la Sociedad de la
Creatividad. En esta empresas, los reconocimientos
profesionales se dan gracias al talento, la

Esto en cuanto a la solucin de problemas, pero

creatividad y la inteligencia. La creatividad

hay otra habilidad de pensamiento que tambin se

reemplaz las materias primas como fuente

puede ayudar a desarrollar con un cursos de

fundamental de crecimiento econmico. Para tener

Algoritmos y Programacin: La Creatividad.

xito en esta nueva Sociedad, las regiones deben


desarrollar, atraer y retener a personas talentosas y
creativas que generen innovaciones (Banaji & Burn,

En los ltimos aos, la creatividad forma parte de


las prioridades de los sistemas educativos en varios
pases, junto a otras habilidades de pensamiento
de orden superior. Al punto que los Estndares
Nacionales Norteamericanos de TIC para
Estudiantes (NETS-S) formulados en 1998, estaban
encabezados por Operaciones y conceptos

2006). Cada vez es mayor el nmero de empresas


que fundamentan su modelo de negocio en la
creatividad y la innovacin; para ellas, son
indispensables personas que adems de tener los
conocimientos requeridos para desempearse en
los diferentes cargos, tengan habilidad para pensar
y actuar creativamente.

bsicos de las TIC y la Creatividad no figuraba. Sin


embargo, en la nueva versin de estos Estndares,
liberada en 2008, la creatividad encabeza los seis

Ejemplo tangible de esto es el que la Comisin

grupos de estndares. Otro ejemplo muy diciente

Europea, consciente de la importancia que tienen la

es la creacin en Inglaterra del Consorcio para la

creatividad y

Creatividad que busca promover en la educacin el

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

Grande era prioridad que las personas

de los pases del viejo continente, decidiera

desarrollaran su cuerpo como preparacin para los

proclamar el 2009 como el Ao de la Creatividad y

quehaceres del campo de batalla, para la sociedad

la Innovacin (http://create2009.europa.eu/).

actual es prioritario que las personas desarrollen


sus habilidades de pensamiento de orden superior
para que pueden desempearse con xito en ella.

El reto enorme que recae hoy sobre los sistemas


educativos consiste en lograr que se generen las
estrategias adecuadas para que los estudiantes se
desarrollen como pensadores creativos. As como
para la sociedad griega en tiempos de Alejandro el

Pero, dado que el desarrollo de estas habilidades


se debe iniciar desde edad temprana, la educacin
debe asumir su cuota de responsabilidad en esta
importante tarea.

emplear tanto en procesos de entrenamiento (drill


Desde este punto de vista, la presente Gua de
Algoritmos y Programacin, dirigida a docentes de
Educacin Bsica, se concentra en el desarrollo de
la creatividad y de habilidades para solucionar

and practice) como de educacin matemtica. Sin


embargo, la tendencia es a utilizarlos en ambientes
en los que los estudiantes se convierten en
diseadores y no en simples consumidores.

problemas predefinidos. Para facilitar a los


docentes su utilizacin en el aula, los ejemplos que
se proponen corresponden a temas de Matemticas
y Ciencias Naturales para grados cuarto y quinto de
Bsica Primaria.

Evaluacin. En la mayora de las situaciones


extraescolares, las personas que necesitan utilizar
matemticas regularmente tienden a usar
calculadoras, computadores y otros dispositivos
especializados (GPS, medicin con lser, etc) como

Programacin y Matemticas

Son varios los temas de las matemticas cuya


comprensin se puede mejorar mediante la
integracin de esta asignatura con un curso de
algoritmos y programacin:

Concepto de variable. Una variable es una


ubicacin de memoria en el computador o en la
calculadora que tiene un nombre (identificador) y en
la que se pueden almacenar diferentes valores.

Concepto de funcin. La mayora de calculadoras


cientficas vienen de fabrica con cientos de
funciones y los estudiantes pueden crear
procedimientos que se comportan como funciones
(aceptan parmetros, realizan clculos y reportan
un resultado).

Manejo de ecuaciones y graficacin.

Modelado matemtico. Algunas de las ideas clave


de los modelos matemticos estn presentes en los
manipulables virtuales (simulaciones y
micromundos). Estos manipulables se pueden

ayuda en la solucin de problemas. Esto sugiere

En Ciencias Naturales tambin hay temas en los

que una evaluacin autentica en matemticas debe

cuales realizar actividades de programacin de

realizarse con libro y cuaderno abiertos, permitir el

computadores puede ayudar a mejorar su

uso de calculadora y computador; en cuyo caso el

comprensin por parte de los estudiantes.

computador puede aportar un ambiente de


aprendizaje y evaluacin enriquecidos.
Mediante el trabajo con entornos de programacin
como Scratch o MicroMundos, los estudiantes
Adicionalmente, hay otros campos ms avanzados

aprenden a seleccionar, crear y manejar mltiples

de las matemticas que tambin se pueden

formas de medios (texto, imgenes y grabaciones

impactar con un curso de algoritmos y

de audio). La comunicacin efectiva requiere hoy

programacin: Inteligencia artificial, robtica,

en da, para ser creativa y persuasiva, la

aprendizaje asistido por computador (CAL),

escogencia y manipulacin de los mismos tipos de

aprendizaje asistido por computador altamente

medios que estos entornos de programacin ponen

interactivo e inteligente (HIICAL), etc.

al alcance de los estudiantes. Se espera que a


medida que ellos ganan experiencia creando con
medios, se vuelvan ms perceptivos y crticos en el

Es muy importante tener presente que resolver


problemas matemticos mediante procedimientos

anlisis de los que tienen a su alcance en el mundo


que los rodea (Rusk, Resnick & Maloney, 2007).

tiene dos ciclos: uno en el cual se resuelve el


problema matemtico en s (con papel y lpiz) y
otro en el que esa solucin se automatiza en el
computador. Crear un procedimiento para calcular
el rea de cualquier rectngulo a partir de las
dimensiones de sus lados, requiere que el
estudiante primero resuelva el problema
matemtico (entender el problema, trazar un plan,

Por ejemplo, realizar proyectos cuyo producto final


sea la comunicacin de resultados obtenidos en
procesos de indagacin y/o experimentacin en
clase de Ciencias:

ejecutar el plan y revisar) y luego elabore el


procedimiento que pida los datos de entrada,
realice los clculos y muestre el resultado (analizar
el problema, disear un algoritmo, traducir el

Explicacin de las partes de una clula y su


importancia como unidad bsica de los seres vivos.

algoritmo a un lenguaje de programacin y depurar


el programa).
Exposicin de los diversos sistemas de rganos del
ser humano con la respectiva explicacin de su
funcin.

Programacin y Ciencias Naturales


Clasificacin de los seres vivos en diversos grupos
taxonmicos (plantas, animales, microorganismos,

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

etc).

Descripcin y comparacin de diversos tipos de

Imitacin del comportamiento de seres vivos en

neuronas.

ecosistemas, teniendo en cuenta necesidades y


cantidades disponibles de energa y nutrientes
(cadena alimentaria).

Explicacin de las funciones de los diversos


componentes de un circuito elctrico.
Representacin del fenmeno migratorio de varias
especies de animales como respuesta a cambios
Descripcin de los principales elementos del
sistema solar que incluya las relaciones de tamao,

en el ambiente y en los ecosistemas en los que


viven.

movimiento y posicin.
Ilustracin interactiva de la adaptacin de los seres
Adicionalmente, la elaboracin de simulaciones es

vivos a variaciones en el entorno en que viven.

un veta muy rica para formular proyectos en


Ciencias Naturales. Estas sin duda contribuyen a la
comprensin de fenmenos naturales ya que en

Demostracin del funcionamiento de circuitos

este tipo de actividades los estudiantes actan

elctricos en serie y en paralelo.

como diseadores. No se debe pasar por alto que


los estudiantes aprendan ms construyendo
materiales de instruccin que estudindolos
(Jonassen, Carr & Yue, 1998).

Imitacin del efecto de la transferencia de energa


trmica en los cambios de estado de algunas
sustancias.

Para poder construir las simulaciones los


estudiantes deben coordinar periodicidad y reglas
de interaccin entre varios objetos mviles
programables (tortugas y objetos). Adems, la
posibilidad de programar interacciones con el
usuario de la simulacin ofrece oportunidades

Representacin del ciclo de vida de una planta


teniendo en cuenta factores ambientales (semilla
siembra desarrollo planta florecimiento
polinizacin semilla).

valiosas para comprometer al estudiante


diseador en la reflexin sobre deteccin de
actividad, retroalimentacin, usabilidad y otros
elementos 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

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.

Ciencias Naturales:
Representacin del movimiento y desplazamiento
de objetos con diferentes velocidades.

De lo contrario, se debe incluir en cada proyecto un


Ilustracin interactiva del sistema solar.

componente previo de investigacin en el cual los


estudiantes puedan alcanzar los conocimientos
bsicos conceptuales requeridos para llevar a cabo

En el caso de las Ciencias Naturales es


fundamental tener en cuenta que los proyectos que
se realicen utilizando entornos de programacin

el proyecto. La mayora de estos proyectos de este


tipo se enfocan en la comunicacin de hallazgos de
indagaciones y/o experimentaciones.

como Scratch o MicroMundos pueden requerirse


conocimiento bsico del tema por parte de los
estudiantes. En este caso, los proyectos se
convierten en profundizacin para la comprensin
de esos temas.

Una tercera opcin es trabajar con el entorno de


programacin como actividad exploratoria a un
tema dado en Ciencias Naturales; sin embargo,
este enfoque requiere una planeacin cuidadosa
para que se logre el objetivo de aprendizaje y la
actividad no se quede nicamente en lo ldico.

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

SOLUCIN DE PROBLEMAS
tienen algunos
Una de las
acepciones
que trae el
Diccionario de
Real
Academia de
la Lengua
Espaola
(RAE)
respecto a la
palabra
Problema es
Planteamient
o de una
situacin cuya
respuesta
desconocida
debe
obtenerse a
travs de
mtodos
cientficos.
Con miras a

elementos en
comn: un
estado
inicial; una
meta, lo que
se pretende
lograr; un
conjunto de
recursos, lo
que est
permitido
hacer y/o
utilizar; y un
dominio, el
estado actual
de
conocimientos
, habilidades y
energa de
quien va a
resolverlo
(Moursund,
1999).

lograr esa
respuesta, un
problema se
puede definir
como una
situacin en la
cual se trata
de alcanzar
una meta y
para lograrlo
se deben
hallar y utilizar
unos medios y
unas
estrategias. La
mayora de
problemas

Casi todos los


problemas
requieren, que
quien los
resuelve, los
divida en
submetas
que, cuando
son
dominadas
(por lo regular
en orden),
llevan a
alcanzar el
objetivo. La
solucin de

problemas

problemas en

tambin

muchas

requiere que

reas. A

se realicen

travs del

operaciones

tiempo, la

durante el

humanidad ha

estado inicial

utilizado

y las

diversas

submetas,

estrategias

actividades

generales

(conductuales,

para resolver

cognoscitivas)

problemas.

que alteran la

Schunk

naturaleza de

(1997),

tales estados

Woolfolk

(Schunk,

(1999) y otros,

1997).

destacan los
siguientes
mtodos o

Cada
disciplina

estrategias de
tipo general:

dispone de
estrategias
especficas

Ensayo y

para resolver

error :

problemas de

Consiste en

su mbito; por

actuar hasta

ejemplo,

que algo

resolver

funcione.

problemas

Puede tomar

matemticos

mucho tiempo

implica utilizar

y no es

estrategias

seguro que se

propias de las

llegue a una

matemticas.

solucin. Es

Sin embargo,

una estrategia

algunos

apropiada

psiclogos

cuando las

opinan que es

soluciones

posible utilizar

posibles son

con xito

pocas y se

estrategias

pueden probar

generales,

todas,

tiles para

empezando

resolver

por la que

ofrece mayor

se incluye una

probabilidad

interrupcin

de resolver el

en el trabajo

problema. Por

sobre un

ejemplo, una

problema se

bombilla que

logran

no prende:

mejores

revisar la

resultados

bombilla,

desde el

verificar la
corriente
elctrica,
verificar el
interruptor.

punto de vista
de la
creatividad. La
incubacin
ayuda a

Iluminacin :

"olvidar"

Implica la

falsas pistas,

sbita

mientras que

conciencia de

no hacer

una solucin

interrupciones

que sea

o descansos

viable. Es muy

puede hacer

utilizado el

que la

modelo de

persona que

cuatro pasos

trata de

formulado por

encontrar una

Wallas (1921):

solucin

preparacin,

creativa se

incubacin,

estanque en

iluminacin y

estrategias

verificacin.

inapropiadas.

Estos cuatro
momentos
tambin se
conocen como
proceso
creativo.
Algunas

Heurstica :
Se basa en
la utilizacin
de reglas

investigacione
s han
determinado
que cuando
en el periodo
de incubacin

empricas
para llegar a
una solucin.
El mtodo

heurstico

propuesto por

conocido

Polya.

como IDEAL,
formulado por
Bransford y
Stein (1984),
incluye cinco
pasos:
Identificar el
problema;
definir y
presentar el
problema;
explorar las
estrategias
viables;
avanzar en las
estrategias; y
lograr la
solucin y
volver para
evaluar los
efectos de las
actividades
(Bransford &
Stein, 1984).
El matemtico
Polya (1957)
tambin
formul un

Algoritmos :
Consiste en
aplicar
adecuadamen
te una serie
de pasos
detallados que
aseguran una
solucin
correcta. Por
lo general,
cada
algoritmo es
especfico de
un dominio del
conocimiento.
La
programacin
de
computadores
se apoya en
este mtodo,
tal como
veremos en la
Unidad 2.

mtodo
heurstico
para resolver
problemas
que se
aproxima
mucho al ciclo
utilizado para
programar
computadores
. A lo largo de
esta Gua se
utilizar este
mtodo

Modelo de
procesamien
to de
informacin :
El modelo
propuesto por
Newell y
Simon (1972)
se basa en
plantear varios
momentos
para un
problema
(estado inicial,

estado final y

meta hacia el

vas de

estado inicial)

solucin). Las

o en

posibles

prospectiva

soluciones

(desde el

avanzan por

estado inicial

subtemas y

hacia la

requieren que

meta).

se realicen
operaciones
en cada uno
de ellos.

Razonamient
o analgico :
Se apoya en
el

Anlisis de

establecimient

medios y

o de una

fines : Se

analoga entre

funda en la

una situacin

comparacin

que resulte

del estado

familiar y la

inicial con la

situacin

meta que se

problema.
Requiere
conocimientos

pretende
alcanzar para
identificar las

suficientes de
ambas
situaciones.

diferencias.
Luego se
establecen

Lluvia de

submetas y se

ideas :

aplican las

Consiste en

operaciones

formular

necesarias

soluciones

para alcanzar

viables a un

cada submeta

problema. El

hasta que se

modelo

alcance la

propuesto por

meta global.

Mayer (1992)

Con este

plantea:

mtodo se

definir el

puede

problema;

proceder en

generar

retrospectiva

muchas

(desde la

soluciones

(sin

Pensamiento

evaluarlas);

lateral : Se

decidir los

apoya en el

criterios para

pensamiento

estimar las

creativo,

soluciones

formulado por

generadas; y

Edwar de

emplear esos

Bono (1970),

criterios para

el cual difiere

seleccionar la

completament

mejor

e del

solucin.

pensamiento

Requiere que

lineal (lgico).

los

El

estudiantes no

pensamiento

emitan juicios

lateral

con respecto a

requiere que

las posibles

se exploren y

soluciones

consideren la

hasta que

mayor

terminen de

cantidad

formularlas.

posible de

Sistemas de

alternativas

produccin :

para

Se basa en la

solucionar un

aplicacin de

problema. Su

una red de

importancia

secuencias de

para la

condicin y

educacin

accin

radica en

(Anderson,

permitir que el

1990).

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

busque

diferentes,

alternativas);

avive

perfeccionami

(promueva el

ento y

uso de la

redefinir esa

fantasa y del

posibilidad

humor); libere

como un

(use la

problema (De

discontinuidad

Bono, 1970).

y escape de
ideas
preestablecida
s); y
contrarreste la
rigidez (vea
las cosas
desde
diferentes
ngulos y
evite
dogmatismos)
. Este es un
mtodo
adecuado
cuando el
problema que
se desea
resolver no
requiere
informacin

Como se
puede
apreciar, hay
muchas
estrategias
para
solucionar
problemas; sin
embargo, esta
Gua se
enfoca
principalmente
en dos de
estas
estrategias:
Heurstica y
Algortmica.

adicional, sino
un
reordenamient

Segn Polya

o de la

(1957),

informacin

cuando se

disponible;

resuelven

cuando hay

problemas,

ausencia del

intervienen

problema y es

cuatro

necesario

operaciones

apercibirse de

mentales:

que hay un
problema; o
cuando se
debe
reconocer la
posibilidad de

Entender el
problema

Trazar un plan

actividad
encaminada a
resolver

Ejecutar el

problemas.

plan (resolver)

Revisar

Numerosos
autores de
textos
escolares de
matemticas
hacen
referencia a
estas cuatro
etapas
planteadas
por Polya. Sin
embargo, es
importante
notar que
estas son
flexibles y no
una simple
lista de pasos
como a

Ilustracin 1-1:
Interpretacin
dinmica y cclica
de las etapas
planteadas por
Polya para
resolver
problemas.

menudo se
plantea en
muchos de
esos textos
(Wilson,
Fernndez &
Hadaway,
1993).
Cuando estas
etapas se
siguen como
un modelo
lineal, resulta
contraproduce
nte para
cualquier

Es necesario
hacer nfasis
en la
naturaleza
dinmica y
cclica de la
solucin de
problemas. En
el intento de
trazar un plan,
los
estudiantes
pueden
concluir que

necesitan
entender
mejor el
problema y
deben
regresar a la
etapa anterior;
o cuando han
trazado un
plan y tratan
de ejecutarlo,
no encuentran
cmo hacerlo;

Matemtico 5
(Daz, 1993) y
en Dominios
5 (Melo,
2001) se
pueden
identificar las
siguientes
sugerencias
propuestas a
los
estudiantes
para llegar a
la solucin de
un problema
matemtico:

entonces, la
actividad
siguiente
puede ser
intentar con
un nuevo plan
o regresar y
desarrollar
una nueva
comprensin
del problema

COMPRENDE
R EL
PROBLEMA.
Leer el
problema
varias veces
Establecer los
datos del
problema

(Wilson,
Fernndez &
Hadaway,
1993; Guzdial,
2000).

TIP

La mayora de
los textos
escolares de
matemticas
abordan la
Solucin de
Problemas bajo
el enfoque
planteado por
Polya. Por

ejemplo, en
Recreo

Aclarar lo que
se va a resolver
(Cul es la
pregunta?)

Precisar el
resultado que
se desea
lograr
Determinar la
incgnita del
problema
Organizar la
informacin
Agrupar los
datos en
categoras

Trazar una
figura o
diagrama.

HACER EL
PLAN.

Escoger y
decidir las
operaciones a
efectuar.

Eliminar los
datos intiles.

Descomponer
el problema
en otros ms
pequeos.

EJECUTAR
EL PLAN
(Resolver).

Ejecutar en
detalle cada
operacin.

Simplificar
antes de
calcular.

Realizar un
dibujo o
diagrama

ANALIZAR LA
SOLUCIN
(Revisar).

Dar una
respuesta
completa

Hallar el
mismo
resultado de
otra manera.

Verificar por
apreciacin que
la respuesta es
adecuada.

EJEMPLO

En un juego, el
ganador obtiene
una ficha roja; el
segundo, una
ficha azul; y el
tercero, una
amarilla. Al final
de varias rondas,
el puntaje se
calcula de la
siguiente
manera: Al cubo
de la cantidad de
fichas rojas se
adiciona el doble
de fichas azules
y se descuenta
el cuadrado de
las fichas
amarillas. Si
Andrs lleg 3
veces en primer
lugar, 4 veces de
ltimo y 6 veces
de intermedio,
Qu puntaje
obtuvo?
(Adaptado de
Melo (2001),
pgina 30).

R/.

COMPRENDE

Leer
detenidament
e el problema

Cuntos
colores de
fichas se
reparten?

Cuntas
fichas rojas,
azules y
amarillas
obtuvo
Andrs?

en ltimo lugar,
calcular el
cuadrado de la
cantidad de fichas
amarillas.

Para hallar el
puntaje total,
calcular la suma
de los puntajes
por las fichas
rojas y azules,
restarle los
puntos de las
fichas

amarillas.
RESUELVE

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.

Para hallar el
puntaje por sus
llegadas en
segundo lugar,
calcular el
doble de la
cantidad de
fichas azules.

Para hallar el
puntaje que pierde
por sus llegadas

Por tres fichas


3

rojas: 3 = 27
puntos
Por seis fichas
azules: 6 x 2
= 12 puntos

Por cuatro
fichas
2

amarillas: 4
= 16 puntos

Para obtener el
puntaje final de
Andrs, sumar
los puntos
obtenidos con
las fichas rojas
y azules (27 +
12 = 39 puntos)
y de este
resultado restar
los puntos
representados
por las fichas
amarillas (39
16 = 23 puntos).

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.

Verificar las
operaciones y

comparar los
clculos con
la solucin
estimada.

El anterior es
un problema
tpico en clase

que estudian
Educacin
Ambiental e
Historia, y
ninguno toma las
tres materias,
cuntos
alumnos tiene la
academia?
(Adaptado de
Melo, 2001,
pgina 46).

de
matemticas.
Es muy
importante
que los
estudiantes
reflexionen
sobre las
actividades
que realizan
para
solucionarlo
(metacognici
n) y las
agrupen de
acuerdo a las
etapas que
contenga la
estrategia de
solucin
empleada.

ACTIVIDAD

En la academia
de las ciencias
sociales hay dos
grupos de
materias:
Geografa, con
124 alumnos;
Historia, con
220; y Educacin
Ambiental, con
185. Si hay 25
alumnos que
estudian
Geografa y
Educacin
Ambiental, 37

El estudiante
debe tener en
cuenta (y
anotar) las
actividades que
realiza para
resolver este
problema y
agruparlas en
cada una de las
cuatro etapas
propuestas por
Polya
(comprende,
planea,
resuelve y
revisa). Para
resolver este
problema, los
estudiantes
deben tener
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
datos.

Establecer un
modelo para
solucionar
problemas es
un paso
fundamental

pero no
suficiente.
Segn
Clements &
Meredith
(1992) y
Zemelman,
Daniels &
Hyde (1998) y
otros, los
docentes
deben adoptar
una serie de
buenas
prcticas con

Ofrecer
experiencias
que estimulen
la curiosidad
de los
estudiantes y
construyan
confianza en
la
investigacin,
la solucin de
problemas y la
comunicacin.

el fin de
ayudar a los
estudiantes a
desarrollar
habilidades
para resolver
problemas:

Permitir a los
estudiantes
tomar la
iniciativa en el
planteamiento
de preguntas
e

Plantear
verbalmente
problemas

investigacione
s que les
interesen.

con variedad
de estructuras
y de formas
de solucin.

Hacer
preguntas que
involucren
pensamiento

Presentar
diversas

de orden
superior.

estrategias de
solucin de
problemas.

Verificar que
los
estudiantes

Asignar
problemas
que tengan
aplicacin en
la vida diaria.

son
conscientes
de las
estrategias
que deben

utilizar y de

nes visuales

los procesos

que

que deben

favorezcan la

aprender.

comprensin
de conceptos
(diagramas de

Plantear
problemas
que
proporcionen

flujo, mapas
conceptuales,
diagramas de
Venn, etc).

contextos en
los que se
aprendan

Dar

conceptos y

retroalimentaci

habilidades.

n
personalizada
en

Proveer
ejemplos de
cmo los
conceptos y
habilidades
utilizados
podran

consideracin
al esfuerzo
hecho por los
estudiantes
para
solucionar
problemas.

aplicarse en
otros
contextos.

Verificar que
una cantidad
importante de

Promover, de
manera
creciente, la
abstraccin y
la
generalizacin

la instruccin
ocurra en
grupos
pequeos o
en situaciones
de uno a uno.

mediante la
reflexin y la
experimentaci

Ventilar los

n.

errores y
malentendidos
ms comunes.

Fomentar la
utilizacin de
representacio

Promover la

entre

interaccin

estudiantes.

tanto
estudiantedocente, como
estudianteestudiante.

Solucin

Los nios son

de

los mejores
maestros de
otros nios en

problemas
y

cosas tan

programac

importantes

in

para ellos
como el
aprendizaje
de diversos
juegos
(Savater,
1996).

Desde el
punto de vista
educativo, la
solucin de
problemas
mediante la
programacin

Ofrecer

de

actividades

computadores

que den

posibilita la

oportunidad a

activacin de

los

una amplia

estudiantes de

variedad de

discutir, hacer

estilos de

conjeturas,

aprendizaje.

sacar

Los

conclusiones,

estudiantes

defender

pueden

ideas y

encontrar

escribir

diversas

conceptualiza

maneras de

ciones.

abordar
problemas y
plantear

Proporcionar
oportunidades
para realizar
trabajo
reflexivo y
colaborativo

soluciones, al
tiempo que
desarrollan
habilidades
para:
visualizar

caminos de
razonamiento
divergentes,
anticipar
errores, y
evaluar
rpidamente
diferentes
escenarios
mentales
(Stager,
2003).

Ilustracin 12(a): rea de


trabajo de
MicroMundos EX
(interfaz del
programa)

Quienes han
utilizado Logo
con
estudiantes de
bsica
primaria
(especialment
e 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

con la interfaz

podido

del programa y

observar la

la utilizan para

facilidad con

darle

que ellos se

instrucciones a

familiarizan

la tortuga. Por

ejemplo,
utilizan el
centro de
mando (rea
de comandos)
para introducir
manualmente,
una a una, las
instrucciones
para construir
un rectngulo.
Esta forma de
utilizar Logo
promueve la
exploracin y
permite al
estudiante ver
inmediatament

Ilustracin 12(b): rea de


trabajo de
Scratch Versin
1.4 (interfaz del
programa)

e cul es el
efecto que
produce cada
instruccin

EJEMPLO

ejecutada.
Pedir a los
estudiantes
que escriban
en el Centro
de Mando las
instrucciones
para dibujar un
rectngulo con
las siguientes
medidas:
Lado1= 80;
Lado2=120.

esperado. As,
Logo
promueve lo
que Piaget
(1964)

implica que
ellos deben
pensar en algo
muy parecido a
lo siguiente (y
escribirlo):

denomin la
conquista de
la difcil

MicroMundos

conducta de la

Scratch

reflexin que
se inicia a
partir de los

para
rectngulo

siete u ocho
aos cuando
nios y nias

cp

dejan de
actuar por
impulso y

adelante 80

empiezan a
pensar antes
de proceder.

derecha 90

Adems,
demanda de
los

adelante 120

estudiantes
planificar,
formular

derecha 90

hiptesis y
anticipar qu
suceder.

adelante 80

derecha 90
EJEMPLO
adelante 120
Pedir a los
estudiantes
que escriban
un
procedimiento
para dibujar un
rectngulo con
unas medidas
determinadas
(Lado1= 80;
Lado2=120),

Fin

Cuando se invoca
este
procedimiento
escribiendo
rectngulo en el
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
rectngulo [to

Mi
cr
o
M
un
do
s

cp
ad
ela
nte
80
der
ec
ha
90

S
c
E
c

rectangulo] y fin
[end]
(MicroMundos) o
debajo de la
instruccin [al
presionar bandera
verde]. Antes de
escribir el anterior
procedimiento, los
estudiantes deben
analizar la figura
geomtrica que
desean construir,
describirla y
reflexionar acerca
de cmo se unen
sus partes (dos
pares de lados
paralelos de igual
longitud y
particin y de
operaciones
inversas de
reunin o
adicin, as
como
desplazamient
os por
separacin o
concentracin
(Piaget, 1964).

Pedir a los
estudiantes
que
escriban un
procedimie
nto ms

ad
ela
nte
12
0
der
ec
ha
90
ad
ela
nte
80
der
ec
ha
90
ad
ela
nte
12
0

general
para
dibujar
cualquier
rectngulo,
significa
que ellos
deben
tratar las
dimensione
s de la
figura
como
variables
(Lado1= ?;
Lado2= ?)
y no como

co

ns
nte, una tras
A medida que
el estudiante
introduce
cada una de
estas
instrucciones
se dibuja cada
uno de los
lados que
conforman el
rectngulo.

otra, hasta
encontrar el
comando fin.
Emplear Logo
de esta
manera exige
que el
estudiante
piense en
todos los
comandos

NOTA: Ver en el
Anexo 1 un
resumen de las
primitivas
(comandos e
instrucciones) de
MicroMundos y de
Scratch utilizadas
en esta gua.

que
conforman un
procedimiento
antes de
escribirlo,
ejecutarlo y
comprobar si
produce el

Sin embargo,

resultado

en esta gua
se utilizar el
rea de
procedimiento
s de
MicroMundos
para
programar el
computador.
Los
procedimiento
s son mdulos
con
instrucciones
que se inician
con el
comando
para y que el
computador
ejecuta
automticame

(Lado1= 80;
Lado2= 120).
Adems,
deben
construir una
definicin de
rectngulo
que el
computador
entienda; de
esta manera,
empiezan a
construir
conocimiento
intuitivo
acerca de la
definicin de
esta figura
geomtrica,
conocimiento

que luego

varios

pueden

aspectos

formalizar en

importantes

una definicin

de la solucin

abstracta de

de problemas:

la misma

decidir sobre

(Clements &

la naturaleza

Meredith,

del problema,

1992).

seleccionar
una
representaci

Adicionalment
e, la
programacin
de
computadores
compromete a
los
estudiantes en

n que les
ayude a
resolverlo, y
monitorear
sus propios
pensamientos
(metacognici
n) y
estrategias

Pg.10 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

de tratar
de solucin.
Este ltimo, es
un aspecto
que ellos
deben
desarrollar
desde edades
tempranas y
solucionar
problemas
con ayuda del

cualquier
problema de
manera
rigurosa y
sistemtica,
aun, cuando
no se vaya a
utilizar un
computador
para
solucionarlo.

computador
puede
convertirse en
una excelente
herramienta
para adquirir
la costumbre

De hecho,
para muchos
educadores,
el uso
apropiado de
la tecnologa

en la

esta rea

educacin

(Wilson,

tiene un

Fernndez &

significado

Hadaway,

similar a la

1993).

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
implica abrirle
un espacio a
la

Numerosos
autores de
libros sobre
programacin,
plantean
cuatro fases
para elaborar
un
procedimiento
que realice
una tarea
especfica.
Estas fases
concuerdan
con las
operaciones
mentales
descritas por
Polya para
resolver
problemas:

programacin
en el estudio
de las
matemticas,
pero
enfocndose

Analizar el
problema
(Entender el
problema)

en los
problemas
matemticos y
en el uso del
computador
como una

Disear un
algoritmo
(Trazar un
plan)

herramienta
para
solucionar

Traducir el

problemas de

algoritmo a un

lenguaje de
programacin

(Ejecutar el
plan)

4.
Depurar el
programa
(Revisar)

Como se
puede
apreciar, hay
una similitud
entre las
metodologas
propuestas
para
solucionar
problemas
matemticos
(Clements &
Meredith,
1992; Daz,
1993; 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.

Analizar el
problema
(entenderl
o)

hasta lograr la
mejor
comprensin
posible. Una
forma de
realizar esta
actividad se
basa en
formular
claramente el
problema,
especificar los
resultados
que se
desean
obtener,
identificar la
informacin
disponible
(datos),
determinar las
restricciones
y definir los
procesos
necesarios
para convertir
los datos

Ilustracin 1-4:
Primera fase del
ciclo de
programacin.

disponibles
(materia
prima) en la
informacin
requerida

Los

(resultados).

programas de
computador
tienen como
finalidad
resolver
problemas
especficos y
el primer paso
consiste en
definir con
precisin el
problema

Estas etapas
coinciden
parcialmente
con los
elementos
generales
que, segn
Schunk
(1997), estn
presentes en

todos los
problemas:
Especificar
claramente los
resultados
que se
desean
obtener (meta
y submetas)
Identificar la
informacin
disponible
(estado inicial)

Definir los
procesos que
llevan desde

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

los datos
disponibles
hasta el
resultado
deseado
(operaciones)

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

forma verbal o
Ahora veamos
con mayor
detalle cada
una de las
etapas del
anlisis de un
problema.

escrita que
vinculen la
enseanza de
las
matemticas
con el entorno
en el que vive
el estudiante y
que tengan
una variedad
de estructuras

Formular
el
problema

y de formas
de solucin
(Zemelman,
Daniels &
Hayde, 1998).

La solucin de
un problema

Esta

debe iniciar

metodologa

por determinar

obliga al

y comprender

estudiante a

exactamente

formular el

en qu

problema a

consiste ese

partir de la

problema. La

situacin real

mayora de los

planteada. De

problemas

esta manera

que se

se

resuelven en

contrarresta la

el aula de

costumbre tan

clase llegan a

comn en el

manos de los

aula de que

estudiantes

los problemas

perfectamente

sean

formulados.

formulados

Esta etapa es

por el profesor

una buena

o tomados de

oportunidad

los libros de

para plantear

texto (Brown &

situaciones en

Walter, 1990).

EJEMPLO

OPCIN 1:

Juan Felipe es
jefe de bodega
en una fabrica
de paales
desechables y
sabe que la
produccin
diaria es de 744
paales y que
en cada caja
donde se
empacan para
la venta caben
12 paales.
Cuntas cajas
debe conseguir
Juan Felipe
para empacar
los paales
fabricados en
una semana?

OPCIN 2:

Juan Felipe es
jefe de bodega
en una fabrica
de paales
desechables y
una de las tares
del da consiste
en llamar al
proveedor de
los empaques y
ordenarle la
cantidad
suficiente de
cajas para
empacar los
paales
fabricados en la
semana
prxima. El jefe
de produccin
le inform ayer
a Juan Felipe
que la
produccin
diaria ser de
744 paales y
en cada caja

cabe una
docena de ellos.
Qu debe
hacer Felipe?

La Opcin 1
plantea
directamente el
problema que el
estudiante debe
resolver.
Mientras que la
Opcin 2
plantea una
situacin y la
pregunta es
Qu debe
hacer Felipe?.
La Opcin 2
demanda al
estudiante leer
muy bien el
texto para
comprender la
situacin y as
poder formular
el problema de
Juan Felipe. Es
algo similar a
preguntar al
estudiante
cunto es 7
menos 3
versus
preguntar s
Rosa tiene 7
naranjas y Julio
tiene 3, cuntas
naranjas de
ms tiene
Rosa.

La
comprensin
lingstica del
problema
(entender el
significado de
cada
enunciado) es
muy
importante. El
estudiante
debe realizar

una lectura
previa del
problema con
el fin de
obtener una

Qu
informacin
puedo omitir?

visin general
de lo que se le
pide y una
segunda
lectura para
poder
responder
preguntas
como:

Adems, es
conveniente
que los
estudiantes se
habiten a
analizar los
problemas
desde
diferentes

Puedo definir
mejor el
problema?

puntos de
vista y a
categorizar la
informacin
dispersa que

Qu
palabras del
problema me
son

reciben como
materia prima
(Schunk,
1997).

desconocidas
?

En
programacin

Cules son
las palabras
clave del
problema?

es frecuente
que quien
programa
deba formular
el problema a
partir de los

He resuelto
antes algn
problema
similar?

resultados
esperados. Es
muy
importante
que el
estudiante sea
consciente de

Qu

que cuando

informacin es

las

importante?

especificacion

es de un
programa se
comunican
mediante
lenguaje
natural, estas
pueden ser
ambiguas,
incompletas e
incongruentes.
En esta etapa
se debe hacer
una
representaci
n precisa del
problema
(Rumbaugh,

Como el
efectivo que
tiene doa
Ruby no le
alcanza para
comprar el
televisor de
contado, ella
tiene dos
opciones:
comprarlo
totalmente a
crdito o
pagar una
parte de
contado
(cuota inicial)
y el resto a
crdito.

1996);
especificar lo
ms
exactamente
posible lo que
hay que hacer
(no cmo hay
que hacerlo).

EJEMPLO

Doa Ruby
necesita
decidir cmo
comprar un
televisor que
cuesta
850.000 de
contado o
960.000 a
crdito. Ella
tiene 600.000
pesos en
efectivo.

R/.

Para poder
resolver el
problema se
debe conocer
el nmero de
cuotas si
desea pagarlo
totalmente a
crdito o
conocer el
nmero de
cuotas y el
valor total del
televisor si se
da una cuota
inicial de
600.000
pesos.

Precisar
los
resultados
esperados

(meta y

formato deben

submetas)

tener esos
resultados
(impresos, en

Para
establecer los
resultados
que se
esperan
(meta) es

pantalla,
diagramacin,
orden, etc). El
estudiante
debe
preguntarse:

necesario
identificar la
informacin

Qu

relevante,

informacin

ignorar los

me solicitan?

detalles sin
importancia,
entender los
elementos del
problema y

Qu formato
debe tener
esta
informacin?

activar el
esquema
correcto que
permita
comprenderlo

Identificar

en su totalidad

datos

(Woolfolk,

disponible

1999).

Determinar
con claridad
cul es el

(estado
inicial)

resultado final
(producto) que
debe devolver
el programa
es algo que
ayuda a
establecer la
meta. Es
necesario
analizar qu
resultados se
solicitan y qu

Otro aspecto
muy
importante en
la etapa de
anlisis del
problema
consiste en
determinar
cul es la
informacin

disponible. El

Cules son

estudiante

los datos de

debe

entrada?

preguntarse:

(conocidos)

Qu
informacin es
importante?

Qu
informacin
no es
relevante?

Cul es la
incgnita?

Qu
informacin
me falta para
resolver el
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?

Otro aspecto
importante del
estado inicial
hace
referencia al

conveniente
que el
estudiante se
pregunte a s
mismo:

Qu
conocimientos
tengo en el
rea o reas
del problema?

nivel de
conocimiento
que el
estudiante
posee en el
mbito del
problema que
est tratando
de resolver.
Es

Son
suficientes
esos
conocimientos
?

Dnde

conocimiento

puedo obtener

condicional

el

proporciona al

conocimiento

alumno un

que necesito

sistema de

para resolver

valoracin

el problema?

sobre la
extensin y
las

Mis
compaeros
de estudio me
pueden
ayudar a
clarificar mis
dudas?

limitaciones
de su saber
(qu sabe
sobre el tema,
su capacidad
de memoria,
etc), a la vez
que examina
la naturaleza

Qu
expertos en el
tema puedo
consultar?

de la
demanda del
profesor y su
objetivo
ltimo, y
evala

En el mbito
de las
matemticas,
se conoce
como
conocimiento
condicional a
aquel que
activan los
estudiantes
cuando

variables
externas como
pueden ser el
tiempo que
tiene o con
quin realiza
la tarea
(Orubia &
Rochera &
Barber,
2001).

aplican
procedimiento
s matemticos

EJEMPLO

concretos de
manera
intencional y
consciente a
ciertas
situaciones.
El

Esteban est
ahorrando para
comprar una
patineta que vale
55.000 pesos.
Su pap le ha
dado una
mesada de 5.000

pesos durante 7
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
mam y 4.000
por sacar a
pasear el perro.
Esteban tiene
ahorrado el
dinero suficiente
para comprar la
patineta o an le
falta? (Adaptado
de Casasbuenas
& Cifuentes
(1998b), pgina
23).

R/.

restriccion
es

Resulta
fundamental
que los
estudiantes
determinen
aquello que
est permitido
o prohibido
hacer y/o
utilizar para
llegar a una
solucin. En
este punto se
deben

Formular el
problema: Ya se
encuentra
claramente
planteado.
Resultados
esperados: Si o
no tiene Esteban
ahorrado el
dinero suficiente
para comprar
una patineta que
vale 55.000
pesos. Datos
disponibles: Los
ingresos de
Esteban: 5.000
pesos por 7
semanas + 8.000
pesos. Los
10.000 y 4.000
pesos qu gan
el hermano de
Esteban son
irrelevantes para
la solucin de
este problema y
se pueden omitir.

exponer las
necesidades y
restricciones
(no una
propuesta de
solucin). El
estudiante
debe
preguntarse:

Qu
condiciones
me plantea el
problema?

Qu est
prohibido
hacer y/o
utilizar?

Determinar
las

Qu est
permitido

hacer y/o

Qu

utilizar?

procesos
necesito?

Cules datos
puedo

Qu

considerar

frmulas debo

fijos

emplear?

(constantes)
para
simplificar el
problema?

Cmo
afectan las
condiciones a
los procesos?

Cules datos
son variables?
Qu debo
hacer?
Cules datos
debo calcular?
Cul es el
orden de lo

Establecer
procesos

que debo
hacer?

(operaciones
)

En la medida
de lo posible,

Consiste en
determinar los
procesos que
permiten
llegar a los
resultados
esperados a
partir de los
datos
disponibles. El
estudiante
debe
preguntarse:

es
aconsejable
dividir el
problema
original en
otros ms
pequeos y
fciles de
solucionar
(submetas),
hasta que los
pasos para
alcanzarlas se
puedan
determinar
con bastante

precisin

pequeos y

(mdulos).

manejables

Esto es lo que

(mdulos),

en

hay que tener

programacin

cuidado para

se denomina

no perder de

diseo

vista la

descendente o

comprensin

top-down

de este como

(Joyanes,

un todo. El

2001).

estudiante,
luego de
dividir el
problema

El diseo
descendente
se utiliza en la
programacin
estructurada
de
computadores
debido a que
facilita:
La
comprensin

original en
submetas
(mdulos),
debe integrar
cada parte de
tal forma que
le permita
comprender el
problema
como un todo
(Woolfolk,
1999).

del problema
Igualmente
Las
modificacione
s en los
mdulos

hay que tener


cuidado
cuando se
utiliza este
enfoque para
resolver

La verificacin
de la solucin

problemas
complejos o
extensos, en
cuyo caso
resulta ms

Al realizar

aconsejable

divisiones

utilizar una

sucesivas del

metodologa

problema en

orientada a

otros ms

objetos.

Especialmente

e sencillo de

, cuando

resolver). De

profesores

esta forma

universitarios

ellos podrn

manifiestan su

enfocarse en

preocupacin

aplicar

por el

completament

aprendizaje

e la

de malas

metodologa

prcticas de

propuesta

programacin

para analizar

en el colegio.

problemas

Hay casos en

(formular el

los cuales

problema,

algunos

especificar los

estudiantes no

resultados,

han podido

identificar la

cambiar su

informacin

forma de

disponible,

pensar

determinar las

estructurada

restricciones y

por otra

definir los

orientada a

procesos) sin

objetos, la

perderse en el

cual hace

laberinto de

parte de los

un problema

programas

demasiado

universitarios

complejo.

modernos en
la carrera de
Ingeniera de
Sistemas. Es
aconsejable
que los
ejemplos y
actividades
planteados a
los
estudiantes
contengan
solo un
problema cuya
solucin sea
muy corta (no
necesariament

Las
operaciones
para llegar a
los resultados
esperados se
implementan
en Logo
mediante
procedimiento
s. Por
ejemplo, si se
desea
producir un
software para
trabajar con

figuras

tener en

geomtricas

cuenta y este

de diferentes

a su vez, debe

tipos, el

prestar los

tringulo

siguientes

rectngulo

servicios

ser uno de

(Jimnez,

los objetos a

2002):

Pg.13 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

Un
procedimiento
para leer los
datos de
entrada.

Un
procedimiento
para calcular
el rea.

Un
procedimiento
para calcular
la hipotenusa.

Un
procedimiento
para calcular
el permetro.

Un
procedimiento
para mostrar
los resultados.

Ilustracin 1-6:
Descripcin de
los servicios que
debe estar en
capacidad de
prestar el objeto
tringulo
rectngulo.

EJEMPLO

medidas
dadas.
De acuerdo con
la metodologa
descrita,
analizar el
problema de
hallar el rea de
un tringulo
rectngulo cuya
Base mide 3
cm, la Altura 4
cm y la
Hipotenusa 5
cm.

R/

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
hipotenusa se
puede omitir. El
estudiante debe
preguntarse si
sus
conocimientos
actuales de
matemticas le
permiten
resolver este
problema; de no
ser as, debe
plantear una
estrategia para
obtener los
conocimientos
requeridos.

Determinar
las
restricciones:
Utilizar las

Procesos
necesarios:
Guardar en dos
variables los
valores de Base
y Altura;
Guardar en una
constante el
divisor 2; aplicar
la frmula
rea=base*altur
a/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):

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?

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,
Determinar las
restricciones y
Procesos
necesarios.

TIP

Cinco pasos
que deben
tener en
cuenta los

estudiantes
para resolver
problemas
matemticos
(Rodrguez,
1995):

Leer con mucho


cuidado el
problema hasta
entenderlo.

Buscar la(s)
pregunta(s).

Decidir lo que
debes hacer.

Realizar las
operaciones.

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?

uno de sus
lados mide 3
cm.

Hallar el rea y
el permetro de
un crculo cuyo
radio mide 2 cm.

Hallar el rea
de un
pentgono
regular de 6
cm de lado y
con 4 cm de
apotema.

ACTIVIDAD

Dato
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
disponibles,
Determinar las
restricciones y
Procesos
necesarios) de
los siguientes
problemas (uno
por grupo):

Hallar el rea
de un
cuadrado
cuyo lado
mide 5 cm.

Hallar uno de
los lados de
un rectngulo
cuya rea es
2

de 15 cm y

Curioso

Deep Blue de IBM


fue el primer
computador que
super a un
campen mundial
de ajedrez
cuando le gan
una partida a
Gary Kasparov en
febrero de 1996.
La victoria de
Deep Blue
formaba parte de
una serie de seis
partidas, que
Kasparov termin
ganando 4-2. En
1997, una versin
nueva y mejorada
de Deep Blue
contraatac en
una segunda
serie. Esta vez, el
computador,
capaz de planear
una vertiginosa
cantidad de 200
millones de
posiciones por
segundo, gan la
serie a Kasparov
por 3.5 a 2.5
puntos. (Libro

Gunness de los
Records 2002)

cuarta, del
ciclo de
programacin.

Disear el
algoritmo
(trazar un
plan)

Este tema se
tratar en
profundidad
en las
unidades 2 y
3 de esta
gua. Por el
momento,
podemos
resumir que
nicamente
hasta cuando
Ilustracin 17: Fases
segunda,
tercera y

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

consiste en la

problema

representaci

(utilizando

n grfica,

alguna

mediante

metodologa),

smbolos

se puede

geomtricos,

proceder a

de la

elaborar el

secuencia

algoritmo

lgica de las

(diagrama de

instrucciones

flujo). Este

(plan) que

posteriorment
e sern
traducidas a
un lenguaje

Datos
disponibles:
Base, Altura,
Hipotenusa, tipo
de tringulo. La

de
programacin,
como Logo,
para
ejecutarlas y
probarlas en
un
computador.

EJEMPLO

Disear un
algoritmo
(seudocdigo
y diagrama de
flujo) para
hallar el rea
de un
tringulo
rectngulo
cuya Base
mide 3 cm, la
Altura 4 cm y
la Hipotenusa
5 cm.

R/

ANLISIS
DEL
PROBLEMA

Formular el
problema: Ya se
encuentra
claramente
planteado.
Resultados
esperados: El
rea de un
tringulo
rectngulo.

incgnita es el
rea y todos los
valores son
constantes. El
valor de la
hipotenusa se
puede omitir. El
estudiante debe
preguntarse si
sus
conocimientos
actuales de
matemticas le
permiten
resolver este
problema; de no
ser as, debe
plantear una
estrategia para
obtener los
conocimientos
requeridos.

Determinar las
restricciones:
Utilizar las
medidas
dadas.

Procesos
necesarios:
Guardar en dos
variables (BASE
y ALTURA) los
valores de Base
y Altura; Guardar
en una constante
(DIV) el divisor 2;
aplicar la frmula
BASE*ALTURA/
DIV y guardar el
resultado en la
variable AREA;
comunicar el
resultado
(AREA).

ALGORITMO
EN
SEUDOCDI
GO

Paso 1: Inicio

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

ALGORITMO
EN
DIAGRAMA
DE FLUJO

Ilustracin 18: Diagrama


de Flujo para
hallar el rea
de un
tringulo
rectngulo.

Traducir el
algoritmo
(ejecutar el
plan)

Este tema se
tratar en
profundidad
en las
Unidades 3 y
4 de esta
gua. Una vez
que el
algoritmo est
diseado y

representado

EJEMPLO

grficamente
se pasa a la
etapa de
traduccin a
un lenguaje
de
programacin
determinado
(en nuestro
caso ser
Logo). Cada
lenguaje
posee sus

A partir del
ejemplo anterior,
escribir un
procedimiento en
Logo que se
llame tringulo
para hallar el
rea de un
tringulo
rectngulo cuya
Base mide 3 cm,
la Altura 4 cm y
la Hipotenusa 5
cm.

R/

propias reglas
gramaticales,
por lo tanto es

MicroMundos

fundamental
que los
estudiantes
conozcan de
antemano la
sintaxis de los

para tringulo
local "div local
"base local "altura
local "rea da "div
2 da "base 3 da
"altura 4

comandos
que deben
utilizar para
resolver el
problema. A

da "rea :base
* :altura / :div
muestra :rea

mayor dominio
del lenguaje
de

fin

programacin,
mayor
posibilidad de
llegar
rpidamente a
una solucin
satisfactoria.
A esta fase de
traduccin se
le conoce
comnmente
como
codificacin.

Scratch

debe ser
probado y
validados los
resultados. A
este proceso
se le conoce
como
depuracin.
Depurar
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.

programas
contribuye a
mejorar la
capacidad en
los
estudiantes
para resolver
problemas; la
depuracin
basada en la
retroalimentaci

Depurar el
programa
(revisar)

n es una
habilidad til
para toda la
vida (Stager,
2003).

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

Quienes han
escrito alguna
vez un
programa de
computador,
saben de la
dificultad que
representa
elaborar
programas
perfectos en
el primer
intento,

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
medi
Si se
quier
e
llega
ra
un
plant
eami
ento,
para
Educ
aci
n
Bsi
ca,
que
contr
ibuy
a
efect
ivam
ente
a
desa
rrolla

da,
llega
ra
un
acue
rdo
sobr
e
qu
es la
creat
ivida
d,
pues
vario
s
autor
es la
defin
en
de
man
era
difer
ente.

r la
creat
ivida
d
progr
ama
ndo
com
puta
dore
s, es
conv
enie
nte
com
o
prim
era

De
acue
rdo
con
el
Dicci
onari
o de
la
Real
Acad
emia
Espa
ola
(RA
E),

creat

form

ivida

d es

inno

la

vado

facul

ra o

tad

de

de

apart

crear

arse

o la

de

capa

los

cida

esqu

d de

ema

crea

s de

cin.

pens

Por

amie

su

nto y

parte

cond

, la

ucta

enci

habit

clop

uale

edia

s.

Micr

Seg

osoft

Enca

Wiki

rta

pedi

defin

a, la

e la

creat

Crea

ivida

tivid

d es

ad

un

com

proc

o la

eso

capa

ment

cida

al y

d de

socia

inve

l que

ntar

impli

algo

ca

nuev

gene

o, de

rar

relac

nuev

ionar

as

algo

idea

cono

so

cido

conc

de

epto

s, o

nio),

nuev

a la

as

capa

asoc

cida

iacio

d de

nes

enco

entre

ntrar

idea

soluc

sy

ione

conc

epto

origi

nale

cono

sya

cido

la

s, lo

volu

que

ntad

habit

de

ualm

modi

ente

ficar

prod

uce

trans

solu

form

cion

ar el

es

mun

origi

do.

nale
s.
Las
defin
icion
es
anter
iores
se
refier
en al
acto
de
inve
ntar
cual
quier
cosa
nuev
a
(Inge

Ana
Craft
(200
1)
anot
a
que
las
defin
icion
es
de
creat
ivida
d
ms
acep
tada
s en

los

Ella

ltim

se

os

refier

50

ea

aos

la

son

crea

aque

tivida

llas

que

con

unen

creat

min

ivida

scula

de

imag

com

inaci

o la

n.

habili

Este

dad

enfo

para

que

hace

sugi

ere

frent

que

e, de

cada

man

pers

era

ona

efect

tiene

iva,

pote

a los

ncial

retos

creat

ivo

cam

ya

bios

que

que

este

nos

es

plant

un

ea la

aspe

vida

cto

en el

fund

siglo

ame

XXI.

ntal

Esta

de la

es la

natur

creat

alez

ivida

hum

que

ana.

sirve

para

afron

supe

tar

rar

tarea

obst

cul

cotidi

os

anas

tales

(elab

com

orar

una

dese

nuev

mple

oy

recet

pobr

ao

eza

un

arreg

apro

lo

vech

floral

ar

oport

escri

unid

bir

ades

una

carta

Esta

crea

poe

tivida

ma,

d se

ense

contr

ar

apon

un

ea

nuev

la

Cre

truco

ativid

ad

algui

con

en,

etc).

may

Tam

scul

bin

entra

prop

en

uest

jueg

a por

el

cuan

psiq

do

uiatr

se

debe

Gen

Sten

Coh

berg

en

(199

(cita

7),

do

autor

por

reco

Ban

noci

aji &

do

Burn

en

este

2006

cam

),

po,

que

argu

cara

ment

cteri

za

que

los

la

logro

creat

ivida

extra

d no

ordin

es

arios

solo

de

una

pers

capa

onas

cida

poco

d,

corri

sino

ente

un

proc

com

eso

en el

artist

que

as

inter

reno

vien

mbra

en

dos,

tres

cient

tipos

fico

de

se

inteli

inve

genc

ntore

ia:

s.

creat
iva
(ir
ms
all

de lo

dado

Esta

enge

dos

ndra

ltim

as

idea

inteli

genc

nuev

ias

as e

aport

inter

an la

esan

posi

tes),

bilida

anal

d de

tica

difer

(anal

enci

izar

ar

entre

eval

idea

uar

idea

inno

s,

vado

resol

ras

ver

buen

probl

as y

ema

mala

sy

s y,

toma

ade

ms,

deci

relac

sion

ionar

es) y

las

prct

con

ica

la

(trad

vida

ucir

cotidi

teor

ana

as

(Lp

abstr

ez,

acta

2000

s en

).

reali

Por

zaci

su

ones

parte

efect

ivas)

Gard

ner

ipio

(199

se

3)

consi

defin

dera

ea

nuev

la

pers

pero

ona

que

creat

al

iva
com
o
algui
en
que
regu
larm
ente
resu
elve
probl
ema
s,
gene
ra
prod

final
llega
a ser
acep
tada
por
un
grup
o
cultu
ral
parti
cular
.

ucto
so
defin
e

En

nuev

los

os

Est

cues

ndar

tiona

es

mien

Naci

tos

onal

en

es

un

Esta

domi

doun

nio,

iden

de

ses

man

de

era

TIC

que

para

en

Estu

princ

diant

es

cons

(NET

truir

SS),

cono

refor

cimie

mula

nto y

dos

desa

por

rrolla

ISTE

, el

prod

prim

ucto

er

sy

grup

proc

esos

corre

inno

spon

vado

de a

res

Crea

utiliz

tivid

ando

ad e

las

Inno

TIC.

vaci
n.
Para
ISTE
, los
estu
diant
es al
finali
zar
sus
Educ
aci
n
Medi
a
debe
n
dem
ostra
r
pens
amie
nto
creat
ivo,

Seg
n
ISTE
(200
7),
los
estu
diant
es
debe
n
estar
en
capa
cida
d de
aplic
ar su
cono
cimie
nto
previ
o
para

gene

com

rar

plejo

nuev

s; e

as

ident

idea

ificar

s,

tend

prod

enci

ucto

as y

so

prev

proc

er

esos

posi

bilida

crear

des.

traba
jos
origi
nale
s
com
o
medi
os
de
expr
esi
n
pers
onal
o
grup
al;
usar
mod
elos
y
simu
lacio
nes
para
expl
orar
siste
mas
y
tema
s

Seg
n el
Comi
t
Cons
ultivo
Naci
onal
para
la
Educ
aci
n
Crea
tiva y
Cultu
ral
de
Ingla
terra
(NA
CCC
E,
por
su
sigla
en
Ingl
s), la
creat
ivida

d se

es

defin

de

Apre

com

ndiz

o la

aje

activi

para

dad

el

imag

Siglo

inativ

XXI,

las

que

habili

tiene

dade

com

s de

apre

objet

ndiz

ivo

aje e

prod

inno

ucir

vaci

resul

n se

tado

est

tanto

reco

origi

noci

nale

endo

com

com

aque

gene

llas

rador

que

es

sepa

de

ran a

valor

los

(Rob

estu

inso

diant

n,

es

1999

que

).

est
n
prep

Para
el
Con
sorci
o de
Habil
idad

arad
os
para
los
ambi
ente
s de

vida

los

y de

estu

traba

diant

jo

es

del

para

Siglo

el

XXI,

futur

cada

o.

vez

Entr

ms

e las

com

com

plejo

pete

s, de

ncias

los

de

que

creat

no lo

ivida

est

de

n.

inno

Hac

vaci

er

nfa

que

sis

prop

en

one

creat

el

ivida

Cons

d,

orcio

pens

est

amie

n:

nto

dem

crtic

ostra

o,

com

origi

unic

nalid

aci

ad e

ny

inve

cola

ntiva

bora

en el

cin

traba

es

jo;

esen

desa

cial

rrolla

en la

r,

prep

impl

araci

eme

ntar

de

com

e la

unic

inno

ar

vaci

nuev

n.

as
idea
sa
otros
;
tener
apert
ura y
resp
onde
ra
pers
pecti
vas
nuev
as y
diver
sas;
y
actu
ar
con
idea
s
creat
ivas
para
reali
zar
una
contr
ibuci
n
tangi
ble y
til
en el
cam
po
en el
que
ocurr

Por
su
parte
, el
Cons
orcio
para
la
Crea
tivida
d
prop
one
que
sta
se
refier
ea
muc
ho
ms
que
hac
er
arte
. La
creat
ivida
d
tiene
que
ver
con
el
desa
rrollo
de la
capa

cida

el

apre

para:

ndiz

cues

aje

tiona

creat

r,

ivo

hace

emp

oder

cone

aa

xion

los

es,

jve

inno

nes

var,

resol

imag

ver

inar

probl

un

ema

mun

sy

do

refle

difer

xion

ente

ar

y les

crtic

da

ame

confi

nte;

anza

toda

moti

sta

vaci

son

para

habil

lleva

idad

ra

es

cabo

alta

lo

ment

que

imag

valor

inan

adas

(Cre

en el

ative

mun

Part

do

ners

labor

hips,

al

2006

actu

).

al; y
agre
gan,

Son

una

muc

pers

has

pecti

las

va

defin

ampl

icion

ia a

es

los

que

doce

inten

ntes

tan

en

expli

este

car

cam

el

po.

conc

El

epto

desa

de

rrollo

creat

de

ivida

pens

d,

amie

aqu

nto

solo

algor

se

tmic

expo

nen

que

algu

prom

nas

ueve

de

esta

ellas

gua,

a fin

medi

de

ante

dar

el

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

enfo

probl

que

ema

de

solu

pred

cin

efini

de

dos,

se

s, los

com

estu

plem

diant

enta

es

con

debe

el

desa

apre

rrollo

nder

de

pens

impr

amie

ovisa

nto

creat

creat

ivo.

ivam

Pues

ente

en el

cuan

mun

do

do

se

actu

encu

al,

entre

en el

que

con

lo

situa

nic

cion

es

perm

ines

anen

pera

te es

das

el

ya

cam

expl

bio,

orar

ade

alter

ms

nativ

de

as

apre

de

nder

soluc

in

resol

varia

ver

das

tipos

(Res

espe

nick,

cfic

2007

os

).

de
probl
ema

Des
arr
ollo
de
la
cre
ativ
ida

con
dich
a
geni
alida
d (C
may
scul
a).

d
Resp
ecto
Una

al

de

geni

las

cues

creat

tione

ivo,

s en

el

torno

Cons

a la

orcio

creat

para

ivida

la

Crea

que

tivida

an

no

consi

tiene

dera

resp

que

uest

ste

es

defin

un

itiva

discu

es si

rso

esta

posr

se

om

pued

ntico

apoy

desa

ado

rrolla

por

ro

quie

simp

nes

leme

han

nte

visto

se

la

nace

creat

ivida

ivida

nic

desd

ame

nte

una

com

pers

pecti

una

va

cuali

basa

dad

da

espe

en

cial

cara

de

cter

poca

stica

s de

pers

la

onas

pers

onali

gene

dad

ralm

afirm

ente

an

artist

que

as,

las

tales

pers

com

onas

creat

escri

ivas

tores

tiene

msi

rasg

cos,

os

pinto

com

res,

unes

etc

(Ban

buen

aji &

hum

Burn

or;

confi

2006

anza

).

en s

Los

mis

que

mos;

expli

flexib

can

ilidad

la

creat

adap

tabili

mo;

dad;

y,

alta

tena

capa

cida

cida

d de

(Lp

asoc

ez,

iaci

2000

n;

).

sens

Por

ibilid

el

ad;

contr

curio

ario,

sida

quie

nes

intel

no

ectu

son

al;

creat

perc

ivos

epci

pres

n y

enta

obse

rvaci

recur

rente

agud

ment

as;

inicia

algu

tiva

nas

para

de

toma

los

sigui

riesg

ente

os;

imag

rasg

inaci

os:

n;

tiend

expr

en a

esivi

espe

dad;

cializ

capa

arse

cida

en

ciert

crtic

os

a;

tema

entu

s;

sias

son

extre

mad

defici

ame

ente

nte

pens

racio

amie

nale

nto

s;

crtic

les

o.

falta
confi
anza
en si
mis
mos;
no
tiene
n
moti
vaci
n; su
capa
cida
d
para
escu
char
es
redu
cida;
resp
etan
la
autor
idad
en
exce
so;
no
son
buen
os
obse
rvad
ores;
y,
tiene

Sin
emb
argo,
buen
a
parte
de
los
autor
es
que
han
traba
jado
en
profu
ndid
ad el
tema
de la
creat
ivida
d,
entre
ellos
Resn
ick,
De
Bono
y
Joha
nsso
n, no
solo
argu
ment

an

r,

que

est

si es

posi

pres

ble

ente

desa

s en

rrolla

las

rla,

pers

sino

onas

que

consi

aport

dera

an

das

prop

com

uest

as

creat

conc

ivas:

retas

se

para

plant

traba

ean

jarla

nuev

en el

os

aula

objet

de

ivos;

clas

expl

e.

oran

Ade

un

ms,

may

plant

or

ean

nm

que

ero

las

de

sigui

alter

ente

nativ

as;

habil

eval

idad

an,

es

dura

cogn

nte

itivas

el

trans

susc

curs

eptib

o del

les

proc

de

eso

desa

de

rrolla

soluc

in,

sy

los

desa

objet

rrolla

ivos,

las

prod

alter

ucto

nativ

as y

inter

las

medi

tarea

os; y,

s; se

usan

aseg

estra

uran

tegia

de

ente

meta

nder

cogn

itivas

caba

(Lp

lidad

ez,

los

2000

probl

).

ema
s;
son
obse
rvad
ores;
usan
la
abstr
acci
n;
usan
met
foras
y
anal
oga
s;
desg
losa
n la
tarea
en
subt
area

Seg
n De
Bono
(197
0),
es
conv
enie
nte
emp
ezar
a
ense
ar,
a
partir
de
los 7
aos
,
tcni
cas
de

pens

prop

amie

oner

nto

que

impl

facilit

eme

en el

ntar

desa

dise

rrollo

os,

de la
creat
ivida
d.
Entr
e las
que
se
pued
en
impl
eme
ntar
en
curs
os
de
difer
ente
s
asig
natur
as
tene
mos:
plant
ear
probl
ema
s
ines
pera
dos,
form
ular
alter
nativ
as,

reali

toda

zar

una

obse

meto

rvaci

dolo

ones

ga

para

hace

desa

rrolla

abstr

r la

acci

creat

ivida

en

d en

diver

un

sos

curs

tema

o de

s,

Algor

reali

itmo

zar

sy

ejerc

Prog

icios

rama

de

cin.

dibuj

Por

oy

esto

utiliz

ar

para

met

efect

foras

os

de la

anal

pres

oga

ente

s.

Gua
, se
selec

Sin
emb
argo,
pued
e
sona
r
ambi
cios
o
impl
eme
ntar

cion
aron
dos
tcni
cas
de
pens
amie
nto
que
hace
n
una

contr

enfo

ibuci

que

n al

de

desa

soluc

rrollo

in

de la

de

creat

probl

ivida

ema

d:

plant

pred

eami

efini

ento

dos

de

que

probl

para

ema

resol

verlo

ines

pera

pued

dos

en

hace

form

r uso

ulaci

de

meto

de

dolo

alter

gas

nativ

com

as.

o la
prop
uest

El
plant
eami
ento
de
probl
ema
s
ines
pera
dos
busc
a
com
plem
entar
el

a por
Poly
a. Es
preci
sam
ente
esta
meto
dolo
ga
la
que
se
ha
utiliz
ado
para

resol

ellos

ver

se

probl

enca

ema

sillan

en

mate

ella y

mti

les

cos;

cues

sin

ta

emb

traba

argo,

jo

algu

enco

nos

ntrar

doce

soluc

ntes

ione

han

mani

alter

festa

nativ

do

as.

preo
cupa
cin
ya
que
si
bien,
la
meto
dolo
ga
ayud
aa
que
los
estu
diant
es
estru
cture
n su
pens
amie
nto,
muc
hos
de

En
este
senti
do,
entor
nos
de
progr
ama
cin
com
o
Scrat
ch y
Micr
oMu
ndos
,
com
prom
eten
a los
estu
diant
es

en la

as

bsq

soluc

ueda

ione

de

sa

solu

medi

cion

da

es

que

inno

los

vado

probl

ras a

ema

probl

s se

ema

pres

enta

ines

pera

(Res

dos;

nick,

no

2007

se

).

trata
sola
ment
e de
apre
nder
a
solu
cion
ar
probl
ema
s de
man
era
pred
efini
da,
sino
de
estar
prep
arad
o
para
gene
rar
nuev

Por
su
parte
,
form
ular
alter
nativ
as,
se
basa
en el
prim
er
princ
ipio
bsic
o del
Pens
amie
nto
Later
al
prop

uest

proc

o por

eso

De

tpic

Bon

o del

pens

(197

amie

0):

nto

cual

lgic

quier

o;

mod

sin

o de

emb

valor

argo,

ar

desd

una

e el

situa

punt

cin

o de

es

vista

slo

de la

uno

creat

de

ivida

los

d no

muc

se

hos

busc

mod

a la

os

mejo

posi

bles

alter

de

nativ

valor

arla.

sino

La

la

bsq

form

ueda

ulaci

de

alter

del

nativ

may

as a

or

una

nm

situa

ero

cin

posi

ble

probl

de

ema

alter

pare

nativ

ce

as.

un

Por

lo

halla

tanto

una

, es

alter

conv

nativ

enie

nte

que

fijar

pare

de

ce

entra

satisf

da y

actor

pone

ia.

r por
escri
to, el
nm
ero
de
alter
nativ
as
que
los
estu
diant
es
debe
n
plant
ear.
Des
de la
lgic
a,
por
lo
gene
ral la
bsq
ueda
se
interr
ump
e
cuan
do
se

Com
o
apre
stam
iento
a la
reali
zaci
n de
proy
ecto
s
que
busq
uen
delib
erad
ame
nte
desa
rrolla
r la
creat
ivida
d, es
dese
able
que
los
estu
diant
es
reali

cen

objet

activi

os

dade

cotidi

anos

tales

prop

com

uest

o:

os,

hace

Juga

r con

asoc

Torre

iaci

s de

n de

Han

idea

oi de

tres

sobr

cuatr

tema

s ya

disco

visto

s y,

s en

elab

clas

orar

e,

figur

elab

as

orar

con

lista

el

dos

Tang

de

ram,

atrib

entre

utos

otras

de

objet

Esta

os

cotidi

activi

anos

dade

busc

perm

ar al

iten

men

evid

os

enci

30

ar el

usos

estilo

para

de

cada

pens

uno

amie

de

nto

los

pred

omin

orde

ante

nada

de

ya

cada

esta

estu

blec

diant

er

e.

relac

Quie

ione

nes

pien

com

san

unes

conv

erge

quie

ntem

nes

ente

pien

tend

san

ern

diver

gent

abor

eme

dar

nte,

los

tend

probl

ern

ema

s de

hace

form

juicio

lgic

a,

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

ilgic
os,
inno
vado
res y
poco
com

Esp
iral
del

unes

pen

sa

mie
nto
cre
ativ
o

estu
diant
es
imag
inan
lo
que
quier

Con
el fin
de
prom
over
el
desa
rrollo
de la
creat
ivida
d,
esta
Gua
prop
one
utiliz
ar la
Espir
al
del
Pens
amie
nto
Crea
tivo
prop
uest
a por
Mitc
hel
Resn
ick
(200
7).
En
esta,
los

en
hace
r;
crea
n un
proy
ecto
basa
do
en
sus
idea
s;
jueg
an
con
sus
idea
sy
crea
cion
es;
com
parte
n
sus
idea
sy
crea
cion
es
con
otros
y
refle
xion
an
sobr

e
sus
expe
rienc
ias;
lo
anter
ior
los
lleva
a
imag
inar
nuev
as
idea
sy
nuev
os
proy
ecto
s. La
espir
al
gene
ra un
proc
eso
inde
finid
o de
mejo
rami
ento
conti

Ilustr
acin
1-9:
Espir
al del
Pens
amie
nto
Creat
ivo
dise
ada
por
el Dr.
Mitch
el
Resn
ick

nuo.
En
un
comi
enzo
,
este
proc
eso
lo

debe

fiar

plan

lmit

ear y

es y

dirigi

front

r el

eras,

doce

expe

nte.

rime

Sin

ntar

emb

con

argo,

alter

nativ

medi

as,

da

recib

que

ir

los

retro

estu

alim

diant

enta

es lo

cin

interi

de

oriza

otros

n,

apre

gene

nden

rar

nuev

recor

as

rerla

idea

de

man

con

era

base

inde

en

pend

sus

iente

expe

para

rienc

desa

ias

rrolla

(Res

r sus

nick,

propi

2007

as

).

idea
s,
pone
rlas
a
prue
ba,
desa

Es
muy
impo
rtant
e
que

al

la

dise

espir

ar

al de

las

la

difer

creat

ente

ivida

d.

fase

Por

s de

ejem

un

plo,

proy

se

ecto,

debe

en el

cual

inclui

los

r en

estu

el

diant

proy

es

ecto

utiliz

espa

arn

cios

un

para

ambi

com

ente

partir

de

el

progr

traba

ama

jo

cin

reali

com

zado

Scra

para

tch o

escu

Micr

char

oMu

ndos

valor

, los

ar la

doce

retro

ntes

alim

teng

enta

an

cin

en

del

cuen

grup

ta

oa

los

cada

elem

traba

ento

jo

s de

indivi

dual

ntes

debe

para

refle

prom

xion

over

ar

un

sobr

ambi

e las

ente

posi

en el

bles

que

mejo

se

ras

perm

que

ita

se

imag

pued

inar,

en

trans

reali

form

zar

ar,

con

ideali

base

zar,

en la

dese

retro

struc

alim

turar

enta

cin

reest

recib

ructu

ida.

rar.
Un
ambi
ente

Para
que
la
Espir
al
del
Pens
amie
nto
Crea
tivo
funci
one,
los
doce

dond
e se
pued
a
com
unic
ar,
dond
e
haya
toler
anci
a
para
las
reac

cion

canti

es

dad

espo

de

ntn

alter

eas

nativ

(Lp

as

ez,

de

2000

soluc

).

in

Los

que

doce

gene

ntes

ren

debe

los

estu

propi

diant

ciar

es a

un

un

ambi

probl

ente

ema

de

plant

confi

eado

anza

, que

, en

las

el

resp

que

uest

sea

as

ms

corre

impo

ctas.

rtant

Por

e la

tanto
,
debe
evita
rse a
toda
cost
a, la
emisi
n
de
juicio
s de
valor
nega
tivos
ante

cual

para

quier

solici

alter

tar a

nativ

los

a,

estu

por

diant

ilgic

es

que

que

form

pare

ulen

zca.

alter
nativ
as

Adici
onal
ment
e, en
las
difer
ente
s
fase
s de
la
Espir
al,
se
debe
apro
vech
ar
cual
quier
oport
unid
ad
para
plant
ear
probl
ema
s
ines
pera
dos
y

de
soluc
in a
cada
probl
ema
o
situa
cin
que
se
pres
ente.
En
este
mis
mo
senti
do,
la
prct
ica
indic
a
que
en
reiter
adas
ocasi
ones
los
estu
diant

es

situa

plant

cion

ean

es

las

sus

pued

doce

en

ntes

apro

situa

vech

cion

ar

es

los

que

doce

ellos

ntes

dese

para

an

plant

desa

earla

rrolla

sa

r en

toda

sus

la

proy

clase

ecto

com

s.

Dich

probl

as

ema

situa

cion

ines

es

pera

se

dos.

convi
erten
en
probl
ema
s
ines

EJE
MPL
O

pera
dos
que
los
doce
ntes
debe
n

Proy
ecto:
La
cade
na
alim
entar
ia

resol
ver.
Esta
s

Estn
dares
MEN

que
se
cubre
n
(Colo
mbia)
:
Explic
o la
dinm
ica de
un
ecosi
stema
tenien
do en
cuent
a las
neces
idade
s de
energ
a y
nutrie
ntes
de los
seres
vivos
(cade
na
alime
ntaria
).

Descr
ipcin
: En
este
proye
cto
los
estudi
antes
debe
n
repre
senta
r el
comp
ortam
iento
de
varios
seres
vivos
en su
respe
ctivo
ecosi
stema
,
tenien
do en
cuent
a
tanto

neces
idade
s
como
cantid
ades
dispo
nibles
de
energ
a y
nutrie
ntes
(cade
na
alime
ntaria
).
Para
ello,
debe
n
elabo
rar
una
simul
acin,
en
Micro
Mund
os o
en
Scrat
ch, de
una
caden
a
alime
ntaria
tenien
do en
cuent
a
seres
produ
ctores
,
herviv
oros,
carnv
oros y
omniv
oros.

Fase
s del
proy
ecto:

Los
estud
iante

s
debe
n
imagi
nar
un
ecosi
stem
a que
conte
nga
por lo
meno
s
cuatr
o
seres
vivos.
Lueg
o
debe
n
dibuj
ar o
impor
tar
los
seres
vivios
que
imagi
naron
.
Ade
ms,
debe
n
dibuj
ar el
esce
nario
que
repre
senta
el
ecosi
stem
a.

En
este
punto
, el
docen
te
debe
estim
ular la
reflexi
n
para
que
ellos

verifiq
uen
que el
ecosi
stema
que
dibuja
ron
corre
spond
e con
los
seres
vivien
tes
que
en la
simul
acin
incluy
eron
en
este.
Un
probl
ema
inesp
erado
pued
e
plante
arse
media
nte la
pregu
nta
todo
s los
seres
vivos
que
repre
senta
ste
viven
en
ese
ecosi
stema
? Si
la
respu
esta
es
negati
va,
debe
n
plante
ar por
escrit
o al
meno
s tres
altern
ativas
de
soluci

n
(por
ejemp
lo:
cambi
ar el
ecosi
stema
,
cambi
ar
algun
o de
los
seres
vivos,
cambi
arlo
todo,
etc).

Adem
s,
cada
ser
vivo
debe
tener
un
tama
o
propo
rciona
l en
relaci
n a
los
otros
seres
y
eleme
ntos
del
ecosi
stema
.

En
caso
de
ser
nece
sario
, se
debe
desti
nar
un
laps
o de
tiem

po
de la
clase
para
inves
tigar
,en
Inter
net o
en la
Bibli
otec
a
Esco
lar,
qu
sere
s
vivos
habit
an
en el
ecosi
stem
a
que
dibuj
aron.

Esta
fase
inicia
con
otro
probl
ema
inesp
erad
o:
La
tarea
qued
mal
plant
eada
y hay
que
corre
girla,
de
los
cuatr
o
seres
vivos
que
se

crear
on
en la
fase
anter
ior,
debe
habe
r por
lo
men
os un
ser
vivo
de
cada
tipo:
prod
uctor,
herb
voro,

carn
voro
y
omni
voro
.

Los
estudi
antes
debe
n
invest
igar
qu
seres
vivos
de
cada
tipo

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

habita
n en
el
ecosi
stema
que
dibuja
ron.
Lueg
o,
dibuja
ro
impor
tar los
seres
vivos
corre
ctos
para
que
se
cumpl
a la
condi
cin
plante
ada
en la
tarea

rectifi
cada.
No es
neces
ario
que
elimin
en los
seres
vivos
que
haba
n
cread
o en
la
fase
1,
siemp
re y
cuand
o
corre
spond
an al
ecosi
stema
.

A
conti
nuaci
n,
debe
n
progr
amar
el
despl
azam
iento
de
los
seres
vivos
por
todo
el
espa
cio
dispo
nible
y de
mane
ra
aleat
oria
(se
pued
en
utiliza
r las
instru
ccion
es
rebo
tar si
est
tocan
do un
borde
y
nm
ero al
azar
entre
1y
15
grado
s
como
par
metro
de la
instru
ccin
girar)
.
Como
proble
ma
inespe
rado

pedir
que
se
restrin
ja el
movim
iento
de
maner
a que
se
aproxi
me al
comp
ortami
ento
real
de
cada
ser
vivo.
Por
ejempl
o, si el
fondo
tiene
tierra
y
firma
mento
,
enton
ces un
ser
vivo
que
no
vuela,
no se
puede
mover
en el
rea
de la
pantall
a que
repres
enta
el
firma
mento
.
Agreg
ar
variabl
es
para
contro
lar la
veloci
dad a
la que
se
despla
za
cada
ser
vivo.
Algun
os,
como
las
planta

s,
tendr
n
veloci
dad 0.

Los
estu
diant
es
com
parte
n el
traba
jo
reali
zado
con
el
resto
de la
clas
ey
recib
en
retro
alim
enta
cin
tanto
de
sus
com
pae
ros,
com
o del
doce
nte.

Aten
der
la
retro
alim
enta
cin
sumi
nistr
ada.
Hac
er la
prog
rama
cin
corre
spon

dient
e
para
que
cuan
do a
un
ser
vivo
lo
toqu
e
otro
al
que
le
sirve
de
alim
ento,
el
prim
ero
desa
pare
zca
(com
o si
se lo
hubi
era
comi
do).

El
probl
ema
inesp
erado
ahora
es
que
debe
progr
amar
se la
aparic
in de
varios
seres
vivos
iguale
s,
ubica
dos
en
difere
ntes
posici
ones

de la
pantal
la
(por
ejemp
lo, si
uno
de los
seres
vivos
de la
anima
cin
es un
conej
o,
copiar
enton
ces el
objeto
conej
o, al
meno
s tres
veces
, pues
en un
ecosi
stema
rara
vez
se
encue
ntra
un
solo
anima
l de
cada
espec
ie).
Solicit
ar a
los
estudi
antes,
al
meno
s dos
altern
ativas
, para
realiz
ar
esta
tarea.
Las
aparic
iones
debe
n
hacer
se de
acuer
do a
una
tasa
de

repro
ducci
n
establ
ecida
para
cada
uno
de los
seres
vivos.
Por
ejemp
lo, se
repro
ducen
ms
rpid
amen
te los
conej
os
que
los
zorro
s.

Se
pued
e
desti
nar
un
tiem
po
de la
clas
e
para
inve
stiga
r la
tasa
de
repr
oduc
cin
de
cada
uno
de
los
sere
s
vivos
que
se
inclu
yen
en la

anim
aci
n.

azami
ento
para
cada
ser
vivo.

Com
partir
con
el
resto
de la
clase
el
traba
jo
realiz
ado y
recibi
r
retro
alime
ntaci
n
de
los
comp
aer
os.

Soci
aliza
r con
el
resto
de la
clas
e el
traba
jo
finali
zado
.

En
este
ejem
plo
hay

Reali
zar
los
ltimo
s
ajuste
s al
funcio
namie
nto
de la
simul
acin
y
agreg
ar
contr
oles
para
manip
ular
las
tasas
de
repro
ducci
n y/o
la
veloci
dad
de
despl

que
prest
ar
aten
cin
a lo
sigui
ente:

En la
fase
3, se
debe
crear
una
varia
ble
por
cada
ser
vivo,

que

ando

contr

esp

ole

erar

la

veloc

segu

idad

ndos

a la

; sin

cual

emb

este

argo,

se

nte

va a

se

mov

que

er

si el

(los

valor

que

de la

no

varia

se

ble

desp

aum

laza

enta,

n,

en

com

lugar

o las

de

plant

aum

as,

entar

debe

la

veloc

inicia

idad,

lizar

lo

se

que

con

hace

valor

es

0).

dism

Por

inuirl

lo

a ya

regul

que

ar,

el

esta

tiem

cond

po

icin

de

se

espe

impl

ra

eme

ser

nta

may

con

or.

el

Para

com

limit

ar el

ciert

desp

laza

regi

mien

n de

to de

la

un

pant

ser

alla,

vivo

se

debe
hace
r un
contr
ol
perm
anen
te
(dent
ro de
un
por
siem
pre)
con
el
com
ando
posi
cin
y de
objet
o1
posi
cin
x de
objet
o 1.
Si el
ser
supe
ra
ese
valor
,
ento
nces
se lo

desp

que

laza

se

en

com

una

porte

posi

de

cin

acue

men

rdo a

or en

lo

el

espe

eje x

rado.

o y, y

Una

se

vez

gira

funci

45

one

grad

corre

os.

ctam
ente
la

En la
fase
6 es
reco
men
dabl
e
crear
cada
uno
de
los
sere
s
vivos
(eje
mplo
, el
cone
jo) y
hace
rle
toda
la
progr
ama
cin
para

progr
ama
cin,
se
copi
a
varia
s
vece
s el
ser
vivo
(eje
mplo
, el
cone
jo) y
se
ubic
a en
posi
cion
es
difer
ente
s del
esce
nario

ama

Ade

cin

ms,

en

cada

Cien

copi

cias

a del

Natu

ser

rales

vivo

para

debe

com

apar

unic

ecer

ar

en

resul

mom

tado

ento

obte

difer

nido

ente

s en

proc

para

esos

simu

de

lar la

inda

tasa

gaci

de

repro

y/o

ducc

expe

in.

rime
ntaci
n o
para

Por
ltim
o,
bien
sea
que
los
estu
diant
es
utilic
en el
entor
no
de
progr

elab
orar
simu
lacio
nes
de
diver
sos
fen
men
os
natur
ales,
los
doce
ntes
debe

pae

prom

ras.

over
com
porta
mien
tos
pers
onal
es y
soci
ales
fund
ame
ntale
s
para
el
funci
ona
mien
to de

Reco
noce
r
punt
os
de
vista
difer
ente
sy
com
parar
los
con
los
propi
os.

la
Espir
al
del
Pens
amie
nto
Crea
tivo,
tales
com
o:

Reco
noce
ry
acep
tar el
esce
pticis
mo
de
los
dem
s

Escu
char
activ
ame
nte a
com
pae
ros y
com

com
pae
ros
ante
la
infor
maci
n
que
se

pres

entor

enta.

no.

Cum
plir
con
las
funci
ones
asig
nada
s
cuan
do
se
traba
ja en
grup
o.

Resp
etar
y
cuid
ar
los
sere
s
vivos
y
objet
os
pres
ente
s en
el
.

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?
conciente. Por ejemplo, el proceso
digestivo es un concepto intuitivo de
algoritmo con el que se convive a diario
sin que haga falta un definicin
matemtica del mismo. Tener claro el
proceso digestivo, no implica que los
alimentos consumidos nutran ms. La
familiaridad de lo cotidiano impide a las
personas ver muchos algoritmos que
se suceden a su alrededor. Procesos,
rutinas o biorritmos naturales como la
gestacin, las estaciones, la circulacin
sangunea, los ciclos csmicos, etc,
son algoritmos naturales que
generalmente pasan desapercibidos.

La rama del saber que mayor


utilizacin ha hecho del enfoque
algortmico es las matemticas.
Durante miles de aos el ser humano
se ha esforzado por abstraer la
estructura de la solucin de problemas
Ilustracin 2-1: Segunda fase del ciclo de
programacin.

con el fin de determinar claramente


cul es el camino seguro, preciso y
rpido que lleva a esas soluciones.
Son abundantes los ejemplos: mximo

Luego de analizar detalladamente el


problema hasta entenderlo
completamente, se procede a disear
un algoritmo (trazar un plan) que lo
resuelva por medio de pasos sucesivos
y organizados en secuencia lgica. El
concepto intuitivo de algoritmo
(procedimientos y reglas) se puede
encontrar en procesos naturales de los
cuales muchas veces no se es

comn divisor, teorema de Pitgoras,


reas de figuras geomtricas, divisin,
suma de nmeros fraccionarios, etc.
Todos estos algoritmos matemticos
independizan los datos iniciales del
problema de la estructura de su
solucin, lo que permite su aplicacin
con diferentes conjuntos de datos
iniciales (variables).

oportunidades a los estudiantes para


crear sus propios algoritmos y
generalizarlos a un conjunto especfico
de aplicaciones (Wilson, Fernndez &
EJEMPLO

Hadaway, 1993). Los estudiantes


deben reflexionar sobre sus
habilidades de planificacin y sobre

Consideremos el algoritmo de Euclides para


hallar el Mximo Comn Divisor (MCD) de dos
nmeros enteros positivos dados. Obsrvese que
no se especifica cules son los dos nmeros,
pero si se establece claramente una restriccin:
deben ser enteros y positivos.

cmo pueden utilizar esas habilidades


en diferentes contextos. Por otra parte,
en un estudio sobre Logo (Clements &
Meredith, 1992), se concluye que
cuando los maestros enfatizaron en la
elaboracin de un plan para desarrollar

ALGORITMO EN SEUDOCDIGO

un procedimiento matemtico (este


inclua el uso de estrategias como
dividir conceptos grandes en otros ms

Paso 1: Inicio.

pequeos) encontraron que los


estudiantes empezaron a utilizar con
mayor frecuencia estrategias de
planificacin y de dibujo para resolver

Paso 2: Leer los dos nmeros (a y b).


Avanzar al paso 3.

problemas matemticos en los cuales

Paso 3: Comparar a y b para


determinar cul es mayor. Avanzar al
paso 4.

Dato Curioso

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.

Investigaciones realizadas en
Educacin Bsica (en ambientes
constructivistas) recomiendan incluir la
solucin de problemas en el currculo
de matemticas de forma que provea

no utilizaban Logo.

La palabra Algoritmo tiene su origen en el


nombre del matemtico Persa "Mohamed ibn
Musa al Khwarizmi" (825 d.C.). Su apellido fue
traducido al latn como Algorismus y
posteriormente paso al espaol como
Algoritmo. Khwarizmi fue bibliotecario en la
corte del califa al-Mamun y astrnomo en el
observatorio de Bagdad. Sus trabajos de
lgebra, aritmtica y tablas astronmicas
adelantaron enormemente el pensamiento
matemtico y fue el primero en utilizar la
expresin al-yabr (de la que procede la
palabra lgebra). Su trabajo con los algoritmos
introdujo el mtodo de clculo utilizando la
numeracin arbiga y la notacin decimal.

En el mbito de la computacin, los


Algoritmos son una herramienta que
permite describir claramente un
conjunto finito de instrucciones,

ordenadas secuencialmente y libres de

en un lenguaje de programacin que el

ambigedad, que debe llevar a cabo

computador entiende (Logo, Java,

un computador para lograr un

Pascal, etc).

resultado previsible. Vale la pena


recordar que un programa de
computador consiste de una serie de
instrucciones muy precisas y escritas

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 solucin de un
determinado problema. Los hay tan

Abrir la llave del lavamanos

sencillos y cotidianos como seguir la


receta del mdico, abrir una puerta,
lavarse las manos, etc; hasta los que

Remojar el cepillo con la crema dental

conducen a la solucin de problemas


muy complejos.

Cerrar la llave del lavamanos

Frotar los dientes con el cepillo


EJEMPLO
Abrir la llave del lavamanos
Un procedimiento que realizamos
varias veces al da consiste en
lavarnos los dientes. Veamos la forma

Enjuagarse la boca

de expresar este procedimiento como


un Algoritmo:

Enjuagar el cepillo

Tomar la crema dental


Cerrar la llave del lavamanos
Destapar la crema dental

Tomar el cepillo de dientes

Secarse la cara y las manos con una


toalla

Aplicar crema dental al cepillo


EJEMPLO
Tapar la crema dental

El ejemplo de cambiar una bombilla (foco)


fundida es uno de los ms utilizados por su
sencillez para mostrar los pasos de un Algoritmo:

Ubicar una escalera debajo de la


bombilla fundida

qu, cmo y cundo hacerlo. Debe


existir un procedimiento que determine
el proceso de ejecucin.

Preciso: El orden de ejecucin de las


Tomar una bombilla nueva

instrucciones debe estar perfectamente


indicado. Cuando se ejecuta varias
veces, con los mismos datos iniciales,

Subir por la escalera

el resultado debe ser el mismo


siempre. La precisin implica
determinismo.

Girar la bombilla fundida hacia la izquierda


hasta soltarla

Un aspecto muy importante sobre el


Enroscar la bombilla nueva en el plafn
hasta apretarla

cual los estudiantes deben reflexionar


es la ambigedad del lenguaje natural
que utilizan para comunicarse
diariamente con sus semejantes. La

Bajar de la escalera

Fin

En trminos generales, un Algoritmo


debe ser:

Realizable: El proceso algortmico


debe terminar despus de una
cantidad finita de pasos. Se dice que
un algoritmo es inaplicable cuando se
ejecuta con un conjunto de datos
iniciales y el proceso resulta infinito o
durante la ejecucin se encuentra con
un obstculo insuperable sin arrojar un
resultado.

Comprensible: Debe ser claro lo que


hace, de forma que quien ejecute los
pasos (ser humano o mquina) sepa

informalidad o formalidad en la

comunicacin depende de elementos

se refiere cada uno de estos

como vocabulario, uso de comodines

pensamientos.

en lugar de vocablos precisos, uso de


adverbios coloquiales en lugar de
adverbios formales, etc. Es
fundamental que los estudiantes
aprendan a diferenciar entre
comunicacin informal y comunicacin
formal, cuya principal caracterstica es
la precisin. Los algoritmos no admiten
ningn tipo de ambigedad ya que los
lenguajes de programacin tienen un
vocabulario restringido y preciso. Esto
exige la utilizacin de un conjunto
determinado de palabras, mandos o
primitivas en cualquiera de los
procedimientos que se elaboren.

Segn Moursund (2006), el


pensamiento computacional hace
referencia a la representacin y
solucin de problemas utilizando
inteligencia humana, de mquinas o de
otras formas que ayuden a resolver el
problema. El pensamiento algortmico
se refiere al desarrollo y uso de
algoritmos que puedan ayudar a
resolver un tipo especifico de problema
o a realizar un tipo especifico de tarea.
Por su parte, el pensamiento
procedimental se ocupa del desarrollo
y utilizacin de procedimientos
diseados para resolver un tipo
especifico de problema o para realizar

ACTIVIDAD

un tipo especifico de tarea, pero que no


necesariamente, siempre resulta
exitoso.

Discutir en parejas el ejemplo de la


bombilla y proponer algunas mejoras.
Luego, un voluntario pasa al tablero y
escribe un Algoritmo con participacin
de toda la clase.

Por otra parte y de acuerdo con un


reporte del Consejo Nacional de
Investigacin de Estados Unidos
(National Research Council, NRC,
2004), conocido como Being Fluent
with Information Technology, el
Pensamiento Algortmico incluye

Pensamiento Algortmico

elementos tales como: descomposicin


funcional, repeticin (iteracin y/o
recursin), organizacin de datos
(registro, campo, arreglo, lista, etc),

Cuando se habla de algoritmos, con


frecuencia aparecen tres tipos de
pensamiento que generalmente se
relacionan con ellos y que se utilizan

generalizacin y parametrizacin,
diseo por descomposicin de un
problema en partes ms pequeas y
manejables (top-down) y refinamiento.

indiscriminadamente como sinnimos:


Pensamiento Computacional,
Pensamiento Algortmico y

El Pensamiento Algortmico est

Pensamiento Procedimental. Por lo

fuertemente ligado al pensamiento

tanto es importante puntualizar a qu

procedimental requerido en la

programacin de computadores; sin

otros ambientes diferentes a los de la

embargo, su desarrollo puede conducir

programacin. En pocas palabras, la

a los estudiantes a aproximarse guiada

programacin de computadores aporta

y disciplinadamente a los problemas de

al mbito escolar un laboratorio para

forma que este pueda transferirse a

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

consiste de uno o ms procedimientos

XXI.

con instrucciones paso a paso que


pueden ejecutarse en un computador;
por lo tanto, utilizar el diseo de

Una diferencia notoria entre un


algoritmo y un programa es que el
algoritmo incorpora las caractersticas
estructurales bsicas de la
computacin, independientemente de
los detalles de su implementacin;
mientras que un programa tiene un
conjunto especfico de detalles para
resolver un problema. Se puede
observar que una tcnica de solucin
(correspondiente al algoritmo) se
puede utilizar en diferentes situaciones
problemticas (correspondiente a los
programas). De manera inversa, se
espera que una solucin exitosa de
problemas incorpore procesos
generales que son independientes de
las situaciones especficas (NRC,
2004). Esto se conoce como
experiencias de vida y los estudiantes
deben adquirirlas en su paso por la
educacin bsica y media para
desempearse adecuadamente en su
vida diaria.

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 un tipo particular
de tarea que busca solucionar

Este es todo un reto para la educacin,

problemas especficos y al

reto en el que la programacin de

desarrollarlos se ponen en juego los

computadores puede hacer una

pensamientos algortmico y

contribucin positiva. Un programa

procedimental.

formales, los estudiantes demuestran


David Moursund (2006) se bas en sus
propias experimentaciones y en la
teora de los cuatro estados de

su inteligencia por medio del uso lgico


de smbolos relacionados con
conceptos abstractos.

desarrollo cognitivo planteada por


Piaget para proponer un planteamiento
que amarra la computacin con una
escala de desarrollo cognitivo en la que
se da bastante protagonismo al

Aprestamiento

desarrollo del pensamiento algortmico


en los nios. Segn Moursund (2006)
en la etapa de las operaciones
concretas los nios empiezan a
manipular lgica y sistemticamente
smbolos en un computador y
aprenden a apoyarse en software para
resolver un rango amplio de problemas
y tareas de tipo 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

Una forma motivadora y divertida de


aprestamiento a la programacin de
computadores y que puede ayudar a
los estudiantes a desarrollar los
pensamientos algortmico y
procedimental consiste en que ellos
realicen actividades con juegos de
estrategia como Sokoban, Misin
Escape, Tetris e Implode, as como
ejercicios de Razonamiento Abstracto.
En Sokoban se deben llevar las piedras
hacia el lugar donde aparecen los
prismas y para lograrlo, estas se deben
empujar con el personaje teniendo
cuidado en los movimientos que se
hacen para no bloquear el juego ya
que el personaje solo puede empujar
una piedra a la vez y no puede
moverlas hacia atrs, siempre hacia
delante. Hay disponibles varias
versiones de Sokoban para descargar
y para jugar en lnea.

Ilustracin 1: El marcianito debe mover la


cuatro piedras redondas hasta ubicarlas
sobre los rombos morados.
http://www.matejoven.mendoza.edu.ar/matejue/juegos/so
koban/sokoban.htm

Por su parte, el juego Misin Escape


de la serie Chicos del Barrio de
Cartn Networks
(http://www.cartoonnetworkla.com/span
ish/) se puede utilizar para mejorar la
habilidad de los estudiantes para llevar
a cabo tareas en forma ordenada y
lgica. En este juego, los participantes
deben encontrar la mejor va de
escape a travs de la casa del rbol y
recorrerla en la menor cantidad de
movimientos posibles. Para despejar el
camino de objetos hay que seguir las
reglas del juego y si no se mueven los
objetos precisos, en la direccin
correcta y en el orden adecuado, el
camino se puede bloquear.

Pg.23 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

Ilustracin 2: Comienzo del nivel tres del


juego Misin Escape de Cartoon Network.
El personaje debe alcanzar la baldosa caf
que aparece en la parte inferior del
cuadrado.

1
2

3
Actividades como la siguiente exige de
los estudiantes un alto grado de
observacin para determinar qu es lo
Ilustracin 3: El personaje ya ha
movido los obstculos (1, 2, 3) y est a
punto de alcanzar la baldosa caf que
le permite avanzar al nivel siguiente.

que cambia (figura, forma, posicin,


etc) y cul es el patrn de cambio
(direccin, tamao, color, etc):

La ilustracin 2 muestra el comienzo


del nivel tres del juego (cada nivel es
ms difcil que el anterior). El
personaje de Chicos del Barrio se
encuentra en el punto de inicio y debe
encontrar el mejor camino para llegar a
la baldosa caf de la parte inferior del
cuadrado. Para lograrlo, debe mover
las cajas precisas (marcadas con 1, 2 y
3), en la direccin correcta y en el
orden adecuado. En la ilustracin 3 se
pueden apreciar las cajas movidas y el
personaje a punto de alcanzar la
baldosa caf que le permite avanzar al
nivel siguiente.

El razonamiento abstracto es otro


tipo de actividad de aprestamiento que
se puede llevar a cabo con los

Adaptado de Razonamiento Abstracto,


Serrano (1998)

estudiantes para desarrollar los


pensamientos algortmico y
procedimental. El razonamiento
abstracto bsicamente es un proceso
de ordenacin de objetos, situaciones
o sucesos en secuencias lgicas de
acuerdo con algn criterio previamente
establecido. Para ello se debe
comprender e interpretar los cambios
en funcin de la forma cmo varan las
caractersticas de inters de los objetos
o sucesos estudiados. Todo cambio
conduce a una alteracin de algn
aspecto del objeto, suceso o situacin
(Snchez, 1993).

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 y los utilizan como herramienta
para el aprendizaje.

___ Quitar el Anzuelo de la boca del


pescado.
ACTIVIDAD

___ Poner carnada al anzuelo.


Invitar a los estudiantes a reflexionar
sobre el lenguaje que utiliza
diariamente para comunicarse con sus
padres, hermanos, profesores y
compaeros. Utiliza un lenguaje
preciso? utiliza vocablos corrientes?

___ Sacar el pescado del agua.

ACTIVIDAD
ACTIVIDAD

A diferencia de los seres humanos que


realizan actividades sin detenerse a
pensar en los pasos que deben seguir,
los computadores son muy ordenados
y necesitan que el programador les
especifique cada uno de los pasos
necesarios y su orden lgico de
ejecucin.

Listar una serie de pasos para realizar una


tarea y presentarlos a los estudiantes en
forma desordenada para que ellos los
ordenen.

Solicitar a los estudiantes que traigan


para la prxima clase los siguientes
elementos:

Arroz, lentejas o maz (medio puado).

Una banda de caucho.

Un vaso plstico.

Por ejemplo, ordenar los pasos para


pescar:

Un trozo de papel resistente (15cm x 15cm


aproximadamente).

___ El pez se traga el anzuelo.

Divida los estudiantes en dos grupos y


suministre a un grupo las siguientes
instrucciones para elaborar Maracas:

___ Enrollar el sedal.

Recortar del papel resistente un trozo


ms grande que la boca del vaso
plstico.

___ Tirar el sedal al agua.

___ Llevar el pescado a casa.

Introducir el arroz, las lentejas o el maz en


el vaso (cada elemento produce una
sonoridad diferente).

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

Fijar el papel al vaso con ayuda de la banda de caucho.

Asegurarse que la boca del vaso quede sellada.

Suministre al otro grupo de estudiantes las siguientes instrucciones para elaborar Maracas:

Recortar del papel resistente un trozo ms grande que la boca del vaso plstico.

Poner sobre la boca del vaso el papel.

Fijar el papel al vaso con ayuda de la banda de caucho.

Asegurarse que la boca del vaso quede sellada.

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

Paso 3: Conocer la
base del tringulo y
guardarla en la
variable "Base"

muchas maneras,
pero en esta gua
se tratarn solo dos
formas:
Seudocdigo y

Paso 4: Conocer la
altura del tringulo y
guardarla en la
variable "Altura"

Diagrama de Flujo.
En Seudocdigo la
secuencia de
instrucciones se
representa por
medio de frases o

Paso 5: Guardar en
la variable "Area" el
valor de multiplicar
"Base" por "Altura"

proposiciones,
mientras que en un
Diagrama de Flujo
se representa por
medio de grficos.

EJEMPLO

Elaborar un
Algoritmo para
calcular el rea de
cualquier tringulo
rectngulo y
presentar el
resultado en pantalla.

SEUDOCDIGO

Paso 1: Inicio

Paso 2: Asignar el
nmero 2 a la
constante "Div"

Paso 6: Guardar en
la variable "Area" el
valor de dividir
"Area" entre "Div"

Paso 7: Reportar el
valor de la variable
"Area" Paso 8: Final

DIAGRAMA DE
FLUJO

problema)
independientes
entre s. Si es
necesario se va
refinando cada vez
las instrucciones
hasta que las
proposiciones
generales en
espaol como las
del ejemplo anterior
se puedan codificar
en el lenguaje
seleccionado para
hacer la
Ilustracin 2-4:
Algoritmo para
calcular el rea de
cualquier tringulo
rectngulo

El seudocdigo est
compuesto por
proposiciones
informales en
espaol que
permiten expresar
detalladamente las
instrucciones que
llevan desde un
estado inicial
(problema) hasta un
resultados deseado
(solucin). Por lo
regular, los
algoritmos se
escriben por
refinamiento: se
escribe una primera
versin que luego
se descompone en
varios
subproblemas (el
nmero depende de
la complejidad del

programacin (en el
caso de esta gua
ser Logo).

Utilizar Diagramas
de Flujo para
representar un
algoritmo tiene
claras ventajas,
especialmente
cuando son
construidos por
estudiantes de
bsica y media.
Numerosas
investigaciones han
mostrado que el
Aprendizaje Visual
es uno de los
mejores mtodos
para ensear
habilidades del
pensamiento. Las
tcnicas que utilizan
formas graficas para
representar ideas e
informacin ayudan
a los estudiantes a

clarificar su

Los Diagramas de

pensamiento, y a

Flujo son una de las

procesar, organizar

tcnicas ms

y priorizar nueva

utilizadas para

informacin. Los

representar

diagramas visuales

grficamente la

revelan patrones,

secuencia de

interrelaciones e

instrucciones de un

interdependencias

Algoritmo. Estas

adems de

instrucciones estn

estimular el

compuestas por

pensamiento

operaciones,

creativo.

decisiones lgicas y
ciclos repetitivos,
entre otros. La

La utilizacin de
Diagramas ayuda a
los estudiantes a:

solucin de un
problema puede
contener varios
conjuntos de
instrucciones

Clarificar el
pensamiento : Ellos
pueden ver cmo se
conectan los
procesos y se dan
cuenta de cmo
estos se pueden
organizar o agrupar
para darles el orden
lgico correcto.

Identificar pasos
errneos : Sobre un
diagrama es ms
fcil identificar los
cambios que se
requieren para el
correcto
funcionamiento de
un programa de

(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:

computador que
hacerlo sobre el
cdigo.

Forzar la
identificacin de

todos los pasos de

la solucin

una solucin de

planteada;

forma clara y lgica;


Posibilitar acuerdos
Establecer una

con base en la

visin amplia y

aproximacin

objetiva de la

comn a una

solucin;

solucin de un
problema, resolver
ambigedades o

Verificar si se han

realizar mejoras;

tenido en cuenta
todas las
posibilidades;

Establecer posibles
modificaciones
(resulta ms fcil

Comprobar si hay
procedimientos
duplicados;

Representar
grficamente una
solucin (es ms
simple hacerlo con
grficas que
mediante palabras);

Facilitar a otras
personas la
comprensin de la
secuencia lgica de

depurar un
programa con el
diagrama que con el
listado del cdigo);

Agilizar la
codificacin
(traduccin) del
algoritmo en un
lenguaje de
programacin;

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

Hallar el permetro de un cuadrado cuyo lado mide 5 cm

Hallar el rea de un cuadrado cuyo lado mide 5 cm.

Hallar uno de los lados de un rectngulo cuya rea es de 15 cm y uno de sus lados mide 3 cm.

Hallar el rea y el permetro de un crculo cuyo radio mide 2 cm.

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

Entrada/Salida de datos en General (en esta


gua, solo la usaremos para la Entrada).

Se utiliza para indicar el inicio y el final de un


diagrama; del Inicio slo puede salir una lnea de

Entrada por teclado

flujo y al Final slo debe llegar una lnea.


Instruccin de entrada de datos por teclado.

Entrada General

Indica que el computador debe esperar a que el

usuario teclee un dato que se guardar en una

Indica que una instruccin o grupo de

variable o constante.

instrucciones deben ejecutarse varias veces.

Llamada a subrutina

Salida Impresa

Indica la llamada a una subrutina o procedimiento

Indica la presentacin de uno o varios resultados

determinado.

en forma impresa.

Accin/Proceso General
Salida en Pantalla
Indica una accin o instruccin general que debe
realizar el computador (cambios de valores de
variables, asignaciones, operaciones aritmticas,
etc).

Instruccin de presentacin de mensajes o


resultados en pantalla.

Flujo
Conector
Indica el seguimiento lgico del diagrama. Tambin
indica el sentido de ejecucin de las operaciones.

Indica el enlace de dos partes de un diagrama dentro


de la misma pgina.

Decisin

Indica la comparacin de dos datos y dependiendo

Conector

del resultado lgico (falso o verdadero) se toma la


decisin de seguir un camino del diagrama u otro.

Iteracin

Indica el enlace de dos partes de un diagrama en


pginas diferentes.

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

Una lnea de flujo recta nunca debe

expresar en forma de diagrama de

cruzar a otra. Cuando dos lneas de

flujo, se deben tener en cuenta

flujo se crucen, una de ellas debe

algunas reglas o principios bsicos

incluir una lnea arqueada en el sitio

para su elaboracin (Rojas &

donde cruza a la otra (ilustracin 2-

acato, 1980):

5);

Poner un encabezado que incluya

Se deben inicializar las variables

un ttulo que identifique la funcin

que se utilicen o permitir la

del algoritmo; el nombre del autor; y

asignacin de valores mediante

la fecha de elaboracin;

consulta al usuario;

Slo se pueden utilizar smbolos

Las bifurcaciones y ciclos se deben

estndar (ISO 5807);

dibujar procurando una cierta


simetra;

Los diagramas se deben dibujar de


arriba haca abajo y de izquierda a

Cada rombo de decisin debe tener

derecha;

al menos dos lneas de salida (una


para SI y otra para NO);

La ejecucin del programa siempre


empieza en la parte superior del

Las acciones y decisiones se deben

diagrama;

describir utilizando el menor


numero de palabras posible; sin
que resulten confusas o poco

Los smbolos de Inicio y Final

claras;

deben aparecer solo una vez;


Si el Diagrama se vuelve complejo
La direccin del flujo se debe
representar por medio de flechas

y confuso, es mejor utilizar


smbolos conectores para reducir

(lneas de flujo);

las lneas de flujo;

Todas las lneas de flujo deben

Todo el Diagrama debe ser claro,

llegar a un smbolo o a otra lnea;

ordenado y fcil de recorrer;

El Diagrama se debe probar


recorrindolo con datos iniciales
simples (prueba de escritorio).

Ilustracin 2-6: Plantilla


StandardGraph ISO 5807 para la
elaboracin manual de Diagramas de
Flujo.

Tambin existe software especial


Incorrecto

Correcto

para elaborar Diagramas de Flujo


en forma rpida y fcil. Los
programas para esta tarea permiten

Ilustracin 2-5: Cruce de lneas de


flujo

a los estudiantes:
Almacenar digitalmente los
diagramas construidos;

Los Diagramas se pueden dibujar


utilizando lpiz y papel, en cuyo
caso resultan muy tiles las
plantillas plsticas como la de la

Introducirles modificaciones
fcilmente;

ilustracin 2-6. Estas descargan al


estudiante de la preocupacin por
lograr uniformidad en el dibujo.

Imprimir copias de los diagramas


para compartirlos con compaeros
o documentar sus trabajos;

Exportarlos en varios formatos


grficos para utilizarlos en otros
programas;

Alinear y organizar los smbolos


automticamente;

Agregar colores, tamao de letra y


sombreados para lograr una
apariencia profesional;

Dia Win32 Installer


http://www.softonic.com/ie/33781/dia

Ahorrar tiempo en la modificacin


de un diagrama ya que no es
necesario hacer todo el dibujo
nuevamente;

DFD 1.0
http://www.softonic.com/ie/16035/DF
D

Paraben's Flow Charter

En las siguientes direcciones de

http://www.paraben.com/html/flow.html

Internet se puede encontrar


informacin de software para la
elaboracin de Diagramas de Flujo:

Edraw Flowchart
http://www.edrawsoft.com/flowchart.php
Novagraph Chartist

Eduteka Diagramas de Flujo


http://www.eduteka.org/modulos.php?
catx=4&idSubX=117

GraFI-co

http://www.tucows.com/preview/289535.ht
ml

Flow Charting 6
http://www.patton-patton.com

http://www.eduteka.org/pdfdir/graFIco.rar
OrgPlus
SmartDraw http://www.smartdraw.com

http://www.tucows.com/preview/281861.ht
ml

WinEsquema
http://www.softonic.com/ie/27771/WinEsqu
ema

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

Hallar uno de los lados de un


rectngulo cuya rea es de 15 cm
y uno de sus lados mide 3 cm.

Basndose en la actividad anterior, convertir


los algoritmos elaborados en seudocdigo en
diagramas de flujo:

Hallar el rea de un cuadrado cuyo


lado mide 5 cm.

Hallar el rea y el permetro de un crculo


cuyo radio mide 2 cm.

Hallar el rea de un pentgono


regular de 6 cm de lado y con 4 cm
de apotema.

matemtico Pierre Fermat, 16011665), para averiguar si se trataba de


un nmero primo. Al cabo de 10 das,
el resultado fue "NO". Este es el
clculo realizado por un computador
en el que se ha tardado ms en dar
una respuesta de "s" o "no". (Libro
Gunness de los Records 2002)

Dato Curioso

En el ao 1986, se introdujo en el
supercomputador CRAY-2 la cifra
2^220+1, o nmero de Fermat 20 (que
debe su nombre al

Para avanzar en el tema de los


Algoritmos resulta indispensable
que los estudiantes comprendan
algunos conceptos bsicos
(variables, constantes,
identificadores, funciones,

CONCEPTOS BSICOS DE
PROGRAMACIN

operadores, etc), los cuales sern


indispensables tanto para disear
algoritmos como para traducirlos a
un lenguaje de programacin,
cualquiera que este sea (Logo,
Java, Visual Basic, etc).
reservados para guardar datos

Variables

(valores). El valor de una Variable


puede cambiar en algn paso del
Algoritmo o permanecer invariable;
por lo tanto, el valor que contiene

Para poder utilizar algoritmos con

una variable es el del ltimo dato

diferentes conjuntos de datos

asignado a esta. En el Algoritmo de

iniciales, se debe establecer una

la Ilustracin 2-4, "rea" es un

independencia clara entre los datos

ejemplo de Variable; en el paso 5

iniciales de un problema y la

se guard en ella el resultado de

estructura de su solucin. Esto se

multiplicar "base" por "altura" y en

logra mediante la utilizacin de

el paso 6 se utiliz nuevamente

Variables (cantidades que se

para guardar el valor de dividir su

suelen denotar con letras

propio contenido ("rea") entre la

identificadores- y que pueden tomar

Constante "div".

cualquier valor de un intervalo de


valores posibles).

MicroMundos ofrece tres tipos de


variables: Locales, Globales y de
En programacin, las Variables son

Estado. Las primeras retienen su

espacios de trabajo (contenedores)

valor el tiempo que dure la

ejecucin del procedimiento en el

MicroMundos o cuando se borran

cual se utiliza. Las variables

con el comando bnombres.

Locales se pueden crear con las


primitivas asigna y local o en la
lnea del ttulo de un procedimiento.

En Scratch, se debe hacer clic en el


botn Variables de la paleta de
bloques.

En MicroMundos se utiliza el
comando da para asignar un valor
a una variable o constante. La
sintaxis es:

da nombreVariable valor

que es equivalente a la forma


nombreVariable=Valor que se utiliza
en la mayora de los lenguajes de
programacin.

Para utilizar el valor almacenado en


una variable o constante se debe
anteponer dos puntos (:) al nombre;
en

:nombreVariable

los dos puntos significan no quiero


que ejecutes el comando
nombreVariable; quiero el valor
almacenado en nombreVariable.

Las variables Globales se crean


con los comandos da o nombra.
Estas variables solo pierden su
valor cuando se cierra

Luego se hace clic en el botn


Nueva variable y se asigna un
nombre a la variable, en este caso

Puntaje. Cuando se genera una

Con el botn Borrar una variable

variable, aparecen los bloques

se borran todos los bloques

correspondientes a ella. Se puede

asociados con una variable.

escoger si la variable es para todos


los Objetos (global) o solo para un
Objeto (local).
Al hacer clic sobre el cuadrito de
seleccin, se empieza a Informar el
valor de la variable Puntaje en el
escenario.

Pg.29 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

EJEMPLO
Incrementa la variable en una
cantidad determinada (Si se tiene
ms de una variable, utilice el

MicroMundos para equiltero :tamao

men desplegable para seleccionar

limpia cp

el nombre de la variable que se

repite 3 [adelante :tamao derecha


120] fin

desea modificar).

Inicializa la variable a un valor


especfico.

Muestra el monitor de la variable en


el escenario.

Esta opcin esconde el monitor de


la variable para que no aparezca
en el escenario.

Ahora escriba en el centro de mando


de MicroMundos la palabra equiltero
seguida por un nmero que representa
el tamao de cada lado del tringulo
(ejemplo: equiltero 70 ).

La variable local :tamao creada en la lnea


de ttulo del procedimiento equiltero,
contiene el valor 70 mientras el
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.

Scratch

da "variableLocal 20 fin

Ahora escriba en el centro de mando


de MicroMundos la secuencia de
instrucciones en cursiva y debe
obtener las respuestas subrayadas:

tipoVariable 70

muestra :valorParmetro valorParmetro no


tiene valor muestra :variableLocal
variableLocal no tiene valor muestra
:variableGlobal

150

En Scratch haga clic en la bandera


verde para que se dibuje en el
escenario un tringulo equiltero
con lado 100. Para dibujar
tringulos de tamaos diferentes
basta con fijar la variable tamao a
otro valor.

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 (150) por
fuera del procedimiento donde fue creada.

En MicroMundos tambin existen las


variables de estado que permiten
conocer o modificar los
componentes ms importantes de

EJEMPLO

Escriba en el rea de
procedimientos las siguientes
lneas de cdigo: para
tipoVariable :valorParmetro

limpia

una tortuga, un control o una caja de


texto.

Constantes

Las Constantes se crean en Logo de


la misma forma que las variables y

da "variableGlobal 150 local "variableLocal

consisten en datos que, luego de ser


asignados, no cambian en ninguna
instruccin del Algoritmo. Pueden
contener constantes matemticas
(pi) o generadas para guardar
valores fijos (3.8, "Jorge", etc). En el
Algoritmo de la Ilustracin 2-4, "div"
es un ejemplo de Constante.

Ejemplo: El doble de la edad de Carlos


Andrs es 32 aos: edadCarlos es la
constante donde se guarda la edad de
Carlos

EJEMPLO

Las variables y constantes adems


de tener un Nombre (identificador)
para poder referirnos a ellas en los
procedimientos, guardan un Valor
en su interior.

Nombre (identificador)

Andrs;

R/.

2 x edadCarlos = 32

Situaciones:

La mitad de un valor (valor1) es 60

Valor
apellido
Lpez

Cuatro veces un nmero (nmero1)


equivale a 20

saldo
20000

Un nmero (nmero2) disminuido en


5 es 18

tamao
8.5
esTringulo

El doble (elDoble) del precio de una


manzana

SI
La midad (laMitad) del precio de una
gaseosa
ACTIVIDAD
el triple (elTriple) de mi edad
Pedir a los estudiantes que analicen el
siguiente ejemplo y que escriban en
forma de ecuacin las situaciones
planteadas.

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)

constantes son las incgnitas de las

son constantes: 120, 5 y 23

situaciones.

respectivamente; no pueden tomar


otros valores. Adems, estas

Los valores que pueden tomar


elDoble, laMitad y elTriple son
variables ya que dependen de un
precio o de la edad del estudiante
que resuelve el ejercicio. Los
valores de estas variables hay que
conocerlos para introducirlos en el
problema como datos iniciales, pero
no son la incgnita. Para ampliar
esta actividad, el docente puede
plantear nuevas situaciones o pedir
a los estudiantes que planteen

Hacer notar que en los papeles


guardados en las cajas marcadas con
BASE y ALTURA se han anotado
valores diferentes en cada ocasin.
Este es el concepto de variable.

Hacer notar tambin que en el


papel guardado en la caja
DIVISOR solo se anot un valor
(2) al comienzo del ejercicio y no
hubo necesidad de cambiarlo
posteriormente. Este es el concepto
de constante.

situaciones similares.

Esta actividad se puede adaptar


ACTIVIDAD

para reforzar el clculo de reas y


permetros de otras figuras
geomtricas planas.

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

Contadores

Los contadores en MicroMundos se


implementan como una estructura
de programacin (da A :A + 1 ) que
consistente en almacenar en una
variable (A) el valor de ella misma

(Base * Altura / 2)

(:A) ms un valor constante (1). Es


muy til para controlar el nmero de
veces que debe ejecutarse un

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.

grupo de instrucciones.

En Scratch, se utiliza la instruccin


cambiar ... por ...

Repetir la operacin pidiendo a otro


estudiante que escriba nuevos
valores en el papel de cada una de
las cajas, tachando los valores
anteriores.

para incrementar la variable en una


cantidad determinada.

En este caso se almacena en la


variable Puntaje el valor que ella
tenga en el momento ms el valor
constante 1.

EJEMPLO

Escribir un procedimiento llamado


contador para contar los nmeros
entre 1 y 10.

Haga clic en la bandera verde de


Scratch.

MicroMundos

para contador bnombres

Acumuladores

da "nmero 0
Estructura muy utilizada en
repite 10 [da "nmero :nmero + 1
muestra nombres]

muestra frase

programacin (da A :A + :B) y que


consiste en almacenar en una
variable (A) el valor de ella misma (
:A) ms otro valor variable (:B). Es
muy til para calcular sumatorias.

[El valor final del contador nmero


es ] :nmero

fin

Ahora escriba en el centro de mando de


MicroMundos contador.

EJEMPLO

Escribir un procedimiento llamado


acumulador para calcular la
sumatoria de los nmeros entre 1 y
10.

Scratch
MicroMundos

para acumulador bnombres

muestra frase
da "contador 0 da "sumatoria 0

repite 10 [da "contador :contador +


1

[El valor final del acumulador


sumatoria es ] :sumatoria

da "sumatoria :sumatoria +
:contador muestra nombres]

fin

Ahora escriba en el centro de mando de


MicroMundos acumulador.

Pg.31 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

Scratch

Haga clic en la bandera verde de


Scratch y el resultado debe ser
2036.

Identificadores

Los identificadores son nombres que


se dan a los elementos utilizados
para resolver un problema y poder
diferenciar unos de otros. Al asignar
nombres (identificadores) a
variables, constantes y
procedimientos se deben tener en
cuenta algunas reglas:

Los nombres pueden estar formados


por una combinacin de letras y
nmeros (saldoMes, salario, fecha2,
baseTringulo, etc).

El primer carcter de un nombre


debe ser una letra.

La mayora de los lenguajes de

El tipo de nombre identificadores-

programacin diferencian las

que se asigne a variables,

maysculas de las minsculas.

constantes y procedimientos es muy


importante. Cuando los estudiantes
dejan de trabajar en un proyecto por

Los nombres deben ser


nemotcnicos, con solo leerlos se
puede entender lo que contienen.
Deben ser muy descriptivos; no
utilizar abreviaturas, a menos que
se justifique plenamente.

Es conveniente utilizar una sola


palabra para nombrar pginas,
controles, variables, etc.

No utilizar caracteres reservados


(%, +, /, >, etc). MicroMundos
admite letras acentuadas (, , , ,
). Se debe tener en cuenta que
algunos lenguajes de programacin
no admiten las tildes.

No utilizar palabras reservadas por


los lenguajes de programacin.

Para cumplir con convenciones


ampliamente utilizadas (Jimnez,
2002), los nombres de
procedimientos, variables y
constantes deben empezar con
minscula. Ejemplo, fecha, suma,
etc. Si es un nombre compuesto
por varias palabras, cada una de
las palabras (con excepcin de la
primera) deben empezar con
mayscula. Ejemplo: fechaInicial,
baseTringulo, etc.

varios das, es ms fcil para ellos


retomar la actividad si los
identificadores describen muy bien el
contenido de variables, constantes y

procedimientos. Adems, el

sp

docente podr ayudarles a revisar y


depurar sus programas en forma
ms eficiente si estos son fciles de
leer (Feicht, 2000).

Las palabras reservadas no operan


en Scratch ya que todas las
instrucciones, incluyendo mandos y
reporteros, son bloques de
construccin (ver la seccin

Palabras reservadas
(primitivas)

Conceptos bsicos de Logo en la


Unidad 3). Los estudiantes no deben
escribir las instrucciones, solo deben
escribir los parmetros en algunas
de ellas.

Todos los lenguajes de


programacin definen unas
palabras para nombrar sus
comandos, instrucciones y
funciones. Un identificador definido

ACTIVIDAD

por el usuario no puede tener el


nombre de una palabra reservada
en MicroMundos.

Cules de los siguientes identificadores


NO son validos como nombres de
Variables en MicroMundos y por qu?

nmeroX
Algunas palabras reservadas en
MicroMundos
Numero X
adelante (ad)
muestra
derecha (de)

A(45+

para
izquierda (iz)

VII

limpia
atrs (at)

7mesas

rumbo
repite
cp
da

sieteMesas

En cuanto a palabras reservadas,


Scratch es ms flexible que
MicroMundos, pues se pueden
utilizar como nombres de variables
aquellos identificadores que no son
validos en MicroMundos: A(45+, 7,
etc.

TIP

Es buena idea asignar, a Variables y


Constantes, nombres que indiquen cul

puede ser su contenido. Por ejemplo, a una


Variable que contendr el valor de la base
de un tringulo debe asignrsele el nombre
"baseTriangulo"; "areaCuadrado" a una que
guardar el rea de un cuadrado; y "radio"
a una que contendr el valor del radio de
una circunferencia. Aunque MicroMundos
no hace distincin entre maysculas y
minsculas, es buena prctica ser
consistente a lo largo de todo el algoritmo
en su uso (RADIOCIRC RadioCirc). Esto
debido a que la mayora de lenguajes de
programacin s hacen distincin entre
maysculas y minsculas.

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


Ejemplo:

tangente) de su entrada. Ver tan y cos.

cp

cumpleveces [i 100]

[fx coorx + 1 fy -50 + 2 * arctan :i / 100]

COSENO.
cos nmero

Devuelve el coseno de su entrada.


Ejemplo:

Ver sen y tan.

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


Ejemplo:

e) del nmero. Es el contrario de exp.

Ver tambin log.


muestra ln 15

LOGARITMO.
log nmero

Devuelve el logaritmo del nmero.


Ejemplo:

Ver ln y exp.

muestra log 15

PI
pi

Devuelve la constante PI.


Ejemplo:
No disponible en Scratch

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


Ejemplo:
Scratch no tiene el operador potencia, sin

nmero2.

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.


Ejemplo:

Ver cos.

cp

repite 260 [fy 25 * sen 6 * coorx fx coorx +

1 / 2]

TANGENTE.
tan nmero

Devuelve la tangente de su entrada.


Ejemplo:

Ver sen y cos.

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
ticas.
La
mayor
a de
los
lenguaj
es de
progra
macin
dispon
en de
una
amplia
varieda
d de
datos.
MicroM
undos
solo
tiene
tres
tipos
de
datos:
nmer
os,
palabr
as y
listas.

Cuand
o se
utilizan
los
signos
positiv
o (+) o
negativ
o (-),
estos
deben
estar
pegad
os al
nmer
o.
MicroM
undos
acepta
tanto el
punto
como
la
coma
para
escribir
nmer
os
decima
les

Nmer
os: se
utilizan
como
entrad
as en
las
operac
iones
matem

(3,14=
3.14).
Esto
es
import
ante
tenerlo
presen
te para
no
utilizar

el

decima

punto

les.

para

Por su

marcar

parte,

la

Scratc

separa

h solo

cin de

utiliza

miles y

el

millone

punto

s. Si

decima

asigna

l; sin

mos a

embar

una

go, si

variabl

usted

e el

introdu

valor

ce el

20.000

nmer

o 6,2,

MicroM

Scratc

undos

h lo

guarda

convert

en ella

ir

el valor

autom

20 y

ticam

no

ente a

20000;

6.2.

si le
asigna
mos
1.345.

EJEM
PLO

625 en
lugar
de
13456
25,
MicroM
undos
no
acepta
r esta

Los
siguien
tes son
nmer
os
validos
en
MicroM
undos:

notaci
n por
tener

453

dos
puntos

19,7

Palabr
19.7

as: Las
palabr
as

-14,42

estn
formad
as por

856.

letras
y/o
nmer

1E6

os.
Una
palabr

El
signo
debe
estar
pegad
o al
nmer
o:
muestr
a 3 +
6 da
como
resulta
do 3;
muestr
a-3+
6 da
como
resulta
do el
mensaj
e necesit
a ms
entrad
as.
Scratc
h no
recono
ce la
notaci
n
cientfi
ca:
1E6.

a est
delimit
ada
por
espaci
os en
blanco;
sin
embar
go, si
se
quiere
tener
un
texto
confor
mado
por
dos o
ms
palabr
as,
este
debe
encerr
arse
entre
barras
(|
palabr
a1

palabr
a2|).

Listas:
una

EJEM
PLO

secuen
cia de
palabr
as

Las
siguien
tes son
palabr
as
validas
en
Logo:

puede
manipu
larse
igual
que
una
sola
palabr
a

Hola

median
te el
uso de

listas.
Una
lista es

548

una
secuen
cia de

OnceCaldas

palabr
as
separa
das

Qui
n?

por
espaci
os en
blanco

El
comando
muestra
hola da
como
resultado
hola;
muestra
hola
reporta
hola.
Varias
palabras
se deben
tratar
como
una lista.

y
encerr
ada
entre
corchet
es. Las
palabr
as en
una
lista no
necesit
an

comilla
s y los
espaci
os en
blanco
se
ignora
n.

EJEM
PLO

Las
siguien
tes son
listas
validas
en
Micro
Mundo
s:

[Esta
es una
lista de
7
eleme
ntos]

Aunqu
e en
Scratc
h se
puede

[x y z]

n
introdu
cir

Scratc
h

tanto
palabr
as
como
nmer
os en
una
variabl
e, la

operac

ores

in de

unir

suma

se

de dos

puede

variabl

es o

anidar

de

para

eleme

formar

ntos de

una

una

cadena

lista

de

solo

varios

opera

elemen

con

tos. En

nmer

el

os

siguien

(versi

te

n 1.4).

ejempl

Por lo

o se

tanto

requier

no se

en tres

puede

espaci

os: uno

concat

para

enar

mostra

varias

r el

palabr

nombr

as

e, otro

para

para

formar

separa

una

r el

frase

nombr

con el

e del

operad

apellid

or +,

o y el

debe

tercero

utilizar

para el

se el

apellid

operad

o.

or
unir.
Varios
operad

Scratc
h

Pg.34 - 9-nov-09 Segunda Edicin Descargue gratuitamente


esta Gua:
http://www.eduteka.org/Guia
Algoritmos.php

OPERADORES
se
Son
smbo
los

clasifi
can
en:

que
sirven
para
manip
ular
datos.
En
Micro
Mund
os es
neces
ario
dejar
un
espac
io en
blanc
oa
cada
lado
del
signo
aritm
tico.
Los
opera
dores
y las
opera
cione
s que
se
puede
n
realiz
ar con
ellos

Aritm
tico
s:
Posibi
litan
las
opera
cione
s
entre
datos
de
tipo
numr
ico y
dan
como
result
ado
otro
valor
de
tipo
numr
ico.
Ejemp
lo:
poten
cia
(poten
cia);
produ
cto
(*);
divisi
n (/);

suma

datos

(+);

de

resta

tipo

(-);

carct

asign

er o

acin

caden

().

as. La

Este

mayor

ltimo

a de

opera

los

dor de

lengu

Micro

ajes

Mund

de

os

progr

prese

amaci

nta

difere

admit

ncias

en el

con el

opera

opera

dor +

dor de

para

asign

realiz

acin

ar la

(=)

conca

que

tenaci

utiliza

n la

(unin

mayor

) de

a de

caract

los

eres o

lengu

caden

ajes

as. Ni

de

Micro

progr

Mund

amaci

os, ni

n.

Scratc
h
tienen

Alfan
umri
cos:
Permit
en
opera
r con

esta
opci
n. En
Scratc
h
debe
utiliza

rse,

Lgic

para

os:

conca

Posibi

tenar,

litan

el

la

opera

evalu

dor &.

acin
lgica
de

Relac
inal
es:
Permit
en la
comp
araci
n
entre
datos
del
mism
o tipo
y dan
como
result
ado
dos
valore
s
posibl
es:
Verda
dero o
Falso.
Ejemp
lo:
igual
a (=);
menor
que
(<);

dos
expre
sione
s de
tipo
lgico
. Dan
como
result
ado
uno
de
dos
valore
s
posibl
es:
Verda
dero o
Falso.
Ejemp
lo:
negac
in
(no);
conju
ncin
(y);
disyu
ncin
(o).

mayor
que
(>).

Orde
n de

eval
uaci

intern
os)

n
de
los
oper

Signo
(-2)

ador
es

Poten
cias y
Race

Los
comp
utador
es
ejecut
an los
opera
dores
en un
orden
predet
ermin
ado.
El
siguie

s
(poten
cia y
rc);
Produ
ctos y
Divisi
ones (
* y /)
Suma
sy
Resta
s (+ y
-)

nte es
el
orden
(jerar
qua)
para

Conc
atena
cin
(+)

ejecut
ar
opera
dores:
Parn

Relaci
nale
s (=,
<, >)

tesis
(se
ejecut
an
primer
o los
ms

Nega
cin
(no)

Conju
ncin
(y)

*
Multip
licaci

Disyu
ncin
(o)

n
4*2
8

OPER
ADO
RERS
ART
METI
COS
Oper
ador
Oper

/
Divisi
n

acin

4/2

Ejem

plo
Resul
tado
poten
cia
Poten
cia
poten
cia 4
2
16
^

4^2

+
Suma
4+2
6

resta
4-2
2

muest
ra
azar
6+1
report
a un
result
ado
difere
nte al
que
report
a

asign
acin
da A

muest
ra
(azar
6) + 1
Por

qu?

Se

opera

asigna

cione

el

Las

s que
se
encue
ntran
entre
parnt

valor

esis

de 4 a

se

la

eval
an
primer
o; las
que
tienen

variabl
eA

el
mism
o
orden
de
evalu

La

acin

expre

se

sin

ejecut

an de

Logo

izquie

azar y

rda a

a su

derec

vez,

ha.

el

Los

mand

clcul

o azar

os

se

aritm

ejecut

ticos

siemp

primer

re se

o que

realiz

el

an

mand

antes

que

muest

cualq

ra. En

uier

instru

otro

ccion

mand

es

como

Logo.

muest

Por

ra

ejemp

(azar

lo, en

6) + 1

la

hay

instru

que

ccin

tener

muest

prese

ra

nte

azar

que

6 + 1,

siemp

la

re se

opera

deben

cin

utiliza

aritm

tica 6

pares

+ 1 se

de

realiz

parnt

esis.

primer

En

o que

Scratc

el

h no

mand

est

dispo

nible
la
opci
n de
parnt
esis
(hasta
la
versi
n 1.4).

ACTI
VIDA
D

Pedir
al
estudi
ante
que
escrib
a en
el
Centr
o de
Mand
o
(ilustr
acin
1-2)
de
Micro
Mund
os las
siguie
ntes
expre
sione
sy
anote
en su
cuade
rno
las
obser

vacio
nes
sobre
los
result
ados
de
cada
pareja
(1 y 2;
3 y 4,
5 y 6):

muest
ra 243
+56 + 86
42

muest
ra 5 +
86 42 - 6
+ 243

muest
ra 7 +
(8*
16)

muest
ra (7
+8)*
16

muest
ra 24 /
4*8

muest
ra 4 *
8 / 24

Pg.35 - 9-nov-09 Segunda Edicin Descargue


gratuitamente esta Gua:
http://www.eduteka.org/
GuiaAlgoritmos.php

EXPRESIONES
Una
Una
Expre
sin
est
comp
uesta
por
valore
s,

Const
ante
o una
Varia
ble
(divid
e,
base,
rea)

funcio
nes,
primiti
vas,
const
antes
y/o
variab
les, o

Una
funci
n
(cos
60,
arcta
n 1)

por
una
combi
naci
n de
los
anteri
ores
media
nte
opera
dores.
Son
Expre
sione

Una
combi
naci
n de
valore
s,
const
antes
,
varia
bles,
funcio
nes y

s:

opera

Un

que

valor
(1.3,
"Jorg
e)

dores
sigue
n
regla
s de
const
rucci
ny

orden

(pi *

de

20

evalu

- :X)

acin
de los
opera
dores
(cos
60 + 7
:altura
)

Alfan
umr
icas:
Dan
como
result
ado
una
serie

Las

Expre

cade

sione

na de

carac

puede

teres.

n ser:
Lgic
Aritm

as:

tica

Dan

s:

como

Dan

result

como

ado

result

un

ado

valor

un

"Verd

valor

adero

num

"o

rico.

"Fals

Conti

o".

enen

Conti

nica

enen

mente

varia

opera

bles

dores

y/o

aritm

const

ticos

antes

enlaz

datos

adas

num

con

ricos

opera

dores

valor

lgico

result

ante

(A>0

de la

Expre

B<=5)

sin

Aritm
tica
(:bas

De
Asign
acin
:
Estas
Expre
sione

e*
:altur
a / 2)
a la
varia
ble
rea.

s
asign
an el
result

EJEM
PLO

ado
de
una
Expre
sin a
una
Varia
ble o
a una
Const
ante.
La
Expre
sin
de
Asign
acin
(da
"rea
:base
*
:altur
a / 2)
asign
a (da)
el

Para
dise
ar
algorit
mos
que
poster
iorme
nte
pueda
n ser
traduc
idos a
un
lengu
aje de
progr
amaci
n, es
funda
menta
l
saber
manej
ar
muy
bien
los
opera
dores
y el

orden
en el
que
estos
se
ejecut
an.
Las
frmul
as
deben
escribi
rse en
una
sola
lnea
para
que el
comp
utador
las
evale
.

NOTA
CIN
EXPRE
SIN
MATE
MTIC
A

(rc
(potenc
ia 6 2)+
7) /
(potenc
ia 8 2)

Scratch
no tiene
el
operado
r
potenci
a, sin

embarg
o es
fcil
progra
marlo:

http://sc
ratch.mi
t.edu/pr
ojects/j
ualop/7
52239

(base *
altura /
2)

EJEM
PLO

Evalu
ar la
expres
in
muest
ra
((pote
ncia (5
+ 3) 2)
- 10) /
3+4*
(2 + 4)
tenien
do en
cuenta
la
jerarq
ua de
los
opera
dores:

R/.

((poten
cia
(5+3)
2) - 10)

/3+4*
(2 + 4)
=
((poten
cia 8 2)
- 10) / 3
+4*6

((pote
ncia8
2) 10) /
3+4
*6=
(64 10) /
3+4
*6
(64 10) /
3+4
*6=
54 / 3
+4*
6 54 /
3+4
*6=
18 +
24 18
+ 24
= 42
42

ACTI
VIDA
D

Toman
do
como
modelo
el
ejempl
o
anterio
ry
utilizan
do
lpiz y
papel,

desar
rollar
paso
a
paso
las
siguie
ntes
expre
sione
s.
Tener
en
cuent
a la
jerarq
ua
de los
opera
dores
:

(5 +
2) *
(4 +
4) =
56

7+3
*2+
(2 - 1)
= 14

6*2
+4*
3+
5/2
=
26,5

5+1
*4/2
*7(8 +
2) = 9

8 + (5
* 6) 6 = 32

9+5
*3=
24

4/2*
(10 5) * 3
= 30

ACTI
VIDA
D

Pedir
al
estudi
ante
que
escrib
a en
el
Centr
o de
Mand
o de
Micro
Mund
os
(ilustr
acin
1-2)
las
siguie
ntes
expre
siones
y
anote
en el
cuade
rno
sus
obser
vacion
es
sobre
el

result
ado:

mues
tra 7
+5+
6

mues
tra [7
+5+
6]

mues
tra
[ma
ana
nos
vemo
s en
clase
de
ingls
]

mues
tra
maa
na
nos
vemo
s en
clase
de
ingls

Obs
rvese
que
las
instru
ccion
es 1 y
2 se
difere
ncian
en
que

mientr

etes

as la

inicial

prime

y final

ra da

para

como

que

result

Micro

ado

Mund

un

os la

valor

consi

num

dere

rico

una

(18),

lista

la

de

segun

cinco

da es

palab

una

ras.

lista y
report
a una
caden
a
alfanu
mric
a de
caract
eres
7 + 5
+ 6.

En
Scrat
ch no
son
neces
arios
los
parn
tesis
ya
que
el
orden

La
instru
ccin
4
report
a No
s
cmo
hacer

de
evalu
acin
de las
expre
sione
s es
inequ
voco.

maa
na
porqu
e le

EJEM
PLO

faltan
los
corch

Luisa
Ferna

nda
quiere
llenar
5
cajas
de
bomb
ones y
sabe
que
en
cada
caja
hay
que
incluir
12
bomb
ones
de
menta
, 14
de
fresa
intens
a y 10
de
limn.
Encon
trar al
meno
s dos
expre
siones
equiva
lentes
para
calcul
ar el
nmer
o de
bomb
ones
que
necesi
ta
Luisa
Ferna
nda.

R/.

Expre
sin
1: 5
* 12 +

5 * 14
+5*
10

Qu
signifi
ca
cada
produ
cto?

Qu
signifi
ca la
suma
de los
produ
ctos?

Expre
sin
2: 5 *
( 12 +
14 +
10 )

Qu
represe
nta la
suma
del
parnte
sis?
Por
qu la
suma
se
debe
multipli
car por
5?

Las
dos
expre
sione
s dan
el
mism
o
result
ado?

Ejerci
cio
adapt
ado
de
Cuen
ta
Jugan
do 5;
Pgin
a 48
(Casa
sbuen
as &
Cifuen
tes,
1998b
).

ACTI
VIDA
D

da
nmer
oA 5
(asigna
el valor
5 a la
Consta
nte
nmer
oA) da
nmer
oB 8
(asigna
el valor
8 a la
Consta
nte
nmer
oB)

Utilizan
do la
informa
cin de
los
valores

asigna
dos a
las
Consta
ntes
nmero
Ay
nmero
B,
evaluar
las
siguien
tes
expresi
ones:

20
+
:nm
eroA

:
nme
roA +
3*
:nm
eroB

:
nme
roA
>
:nm
eroB

:
nme
roA +
"123

4+
:nm
eroA :nm
eroB

Pg.36 - 9-nov-09 Segunda Edicin Descargue

gratuitamente esta Gua:


http://www.eduteka.org/
GuiaAlgoritmos.php

UNIDAD 3: ESTRUCTURAS BSICAS

LAS ESTRUCTURAS
cubren en esta gua son las
siguientes:

Secuencial.

Iterativa (repeticin).

Condicional (decisin,
seleccin).

Una estructura de control


se define como un
esquema que permite
representar ideas de
manera simplificada y que
bajo condiciones normales,
es constante (Trejos, 1999).
Ilustracin 3-1: Fases segunda y
tercera del ciclo de
programacin.

El uso del diseo


descendente en los
programas, la ejecucin de
operaciones secuenciales,
Un Algoritmo est

la utilizacin de ciclos

compuesto por

repetitivos y, la toma de

instrucciones de diferentes

decisiones y alternativas de

tipos, organizadas

proceso, ofrecen amplias

secuencialmente, en forma

posibilidades para resolver

de estructuras de control.

problemas mediante la

De estas estructuras, las

construccin de

ms comunes y que se

procedimientos

(Castellanos & Ferreyra,


2000b).

MicroMundos (proyecto
Teddi - PDF; 560KB)

Un famoso teorema de los


aos sesenta, formulado

http://www.eduteka.org/pdfdir/
ManualMicroMundos.pdf

por Edsger Wybe Dijkstra,


demostraba que se puede
escribir cualquier programa
utilizando nicamente la
tres estructuras de control

Scratch (MIT - PDF; 1.5MB)


http://www.eduteka.org/pdfdir/S
cratchGuiaReferencia.pdf

mencionadas. Actualmente,
la programacin orientada a
objetos (POO) busca
reducir al mximo la

TIP

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

programacin, pueden
descargar gratuitamente las
correspondientes Guas de
Referencia:

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
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 de
memoria desde 1964, ao en el
que fue utilizada por IBM en la
arquitectura del IBM 360. El
siguiente problema del que se
ocup Dijkstra fue el de los
filsofos comensales. En este
problema, cinco filsofos estn
sentados en una mesa circular
con un plato de arroz delante y
un palillo a cada lado, de manera
que hay cinco palillos en total. El
problema trata sobre el uso de
recursos comunes sin que los
procesos (los filsofos) lleguen a
una situacin de bloqueo mutuo;
adems, que los recursos se
utilicen por todos los procesos de
la manera ms eficiente. Dijkstra
tambin contribuy a desterrar el
comando GOTO de la
programacin: el comando
"GOTO es considerado daino.
Cuantas ms sentencias GOTO
tenga un programa, ms confuso
ser el cdigo fuente".

Pg.37 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente esta


Gua: http://www.eduteka.org/GuiaAlgoritmos.php

CONCEPTOS BSICOS DE PROGRAMACIN


creaciones ms

Logo

Logo es un lenguaje de
programacin con un
nmero limitado de
palabras y de reglas

complejas.

Desde 1968 a la fecha


se han creado
numerosas versiones de
Logo

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.

(http://www.elica.net/download/
papers/LogoTreeProject.pdf);

sin embargo, en esta


Gua se utilizarn los
entornos de
programacin basados
en Logo MicroMundos
y Scratch. Ambos
ofrecen una serie de
comandos llamados
primitivas para construir
procedimientos (ver una
lista bsica de primitivas
en el Anexo 1).

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

Para obtener mayor


informacin sobre Logo,
se recomienda visitar el
sitio Web de Daniel Ajoy
http://neoparaiso.com/log
o/

dan instrucciones a una


tortuga (adelante, atrs,
derecha, izquierda, etc)
para elaborar dibujos
sencillos. Pero a medida

MicroMundos

que logran dominio del


lenguaje, ellos utilizan
comandos ms
sofisticados para realizar

MicroMundos
(http://www.micromundos

.com) es un entorno de

etc). En MicroMundos la

programacin

primera palabra de una

desarrollado por la

instruccin siempre debe

compaa canadiense

ser un Mando, por lo

LCSI. La lista de

tanto, los Reporteros

primitivas es ms

solo se pueden utilizar

extensa que la de

como entradas de un

Scratch; la cual, junto a

Mando o de un

los procedimientos

procedimiento.

elaborados por el
programador, se pueden
clasificar en dos
categoras: Mandos y
Reporteros.

Los Mandos hacen algo.


Por ejemplo, derecha y
muestra son Mandos
(derecha 120 , muestra
rumbo, etc). Los
Reporteros informan
sobre el resultado de un
clculo o sobre el estado
de un objeto. Por
ejemplo, rumbo y
primero son Reporteros.
En la instruccin
muestra rumbo, el
Reportero rumbo
devuelve al Mando
muestra el rumbo actual
de la tortuga, rumbo
como tal no puede hacer
nada.

Se requiere que los


estudiantes aprendan a
interpretar las
instrucciones tal como lo
hacen con las oraciones
en castellano
(sustantivos, verbos,
conectores, adjetivos,

Ilustracin 3-2(a): rea de


trabajo de MicroMundos
(interfaz del programa)

PDF; 560KB)
http://www.eduteka.org/pdfdi
r/ManualMicroMundos.pdf

EJEMPLO 3-1
Aunque MicroMundos es
bueno y ampliamente
Digitar en el Centro de
Mando (Ilustracin 3-2)
la instruccin: rumbo

utilizado en escuelas de
Amrica Latina, su costo
puede constituir una
restriccin para muchas

MicroMundos devuelve
un mensaje de error: No
s qu hacer con 0

Instituciones Educativas.
Sin embargo, entre las
alternativas gratuitas
(licencia GNU) de Logo
hay una que utiliza en

Digitar la siguiente
instruccin en el Centro
de Mando: muestra
rumbo

ncleo de Logo creado


por Brian Harvey de la
Universidad de Berkeley:
Microsoft Windows Logo
(MSWLogo). Si bien, no
es un ambiente de

MicroMundos devuelve
el rumbo actual de la
tortuga: 0

programacin tan
atractivo y elaborado
como MicroMundos, esta
versin de Logo es

En este caso el resultado


de rumbo es reportado a
muestra.

gratuita y tiene una


traduccin al espaol
realizada por Javier
Lpez-Escobar que se
puede descargar de:

Los docentes

http://sourceforge.net/pro

interesados en conocer

jects/mswlogoes Sin

ms a fondo

embargo, desde 2006, y

MicroMundos, pueden

debido al notorio

descargar una versin de

abandono de MSWLogo

prueba por 30 das del

por parte de su

sitio:

desarrollador, David

http://www.micromundos.

Costanzo asumi la

com Adems, pueden

continuacin del

descargar gratuitamente

desarrollo de MSWLogo

la Gua de Referencia en

con el nombre FMSLogo:

espaol: Proyecto Teddi;

http://fmslogo.sourceforg
e.net/

Pg.38 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente


esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php

Scratch

Ilustracin 3-2(b): rea de


trabajo de Scratch (Ver imagen
con mayor tamao en el Anexo
8)

Scratch
(http://scratch.mit.edu/)
es un entorno de
programacin
desarrollado
recientemente por un
grupo de investigadores
del Lifelong Kindergarten
Group del Laboratorio de
Medios del MIT, bajo la
direccin del Dr. Michael
Resnick.

Aunque Scratch es un
proyecto de cdigo
abierto, su desarrollo es
cerrado. El cdigo fuente
se ofrece de manera
libre y gratuita.
Actualmente hay
disponibles versiones
oficiales para Windows,
Mac y Sugar (XO);
Adems, hay versiones
no oficiales para Linux.

Este entorno de
programacin 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 algortmico
y de aprendizaje del
Siglo XXI, a medida que
sus maestros superan
modelos de educacin
tradicional en los que
utilizan las TIC

simplemente para

Los docentes

reproducir prcticas

interesados en conocer

educativas obsoletas.

ms a fondo el ambiente
de programacin
Scratch, puede
descargarlo

Entre las caractersticas


ms atractivas de
Scratch, adicionales a
las mencionadas en el
prrafo anterior, que lo
hacen interesante para
muchas Instituciones

gratuitamente de la
siguiente direccin:
http://scratch.mit.edu/.
Adems, pueden
descargar la Gua de
Referencia en espaol
(PDF; 1.5MB):
http://www.eduteka.org/pdfd

Educativas se cuentan:

ir/ScratchGuiaReferencia.pd

es gratuito, tiene el

respaldo del MIT, est en


permanente desarrollo
(cada ao se liberan
aproximadamente dos
versiones con cambios

Fundamentos de

significativos), corre en

programacin

computadores con bajas


prestaciones tcnicas y
se puede ejecutar desde
una memoria USB (pen
drive), entre otras.

Una vez descritos


brevemente los entornos
de programacin que se
utilizan a lo largo de esta
Gua, se tratarn a

Scratch es una muy

continuacin una serie

buena alternativa a

de conceptos bsicos

MicroMundos; sin

requeridos para empezar

embargo, las

a utilizar dichos

Instituciones Educativas

entornos.

que ya cuentan con


MicroMundos, pueden
utilizar ambos entornos
ya que puede resultar
benfico para los

COMENTARIOS

estudiantes exponerlos a
diferentes ambientes de
programacin en los que

Los comentarios no

puedan realizar las

tienen ningn efecto en

mismas cosas.

la ejecucin del
algoritmo. Se utilizan

para aclarar
puedan prestarse a

muestra frase [El primer valor


es ] :valorUno muestra frase
[El segundo valor es ]
:valorDos

confusin o como ayuda

fin

instrucciones que

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.

En Scratch, los
comentarios se agregan
en una caja de texto
amarilla que se crea al
hacer clic derecho sobre
cualquier parte del rea
de programas (zona

Los comentarios en un
procedimiento de
MicroMundos se hacen

central gris) y
seleccionar la opcin
aadir comentario.

con el punto y coma (;).


MicroMundos ignora el
texto entre el punto y

Scratch

coma (;) y el final de la


lnea.

MicroMundos

para lectura

local "valorUno ; declarar


variables y constantes
local "ValorDos

pregunta [Ingrese el
primer valor ] ; ingresar
valorUno da "valorUno
respuesta
Los algoritmos
pregunta [Ingrese el
segundo valor ] ;
ingresar valorDos da
"valorDos respuesta

diseados como
ejemplos en esta Gua
no estn optimizados ya
que con ellos se busca
mostrar explicita y

detalladamente las

ptima de solucin.

operaciones bsicas

Algunos ejemplos

requeridas para una

exponen de manera

solucin y no la forma

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 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 hipotenusa se
puede omitir. El estudiante
debe preguntarse si sus
conocimientos actuales de
matemticas le permiten
resolver este problema; de
no ser as, debe plantear

una estrategia para obtener


los conocimientos
requeridos.

Restricciones: Utilizar las


medidas dadas.

Procesos necesarios:
Guardar en dos variables
(BASE y ALTURA) los valores
de Base y Altura; Guardar en
una constante (DIV) el divisor
2; aplicar la frmula
BASE*ALTURA/DIV y
guardar el resultado en la
variable AREA; comunicar el
resultado (AREA).

DISEO DEL
ALGORITMO

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.

TRADUCCIN DEL
ALGORITMO
Scratch
MicroMundos

para tringulo

local "div ;declara las


constantes como
locales. local "base

local "altura

local "rea

;declara
esta variable como local.

da "div 2 ;almacena 2 en
la constante div (div=2)
da "base 3 ;equivalente
a base=3

da "altura 4

da "rea :base *
:altura / :div
;aplica la
frmula.

PROCESOS

Se llama procesos a
todas las instrucciones
contenidas en un
algoritmo para:

muestra :rea ;reporta el


contenido de la variable
rea fin

declarar variables y
constantes (solo en
MicroMundos);

asignar valores iniciales

La sintaxis para

a variables y constantes;

asignacin de un valor a
una variable o constante
es:

leer datos que suministra


el usuario por medio del
teclado o del ratn

da nombreVariable

(mouse);

Valor (Ej. da altura 4).

realizar operaciones

Luego de asociar valores

matemticas (aplicar

a variables o constantes,

frmulas);

estas se pueden utilizar


anteponiendo dos puntos
(:) al nombre de la

reportar o mostrar

variable o constante:

contenidos de variables
y constantes;
da nuevaAltura 2 +
:altura
mostrar en pantalla
resultados de
procedimientos

El Mando da asigna a la

activados por el

variable nuevaAltura el

programa.

valor 2 ms el contenido
de la variable altura.

Vale la pena recordar


que la declaracin de

Por otra parte, al

variables y constantes se

momento de crear una

realiza en MicroMundos

variable en Scratch, el

de la siguiente forma:

entorno pregunta si esta


ser visible para todos
los objetos (global) o

local nombreVariable
(Ej. local

solo ser visible para


este objeto (local).

altura).
Scratch

Pg.40 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente


esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php

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
procedimiento, ir a otra
pgina, cambiar el valor
a una variable, etc).

Ilustracin 3-3: Con el


ratn se puede hacer clic
sobre los Botones y
deslizar el indicador de
los Controles (a la
izquierda disminuye y
hacia la derecha
aumenta).

En Scratch algunos
objetos se les puede dar
forma de botn y
programarlos para que
cumplan la misma
funcin que cumplen
estos en MicroMundos.
Respecto a los controles,
en Scratch cada variable
se puede convertir en un
control deslizante. Basta
con hacer clic derecho
sobre cualquier variable
que se muestre en el

MicroMundos

escenario y seleccionar
deslizador; luego se
hace clic derecho
nuevamente y se eligen
los valores mnimo y
mximo que puede
almacenar esa variable
mediante la
manipulacin con el
deslizador.

MicroMundos
Scratch

Otra forma de interactuar

Ilustracin 3-4: Los comandos


pregunta y respuesta permiten
interactuar con el usuario para
obtener informacin de l.

con un programa
consiste en que el
usuario utilice el teclado
para responder a las

Scratch

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).
Ilustracin 3-5: Los comandos
pregunta y respuesta permiten
interactuar con el usuario para
obtener informacin de l.

En Scratch las
respuestas que el
usuario aporta se
pueden almacenar en
variables con el
comando respuesta.

muestra frase [El primer valor


es ] :valorUno muestra frase
[El segundo valor es ]
:valorDos

fin

Para mostrar lo que el


usuario contesta se
puede utilizar los

Scratch

comandos decir y
pensar.

EJEMPLO 3-3

MicroMundos

para lectura

local "valorUno ; declarar


variables y constantes
local "ValorDos

pregunta [Ingrese el
primer valor ] ; ingresar
valorUno da "valorUno
respuesta

El ejemplo 3-6 de la
seccin Estructura
Secuencial ilustra muy
bien la interactividad que

pregunta [Ingrese el
segundo valor ] ;
ingresar valorDos da
"valorDos respuesta

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

que calcule el rea de un

solucin de un problema.

tringulo rectngulo,

Por ejemplo, si se

cada vez que se

elabora un procedimiento

cambien los valores

iniciales de base y

dar instrucciones a

altura, estos deben

alguien que se encuentra

actualizarse en el cuerpo

perdido son actividades

del procedimiento. La

que requieren

interactividad, por el

pensamiento

contrario, permite que

procedimental o

cada vez que se ejecute

algortmico. Los

el procedimiento, este le

estudiantes activan a

pregunte al usuario por

diario este tipo de

los valores de base y

pensamiento sin

altura, y los tome para

percatarse y sin hacer

calcular el rea sin la

algn tipo de reflexin

necesidad de modificar

sobre esto. De hecho,

nada en el

ellos disponen de un

procedimiento.

conocimiento
procedimental que
utilizan en muchos
aspectos de sus vidas,

PROCEDIMIENTOS

tanto para planear una


estrategia en un juego,
como para dar
instrucciones a alguien

Segn Papert (1993), los

perdido en el vecindario.

problemas que

Lo curioso es que en

experimentan muchos

raras ocasiones utilizan

estudiantes con las

este conocimiento

matemticas se deben

procedimental en las

ms a la falta de

clases de matemticas.

comprensin de los

Los ambientes Logo

algoritmos apropiados,

ayudan a los estudiantes

que a la falta de manejo

a hacer conciencia de la

de los conceptos

idea de procedimiento,

involucrados en estos.

ya que en l, los

Cuando experimentan

procedimientos se

problemas con la suma,

convierten en algo que

lo primero que se debe

se puede nombrar,

revisar es el

manipular y reconocer

procedimiento de la

(Papert, 1993).

adicin.
Adems del pensamiento
Los procedimientos se

algortmico, los

utilizan muy a menudo

razonamientos temporal

en la vida diaria.

y condicional juegan un

Participar en un juego o

papel muy importante en

la gestin, organizacin y

objetivo de ofrecerles

planificacin de cualquier

oportunidades de acceso

procedimiento. Estos

a conceptos

facilitan al programador

relacionados con

plantear y seguir

procedimientos, creando

instrucciones, fragmentar
una tarea en mdulos
con funciones precisas y
plantear decisiones que
un procedimiento debe
tomar de acuerdo a
ciertas condiciones. La
programacin esta muy
ligada al control de la
sucesin temporal de
instrucciones
organizadas en
secuencias. Este control,
guiado por un
razonamiento temporal,
es necesario para
organizar el orden de las
instrucciones a ejecutar,
para llamar otros
procedimientos en el
orden correcto y ejecutar
ciertas instrucciones
mientras una condicin
se d o a partir de
cuando esta se d
(Dufoyer, 1991). Y, segn
Friedman (1982) y Piaget
(1946), citados por
Dufoyer (1991), hay que
esperar necesariamente
hasta los 7 u 8 aos
(nivel de las operaciones
concretas) para que
estas operaciones sean
posibles. Por lo tanto,
utilizar la programacin
de computadores con
estudiantes de cuarto
grado en adelante es
viable si se hace con el

condiciones para que

estudiantes deben

ellos ejerciten en forma

utilizar pensamiento

efectiva y divertida el

algortmico,

pensamiento algortmico

razonamiento temporal y

y los razonamientos

razonamiento

temporal y condicional.

condicional, para
determinar y escribir
todas las instrucciones

En este sentido, la
utilizacin del rea de
procedimientos de

que lo deben componer


y el orden lgico de
ejecucin.

MicroMundos (ilustracin
3-2) ofrece mayores
posibilidades para
gestionar, organizar y
planificar, en
contraposicin a
introducir instrucciones
una a una en el centro
de mando (lo que
permite al estudiante ver
inmediatamente cul es
el efecto que produce
cada instruccin
ejecutada).

Como se expuso en la
Unidad 1, los
procedimientos son
mdulos con
instrucciones que inician
con el comando para y
que el computador
ejecuta
automticamente, una
tras otra, hasta encontrar
el comando fin. Todo
procedimiento debe
tener un nombre que lo
identifique y que sirve
para ejecutarlo cuando
se ejecuta dicho nombre.
Pero antes de ejecutar
un procedimiento, los

Ilustracin 3-5: Elementos que


componen el procedimiento
cuadrado; el parmetro es el
nico elemento opcional.

proyecto existente y
Por otra parte, el
vocabulario disponible en

pegarlos en el nuevo
proyecto.

cualquier proyecto Logo


est compuesto por los
comandos propios del
lenguaje (Mandos y
Reporteros) ms los
nombres de los
procedimientos definidos
en ese proyecto. En
otras palabras, los
procedimientos definidos
(en este caso
cuadrado) entran a
formar parte del
vocabulario de ese

Todo procedimiento debe


tener una lnea de ttulo
que incluye un nombre;
el cual, al invocarlo,
ejecuta en orden, una a
una, las lneas de
instrucciones que
contiene hasta que llega
a la lnea con el Mando
fin.

proyecto. Cuando se
abre un proyecto nuevo,
esos procedimientos ya
no estn disponibles; por
tanto, para utilizarlos hay
que copiarlos de un

Para escribir
procedimientos se deben
tener en cuenta las
siguientes
recomendaciones:

Pg.42 - 9-nov-09 - Segunda Edicin - Descargue gratuitamente


esta Gua: http://www.eduteka.org/GuiaAlgoritmos.php

mayscula la primera
El ttulo est compuesto
por: el Mando para, el
nombre del
procedimiento y los

letra de la segunda
palabra y de las
subsiguientes palabras
(ejemplo: valorMasAlto).

parmetros (opcional).
Cada instruccin
El nombre del
procedimiento debe ser

completa debe ocupar


una lnea de cdigo

una palabra. Cuando se


deben utilizar varias
palabras para nombrar
un procedimiento, se
escriben sin dejar
espacio entre ellas y con

Puede contener lneas


en blanco

En la ltima lnea solo


puede aparecer el
Mando fin

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.

Desde un procedimiento
se pueden invocar otros
procedimientos.

Ejemplo 3-4

Escribir un
procedimiento para
dibujar en la pantalla un
cuadrado de tamao
variable.

R/.

ANLISIS DEL PROBLEMA


Formular el problema: Ya
est claramente planteado.
Resultados esperados: El
dibujo de un cuadrado en la
pantalla. Datos disponibles:
El tamao de los lados del
cuadrado debe ingresarlo el
usuario; se sabe que todos
los ngulos internos de un
cuadrado son de 90 grados.
El estudiante debe
preguntarse si sus
conocimientos actuales de
matemticas le permiten
resolver este problema; de no
ser as, debe plantear una
estrategia para obtener los
conocimientos requeridos.

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

DISEO DEL
ALGORITMO

Aqu tenemos dos formas


equivalentes e igualmente
correctas de algoritmo
para dibujar un cuadrado.
El algoritmo de la
izquierda utiliza un
rectngulo de proceso
para cada instruccin; el
de la derecha agrupa en
un solo rectngulo las
instrucciones de proceso
adyacentes.

TRADUCCIN DEL
ALGORITMO

El siguiente procedimiento es
la traduccin al lenguaje Logo
del algoritmo representado
por el diagrama de flujo.
Pedir a los estudiantes que lo
escriban en el rea de
procedimientos.

MicroMundos para
cuadrado :lado
limpia cp
adelante :lado derecha 90
adelante :lado derecha 90
adelante :lado derecha 90
adelante :lado

fin

Cuando escriban en el
Centro de Mando el
nombre del
procedimiento, seguido
del parmetro
correspondiente al
tamao del lado
(Ejemplo: cuadrado
100 ) debe dibujarse en
la pantalla un cuadrado.

Scratch

Con el fin de poder


ejemplificar ms
adelante las dos formas
de ejecutar un
procedimiento, se debe
escribir este otro
procedimiento:

MicroMundos para
dibujaCuadrado

El procedimiento
cuadrado 120

cuadrado ilustra el
modelo general para
escribir procedimientos

fin

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

apreciar en el ejemplo 3-

ejecutar en un programa

4 (:lado).

varias veces de manera


idntica, cuya nica
diferencia sea el valor
inicial que tomen
algunas variables. En
estos casos, las
instrucciones se
empaquetan en un
procedimiento y los
distintos valores iniciales
de las variables se
asignan por medio de
parmetros.

El nombre del parmetro


se debe escribir en la
lnea del ttulo, despus
del nombre del
procedimiento,
ajustndose a las
indicaciones
establecidas en la
Unidad 2 de esta gua
para nombrar
identificadores. No
olvidar que al parmetro
se debe anteponer el
signo de dos puntos (:)
tal como se puede

Luego de definir el
nombre de un parmetro
en la lnea de ttulo de un
procedimiento (para
cuadrado :lado), este
parmetro se puede
utilizar en cualquiera de
las instrucciones
(ejemplo: adelante
:lado).

En otras palabras, la
lnea de ttulo del
procedimiento cuadrado
le dice a Logo que solo
hay un parmetro,
llamado lado. En el
cuerpo del procedimiento
se utiliza el Mando
adelante acompaado
del parmetro :lado. Esta
instruccin dibuja una
lnea cuya medida es
igual al valor que
contiene :lado.

Cuando en el ttulo de un

Por otra parte, los

procedimiento se definen

estudiantes deben

uno o varios parmetros,

aprender a distinguir

estos no tienen valor.

entre escribir un

Solo cuando se ejecuta

procedimiento y

el procedimiento es que

ejecutarlo. La primera

se conoce el valor de

actividad es el resultado

cada parmetro. Por

de las etapas de anlisis

esta razn, todo

del problema, diseo del

parmetro debe tener un

algoritmo y traduccin de

nombre. Por ejemplo, al

este a un lenguaje de

cambiar la lnea de ttulo

programacin.

del procedimiento
cuadrado por la siguiente
(con dos parmetros):

La segunda actividad
(ejecutar un
procedimiento) hay dos

para cuadrado :lado

formas de realizarla. La

:ngulo

manera ms simple
consiste en escribir el
nombre del

el valor del ngulo se


tratar como un
parmetro cuando se
invoque el
procedimiento.

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

En resumen, un
procedimiento,
internamente, es un
algoritmo que resuelve
en forma parcial un
problema. Desde el
punto de vista externo es
una orden o instruccin
nica que puede formar
parte de otro
procedimiento o
algoritmo (Cajaraville,
1989).

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:

cuadrado 150.

de nombres, esta es la
razn por la cual un
procedimiento puede

Otra forma de ejecutar


un procedimiento es
invocndolo desde otro
procedimiento. Cuando
se ejecuta el
procedimiento
dibujaCuadrado (sin
parmetros),
indirectamente se
ejecuta el procedimiento
cuadrado con 120 como
parmetro. Este
procedimiento dibuja
exactamente el mismo
cuadrado cada vez que
se ejecuta (ver ejemplo
3-4).

transferirle parmetros a
otros, manteniendo los
valores de sus propios
parmetros. Como los
nombres de los
parmetros son privados,
diferentes
procedimientos pueden
usar el mismo nombre
para un parmetro sin
que haya confusin
acerca de su valor.
Cuando Logo ejecuta un
procedimiento, ste
establece una biblioteca
privada que contiene los
nombres de los
parmetros que hay en
la definicin del

Adicionalmente, poder
invocar un procedimiento
desde otro, simplifica el
dibujo de figuras
simtricas. Se dice que
una figura es simtrica
cuando al doblarla por la
mitad sus dos partes
coinciden (Casasbuenas
& Cifuentes, 1998b). El
ejemplo 3-5 en la
seccin Estructura
Secuencial ilustra muy
bien la construccin de
figuras simtricas
mediante la utilizacin
de procedimientos que

procedimiento,
asociados con los
valores dados al
momento de llamar al
procedimiento. Al
ejecutarse una
instruccin que contiene
el nombre del parmetro,
el procedimiento busca
en su biblioteca privada
el valor de ese nombre.
Este es el motivo por el
cual el mismo nombre de
parmetro puede estar
en dos bibliotecas
distintas y tener
informacin diferente.

invocan a otros
procedimientos.

Cada procedimiento
tiene su propia biblioteca

Los parmetros son


como "variables locales"
del procedimiento en el

cual fueron definidos. La

Por su parte, en Scratch

importancia de los

no hay procedimientos

nombres de entrada

con parmetros como en

privados es que ofrecen

MicroMundos; sin

la posibilidad de ejecutar

embargo, se pueden

un procedimiento sin

simular con las

tener que preocuparse

instrucciones de Control

por detalles de su

Al enviar a todos y Al

definicin.

recibir.

Scratch

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
haciendo uso
Una estructura
se define
como un
esquema con
cierta
distribucin y
orden que
permite
representar
una idea de
forma
simplificada y
que bajo
ciertas
condiciones
es constante
(Trejos, 1999).
La estructura
de control
secuencial es
la ms
sencilla.
Tambin se la
conoce como
estructura
lineal. Se
compone de
instrucciones
que deben
ejecutarse en
forma
consecutiva,
una tras otra,
siguiendo una
lnea de flujo.
Solamente los
problemas
muy sencillos
pueden
resolverse

nicamente
de esta
estructura.
Normalmente,
la estructura
secuencial
hace parte de
soluciones a
problemas
complejos en
las que se la
utiliza
mezclada con
estructuras
iterativas
(repetir varias
veces un
conjunto de
instrucciones)
y
condicionales
(tomar
decisiones).

Escribir un
procedimiento
para dibujar
en la pantalla
una figura
simtrica igual
a la siguiente:
Ilustracin 36: Modelo de
estructura
secuencial.

Una estructura
de control
secuencial
puede
contener
cualquiera de
las siguientes
instrucciones:

R/.

declaracin
variables

asignacin de
valores

ANLISIS DEL
PROBLEMA
Formular el
problema: Ya
est claramente
planteado.

Resultados
esperados: El
dibujo dado.

entrada de
datos

procesamiento
de datos
(operaciones)

reporte de
resultados

EJEMPLO 3-5

Datos
disponibles:
La figura
geomtrica
suministrada.
El anlisis de
la figura
permite
establecer
que est
construida
con varios
cuadrados de
igual tamao.

Restricciones:
La figura
resultante
debe ser igual
en su forma a
la muestra.
Las
dimensiones
pueden variar.

Procesos
necesarios: la
figura se puede
realizar mediante
tres
procedimientos.
El primero, que
puede llamarse
simetraCuadrad
o, dibuja un
cuadrado con los
comandos
adelante y
derecha. El
segundo
procedimiento
(simetraCuadric
ula), dibuja
cuatro cuadrados
utilizando el
procedimiento
simetraCuadrad
o y el comando
izquierda. El
tercero
(simetraEstrella)
, dibuja dos
veces la figura
que se forma con
el procedimiento
simetraCuadrad
o; se debe girar
la tortuga 45
grados a la
derecha luego de
ejecutar
simetraCuadrad
o por primera
vez.

DISEO DEL
ALGORITMO

o, (2)
simetraCuadricu
la y (3)
simetraEstrella.

TRADUCIN
DEL
ALGORITMO

La solucin de
este problema
tiene tres
procedimiento
s:

(1)
simetraCuadrad

para
simetraCuadrad
o adelante 100
derecha 90
adelante 100
derecha 90
adelante 100
derecha 90
adelante 100
derecha 90

fin

Pg.46 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

El
procedimient
o
simetraCuad
rado (1) est
compuesto
solamente
por una
estructura
secuencial
que realiza el
dibujo de un
cuadrado
cuyos lados
miden 100.

para
simetraCuadric
ula
simetraCuadrad
o izquierda 90
simetraCuadrad
o izquierda 90
simetraCuadrad
o izquierda 90
simetraCuadrad
o izquierda 90

fin

El
procedimiento

simetraCuadricul
a (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

simetraCuad
ricula no
realiza
ningn
dibujo, lo que
hace es
llamar cuatro
veces el
procedimient
o
simetraCuad
rado 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
procedimient
o
simetraCuad
rado.

para
simetraEstrella
limpia

cp
simetraCuadric
ula derecha 45
simetraCuadric
ula

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
simetraCuadric
ula que a su
vez, cada que
es invocado,
llama cuatro
veces al
procedimiento
simetraCuadra
do. Para lograr
el efecto de
estrella, luego

de llamar la
primera vez al
procedimiento
simetraCuadri
cula, 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:

Pg.47 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

cumplen con
una funcin
determinada
(dibujar un
cuadrado,
calcular un
rea, etc).
Una tarea que
debe
realizarse
varias veces
es candidata
http://scratch.
mit.edu/projec
ts/jualop/4280
0

ideal para
tratarla como
un
procedimiento.
Con la
utilizacin de

Muchos
estudiantes
logran
construir la
figura del
procedimiento
simetraEstrell
a utilizando
gran cantidad
de comandos
que se repiten
sin estructura
alguna
(mediante
experimentaci
n). Es muy
importante
que ellos
reflexionen
sobre las
ventajas que
ofrecen los
procedimiento
s cuando se
los utiliza a
manera de
objetos que

parmetros se
pueden
cambiar
algunos
valores cada
vez que se
ejecute esa
tarea. De esta
manera, si
necesitamos
dibujar varios
cuadrados de
diferentes
tamaos, lo
ms
adecuado
ser construir
un
procedimiento
con el valor de
Lado como
parmetro y
ejecutarlo
varias veces
asignando a
este el valor
del Lado del

cuadro a

espejo. Los

dibujar, cada

espejos son

vez que se

para los nios

ejecute (ver el

su primera

ejemplo 3-4).

experiencia y
permiten
examinar

Este ejemplo
ilustra la
construccin
de figuras
simtricas
mediante la
utilizacin de
procedimiento
s invocados
desde otros
procedimiento
s. 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

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

efectivamente
el
afianzamiento

Por otra parte,

en el nio del

la

concepto que

construccin

este tiene de

de figuras

simetra,

como estas

alcanzado en

requiere un

forma intuitiva

dominio

a travs del

espacial del

estudiantes ya

requieren.

que es mucho

Como el

ms difcil

objetivo no es

reproducir una

presentar

accin

cdigos

correctamente

optimizados

en el

sino ms bien

pensamiento

que el

que llevarla a

estudiante se

cabo en el

familiarice con

nivel de la

los comandos

conducta. Por

disponibles,

ejemplo, es

ms adelante,

ms sencillo

cuando se vea

moverse de

la estructura

un lugar a otro

repetitiva, el

en un espacio

docente

fsico o dar

puede repetir

vueltas en

este ejemplo y

torno a

utilizar el

objetos que

comando

representar

repetir.

mentalmente

Posteriorment

esos

e, promover la

movimientos

reflexin de

con precisin

los

estudiantes

representarlos

sobre la

en un plano e

optimizacin

invertir

del cdigo y

mentalmente

las mltiples

las posiciones

maneras que

de los objetos

hay en

haciendo girar

programacin

el plano

para realizar

(Piaget,1993).

la misma
tarea.

Por ltimo, en
este ejemplo
se utilizan
ms

EJEMPLO 3-6

comandos de
los que
realmente se

Escribir un
procedimiento

para calcular el
rea de
cualquier
tringulo
rectngulo. En
l se debe
pedir al usuario
que ingrese los
valores de la
Altura y la
Base del
tringulo.

R/.

ANLISIS DEL
PROBLEMA
Formular el
problema: Ya
est claramente
planteado.

Resultados
esperados: Un
procedimiento
que permita
calcular el
rea de
cualquier
tringulo
rectngulo.

Datos
disponibles:
Base y Altura
del tringulo
(se deben
solicitar al
usuario). El
estudiante
debe
preguntarse si
sus

conocimientos
actuales de
matemticas
le permiten
resolver este
problema; de
no ser as,
debe plantear
una estrategia
para obtener
los
conocimientos
requeridos.

Restricciones:
Los valores de
base y altura
son variables
y se deben
solicitar al
usuario.

Procesos
necesarios:
definir
variables;
asignar el
valor 2 a la
constante div;
solicitar al
usuario el
valor de la
altura del
tringulo;
solicitar al
usuario el
valor de la
base; aplicar
la frmula de
rea; mostrar
el resultado.

Pg.48 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

DISEO DEL
ALGORITMO

local "altura local


"rea da "div 2

pregunta
[Ingrese la
Altura del
Tringulo] ;
ingresar altura
y base

da "altura
respuesta

pregunta
[Ingrese la
Base del
Tringulo] da
"base
respuesta

da "rea :base
* :altura / :div
;
realizar clculos

anuncia frase
[El rea del
tringulo
es:] :rea ;
reportar el
resultado
TRADUCCI
N DEL
ALGORITMO
EN
MICROMUND
OS para
tringuloRect
ngulo

local "div ;
declarar
variables y
constantes
local "base

fin

TRADUCCI
N DEL
ALGORITMO
EN SCRATCH

logra un
procedimiento
generalizado
para calcular
el rea de
CUALQUIER
tringulo
rectngulo. En
otras
palabras,

En este
ejemplo, el
procedimiento
tringuloRect
ngulo
tambin est
compuesto
nicamente
por una
estructura
secuencial de
instrucciones.
En ella se
utilizan las
primitivas
pregunta y
respuesta
para permitir
que el usuario
del programa
suministre al
programa los
datos altura
y base del
tringulo. De
esta forma, se

cada vez que

matemticas,

se ejecute el

tiene carcter

procedimiento

grfico y

tringuloRect

posicional;

ngulo, este

busca la

le preguntar

precisin, el

al usuario cul

rigor, la

es la altura y

abreviacin y

la base del

la

tringulo del

universalidad;

cual desea

y, su finalidad

calcular su

fundamental

rea.

consiste en
obtener
resultados

Tanto en la
utilizacin de
la estructura
secuencial,
como en las
dos que

internamente
consistentes
(Onrubia &
Rochera &
Barbar,
2001).

veremos ms
adelante, es
muy
importante
que los
estudiantes
reflexionen y
determinen el
orden de
ejecucin de
las
instrucciones
(posicin) ya
que la
conmutativida
d no es una
propiedad
aplicable a los
algoritmos. El
lenguaje
algortmico, al
igual que el
lenguaje
formal de las

La
construccin
de estructuras
algortmicas,
entendidas
estas como
secuencias de
instrucciones
y operaciones,
con el fin de
lograr un
resultado
concreto,
ayuda a
afianzar en los
estudiantes el
conocimiento
procedimental
matemtico.
Este
conocimiento

se caracteriza

quien acta

por la accin

no es

(saber hacer)

consciente de

frente al

la estructura y

conocimiento

por tanto no

declarativo

puede ver las

que se basa

correlaciones

en la

en su

enunciacin

actuacin y

(saber decir).

con el entorno

Saber explicar

de dicha

(enunciar) un

accin; las

teorema no

acciones se

garantiza que

convierten en

este se sepa

operaciones

aplicar

cuando quien

(actuar)

las realiza es

correctamente

consciente de

en la solucin

las relaciones

de una

inherentes.

situacin

Pero las

problemtica

acciones

determinada

prcticas

(Onrubia &

requieren

Rochera &

tanta atencin

Barbar,

que puede ser

2001).

difcil
realizarlas
dndose
cuenta al

Toda
secuencia de
acciones tiene
una estructura
que debe
planearse
(consciente o
inconscientem
ente) antes de
ejecutarla.
Cuando la
accin se
realiza de
manera
automtica,

mismo tiempo
de las
correlaciones
inherentes a
ellas. Por
esto, son
fundamentale
s los sistemas
de signos a
los cuales se
traducen las
acciones; con
los signos se
pueden
expresar las

relaciones

arbitrariament

que existen

e y para

dentro de las

conocer su

acciones y

significado

entre sus

hay que

objetos, y se

aprenderlo y

puede

fijarlo en la

proceder con

memoria:

los signos del

palabras de

mismo modo

lenguajes

que con los

naturales,

objetos reales

cifras, signos

(Aebli, 2001).

algebraicos,
etc. Los
significados
se pueden

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

codificar
bsicamente
de cuatro
formas:
mediante la
palabra
hablada, la
palabra
escrita, el
signo grfico,
y la variable.
As, el nmero
2 se puede
representar
mediante el
fonema dos,
la palabra
dos, el signo
2 o .. y la
variable a.

Pg.49 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

De lo anterior

elaborar

se puede

programas de

deducir que

computador

para resolver
problemas
matemticos
ofrece al
estudiante la
oportunidad

Escribir un
procedimiento
que muestre 3
veces en
pantalla la
frase Esto es
un camello.

de fijar la
atencin en la
estructura de

R/.

las
operaciones
que realiza,
mediante su
traduccin a

ANLISIS
DEL
PROBLEMA

un sistema de
signos que el
computador
pueda
entender.
Dirigir la
atencin a la
estructura
tiene como
consecuencia
que
operaciones

Formular el
problema: Ya
se encuentra
claramente
formulado.
Resultados
esperados:
Que aparezca
tres veces en
pantalla la
frase Esto es
un camello.

clsicas,
como la suma
con nmeros
naturales, se
hagan cada
vez ms
mviles y
puedan

Datos
disponibles: La
frase dada.
Restricciones:
Ninguna.
Procesos
necesarios:
Ninguno.

constituir
sistemas cada
vez ms
complejos
(Aebli, 2001).

EJEMPLO 3-7

DISEO DEL
ALGORITMO

fin

TRADUCCI
N DEL
ALGORITMO
EN SCRATCH

Este es un
problema muy
sencillo de
resolver
mediante la
utilizacin de
una estructura
secuencial.
Pedir a los
estudiantes
TRADUCCI
N DEL
ALGORITMO
EN
MICROMUND
OS para
camello1

que analicen
qu tan
eficiente sera
utilizar la
misma
estructura si el
enunciado del
problema

muestra [Esto es
un camello]
muestra [Esto es
un camello]
muestra [Esto es
un camello]

fuera: Escribir
un
procedimiento
que muestre
60 veces en

pantalla la
frase Esto es
un camello.
Qu habra
que hacer si
se cambiara 3

multiplicacin y
la divisin del
primero por el
segundo.
Traducir el
algoritmo al
lenguaje Logo y
probarlo.

veces por 60?

ACTIVIDADE
S

Disear un
algoritmo que
pida al usuario
dos nmeros y
calcule la suma,
la resta, la

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.

Pg.50 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

ESTRUCTURA ITERATIVA (REPETICIN)


Debido a que esta
La estructura iterativa
o de repeticin
permite ejecutar una o
varias instrucciones,
un nmero
determinado de veces
o, indefinidamente,
mientras se cumpla
una condicin. 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.

estructura ayuda a
simplificar los
algoritmos, ahorrando
tiempo valioso a quien
resuelve problemas
con ayuda del
computador.

La cantidad de horas
disponibles para
informtica es otro de
los factores que
impiden desarrollar un
programa curricular
con todas las

En programacin
existen al menos dos
tipos de estructuras
repetitivas, las cuales
a su vez tienen
variantes en los
diferentes lenguajes
de programacin. La
caracterstica comn
es que ambos tipos
permiten ejecutar una
o varias instrucciones:
un nmero
determinado de veces.

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

mientras se cumpla
una condicin.

comprensin de
conceptos
fundamentales de los
tres tipos bsicos de
estructura (secuencial,
repetitiva y

condicional). Esto solo

Mandos repite y

se consigue

cumpleveces.

resolviendo una
buena cantidad de
problemas cuya
solucin requiera de
estas estructuras en

La sintaxis de repite
en MMP es:

forma combinada.
repite nmero [listade-instrucciones]

ejemplo: repite 60
[muestra hola]

donde nmero (60)


indica las veces que
se ejecutar la listade-instrucciones
([muestra hola]).

La sintaxis de
cumpleveces en MMP
es: cumpleveces
[serie] [lista-deinstrucciones]
ejemplo: cumpleveces
[i 8][muestra :i]

donde serie ([i 8])


indica el nombre del
parmetro (i) y el
Ilustracin 3-7:
Modelo de estructura
iterativa.

nmero de veces (8)


que se ejecutar la
lista-de-instrucciones
([muestra :i]).

En MicroMundos, la
estructura repetitiva se
implementa con los

Por su parte, la
estructura repetitiva

se implementa en
Scratch con los
Mandos repetir (n
veces); repetir hasta
que <una condicin
sea verdadera>; por
siempre; por siempre
si <una condicin es
verdadera>:

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.

Pg.51 - 9-nov-09 - Segunda Edicin - Descargue


gratuitamente esta Gua:
http://www.eduteka.org/GuiaAlgoritmos.php

DISEO DEL
ALGORITMO

muestra [Esto es un
camello]

fin

Ahora con el uso del


comando
cumpleveces: para
camello2b

cumpleveces [i 85]

muestra [Esto es un
camello]

fin

TRADUCCIN DEL
ALGORITMO EN
MICROMUNDOS

Con el uso del


comando repite: para
camello2a

repite 85

TRADUCCIN DEL
ALGORITMO EN
SCRATCH

En el Ejemplo 3-4 se
solicit a los
estudiantes dibujar un
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
incidencia en la
estructura del
algoritmo, sea este 85
1385. Es muy
importante que los
estudiantes tengan
muy claro la diferencia
entre los
procedimientos
camello1 y camello2a.

cuadrado cuyos lados

ngulos iguales) y qu

fueran variables. Es

es lo que cambia

muy probable que en

(longitud de los

una primera

segmentos). Aquello

aproximacin a la

que cambia entre un

solucin de este

cuadrado y otro se

problema ellos

puede tratar como un

elaboren un

parmetro. Adems,

procedimiento similar

este anlisis permite

al que se plante en

descubrir que es

ese ejemplo,

posible utilizar otro

utilizando una

tipo de estructura de

estructura secuencial:

control para elaborar


el mismo dibujo:

para cuadrado :lado


limpia

cp

TRADUCCIN DEL
ALGORITMO EN
MICROMUNDOS para
cuadrado :lado

adelante :lado derecha 90


adelante :lado derecha 90
adelante :lado derecha 90
adelante :lado

limpia cp repite 4

[
adelante :lado derecha 90

fin

]
fin

Un anlisis ms
elaborado de este
problema permitir a
los estudiantes
adquirir una
conciencia mayor de
la organizacin global
de un cuadrado.
Determinar los
elementos comunes
presentes en todos
los cuadrados permite
identificar qu
permanece esttico
(cuatro segmentos de
recta iguales y cuatro

TRADUCCIN DEL
ALGORITMO EN
SCRATCH

utilizar conocimientos
adquiridos con
anterioridad, cmo la
etapa de anlisis
favorece y alienta el
rigor y la disciplina en
el razonamiento y
cmo ese anlisis
puede conducir a
nuevos
descubrimientos que
deriven en
Esta situacin
evidencia cmo en las
actividades de
programacin el
estudiante debe

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
alienta el estudio de

Calcular el valor de la
sumatoria: 1 + 2 + 3 + 4
+5 + + 100.

las matemticas,
facilita la comprensin
de conceptos de esta

R/.

disciplina, admite
explorar activamente
campos de
conocimiento, permite

ANLISIS DEL
PROBLEMA

desarrollar
habilidades y ofrece
un lenguaje que
permite describir la
forma personal de
resolver problemas.

EJEMPLO 3-9

Formular el problema:
Ya se encuentra
claramente formulado.
Resultados
esperados: El
resultado de la suma
de los nmeros entre
1 y 100.

Datos disponibles: El
rango de nmeros
dado.

Restricciones:
Ninguna.

Procesos necesarios:
guardar el nmero 0 en
una variable e
incrementarla en 1 cada
vez que se ejecute el
ciclo repetitivo. Guardar
0 en otra variable e ir
acumulando en ella su
propio valor ms el valor
de la primera variable.

DISEO DEL
ALGORITMO

Este algoritmo utiliza


una operacin muy
til en programacin:
sumatoria = sumatoria
+ contador

Consiste en
almacenar en una
variable sumatoria el
valor de ella misma
(sumatoria) ms otro
valor variable
(contador). Es muy
utilizada para
acumular valores.

TRADUCCIN DEL
ALGORITMO EN
MICROMUNDOS

Con el Mando repite: para


suma100a

bnombres

da "contador 0 da
"sumatoria 0 repite 100

da "sumatoria
:sumatoria + :contador
+ 1 muestra nombres

[
muestra frase

da "contador
:contador + 1

da "sumatoria
:sumatoria + :contador
muestra nombres

[El valor de la suma 1 +


2 + 3 + . . . + 100
es ] :sumatoria

fin

Los procedimientos
suma100a y
suma100b son

muestra frase

equivalentes, realizan
la misma tarea. La
primitiva de

[El valor de la suma 1 +


2 + 3 + . . . + 100
es ] :sumatoria

MicroMundos
cumpleveces utilizada
en el procedimiento
suma100b tiene una

fin

ventaja adicional con


respecto a repite :
incorpora una variable

Ahora el mismo
algoritmo pero con el
Mando cumpleveces
de MicroMundos:

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

para suma100b bnombres

contador inicia en 0 y
termina en 99, para
un total de 100 ciclos.

da "sumatoria 0
cumpleveces [contador
100 ]

Por este motivo se

tome valores entre 1 y

necesita sumarle uno


a contador para que
100.

TRADUCCIN DEL
ALGORITMO EN
SCRATCH

EJEMPLO 3-10

La profesora ngela
Cristina necesita calcular
la nota definitiva para
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 lectivo,
dos exmenes y asign
un trabajo de
investigacin. Cmo
puedes ayudarle?

R/.

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

TRADUCCIN DEL
ALGORITMO EN
MICROMUNDOS
para notas

cumpleveces
[estudiante 22]

pregunta [Ingrese la
nota del primer
examen ] da
"examenUno
respuesta

pregunta [Ingrese la
nota del segundo
examen ] da
"examenDos
respuesta

pregunta [Ingrese la
nota del trabajo de
investigacin ] da
"trabajo respuesta

da "sumatoria
:examenUno +
:examenDos +
:trabajo da
"promedio :sumatoria /
3

muestra (frase [El


promedio del
estudiante ] :estudiante +
1 [ es

:promedio)

tres notas, sumarlas,


promediarlas y
mostrar el promedio.

La manera ms
eficiente de resolver
este problema es

Fin

mediante una
estructura iterativa.
Ntese que los

TRADUCCIN DEL
ALGORITMO EN
SCRATCH

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.

El procedimiento
notas realiza la misma
tarea 22 veces: leer

Por otro lado, la


estructura repetitiva

ANLISIS DEL
PROBLEMA

es muy apropiada
para explorar los
conceptos de
multiplicacin (suma
cuyos sumandos son
iguales) y
potenciacin
(multiplicacin de

Formular el problema:
Ya se encuentra
claramente formulado.
Resultados
esperados: La tabla
de multiplicar que el
usuario indique.

factores iguales).
Datos disponibles: El
nmero de la tabla
(indicada por el usuario).

EJEMPLO 3-11
Restricciones:
Ninguna.
Elaborar un
procedimiento para
calcular tablas de
multiplicar. El usuario
debe ingresar qu tabla
de multiplicar desea.

R/.

Procesos necesarios:
pedir al usuario que
ingrese la tabla de
multiplicar que desea.
Guardar ese valor en
una variable (tabla).
Multiplicar cada uno de
los valores entre 0 y 9
por la variable tabla.
Mostrar el resultado de
cada multiplicacin.

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

cumpleveces [multiplicando 10]

da "resultado :multiplicando * :tabla

muestra (frase :tabla [ x ] :multiplicando [ = ]


:resultado)

La estructura repetitiva es muy apropiada para


reforzar los conceptos de multiplicacin y
]

potenciacin. La suma 6 + 6 + 6 + 6 + 6 + 6 + 6
puede expresarse como una multiplicacin: 6 *
7; de forma similar, la multiplicacin 3 * 3 * 3 * 3

fin

puede expresarse como una potencia: 3 =81.


El nmero 3, que se multiplica varias veces, se

Ntese que, al igual que en el ejemplo 3-10, el


reportero frase devuelve una lista formada por
sus entradas (palabras o listas). frase puede
tomar ms de dos entradas cuando se utilizan
parntesis para encerrar el reportero y sus

conoce como base; 4, la cantidad de veces que


se debe multiplicar la base, se conoce como
exponente, y 81, el resultado, se conoce como
potencia. Se lee: 81 es la potencia de 3
elevado a la 4.

entradas, las cuales pueden incluir texto entre


corchetes:
muestra (frase [texto 1] :variable1 [ texto2]
:variable2 + 1 :variable3 [texto3])

Existe una leyenda muy antigua sobre el origen


del juego de ajedrez. La leyenda evidencia
claramente la velocidad con que aumenta una
progresin geomtrica y es un buen punto de
partida para empezar a resolver 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, que de tanto me sirvi para aliviar viejas
angustias. Pide, pues, lo que desees, para que yo pueda
demostrar, una vez ms, como soy de agradecido con
aquellos que son dignos de una recompensa.

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

Ante tal ofrecimiento, el joven respondi:

Voy, pues, a aceptar por el juego que invent, una


recompensa que corresponda a vuestra generosidad; no
deseo, sin embargo, ni oro, ni tierras, ni palacios. Deseo
mi recompensa en granos de trigo.

-Granos de trigo? exclam el rey, sin ocultar


la sorpresa que le causara semejante
propuesta-. Cmo podr pagarte con tan
insignificante moneda?

-Nada ms simple -aclar Sessa-. Dadme un


grano de trigo por la primera casilla del tablero,
dos por la segunda, cuatro por la tercera, ocho por
la cuarta, y as sucesivamente hasta la
sexagsima cuarta y ltima casilla del tablero.

No slo el rey, sino tambin los visires y venerables


bracmanes, se rieron estrepitosamente al or la
extraa solicitud del joven.
Insensato -exclam el rey-. Dnde aprendiste tan
grande indiferencia por la fortuna? La recompensa que
me pides es ridcula. 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.

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

(Tomado del libro El hombre que calculaba


escrito por Malba Tahan)

Preguntles el rey, interrumpiendo el juego:


EJEMPLO 3-12
-Con cuantos granos de trigo podr cumplir,
finalmente, con la promesa hecha al joven
Sessa?

-Rey magnnimo -declar el ms sabio de los


gemetras-:

Elaborar un procedimiento para ayudar a los


hbiles algebristas de la corte del Rey Ladava
con el clculo del nmero de granos de trigo que
deben entregar a Lahur Sessa como pago por
haber inventado el juego de ajedrez.

R/.

ANLISIS DEL PROBLEMA

Formular el problema: Es un problema de


multiplicaciones de factores iguales que pueden
expresarse en forma de potencias; adems, para
llegar al resultado final se deben acumular los
resultados parciales.

Resultados esperados: El nmero de granos


que el Rey Ladava debe entregar a Lahur
Sessa.

Datos disponibles: El nmero de cuadros del tablero


de ajedrez (64) y la regla dada por Sessa: un grano
de trigo por la primera casilla del tablero, dos por la
segunda, cuatro por la tercera, ocho por la cuarta, y
as sucesivamente hasta la sexagsima cuarta y
ltima casilla del tablero.

Restricciones: Aplicar la regla planteada por


Sessa.

Procesos necesarios: Un ciclo que se repita 64


veces. En cada iteracin se debe acumular en una
variable (granos), su propio valor ms el resultado
de 2 elevado a un exponente que aumenta su
valor en uno con cada iteracin.

DISEO DEL ALGORITMO

TRADUCCIN DEL ALGORITMO EN


MICROMUNDOS

Utilizando el comando repite: para ajedrez

bnombres

da "exponente 1 da "granos 0 repite 64

muestra nombres

[
]
da "granos :granos + potencia 2 :exponente da
"exponente :exponente + 1

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

fin

TRADUCCIN DEL ALGORITMO EN


SCRATCH

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?

Elaborar un procedimiento que calcule y


muestre las reas de 100 crculos con radio de
1 a 100 cm.

Qu funcin cumplen los comandos bnombres


y nombres en MicroMundos?
Elaborar un procedimiento que calcule y
muestre el cuadrado de los nmeros 1 a 90.
Cul es la diferencia entre crecimiento
aritmtico y crecimiento geomtrico?

Elaborar un procedimiento que le reporte al


electricista de un 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.

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.

Elaborar un procedimiento que calcule el rea de


cualquier cubo.

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.

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

ESTRUCTURA CONDICIONAL
indicarle al
Es
fundamental
que los
estudiantes
presten
atencin
especial a las
estructuras
que utilizan
para resolver
problemas y
las reconozcan
para lograr
mayor control
sobre la
solucin
planteada. De
esta manera,
la
programacin
de
computadores
les ayuda a
planear
conscientemen
te las
secuencias de
acciones que
resuelven un
problema
planteado y las
estructuras
involucradas
en una
solucin dada.

computador
que debe
evaluar una
condicin y, a
partir del
resultado,
ejecutar el
bloque de
instrucciones
correspondient
e. La forma
ms comn
est
compuesta por
una
proposicin
(condicin)
que se evala
y dos bloques
de
instrucciones
que se
ejecutan, uno
cuando la
condicin es
verdadera
(seleccin
simple y doble)
y otro cuando
sta es falsa
(nicamente
en la seleccin
doble).
Algunos
autores se
refieren a este
tipo de

La estructura
condicional se
utiliza para

estructura
como
estructura de
seleccin,

estructura

de la otra, el

selectiva o

valor 6.0 (B);

estructura de

de A con

decisin; en

respecto a B,

esta gua,

se afirma que

todas estas

A es mayor

denominacione

que B, por lo

s son

tanto, la

consideradas

relacin

sinnimas.

existente entre
A y B es ser
mayor que.

Para que una


proposicin
(frase
declarativa)
sea valida,
debe poder
afirmarse que
es verdadera o
falsa. En
programacin,
se utilizan
operadores
relacionales (<,
=, >) para
establecer la
relacin que

Para que el
computador
entienda esta
proposicin,
debe
expresarse
as:
:calificacin >
6.0, donde
:calificacin es
la variable que
contiene el
valor de la
calificacin de
Esteban en
Historia.

existe entre
dos elementos
de la
proposicin.
Por ejemplo,
La calificacin
de Esteban en
Historia es
mayor que
6.0, es una
proposicin
valida. De una
parte tenemos
La
calificacin de
Esteban en
Historia (A) y,

OPERADOR
DESCRIPCI
N
EJEMPLO
=
Igual que
:nguloUno =
90

operadores
:tipo = SI

lgicos (y, o,
no). Cuando
se unen dos
proposiciones
por medio del
operador
lgico y,

<
Menor que
:nguloUno <
90

significa que
ambas
proposiciones
deben ser
verdaderas
(conjuncin).
Cuando se
unen dos
proposiciones
por medio del

>

operador
lgico o,

Mayor que

significa que

:nguloUno >

una de las dos

90

proposiciones

por lo menos

debe ser
verdadera
(disyuncin).

Adicionalmente

Por su parte,

, las

un bloque de

proposiciones

instrucciones

pueden ser

puede

sencillas o

contener una o

compuestas.

varias

Las

instrucciones

proposiciones

que se

compuestas se

ejecutan una

forman con

detrs de otra.

dos o ms

La estructura

proposiciones

condicional

sencillas

tiene tres

unidas por

variantes:

seleccin

tpica de

simple.

seleccin
mltiple es
cuando la

seleccin
doble.

incorporacin
al ejercito, de
un joven al
terminar sus

seleccin
mltiple.

estudios de
educacin
media,
depende del

Las estructuras
condicionales
simple y doble
evalan una
proposicin
(condicin) que
devuelve como
resultado
nicamente
dos valores
posibles y
excluyentes:
verdadero o
falso. En
cambio, la
estructura
condicional de
seleccin
mltiple
permite que la
condicin
devuelva ms
de un valor
posible y que
para cada uno
de esos

color de una
balota: si saca
una balota
roja, su
incorporacin
al ejercito es
inmediata; si
es azul, la
incorporacin
ser en julio; y
si es blanca, el
estudiante no
debe prestar
servicio militar.
En esta
situacin hay
tres valores
posibles y
cada uno de
esos valores
implica la
ejecucin de
una instruccin
diferente
(Jimnez,
2002).

valores se
ejecute el
bloque de
instrucciones
correspondient
e. Por ejemplo,
una situacin

Debido al
alcance de
esta gua, solo
se cubren aqu

los dos
primeros tipos
de estructura
condicional:
simple y doble.

Seleccin
simple

La estructura
condicional de
seleccin
simple ejecuta
un bloque de
instrucciones
cuando la
proposicin
(condicin) es
verdadera; si

Ilustracin 3-9:
Modelo de
estructura
condicional
simple.

esta es falsa,
no hace nada.

Para la
estructura
condicional de
seleccin
simple,
MicroMundos
ofrece el
comando si.
La sintaxis es:

si cierto-ofalso

Pg.58 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

lista-deinstrucciones

TRADUCCIN
DEL
ALGORITMO
EN SCRATCH

el comando
si ejecuta la
lista-deinstrucciones
nicamente si
al evaluarse la
proposicin,
esta devuelve
cierto
(verdadero).

Por su parte, la
estructura
condicional de
seleccin
simple se
implementa en
Scratch con el
bloque si
(condicin):

TRADUCCIN
DEL
ALGORITMO
EN
MICROMUND
OS para
seleccinSimpl
e

pregunta [Ingrese
el ngulo] da
"nguloUno
respuesta

si :nguloUno
= 90

EJEMPLO 313

da "reportar [ es un
ngulo recto]
muestra frase
:nguloUno
:reportar

Adems, se

muy

puede
observar un
recurso grfico
importante

fin

para dar
claridad a las
lneas de

En este
ejemplo,
cierto-o-falso
(:nguloUno =
90) indica 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
-deinstrucciones]
indicada entre
corchetes; esta
puede
contener una o
varias
instrucciones.
Cuando es
falsa la
proposicin
evaluada, no
se ejecutan
instrucciones.

cdigo de los
procedimientos
en
MicroMundos:
(1) dejar lneas
en blanco para
dividir bloques
de cdigo; (2)
utilizar
sangras para
indicar
porciones de
cdigo
subordinadas a
un comando;
(3) abrir y
cerrar los
corchetes que
indican
bloques de
cdigo en una
lnea a parte,
de tal

forma que se
aprecie muy
claramente
dnde inicia y
dnde termina
una lista-deinstrucciones.

Seleccin
doble

La estructura
condicional de
seleccin

Ilustracin 3-10:
Modelo de
estructura
condicional
doble.

doble ejecuta
un bloque de
instrucciones
(A) cuando la
proposicin
(condicin) es
verdadera y un
bloque
diferente (B)
cuando esta es
falsa.

Para la
estructura
condicional de
seleccin
doble,
MicroMundos
ofrece el
comando
siotro. La
sintaxis es:

siotro cierto-ofalso

lista-deinstruccionesA

]
En Scratch, la
[

estructura
condicional de
seleccin

lista-deinstruccionesB

doble se
implementa
con el bloque
si (condicin)
si no:

El comando
siotro ejecuta
la lista -deinstruccionesA si al
evaluarse la
proposicin,
esta es
verdadera. Si
la proposicin
es falsa, se

EJEMPLO 3-14
para
seleccinDoble

ejecuta la listadeinstruccionesB. Ambas


listas de
instrucciones
se deben

pregunta [Ingrese
el ngulo] da
"nguloUno
respuesta siotro
(:nguloUno = 90)

indicar entre
corchetes [ ] y
pueden estar
compuestas
por una o ms

da "reportar
[ es un ngulo
recto]

instrucciones.

Pg.59 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

[
En este
da "reportar
[ NO es un
ngulo recto]

ejemplo,
cierto-o-falso
(:nguloUno =
90) indica la
proposicin

que se debe
evaluar, la cual
solo puede

muestra
frase
:nguloUno
:reportar

devolver uno
de dos valores
posibles:
verdadero o
falso. En caso

fin

de que la
proposicin
sea verdadera,
se ejecuta la
[lista-deinstruccionesA] indicada
entre
corchetes: ([da
reportar [ es
un ngulo
recto]]).
Cuando la
proposicin
evaluada es
falsa, se
ejecuta la
[lista-deinstruccionesB] ([da
reportar [ NO
es un ngulo
recto]]).

Ntese que en

cuenta lo

MicroMundos

siguiente:

la instruccin
muestra
frase
:nguloUno
:reportar

La proposicin
debe ser una
frase
declarativa, la
cual se pueda

se encuentra

afirmar o

fuera de los

negar.

corchetes; por
tanto, se
ejecutar sin
importar si la
proposicin es
verdadera o
falsa. Adems,
ejemplifica

En
MicroMundos,
se requiere
que en el
encabezado

muy bien el
concepto de
variable ya que
el valor del
ngulo se
guarda en la
variable

vayan

las

palabras
reservadas si
y
siotro

denominada
nguloUno y el
aviso que se
debe mostrar

respectivament
e.

acerca de si el
ngulo es o no
recto, tambin

En

se guarda en

MicroMundos,

una variable

cuando la

(reportar).

proposicin es
sencilla (sin
operadores

Tanto en la
estructura de
seleccin
simple como
en la doble se
debe tener en

lgicos) no es
necesario que
vaya entre
parntesis; si
es compuesta
(dos o ms
proposiciones

unidas con

empieza y

operadores

dnde termina

lgicos como:

la lista que

o, y, no) tiene

conforma el

que encerrarse

bloque que se

con parntesis.

debe ejecutar.

Como en el
primer caso no
sobran los
parntesis (no
genera error),
es

EJEMPLO 315

recomendable
utilizarlos
siempre. Por
ejemplo:
(nguloUno =
90) es una
proposicin
sencilla
equivalente a
nguloUno =
90, pero es
mejor utilizar la
primera forma.

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/.
En
MicroMundos,
las listas de
instrucciones

ANLISIS DEL
PROBLEMA

deben estar
agrupadas con
corchetes,
estos indican
dnde

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

TRADUCCIN
DEL
ALGORITMO
EN

MICROMUND
OS

para aprueba
local "calificacin
pregunta [Ingrese
la Calificacin] da
"calificacin
respuesta

siotro o
:calificacin >

6.0
:calificacin =
6.0

anuncia
[Reprobado]

anuncia
[Aprobado]

fin

Pg.60 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

TRADUCCIN
DEL
ALGORITMO
EN SCRATCH

En este
ejemplo, se
puede observar
la sintaxis de
los operadores
lgicos (y, o,
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

puramente

:calificacin >

hipottico y

6.0 :calificacin

razonen

= 6.0
La proposicin
se lee as:

correctamente
a partir de l;
deduzcan las
implicaciones

calificacin

de enunciados

mayor que 6.0 o

posibles y as

calificacin
igual a 6.0.

distingan entre
lo posible y lo
necesario;
formulen todas

Proposicio
nes

las hiptesis
posibles
relativas a los
factores que

Segn Piaget
(1993), las
operaciones
verbales o
proposicionale
s surgen hacia
los once o

entran en
juego en una
actividad y
organicen la
informacin en
funcin de
estos factores.

doce aos con


la capacidad
para razonar
por hiptesis.
Esta capacidad
hipotticadeductiva es la
que hace
posible que los
nios entre los
once y los
catorce aos
piensen en
trminos de
proposiciones
y no
nicamente
sobre objetos;
acepten
cualquier tipo
de dato como

De acuerdo
con Piaget y
sus
seguidores, es
en este estado
del desarrollo
cognitivo en el
que se
constituye un
conjunto de
estructuras
proposicionale
s basadas en
lo que en
teora de
conjuntos se
llama un
"conjunto de
todos los

subconjuntos".

avanzar a

Esta estructura

expresiones

est

(con sentido

conformada

incompleto),

por

continuar con

operaciones

oraciones (con

equivalentes a

sentido

ciertas

completo) y

estructuras del

finalizar con

pensamiento
verbal, tales
como
implicacin (p
-> q: si...,
entonces...; si
la hiptesis p
es verdadera,
entonces la
consecuencia
q se sigue
necesariament
e); disyuncin
(p V q; p, q,
los dos);
unin (p ^ q);
incompatibilida
d (p | q).

Una forma
efectiva para
iniciar a los
estudiantes
ms pequeos
en el tema de
las
proposiciones
puede ser la
propuesta por
Marqunez &
Sanz (1988):
empezar con
cadenas de
palabras (sin
sentido),

proposiciones
simples y
compuestas
(calificables
como falsas o
verdaderas).

Escribir en el
espacio si la
propuesta
corresponde a
una cadena,
expresin,

EJEMPLO

"La escuela
tiene pan
francs cado
de China" es
una CADENA
de palabras
que carece de
sentido.

oracin o
proposicin:

______________
__ prohibido
fumar en el saln
de clase.

______________
__ el oro es un
elemento de la

"Los amigos
de lo ajeno" es
una
EXPRESIN
que tiene
sentido pero
no completo.

tabla peridica.

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

______________

______________
__ calle perfecta
para perro azul.

__ el carro sedn
azul.

______________
__ qu hora es?

__ el nevado del
Ruiz es un volcn.

______________
__ Simn Bolvar
muri en Santa
Marta

ACTIVIDAD

______________
__ en un lugar de
______________

la Mancha de

__ Cali es una

cuyo nombre

ciudad
colombiana.
______________
__ ojal no me
______________

llame.

__ camisa
cuadrada por
carro naciente.

______________
__ apague la luz
cuando salga.

______________
__ Per y Chile
son pases
Iberoamericanos.

Un curso de
algoritmos y
programacin

______________

puede

__ el cuaderno

contribuir

verde de

significativame

geometra.

nte a
desarrollar la

______________
__ est permitido
subir las
escaleras.

capacidad
hipotticadeductiva en la
que el
pensamiento
no proceda de

_______________

lo real a lo

cuatro y diez son

terico, sino

nmeros menores

que parta de la

que veinte.

teora y
establezca o

______________
__ si alguien es
chileno, entonces
es espaol.

verifique
relaciones
reales entre
cosas.
Concretamente
, dos tipos de

______________
__ hace mucho
fro

actividades
pueden ayudar
a lograr este
propsito:
utilizar

estructuras

ngela) en

condicionales

contraposicin

las cuales

al

estn basadas

razonamiento

en la operacin

por predicados

de implicacin

(Felipe es

(si....,

joven).

entonces...) y
formular
enunciados
declarativos
compuestos
(proposiciones
simples unidas
por los
conectores
lgicos y, )
que el
computador
pueda evaluar
como
verdaderos o
falsos.
Adicionalmente
, estos
enunciados
promueven el
razonamiento
por atribucin
o relacin
(Felipe es ms
joven que

Precisamente,
la estructura
condicional
utilizada en
programacin
(si...
entonces...)
ofrece al
estudiante
oportunidades
para
desarrollar
habilidades
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

declarativa ya

los lenguajes

que hace

de

nfasis en la

programacin

accin y no en

MicroMundos y

el concepto

Scratch, es

semntico de

procedimental

verdad (Iranzo,

y no

2005). Mientras

que en lgica

"se ocupa de

se indica que

los enunciados

entre P y S hay

declarativos

una relacin de

simples como

dependencia

un todo

en la que al

indivisible y que

suceder P,

pueden

necesariament

combinarse

e se causa S;

mediante

en

partculas

programacin

lgicas

se indica que

denominadas

cuando P es

conectores (no,

verdadero,

y, o, si...

necesariament
e se ejecuta un
conjunto de
instrucciones A
y en caso de
ser falso no se
ejecuta
ninguna
instruccin
(seleccin
simple) o
necesariament
e se ejecuta un
conjunto de
instrucciones B
(seleccin
doble).

entonces...,
etc)". A esta
lgica tambin
se le conoce
con el nombre
de lgica de
enunciados o
lgica de
conectores. De
acuerdo con
estos dos
autores, los
siguientes
enunciados
declarativos se
pueden negar o
afirmar, por lo
tanto pueden

Segn
Bustamante

considerarse
proposiciones:

(2007), "una
proposicin es
una frase
declarativa que
puede ser

Cali es la
capital del Valle
del Cauca.

afirmada o
negada" y para
Iranzo (2005)
la lgica
proposicional

El cuatro es un
nmero impar.

Seis es menor

colegio ubicado

que doce.

en el barrio
Andrs Sann
en la ciudad de

El INSA es un
colegio
regentado por
la comunidad
de Padres

Cali. Esto nos


conduce a
hacer otra
consideracin:
establecer

Basilianos.

explcitamente

Andrs

proposicin es

Pastrana es el
presidente de
Colombia.

si una
verdadera o
falsa puede
resultar en
algunos casos
muy difcil o

Es verano

imposible. Por
otra parte, la
quinta

Hace calor

proposicin fue
verdadera
durante un

De las
proposiciones

lapso de tiempo
(1998-2002).

primera,
tercera, cuarta
y quinta
podemos decir
que son
verdaderas y
de la segunda
podemos
afirmar que es
falsa. Sin
embargo, para
poder afirmar
que la cuarta
proposicin es
verdadera, hay
que disponer
del
conocimiento
suficiente
sobre este

En relacin a
las
proposiciones
sexta y
sptima, su
valor de verdad
depende del
momento en el
cual se haga la
afirmacin.
Esto nos lleva a
otra forma de
clasificar los
enunciados
declarativos: de
accin cuando
el sujeto no
est

determinado (6

elementos A y

y 7); de

B, y entre seis y

atribucin
cuando el
sujeto es
determinado y
se le atribuye
una propiedad
(1, 2 y 5); y de
relacin
cuando hay
dos o ms
sujetos (3 y 4).

Con respecto a
las relaciones
de orden
podemos decir
que consisten
en un par de
elementos
presentes en
una
proposicin
relacionados
por medio de
un atributo
gradado. Por
ejemplo, el
elemento A es
mayor o igual
que el
elemento B o
seis es menor
que doce.
Proposiciones
en las cuales
mayor o igual
que y menor
que son las
relaciones de
orden que se
establecen
entre los

doce,

A es mayor que

respectivament

e.

(:a > :b)

Hay que tener


cuidado con el
uso del
lenguaje
cotidiano en el
que dos
relaciones
pueden ser
equivalentes

A es mayor o
igual
(o :a > :b :a =
:b)
que B

como igual o
superior a y
mayor o igual
que. En
cambio, entre
0 y 10,

A es como

inclusive y

mnimo

entre 0 y 10
no son
equivalentes;
en la primera
relacin los

(o :a > :b :a =
:b)
igual a B

valores 0 y 10
hacen que la
proposicin
sea verdadera,
en la segunda
relacin, no.

A es menor que
B
(:a < :b)

RELACIN
(MicroMundos
) y Scratch
A es igual a B
(:a = :b)

A es menor o
igual
(o :a < :b :a =
:b)
que B

del lenguaje
natural en la
formulacin y
uso de
A es al
menos
(o :a < :b :a
= :b)
igual a B

relaciones de
orden y de
proposiciones.
Diversos
autores que se
han ocupado
de la lgica y el
lenguaje han
establecido tres
categoras
generales para
el uso del

A est entre 0
y 10

lenguaje:
informativa
(suministra

(y :a > 0 :a <

informacin

10)

definiendo,
declarando,
aclarando,
describiendo),

A est entre
0 y
(y (o :a > 0 :a =
0) (o :a < 10 :a
=

expresiva
(expresa
sentimientos,
emociones,
deseos) y
directiva (busca
inducir a

10, inclusive

alguien a que

10))

algo). Son

haga u omita
ejemplos de
cada una de
estas
categoras lo
siguiente:

Un aspecto
fundamental de
la estructura

Uso

condicional es

informativo:

la reflexin
sobre el papel

La lnea recta

Ojal haga

es la ms corta

buen da

entre dos

maana!

punto de un
plano.
Qu horror! no
podra soportar
Colombia es

algo tan

un pas andino
doloroso. Uso
Los noruegos
son altos,
delgados y de

directivo:
Prohibido fumar

ojos azules.
Cierre la puerta
Uso expresivo:
Se solicita
comportarse
bien

Pg.62 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

Para la

negacin de

programacin

proposiciones.

y en especial

El discurso

para la

informativo se

estructura

utiliza para

condicional,

describir el

resulta

mundo y para

imprescindible

razonar sobre

el uso

l, sin importar

informativo del

si las

lenguaje. Este

proposiciones

se encarga de

son

comunicar

importantes o

informacin

no, si son

mediante la

generales o

formulacin y

especficas, o

afirmacin o

si son

verdaderas o

Para ello, es

falsas (Copi &

fundamental

Cohen, 2000).

que los
estudiantes
identifiquen los

Los
estudiantes
deben estar en
capacidad de
distinguir el
discurso
informativo en
un texto o en el
planteamiento
verbal de un
problema. Pero
en ciertos
textos o
planteamientos
resulta difcil
identificar de
manera
inmediata la
existencia de
proposiciones
que se puedan
contestar con
un verdadero
o con un
falso (Solano,
1991). En
lenguajes de
programacin

componentes
de las
proposiciones
(enunciados y
relacin entre
ellos) y
verifiquen que
sean validos.
Luego
determinen en
cada
proposicin el
sujeto (objetos
o individuos
acerca de los
cuales se
afirma algo) y
el predicado
(propiedad que
posee el
sujeto) y en
seguida
identifiquen
con un nombre
(identificador)
al que puede
variar (sujeto o
predicado).

como Logo es
muy
importante que
las
proposiciones
se puedan
expresar
directamente,
en forma de
notacin
matemtica o
mediante texto.

Por ejemplo,
en la
proposicin
nmero 1 Cali
es la capital
del Valle del
Cauca, el
sujeto es
Cali, el

predicado es
capital del
Valle del
Cauca y la

(:capitalValle =
"Cali)

relacin es de
igualdad es.
Se debe
asignar un
nombre al
predicado
(capitalValle)
para guardar el
valor Cali. En
el caso de la
proposicin
Seis es menor
que doce, el
sujeto es
Seis, el

El cuatro es
un nmero
impar no se
puede
expresar
directamente.
Hay que
elaborar un
procedimiento
para
determinar si
un nmero es
par o impar.

predicado es
doce y la
relacin es

(6 < 12)

menor que.
(:rectorINSA =
Por otra parte,

"Basiliano)

de las siete
proposiciones
planteadas,
solo la nmero
tres se puede
expresar en

(:presidenteCol
ombia = "|
lvaro Uribe|)

notacin
matemtica; la
otras

(:verano = true)

proposiciones
hay que
expresarlas
como texto,

(:haceCalor =
false)

con excepcin
de la nmero 2
que no se
puede
expresar
directamente:

TIP

Hay que tener

Tambin hay

cuidado

que tener

cuando se

cuidado

copia de un

cuando se

procesador de

quiere

texto una

comparar un

porcin de

texto

texto que

conformado

contenga

por dos o ms

comillas () y

palabras, este

se pega en el

debe

rea de

encerrarse

procedimientos

entre barras (|

de

palabra1

MicroMundos

palabra2|).

[4]. Las
comillas ()
que generan
estos
programas no
son
equivalentes a
las comillas de
MicroMundos
[4] (").

Otro aspecto a
tener en
cuenta con las
proposiciones
y que se debe
trabajar con los
estudiantes es
la riqueza del
lenguaje
natural
(Marqunez &
Sanz, 1998).
Por ejemplo, el
conector lgico
"y" (^) se
presenta de
diversas
formas en el
lenguaje
comn
utilizado para
formular
problemas y
los estudiantes
deben

aprender a

En Bogot

identificarlo:

hace fro, DEL


MISMO MODO
en Tunja (En
Bogot hace

Cali Y Medelln
son ciudades

fro Y en Tunja
hace fro)

ecuatorianas.
En Bogot
Bogot, Quito,
Lima,
Montevideo
son ciudades
capitales
(Bogot es
ciudad capital
Y Quito es
ciudad capital

hace fro,
MIENTRAS
QUE en
Cartagena
calor (En
Bogot hace
fro Y en
Cartagena
hace calor)

Y Lima es
ciudad capital
Y Montevideo
es ciudad
capital)

ngela tiene
un automvil,
PERO no sabe
manejarlo an
(ngela tiene

Luisa estudia,
Cristina
tambin (Luisa
estudia Y

automvil Y
ngela no
sabe manejar
automvil)

Cristina
estudia)

Luisa no viene,
SIN

En Bogot
hace fro,
IGUALMENTE
en Tunja (En
Bogot hace
fro Y en Tunja
hace fro)

EMBARGO
escribe correos
electrnicos
todos los das
(Luisa no
viene Y Luisa
escribe
correos
electrnicos
todos los das)

proposicin
Esteban no
estudia, NO
OBSTANTE

est expresada
en afirmativo o
en negativo:

quiere hacerlo

Colombia NO

(Esteban no

es un pas

estudia Y

europeo.

Esteban quiere
estudiar)
El Nilo es un
ro
A PESAR DEl

Incontrolable

buen tiempo,

(El Nilo es un

no vamos a la

ro que NO se

piscina (Hace

puede

buen tiempo Y

controlar)

no vamos a
piscina)
La vida
humana en
PESE A QUE

Marte es

lo sabe, no lo

Imposible (NO

puede decir (l

es posible la

lo sabe Y l no

vida humana

lo puede decir)

en Marte)

En Cali no hay

Luisa es una

energa

diseadora

elctrica,

DESconocida

TAMPOCO en

(Luisa NO es

Bogot (En

conocida como

Cali no hay

diseadora)

energa
elctrica Y en
Bogot no hay
energa
elctrica)

La aparicin de
cometas es un
fenmeno
DIScontinuo
(NO es

Lo mismo

continua la

ocurre con la

aparicin de

determinacin

cometas)

de si una

Los animales

Los castigos

son Amorales

son

(Los animales

ANTIpedaggi

NO tienen

cos (NO son

moral)

pedaggicos
los castigos)

Pg.63 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

NUNCA me

Un ltimo

gan la lotera

aspecto a

(NO me he

tener en

ganado la

cuenta son los

lotera)

cuantificadores
que se utilizan
en algunas

Ricardo
JAMS miente
(Ricardo NO
ha mendido)

proposiciones:
todos,
algunos,
ningn,
ninguno, slo,
hay, etc.

NINGN
hombre
colombiano
usa falda (Los
hombres
colombianos
NO usan
falda)*

Incluso,
proposiciones
que no
contienen
cuantificadores
se pueden
transformar en
proposiciones
cuantificadas:
Cada planeta

* Es una
afirmacin falsa
ya que los

gira sobre su
eje se puede
escribir como

hombres

todos los

colombianos de

planetas giran

la etnia
guambiana si
usan falda.

sobre su eje
(Melo, 2001).

favor, qu hora
es?

ACTIVIDADES

1. Identificar
cul(es) de las
siguientes
proposiciones
son validas
(calificables),
explicar por
qu son
validas o por
qu no lo son:
El ao 1200

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.

aC. es ms
reciente que el
ao 970 de la

Edith Piaf es

era Cristiana

la alcaldesa

El jugo de lulo

de Paris.

tiene muy
buen sabor

Juan Roa
Sierra fue el

La nota
mxima en un
examen es 10

asesino de
Jorge Elicer
Gaitn el 9 de
abril de 1948.
Marco Fidel

Esteban es
alto

Ojal que no
llueva maana

Surez fue
presidente de
Colombia.

Bogot es la
capital de
Bolivia.

Podra
decirme, por

3. Identificar

entender un

las partes que

computador.

componen las
siguientes
proposiciones
(sujeto,

7.0 es menor
o igual que
20.5

predicado y la
relacin entre
ambas).

El nguloUno

7.0 es menor o

90

igual que 20.5

El nguloUno
es mayor que
90

La calificacin
de Juan Felipe
en Historia es
menor que 5.0
Cali y Medelln
son ciudades

es mayor que

El jugo de lulo
tiene muy
buen sabor

La calificacin
de Juan Felipe
en Historia es
menor que 5.0

Esteban es

colombianas

alto

4 y 8 son

El valor de una

nmeros
menores que
10

La capital de
Colombia es
Bogot

4. Expresar las
siguientes
proposiciones
en un formato
que pueda

calificacin no
puede ser
mayor que 10

El valor de una
calificacin no

ANLISIS DEL
PROBLEMA

puede exceder
a 10

La capital de
Colombia es
Bogot

4 y 8 son
nmeros
menores que
10

EJEMPLO

Supongamos
que Mnica
quiere ir a comer
helado y su
padre le
propone: Como
hoy entregan tus
calificaciones del
segundo
perodo, si haz
obtenido en
matemticas
ms de 8.0,
vamos a comer
helado el
prximo sbado,
de lo contrario
no vamos. La
situacin comer
helado est
sujeta a la
condicin
obtener ms de
8.0 en
matemticas
para el segundo
perodo.

R/.

Formular el
problema: Es
un problema
sencillo de
seleccin
doble.
Resultados
esperados: Un
aviso que
indique si el
estudiante
puede 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
mayor que 8.0.

Restricciones:
Aplicar la regla
dada.

Procesos
necesarios:
Solicitar al
usuario que
ingrese la
calificacin de
matemticas.
Evaluar si la
calificacin es
igual o inferior a
8.0; en caso de
ser verdadero,
reportar NO
come helado;
en caso
contrario,

reportar SI
come helado.

local
"matemticas

DISEO DEL
ALGORITMO

pregunta
[Ingrese la
calificacin de
Matemticas]
da
"matemticas
respuesta

siotro (o
:matemticas
< 8.0
:matemticas
= 8.0)

anuncia [NO
come helado]

anuncia [SI
come helado]

TRADUCCIN
DEL
ALGORITMO
EN
MICROMUND
OS para
helado

fin

TRADUCCIN
DEL
ALGORITMO
EN SCRATCH

Pg.64 - 9-nov-09 - Segunda Edicin Descargue gratuitamente esta Gua:


http://www.eduteka.org/GuiaAlgoritmos.php

DISEO DEL ALGORITMO


La
primera
forma es
ms fcil
de
manipular
por los
estudiant
es, ya
que si la
proposici
n es
verdader
a
entonces
Si come
helado y
si la
proposici
n es
falsa
entonces
NO
En este
ejemplo,
la
proposici
n se
puede
expresar
de dos

come
helado;
adems,
utiliza el
operador
relacional
mayor
que (>).

formas
equivalent
es:
(matemti
cas > 8.0)
(matemti
cas <=
8.0)

La
segunda
forma
(utilizada
en el
algoritmo
) es ms
compleja.
En ella, si

la

la

proposici

relacin

n es

de

verdadera

igualdad

entonces

no se

NO come

menciona

helado y

explcita

si la

mente en

proposici

el

n es falsa

enunciad

entonces

o del

SI come

problema

helado.

En esta
forma se
presenta
un
contrase

EJEMPL
O

ntido que
puede
desorienta
r a los
estudiante
s.
Adems,
hay que
usar el
operador
relacional
menor o
igual que,
el cual se
traduce
en
MicroMun
dos [4]
as:

(o
:matemti
cas < 8.0
:matemti
cas = 8.0)

La
profesora
ngela
Cristina
necesita
calcular la
nota
definitiva
para cada
uno de los
22
alumnos
que
asisten a
su curso
de
geometra
, con el fin
de saber
quines
aprobaron
y quines
reprobaro
n (para
aprobar
hay que
obtener
una nota
igual o
superior a
6.5). Ella
realiz a
todos sus
estudiante

s, en el
primer
periodo
del ao
lectivo,
dos
exmenes
y asign
un trabajo
de
investigaci
n. Cmo
puedes
ayudarle?

R/.

ANLISIS
DEL
PROBLE
MA

Formular
el
problema:
Se
requiere
calcular un
promedio
de tres
notas para
cada uno
de los 22
alumnos.
Resultado
s
esperados:
La nota
definitiva
de cada
uno de los
22
alumnos y
un aviso
que
indique si
aprob o
no.

Datos
disponible
s: El
nmero

de
alumnos:
22. Las
notas de
cada
alumno
las debe
digitar la
profesora
.

Restriccio
nes: Cada
una de las
tres notas
tienen el
mismo
porcentaj
e en la
nota
definitiva.
Tres
notas por
alumno y
22
alumnos.
Todas las
notas
deben ser
mayores
o iguales
a1y
menores
o 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
tres notas,
verificar
que estn
en el rango
permitido
(entre 1 y
10),

sumarlas,
calcular el
promedio,
verificar si
aprob o
no. Mostrar
el promedio
y un aviso
que informe
si aprob o
no.

TRADUC
CIN
DEL
ALGORIT
MO EN
MICROM
UNDOS
para
notasDos

cumpleve
ces
[estudiant
e 22]

pregunta
[Ingrese
la nota
del
primer
examen ]
da
"examen
Uno
respuesta

pregunta
[Ingrese la
nota del
segundo
examen ]
da
"examenD
os
respuesta

pregunta
[Ingrese la
nota del
trabajo de
investigaci
n ] da
"trabajo
respuesta

siotro (o
:examenUn
o<1
:examenUn
o > 10
:examenDo
s<1
:examenDo
s > 10
:trabajo < 1
:trabajo >
10)

:examen
Uno +
:examen
Dos +
:trabajo
da
"promedi
o
:sumatori
a/3

siotro
(:promedi
o < 6.5)

da "aprobar
[ -> NO
aprob el
primer
periodo de

Geometr
a]

[
[
anuncia
[Datos no
validos ]

da
"sumatori
a

da
"aprobar [
-> SI
aprob el
primer
periodo de

Geometr
a]

Pg.65 - 9-nov-09 - Segunda


Edicin - Descargue
gratuitamente esta Gua:
http://www.eduteka.org/GuiaAlgorit
mos.php

muestra (frase [El promedio del estudiante ] :estudiante + 1

[ es ]

:promedio :aprobar)

fin

TRADUCCIN DEL ALGORITMO EN SCRATCH

DISEO DEL ALGORITMO

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

Ntese que en este ejemplo se evala si la proposicin

da "ANGULO3 180 - :ANGULO1 - :ANGULO2

compuesta es verdadera entonces los datos no son


validos. Como se utiliza el operador lgico o, basta
con que una de las proposiciones sea verdadera para

da "EsRectangulo "NO ;inicializa la variable TIPO en NO

que toda la proposicin compuesta tambin lo sea.


Adicionalmente, en la traduccin a Scratch se utilizan
estructuras condicionales anidadas (ver la sustentacin

;si uno de los ngulos es igual a 90 cambia el valor de TIPO a

educativa del uso de estructuras anidadas al final de


esta seccin).
SI

EJEMPLO

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.

si :ANGULO1 = 90 [da "EsRectangulo "SI] si :ANGULO2 = 90 [da


"EsRectangulo "SI] si :ANGULO3 = 90 [da "EsRectangulo "SI]

;dependiendo del valor de EsRectangulo, muestra que


tipo de tringulo es
siotro :EsRectangulo = "SI

[
anuncia [NO es un Tringulo Rectngulo]
anuncia [SI es un Tringulo Rectngulo]
]
]
fin
[

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

TRADUCCIN DEL ALGORITMO EN SCRATCH

En este ejemplo se evala una a una las


proposiciones para determinar s uno de los ngulos
es igual a 90. Ntese que la variable esRectngulo
se inicializa con el valor NO, en caso de que
cualquiera de los ngulos sea igual a 90, entonces

la variable esRectangulo se cambia a SI. Finalmente se


evala el valor resultante de esta variable para mostrar el
mensaje si o no es un tringulo rectngulo.

EJEMPLO

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.

DISEO DEL ALGORITMO

TRADUCCIN DEL ALGORITMO EN MICROMUNDOS


para triangulo
anuncia [SI es un Tringulo Rectngulo]

local "ANGULO1 local "ANGULO2 local "ANGULO3

]
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

siotro (o :ANGULO1 = 90 :ANGULO2 = 90 :ANGULO3 = 90)

anuncia [NO es un Tringulo Rectngulo]

fin

TRADUCCIN DEL ALGORITMO EN SCRATCH

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

operador lgico o permite evaluar en una sola

la hallada en el ejemplo anterior. La utilizacin del

instruccin si alguno de los ngulos vale 90. Un

problema inesperado a plantear a los estudiantes

asociados con el sistema operatorio de clasificacin o

consiste en preguntarles qu pasa si alguien digita

inclusin. Este sistema se empieza a adquirir cuando

valores para los ngulos que sumados den ms de

los nios trabajan con inclusiones de clases tales

180? cmo controlar que esto no suceda?

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-

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.

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


ACTIVIDAD

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,

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

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

haber realizado aportes por ms de 20 aos".

Para resolver este problema se puede plantear la


siguiente inclusin de clases: edad(A) < gnero(B) <
aportes(C).

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
este proceso se le conoce como
depuracin y contribuye a mejorar
en los estudiantes la capacidad para
resolver problemas puesto que la
depuracin basada en la
retroalimentacin es una habilidad
til para toda la vida (Stager, 2003).

La depuracin de un procedimiento
hace 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
Ilustracin 4-1: Cuarta fase del ciclo
de programacin.

la retroalimentacin constante y el
xito gradual empujan a los alumnos
a ir ms all de sus expectativas
(Stager, 2003).

Es muy difcil elaborar


procedimientos perfectos en un
primer intento y la dificultad aumenta

Otras dos actividades relacionadas

a medida que los problemas se

con esta etapa, que no se tratarn

vuelven ms complejos. Despus de

en esta gua, son la afinacin y la

traducir el algoritmo en un lenguaje

documentacin. La primera consiste

de programacin, el procedimiento

en realizar retoques para lograr una

resultante debe ser probado y los

mejor apariencia del programa (en

resultados validados (revisin). A

pantalla o en los resultados

impresos) o para ofrecer


funcionalidades ms all de los

Fallas de sintaxis

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 qu hace su programa,
cmo lo hace y el significado de
cada elemento utilizado. Esta
actividad se puede llevar a cabo

Este tipo de fallas solo se presenta


en MicroMundos ya que el entorno
de programacin de Scratch es
grfico y los estudiantes no deben
escribir el cdigo. Adems, los
bloques con las instrucciones son
autoencajables, por tanto no es
posible ubicar un bloque de manera
que se generen fallas de sintaxis.

mediante comentarios introducidos


al cdigo o por medio de
documentacin formal en un
documento que se anexa al
procedimiento elaborado.

Las fallas sintcticas son las ms


sencillas de identificar ya que el
entorno de programacin indica
dnde se ha producido el error y de
que tipo es. Por ejemplo,

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

MicroMundos reportar el error


valorDos no tiene valor en prueba
cuando, en el procedimiento
prueba, se intenta mostrar el
contenido de la variable valorDos
sin haberla asignado antes.

adecuadamente; una vez aislada la


falla, esta se soluciona y se vuelve a
probar el programa y a validar los
resultados. Segn Jonassen (2003),

En caso de presentarse una falla de


sintaxis, el estudiante debe:

para corregir fallas efectiva y


eficientemente se requiere
conocimiento del sistema

Comprender el mensaje de error

(comprensin conceptual de cmo

que reporta el ambiente de

funciona el sistema), conocimiento

programacin (apoyarse en las

procedimental (cmo llevar a cabo

opciones de ayuda que ofrece

tanto procedimientos de solucin de

MicroMundos o en el docente).

fallas, como actividades de prueba)


y conocimiento estratgico (saber
cundo, dnde y por qu aplicar

Examinar el cdigo del programa

procedimientos de solucin de fallas

para identificar en cul instruccin

y actividades de prueba).

se encuentra la falla

Corregir la falla

Probar el programa de nuevo

procedimiento que pida al usuario una


calificacin, aplique el criterio de
aprobacin e imprima Aprobado o
Reprobado, segn sea el caso.

R/.
EJEMPLO 4-1
ANLISIS DEL PROBLEMA
Retomemos el ejemplo del estudiante
que aprueba un examen cuando obtiene
una calificacin mayor o igual a seis
(ejemplo 3-14). Se requiere elaborar un

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

soluciona al escribir correctamente


el comando indicado.

TRADUCCIN DEL ALGORITMO

Fallas de lgica

para aprueba1 local "calificacin

Este tipo de falla se presenta tanto

preguntas [Ingrese la Calificacin] da


"calificacin respuesta

siotro (o :calificacin > 6.0


:calificacin = 6.0)

en MicroMundos como en Scratch.


Para identificar fallas de tipo lgico
en un procedimiento que no se
interrumpe en ningn momento y
que arroja unos resultados, estos se
deben

anuncia [Aprobado]

anuncia [Reprobado]

fin

Obsrvese que MicroMundos arroja


un mensaje de error cuando se
ejecuta el procedimiento: No s
cmo hacer preguntas en
aprueba1. Este error se produce
porque el comando pregunta est
mal escrito, en su lugar se escribi
preguntas. El problema se

revisar cuidadosamente. Uno de los


procedimientos ms utilizados es el
que se conoce como prueba de
escritorio. Esta consiste seguir paso
a paso cada una de las
instrucciones del procedimiento,
asignando valores iniciales a
variables y constantes y, realizando
las operaciones indicadas en cada

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.

instruccin hasta llegar al final del


procedimiento. Luego, comparar los
resultados que produce la prueba de

TRADUCCIN DEL ALGORITMO

escritorio con los resultados que


arroja el procedimiento; ambos
conjuntos de resultados deben ser

para aprueba2 local "calificacin

iguales. Esta metodologa es viable


cuando los procedimientos son
sencillos, con pocas instrucciones.

En caso de presentarse una falla de

pregunta [Ingrese la Calificacin] da


"calificacin respuesta

siotro (o :calificacin < 6.0


:calificacin = 6.0)

lgica, el estudiante debe:


[
Examinar el diagrama de flujo para
detectar instrucciones que faltan,

anuncia [Aprobado]

sobran o que se encuentran en la


posicin incorrecta
]
Asegurarse que las instrucciones
representan rigurosamente el

diagrama de flujo
anuncia [Reprobado]
Utilizar las opciones de
MicroMundos y Scratch para ver la
ejecucin del programa en forma

lenta.
fin

EJEMPLO 4-2

Obsrvese que el procedimiento

estudiante aprob y este dato si es

aprueba2 se ejecuta

correcto. El problema radica en que

correctamente; no aparece ningn

en el comando siotro se digit

error de sintaxis. Pero no funciona

errneamente < en lugar de >, tal

bien desde el punto de vista lgico.

como aparece en el diagrama de

Si lo probamos con el valor 5, el

flujo.

procedimiento nos reporta que el


estudiante aprob la materia,
cuando esto no es correcto. Si lo
probamos con 7, nos reporta que el
estudiante reprob, cuando tampoco
es exacto. En cambio, cuando lo
probamos con 6 nos dice que el

Adicionalmente, en este ejemplo se


puede observar la 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-oVer 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

Ciclo de programacin

resultados esperados; datos

disponibles; restricciones;

disponibles; restricciones;

procesos necesarios)

procesos necesarios)

disponibles; restricciones;

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

TEMAS DE

Anlisis de problemas
Variables y constantes

Operadores y expresiones
Expresiones

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


Acceder al sitio Web de Scratch
Explorar el sitio Web de Scratch
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


Reconocer/Identificar la Barra de Ttulos
Reconocer la Barra de Mens
Reconocer Bandera Verde y el Botn Parar
Reconocer el Escenario
Reconocer la informacin de Coordenadas del Ratn dentro del Escenario
Reconocer el Modo de Presentacin
Reconocer los Botones de Objeto
Reconocer la Lista de Objetos
Reconocer el rea de Informacin del Objeto
Reconocer el rea de Programa
Reconocer el rea de Disfraces
Reconocer el rea de Sonidos
Reconocer el rea de Fondos
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)
Abrir y cerrar el programa
Abrir y cerrar un proyecto existente
Crear un proyecto nuevo
Importar un Objeto Sorpresa
Duplicar, borrar, agrandar y achicar objeto (Barra herramientas)
Guardar un proyecto

Seleccionar lenguaje (idioma) de la interfaz


Ejecutar un proyecto utilizando el botn Bandera Verde
Detener la ejecucin de un programa utilizando el botn Parar Todo
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


Reconocer la opcin Importar
Reconocer la opcin Deshacer
Reconocer la opcin Rehacer
Reconocer el lienzo
Reconocer la opcin escalar
Reconocer la opcin rotar
Reconocer la opcin voltear
Reconocer la opcin limpiar
Reconocer la barra de herramientas
Reconocer las opciones de rea
Reconocer la opcin de intercambiar colores
Reconocer la paleta de colores
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


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

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

Dibujar figuras con la brocha, la lnea, el rectngulo y la elipse de la barra de herramientas.


Utilizar el bote de pintura para llenar de color una figura
Seleccionar el color con la herramienta de gotero
Duplicar una imagen con la opcin de estampar
Borrar una imagen del lienzo
Insertar un texto en el lienzo
Mover un texto o una imagen dentro del lienzo
Cambiar los tamaos de las herramientas en la opcin de rea
Cambiar de color las imgenes con la paleta de colores.
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


Pintar un Objeto nuevo (botn)
Pintar, Importar, Editar, Copiar y Borrar Disfraces y Fondos.
o

Mostrar al frente un Objeto < en lista de objetos >

Exportar un Objeto
Evaluacin (logros)
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.
Crea nuevos objetos y edita sus disfraces.
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

Utilizar la instruccin al presionar Bandera Verde [Bloque Control]


Utilizar la instruccin Por Siempre [Bloque Control]
Utilizar la instruccin Esperar N segundos [Bloque Control]
Utilizar las instrucciones Si y Si Sino [Bloque Control]
Explicar la instruccin Esperar Hasta Que [Bloque Control]
Explicar la instruccin Por Siempre Si [Bloque Control]
Utilizar la instruccin Mover N Pasos [Bloque Movimiento]
Utilizar la instruccin Ir a X: Y: [Bloque Movimiento]
Utilizar la instruccin Ir a <posicin de un objeto> [Bloque Movimiento]
Utilizar la instruccin Apuntar en direccin [Bloque Movimiento]
Utilizar la instruccin Apuntar hacia <nombre objeto> [Bloque Movimiento]
Utilizar la instruccin Rebotar si est tocando borde [Bloque Movimiento]
Explicar la instruccin Girar N grados [Bloque Movimiento]
Utilizar la instruccin Cambiar X por [Bloque Movimiento]
Utilizar la instruccin Cambiar Y por [Bloque Movimiento]
Utilizar la instruccin Fijar posicin X [Bloque Movimiento]
Utilizar la instruccin Fijar posicin Y [Bloque Movimiento]
Mostrar en el escenario la posicin X de un objeto [Bloque Movimiento]
Mostrar en el escenario la posicin Y de un objeto [Bloque Movimiento]
Mostrar en el escenario la direccin de un objeto [Bloque Movimiento]
Utilizar la instruccin Deslizar en N segundos a posicin X,Y [Bloque Movimiento]
o

Utilizar el sensor tocando <borde>

[Bloque Sensores]

Utilizar la instruccin Cambiar efecto [Bloque Apariencia]


Utilizar la instruccin Siguiente Disfraz [Bloque Apariencia]
Utilizar la instruccin Fijar Tamao a [Bloque Apariencia]
o

Utilizar la instruccin Cambiar Tamao por

[Bloque Apariencia]

Mostrar en el escenario el tamao de un objeto [Bloque Apariencia]


Mostrar en el escenario el nmero de disfraz de un objeto [Bloque Apariencia]
Enviar un objeto hacia atrs N capas [Bloque Apariencia]
Copiar el programa de un Objeto a otro
Cambiar el nombre a un Objeto, Disfraz o Fondo

Cambiar el nombre al Escenario


Reconocer la posicin de un Objeto
Activar la opcin ver los pasos separados en el botn EXTRAS
Utilizar la ayuda en lnea de Scratch
Borrar instrucciones
Evaluacin (logros)
Utiliza, como mnimo, dos formas de mover un Objeto
Al mover un objeto, incorpora al menos una instruccin repetitiva
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.
Utilizar la instruccin Repetir [Bloque Control]
Utilizar la instruccin Pensar [Bloque Apariencia]
Utilizar la instruccin Pensar por N segundos [Bloque Apariencia]
Utilizar la instruccin Decir [Bloque Apariencia]
Utilizar la instruccin Decir por N segundos [Bloque Apariencia]
Utilizar la instruccin Cambiar el Disfraz a [Bloque Apariencia]
Utilizar la instruccin Cambiar el Fondo a [Bloque Apariencia]
Utilizar la instruccin Fondo Siguiente [Bloque Apariencia]
Utilizar la instruccin Enviar al Frente [Bloque Apariencia]
Utilizar la instruccin Tocar sonido [Bloque Sonido]
Utilizar la instruccin Tocar sonido y esperar [Bloque Sonido]
Utilizar la instruccin Fijar Volumen a [Bloque Sonido]
Utilizar la instruccin Cambiar Volumen por [Bloque Sonido]
o

Utilizar la instruccin Tocar Tambor Durante N Pulsos

[Bloque Sonido]

Utilizar la instruccin Detener todos los sonidos [Bloque Sonido]


Utilizar la instruccin Silenciar sonidos durante N pulsos [Bloque Sonido]
Utilizar la instruccin Tocar nota <nmero nota> durante N pulsos [B. Sonido]
Utilizar la instruccin Fijar instrumento a <instrumento> [Bloque Sonido]
Mostrar en el escenario el Volumen [Bloque Sonido]
Utilizar la instruccin Cambiar tempo por <valor> [Bloque Sonido]
Utilizar la instruccin Fijar tempo a N pulsos por minuto [Bloque Sonido]
Mostrar en el escenario el valor de Tempo [Bloque Sonido]
Importar un fondo (Escenario)
Importar un Objeto
Importar un Disfraz
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


Explicar qu es un evento
Entender en qu casos se requiere programar por eventos
Comprender qu es un hilo
Entender en qu casos se requiere uno o ms hilos asociados a un Objeto
Evaluacin (logros)
Dado un proyecto de Scratch por el docente, seala partes de los programas que corresponden a hilos
Explica en sus propias palabras qu es un hilo en Scratch
Con base en un proyecto creado previamente, explica qu instrucciones corresponden a eventos y por qu son eventos.
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)
Utilizar la instruccin Enviar a todos [Bloque Control]
Utilizar la instruccin Enviar a todos [Bloque Control]
Utilizar la instruccin Al Recibir [Bloque Control]
Utilizar instruccin Al Presionar Objeto [Bloque Control]
Utilizar la instruccin Al presionar tecla [Bloque Control]
Utilizar la instruccin Repetir hasta que [Bloque Control]
Utilizar la instruccin Detener Todo [Bloque Control]
Utilizar la instruccin Detener Programa [Bloque Control]
Utilizar la instruccin Mostrar [Bloque Apariencia]
Utilizar la instruccin Esconder [Bloque Apariencia]
Utilizar la instruccin Fijar Efecto a [Bloque Apariencia]

Utilizar la instruccin Quitar Efectos

Grficos [Bloque Apariencia]

Utilizar la instruccin Posicin X del ratn [Bloque Sensores]


Utilizar la instruccin Posicin Y del ratn [Bloque Sensores]
Utilizar la instruccin Ratn presionado? [Bloque Sensores]
Utilizar el sensor <Tecla> Presionada [Bloque Sensores]
Utilizar el sensor Tocando <...> [Bloque Sensores]
Utilizar el sensor Tocando el Color <...> [Bloque Sensores]
Utilizar la instruccin <color 1> sobre <color 2> [Bloque Sensores]
Utilizar la instruccin Distancia a [Bloque Sensores]
Utilizar la instruccin Reiniciar cronmetro [Bloque Sensores]
mostrar Cronmetro en el escenario [Bloque Sensores]

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

mostrar Volumen del sonido en el escenario [Bloque Sensores]


mostrar resultado de sonido fuerte?, en el escenario [Bloque Sensores]
mostrar valor de un sensor, en el escenario [Bloque Sensores]
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.


Agregar comentarios a un programa
Agregar notas al Proyecto
Evaluacin (logros)
Dado un proyecto elaborado previamente, le agrega comentarios a un Programa y notas al Proyecto.
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.


Explicar qu hace cada una de las instrucciones de un programa.
Agregar comentarios explicativos de la funcionalidad de un hilo (concepto general en lugar de instruccin por instruccin)
Agregar o cambiar instrucciones que mejoren la funcionalidad o el desempeo del programa.
Evaluacin (logros)
Agrega comentarios explicativos de la funcionalidad de un Programa (hilo)
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 +, -, * , /

Utilizar la funcin Mdulo [Bloque Nmeros]

[Bloque Nmeros]

Utilizar la funcin Redondear [Bloque Nmeros]


Utilizar funciones matemticas (abs, raz cuadrada, sin, cos, etc) [Bloque Nmeros]
o

Utilizar operaciones booleanas >, <, =, y ,o ,no [Bloque Nmeros]

Utilizar la instruccin Nmero al Azar entre 1 y N [Bloque Nmeros]


Evaluacin (logros)
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


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

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

Utilizar la instruccin Aade X a LISTA [Bloque Variables]


Utilizar la instruccin Borrar (posicin N) de LISTA [Bloque Variables]
Utilizar la instruccin Insertar ELEMENTO en POSICIN N de LISTA [Bloque Variables]
Utilizar la instruccin Reemplazar (posicin N) de LISTA con NUEVO ELEMENTO [Bloque Variables]
Utilizar la instruccin Item N de LISTA [Bloque Variables]
Utilizar la instruccin Longitud de LISTA [Bloque Variables]
Evaluacin (logros)
Utiliza variables para apoyar la solucin de problemas
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.


Explicar la importancia de compartir con otras personas los trabajos realizados en Scratch.
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

Operaciones y Conceptos Bsicos

Problemas Sociales, ticos y Humanos

Herramientas de las TIC para la Productividad

Herramientas de las TIC para la Comunicacin

Herramientas de las TIC para la Investigacin

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

ANLISIS
DEL
PROBLEM
A

Formular
el
problema
:

Resultado
s
esperado
s:

Datos
Disponibl
es :

Restriccio
nes :

Procesos
Necesario
s:

Pg.91 - 9nov-09 Segunda


Edicin Descargue
gratuitamente
esta Gua:
http://www.edu
teka.org/GuiaA
lgoritmos.php

ANEXO 7

Pg.92 - 9nov-09 Segunda


Edicin Descargue
gratuitamente
esta Gua:
http://www.edu
teka.org/GuiaA
lgoritmos.php

ANEXO 8

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

Pg.93 - 9nov-09 Segunda


Edicin Descargue
gratuitamente
esta Gua:
http://www.edu
teka.org/GuiaA
lgoritmos.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

Rumbaugh, James y Otros (1996): Modelado y diseo orientado a objetos, metodologa OMT; Prentice Hall, Espaa.
Sabino, Carlos (1980): El proceso de investigacin, Ed. El Cid Editor, Bogot.

Snchez, Margarita A. de (1991): Desarrollo de habilidades de pensamiento, Editorial Trillas, Mxico, Decimocuarta reimpresin: 2004.

---------- (1993): Aprende a pensar, gua del instructor; Editorial Trillas, Mxico. Savater, Fernando (1991): tica para Amador, Editorial Ariel,
Barcelona.

---------- (1996): El valor de educar; Editorial Ariel, Barcelona.

Serrano Prez, Hugo (1998): Razonamiento abstracto; Fnix impresores, Cali.

Sierra Vsquez, Francisco Javier (2001): La tecnologa informtica y la escuela; [Consulta en lnea: Ciberhabitat, Enero 8
de 2004, http://ciberhabitat.com/escuela/maestros/tiyescuela/ti_3.htm]

Schunk, Dale H. (1997): Teoras de aprendizaje; Prentice Hall, Mxico, segunda edicin. Solano, Guillermo (1991): Diseo lgico de exmenes;
Editorial Trillas, Mxico.

Soto Sarmiento, ngel Alonso (1997): Educacin en tecnologa, un reto y una exigencia social; Cooperativa Editorial
Magisterio, Bogot. Spoor, Cunera & Jinich, Emanuel (1990): Primeros pasos en Logo; McGraw Hill, Mxico.

Stager, Gary (2003): En pro de los computadores; [Consulta en lnea: Eduteka, Enero 13 de 2004,
http://www.eduteka.org/ProComputadores.php] Stenberg, Robert (1997): Inteligencia exitosa. Paidos, Espaa.

Treff, August & Jacobs, Donald (1983): Life skills mathematics; Media Materials, Baltimore.

Trejos Buritic, Omar Ivn (1999): La esencia de la lgica de programacin; Editorial Papiro, Pereira.

Tucker, Allen editor- (2003): A model currculum for K-12 computer science, Final report of the ACM K-12 education task force
curriculum committee; [Consulta en lnea: ACM, Septiembre 12 de 2004, http://www.acm.org/education/K12]

Vasta, Ross y Otros (1996): Psicologa infantil; Ariel, Barcelona.

Watt, Daniel (1987): Aprendiendo con IBM Logo; McGraw-Hill, Bogot.

Wilson, James; Fernndez, Mara & Hadaway, Nelda (1993): Technology and problem solving; [Consulta en lnea:
Universidad de Georgia, Abril 6 de 2004, http://jwilson.coe.uga.edu/emt725/Pssyn/Pssyn.html]

Woolfolk, Anita E. (1999): Psicologa educativa; Prentice Hall, Mxico, sptima edicin. Yarce, Jorge (2004): Valor para vivir los valores;
Editorial Norma, Bogot.

Zea Restrepo, Claudia Mara y Otros (2000): Informtica y escuela, un enfoque global (Conexiones); Editorial Universidad
Pontificia Bolivariana, Medelln.

Zemelman, Steven; Daniels, Harvey; & Hyde, Arthur (1998): Mejores prcticas en matemticas; Editorial Heineman;
[Consulta en lnea: Eduteka, Julio 21 de 2004, http://www.eduteka.org/MejoresPracticas.php]

Zuleta Estanislao (1985): Educacin y democracia; Hombre Nuevo Editores, Medelln, quinta edicin.

---------- (1996): Lgica y crtica; Editorial Univalle, Cali.

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

Você também pode gostar