Вы находитесь на странице: 1из 74

UNIVERSIDAD NACIONAL DE EDUCACIN

Enrique Guzmn y Valla

Alma Mater del Magisterio Nacional

FACULTAD DE CIENCIAS
Departamento Acadmico de Matemtica e Informtica.

MONOGRAFA:
ALGORTMICA
Presentado por:

RAMIREZ VILCAYAURI, Julia Margot

ESPECIALIDAD
Informtica
CHOSICA-2013

NDICE
DEDICATORIA
INTRODUCCIN
CAPTULO I: MARCO TERICO
1.1 SISTEMA COMPUTACIONAL
1.2 PARTES DEL COMPUTADOR
1.2.1 Hardware
1.2.2 Software
1.3 CONCEPTOS DE PROGRAMACIN
1.3.1 Qu es la Programacin
1.3.2 Qu es un Lenguaje de Programacin
1.4 LENGUAJES DE PROGRAMACIN
1.4.1 Clasificacin
1.4.2 Tipos

CAPTULO II: ALGORITMO


2.1 TIPOS Y ANLISIS ALGORTMICOS
2.3 DISEO DE ALGORITMOS
2.4 ELEMENTOS DE UN ALGORITMO
2.5 TIPOS DE DATOS
2.5.1 Numricos
2.5.2 Cadena
2.5.3 Lgicos
2.6 TIPOS COMPUESTOS
2.7 CMO SE CONSTRUYE UN PROGRAMA ALGORTMICO

CAPTULO III: REPRESENTACIN DE ALGORITMOS


3.1 PSEUDOCDIGO
3.1.1Estructura Secuencial
3.1.2Estructura Selectiva (si, si, no)
3.1.3 Estructura Iterativa o de repeticin (mientras, repetir, para)
3.2 DIAGRAMA DE FLUJO

6
7
8
9
10
11
12
13
14
20
21
22
23
24
25
26
27
28
29
30
31
33
34
35
38

67Captulo IV: LENGUAJE DE PROGRAMACIN SCRATCH


4.1 Scratch
4.2 Caractersticas
4.3 Ventajas
4.4 Importancia del Scratch en la tecnologa educativa
4.5 Instalacin del Software
4.5.1Partes del Software Scratch
4.5.2 Familia de Bloques

42
44
44
45
46
50
51

CAPTULO V: APLICACIN DIDCTICA


Sesin de Aprendizaje
Ejercicios Algortmicos

APRECIACIN CRTICA
SUGERENCIAS
CONCLUSIONES
BIBLIOGRAFA
ANEXOS:
Glosario
Ficha de meta cognicin
Lista de Cotejo
Lista de Actitudes

52
53
56
63
66
67
68
69

DEDICATORIA
Con todo mi cario y mi amor para las
personas que hicieron todo en la vida para
que yo pudiera lograr mis sueos, por
motivarme y darme la mano cuando senta
que el camino se terminaba, a ustedes por
siempre mi corazn y mi agradecimiento,
pap y mam.

INTRODUCCIN
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe
Alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un
tratado sobre la manipulacin de nmeros y ecuaciones en el siglo IX.
Los

algoritmos

pueden

escribirse

utilizando

muchos

lenguajes

de

programacin, cada lenguaje permite escribir los pasos con mayor o menor
detalle, es una serie de pasos que en forma coherente y lgica nos permiten
hallar la solucin de un problema especifico, describen el proceso que se debe
seguir. Sedefine como un conjunto ordenado y finito de operaciones, es una
secuencia de pasos a seguir, dicha secuencia puede ser expresada en forma
de diagrama de flujo con el fin de hacerlo ms sencillo.

La Teora Algoritmica de la Informacin (AIT) es la teora de la informacin de


objetos individuales, haciendo uso de ciencias de la computacin, y que se
sita en relacin con la computacin, informacin y aleatoriedad.
El contenido informativo, o complejidad, de un objeto puede ser medido por la
longitud de su menor descripcin. Por ejemplo, la cadena
"010101010101010101010101010101010101010101010101010101010101010
1"
tiene una descripcin ms corta que es "32 repeticiones de 01'", mientras que
"1100100001100001110111101110110011111010010000100101011110010110"
presumiblemente no tiene una descripcin ms corta que la de dar la propia
cadena. Ms formalmente, la Complejidad Algortmica de Kolmogorov (AC) de
una cadena x se define como la longitud del menor programa que la calcula, o
cuyo resultado es x, donde el programa se supone que corre sobre una
instancia prefijada de mquina universal (u ordenador).
Una nocin muy relacionada es la de la probabilidad de que una mquina
universal devuelva x cuando recibe como entrada un programa elegido al azar.
Esta Probabilidad Algortmica de Solomonoff (AP) es clave para abordar el viejo
problema filosfico de la induccin de una manera formal.

CAPTULO I: MARCO TERICO

La computadora no solamente es una mquina que puede realizar procesos


para darnos resultados, sin que tengamos la nocin exacta de las operaciones
que realiza para llegar a esos resultados. Con la computadora tambin
podemos disear soluciones a la medida, de problemas especficos que se nos
presenta, mas a un si estos involucran operaciones matemticas complejas,
repetitivas o requieren del manejo de un volumen muy grande de datos.

A las soluciones creadas por computadora se les conoce como programa y no


son ms que una serie de operaciones que realiza la computadora para llegar a
un resultado, con un grupo de datos especficos. Para poder
programas adems de conocer la metodologa

realizar

ya mencionada, tambin

debemos conocer de manera especfica las funciones que pueden realizar la


computadora y las formas en que se pueden manejar los elementos que hay en
la misma.

1.1 SISTEMA COMPUTACIONAL


Un sistema computacional o sistema informtico, como todo sistema. Es el
conjunto de partes interrelacionadas, hardware, Software y de recurso humano.
Un sistema informtico tpico emplea una computadora que usa dispositivos
programables para capturar,

almacenar y procesar datos. La computadora

personal o PC, junto con la persona que lo maneja y los perifricos que los
envuelve, resultan de por si un ejemplo de un sistema informtico, para
comprender mejor este sistema computacional conozcamos que es hardware y
Software.

1.2 PARTES DEL COMPUTADOR

Una computadora es un dispositivo electrnico utilizado para procesar


informacin y obtener resultados, capaces de realizar clculos y tomar
decisiones lgicas a velocidades de millones, incluso miles de millones de
veces ms rpidos que los humanos.
Por ejemplo: muchas de las computadoras personales actuales pueden realizar
miles de millones de sumas por segundos. Una persona con una calculadora
podra requerir toda una vida para completar el mismo nmero de operaciones
que una poderosa computadora realiza por segundo.
Una computadora est compuesta por dos componentes principales y distintas,
son indispensables para el trabajo de ella. Hardware conformado por varios
dispositivos, tales como el teclado, el monitor, el ratn o mouse, disco,
memoria, DVD, CD-ROM y unidades de procesamiento. El Software el conjunto
de programas que se le indican a la computadora que tareas deben hacer y
cmo realizarlas.

1.2.1 HARDWARE
Es el equipo utilizado para el funcionamiento de una computadora. El hardware
se refiere a los componentes materiales de un sistema informtico. La funcin
de estos componentes suelen dividirse en tres categoras principales: entrada,
salida y almacenamiento. Los componentes de esas categoras estn
conectados a travs de un conjunto de cables o circuitos llamados bus con la
unidad central de proceso (CPU) del computador, el microprocesador que
controla la computadora y le proporciona capacidad de clculo.
La mayora de computadoras grandes o pequeas estn organizadas como se
muestra a continuacin.

Computadora

CPU (procesador)
Datos

Informacin

DISPOSITIVOS DE SALIDA

Unidad de control

DISPOSITIVOS DE ENTRADA.

Unidad de memoria

MEMORIA EXTERNA (ALMACENAMIENTO PERMA

Unidad aritmtica lgica

1.2.2 SOFTWARE
El software es un conjunto de instrucciones y comandos que se ejecutan en la
computadora. Es el conjunto de instrucciones de un programa detallados que
controlan y coordinan los componentes de hardware de una computadora. El
auge de la computadora se debe esencialmente al desarrollo de sucesivas
generaciones de software potente y cada vez ms fcil de utilizar, eso depende
del hombre quien hace posible esta interrelacin del hardware y software
quienes conforman el sistema computacional. Pero el hombre para poder
comunicarse con la computadora desarrollo un lenguaje natural que las
computadoras o lenguaje maquina, las computadoras solo entienden un
lenguaje compuesto por unos y ceros, esta forma de comunicacin es el
sistema binario, este lenguaje maquina utiliza secuencias o patrones de ceros y
unos para componer las instrucciones que posteriormente reciben de los

distintos dispositivos de la computadora, tales como las unidades de disco


duro, el teclado, entre otros.

1.3 CONCEPTOS DE PROGRAMACIN


Una persona piensa y se comporta obedeciendo a un secuencial lgico. Un
computador realiza tareas y maneja datos en memoria obedeciendo a una
secuencia de pasos lgicos para lo cual ha sido programado. Programacin de
computadoras es la ciencia que permite a una persona programar una
computadora para que resuelva tareas de manera rpida. Un Programa de
computadora se puede definir como una secuencia de instrucciones que indica
las acciones o tareas que han de ejecutarse para dar solucin a un problema
determinado. Programar computadoras es indispensable en cualquier rea de
la ingeniera, ya que diferentes problemas que se puedan presentar tardan
tiempo resolverlos de manera manual. La computadora resuelve problemas de
acuerdo como se le haya programado de manera rpida, existen tipos y
clasificacin que hace que se diferencien los lenguajes de programacin.

1.3.1 QU ES LA PROGRAMACIN
En la programacin para llegar a tener una secuencia de instrucciones que den
solucin a un problema es necesario ejecutar varias etapas. Etapa de anlisis:
En esta etapa el programador debe entender claramente el problema. Saber
qu es lo que se quiere resolver. (Analizar) Etapa de Solucin general: Escribir
la serie de pasos que sean necesarios para dar solucin al problema. Estos
pasos se pueden desarrollar a travs de un Diagrama de flujo (Utilizando
smbolos) a travs de un seudo lenguaje (Utilizando Lenguaje comn). A lo
anterior es lo que se conoce con el nombre de Algoritmo. Etapa de prueba:
Consiste en chequear el algoritmo paso a paso para estar seguro si la solucin
da solucin verdaderamente el problema. (Prueba de escritorio). Etapa de
implementacin especfica: Consiste en traducir el algoritmo a un lenguaje de
programacin. (Codificar). Etapa de prueba: Consiste en ejecutar el programa
en un computador y revisar los datos arrojados para ver si son correctos y
hacer los ajustes necesarios. (Implementar). Etapa de uso: Consiste en instalar
el programa de manera definitiva para el uso por parte del usuario.

1.3.2 QU ES UN LENGUAJE DE PROGRAMACIN


Se puede definir un lenguaje de programacin como un conjunto de reglas
normas, smbolos y palabras especiales utilizadas para construir un programa y
con l, darle solucin a un problema determinado. El lenguaje de programacin
es el encargado de que la computadora realice paso a paso las tareas que el
programador ha diseado en el algoritmo. Se puede decir que un lenguaje de
programacin es el intermediario entre la mquina y el usuario para que este
ltimo pueda resolver problemas a travs de la computadora haciendo uso de
palabras (funciones) que le traducen dicho programa a la computadora para la
realizacin de dicho trabajo.

Programa
Pseudocdigo

Algoritmo

Diagrama de Flujo

Lenguaje de programacin

1.4 LENGUAJES DE PROGRAMACIN


Desde que se desarrollaron las mquinas programables se han desarrollado
lenguajes con los cuales las personas puedan dar rdenes a stas. En su
orden los lenguajes de programacin se pueden clasificar as:

Lenguaje Natural.

Lenguaje de Diagrama de Flujo.

Lenguaje Natural de Programacin.

Lenguaje de Programacin de Algoritmos.

Lenguaje Natural.- Es aquel que describe los pasos a seguir utilizando un


vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utiliza en
trminos especializados de una determinada ciencia, profesin o grupo.

Lenguaje de Diagrama de Flujo.- Es aquel que se vale de diversos smbolos


para representar las ideas o acciones a desarrollar. Es til para organizar las
acciones o pasos de un algoritmo pero requiere de etapas posteriores para
implementarse en un sistema de cmputo.

Lenguaje Natural de Programacin.- Son aquellos que estn orientados a la


solucin de problemas que se definen de una manera precisa. Generalmente
son aplicados para la elaboracin de frmulas o mtodos cientficos.

Lenguaje Algortmico.- Es una serie de smbolos y reglas que se utilizan para


describir de manera explcita un proceso, que servirn de apoyo para describir
las soluciones que aqu se plantean.
Teniendo en cuenta la forma en que describen el proceso, existen dos tipos de
lenguajes algortmicos:
Grficos: Es la representacin grfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
No Grficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocdigo).

1.4.1 CLASIFICACIN
Lenguaje de mquina: Las primeras computadoras se programaban en
cdigo de mquina. Se puede decir que los programas eran diseados
en cdigo binario. Eran difciles de leer, difciles de entender y por su

puesto difciles de corregir. Los programas se caracterizaban por ser


pequeos.

Lenguajes de Bajo Nivel o Ensamblador: Para dar solucin a lo difcil


que era programar en cdigo mquina, se desarroll un lenguaje
conocido como lenguaje ensamblador. Este lenguaje era encargado de
tomar algunas palabras comunes a una persona y traducirlas al cdigo
mquina. Lo anterior facilitara un poco la escritura de programas.

Lenguajes de alto nivel: Como las personas resuelven problemas y se


comunican en lenguajes naturales (espaol, ingls, francs, etc.), se
desarrollaron lenguajes de programacin que estuvieran ms cerca de
sta manera de resolver problemas. De los lenguajes de alto nivel se
puede citar el Basic, Cobol, Fortran, Pascal, Turbo Pascal, C, Modula,
Ada. Como se hace necesario traducir el programa a lenguaje de
mquina, en los lenguajes de alto nivel esa operacin la realiza algo que
se conoce con el nombre de Compilador.

1.4.2 TIPOS
Dependiendo del lenguaje de programacin que se elija, se puede hablar del
tipo de programacin que se va a realizar.
Secuencial: Existen dos tipos de programas. En los primeros tiempos de los
ordenadores los programas eran de tipo secuencial (tambin llamados tipo
batch) Un programa secuencial es un programa que se arranca, lee los datos
que necesita, realiza clculos e imprime o guarda en el disco los resultados. De
ordinario, mientras un programa secuencial esta ejecutndose no necesita
ninguna intervencin del usuario. A este tipo de programas se les llama tambin
programas basados u orientados a procedimientos o a algoritmos. Este tipo de
programas siguen utilizndose ampliamente en la actualidad, pero la difusin
de los PCs han puesto de actualidad otros tipos de programacin. Se considera
programacin secuencial a los programas que se disean con instrucciones
que van unas detrs de otras. Las lneas se ejecutan una a una en secuencia.
Ejemplos tales como Basic 6.0 la hace especialmente sencilla y agradable.

Estructurada: A finales de los aos 1970 surgi una nueva forma de


programar que no solamente daba lugar a programas fiables y eficientes, sino
que adems estaban escritos de manera que facilitaba su mejor comprensin,
no slo proveyendo ventajas durante la fase de desarrollo, sino tambin
posibilitando una ms sencilla modificacin posterior.
El teorema

del

programa

estructurado,

propuesto

por

Bhm-Jacopini,

demuestra que todo programa puede escribirse utilizando nicamente las tres
instrucciones de control siguientes:

Secuencia

Instruccin condicional.
Iteracin (bucle de instrucciones) con condicin al principio.
Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor
repertorio de estructuras de control, stas pueden ser construidas mediante las
tres bsicas citadas.

Orientada a Objetos: Se considera programacin orientada a objetos aquellos


lenguajes que permiten la utilizacin de objetos dentro del diseo del programa
y el usuario puede pegar a cada objeto cdigo de programa. Ejemplos de estos
lenguajes se pueden mencionar el Visual Basic de la Microsoft, C Builder de la
Borland Internacional, Java, Xml entre otros. La programacin orientada a
objetos es una forma de programar que trata de encontrar una solucin a estos
problemas. Introduce nuevos conceptos, que superan y amplan conceptos
antiguos ya conocidos. Entre ellos destacan los siguientes:

Clase:

Definiciones de las propiedades y comportamiento de un tipo de objeto


concreto. La instanciacin es la lectura de estas definiciones y la
creacin de un objeto a partir de ellas.

Herencia:

(Por ejemplo, herencia de la clase C a la clase D) es la facilidad


mediante la cual la clase D hereda en ella cada uno de los atributos y
operaciones de C, como si esos atributos y operaciones hubiesen sido

definidos por la misma D. Por lo tanto, puede usar los mismos mtodos y
variables pblicas declaradas en C. Los componentes registrados como
"privados" (private) tambin se heredan, pero como no pertenecen a la
clase, se mantienen escondidos al programador y slo pueden ser
accedidos a travs de otros mtodos pblicos. Esto es as para
mantener hegemnico el ideal de POO.

Objeto:

Instancia de una clase. Entidad provista de un conjunto de propiedades


o atributos (datos) y de comportamiento o funcionalidad (mtodos), los
mismos que consecuentemente reaccionan a eventos. Se corresponden
con los objetos reales del mundo que nos rodea, o con objetos internos
del sistema (del programa). Es una instancia a una clase.

Mtodo:

Algoritmo asociado a un objeto (o a una clase de objetos), cuya


ejecucin se desencadena tras la recepcin de un "mensaje". Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
mtodo puede producir un cambio en las propiedades del objeto, o la
generacin de un "evento" con un nuevo mensaje para otro objeto del
sistema.

Evento:
Es un suceso en el sistema (tal como una interaccin del usuario con la
mquina, o un mensaje enviado por un objeto). El sistema maneja el
evento enviando el mensaje adecuado al objeto pertinente. Tambin se
puede definir como evento la reaccin que puede desencadenar un
objeto; es decir, la accin que genera.

Atributos:
Caractersticas que tiene la clase

Mensaje:
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de
sus mtodos con ciertos parmetros asociados al evento que lo gener.

Propiedad o atributo:
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se
define como sus caractersticas predeterminadas, y cuyo valor puede ser
alterado por la ejecucin de algn mtodo.

Estado interno:
Es una variable que se declara privada, que puede ser nicamente
accedida y alterada por un mtodo del objeto, y que se utiliza para
indicar distintas situaciones posibles para el objeto (o clase de objetos).
No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto:
Atributos, identidad, relaciones y mtodos.

Identificacin de un objeto:
Un objeto se representa por medio de una tabla o entidad que est
compuesta por sus atributos y funciones correspondientes. En
comparacin con un lenguaje imperativo, una "variable" no es ms que
un contenedor interno del atributo del objeto o de un estado interno, as
como la "funcin" es un procedimiento interno del mtodo del objeto.

Lgica o de lenguaje natural: Histricamente, los ordenadores se han


programado utilizando lenguajes muy cercanos a las peculiaridades de la

propia mquina: operaciones aritmticas simples, instrucciones de acceso a


memoria, etc. Un programa escrito de esta manera puede ocultar totalmente su
propsito a la comprensin de un ser humano, incluso uno entrenado. Hoy da,
estos

lenguajes

pertenecientes

al

paradigma

de

la Programacin

imperativa han evolucionado de manera que ya no son tan crpticos.


En cambio, la lgica matemtica es la manera ms sencilla, para el intelecto
humano, de expresar formalmente problemas complejos y de resolverlos
mediante la aplicacin de reglas, hiptesis y teoremas. De ah que el concepto
de "programacin lgica" resulte atractivo en diversos campos donde la
programacin tradicional es un fracaso. Son aquellos programas que se
disean con interfaces tal que la persona o usuario puede ordenar a la mquina
tareas en un lenguaje natural. Pueden interactuar como una persona pero
nunca llegan a producir conocimiento. Ejemplo como Prolog (Programming
Logic). Estos lenguajes se desarrollaron con base en las estructuras de sus
antecesores. Recorren o navegan las bases de datos obedeciendo a reglas.

Inteligencia Artificial: Los programas de inteligencia artificial son programas


que se acercan a la inteligencia humana. Estos programas son capaces de
desarrollar conocimiento. Este tipo de lenguajes trabajan similar a la mente
humana. Stuart Russell y Peter Norvig diferencian estos tipos de la inteligencia
artificial:
Sistemas que piensan como humanos.- Estos sistemas tratan de
emular el pensamiento humano; por ejemplo las redes neuronales
artificiales. La automatizacin de actividades que vinculamos con
procesos de pensamiento humano, actividades como la Toma de
decisiones, resolucin de problemas, aprendizaje.
Sistemas que actan como humanos.- Estos sistemas tratan de
actuar como humanos; es decir, imitan el comportamiento humano; por
ejemplo la robtica. El estudio de cmo lograr que los computadores
realicen tareas que, por el momento, los humanos hacen mejor.

Sistemas

que

piensan

racionalmente.-

Es

decir,

con

lgica

(idealmente), tratan de imitar o emular el pensamiento lgico racional del


ser humano; por ejemplo los sistemas expertos. El estudio de
los clculos que hacen posible percibir, razonar y actuar.
Sistemas que actan racionalmente (idealmente). Tratan de emular
de forma racional el comportamiento humano; por ejemplo los agentes
inteligentes .Est relacionado con conductas inteligentes en artefactos.9

CAPTULO II: ALGORITMOS

Un algoritmo es una secuencia finita de instrucciones; cada una de estas


instrucciones tiene un significado preciso y se puede ejecutar con una cantidad
finita de esfuerzo en un tiempo finito. Un algoritmo se define como un mtodo
que se realiza paso a paso para la solucin de un problema que termina en un
nmero finito de pasos.
Las caractersticas fundamentales que debe cumplir un algoritmo son:

Debe ser preciso e indicar el orden. Diseo del algoritmo que describe

la secuencia ordenada de pasos, sin ambigedades, que conducen a la


solucin de un problema dado (Anlisis del problema y desarrollo del
algoritmo).

Debe ser definido. Si se sigue un algoritmo dos veces se debe obtener

el mismo resultado cada vez. Expresar el algoritmo como un programa en un


lenguaje de programacin adecuado (Fase de codificacin).

Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn

momento; o sea debe tener un nmero finito de pasos. Ejecucin y validacin


del programa por la computadora.

2.1 TIPOS DE ALGORITMOS


Teniendo en cuenta la forma como describen el proceso, se pueden clasificar
en:
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos
para definir los pasos del proceso.

2.2 ANLISIS DE ALGORITMOS


Partiendo de un conocimiento bsico de informtica, se podra afirmar que el
Anlisis de Algoritmos es el conjunto de reglas y estrategias que permiten
verificar el correcto y eficiente desarrollo de un algoritmo; Es importante tener
claro la diferencia que hay entre el anlisis del software y el anlisis de un
algoritmo. Como se present en el ciclo de vida del software, el objetivo de la
etapa de anlisis es comprender un problema bajo el entorno en que se

desenvuelve para buscar su solucin, mientras que analizar un algoritmo est


relacionado con evaluar su desempeo y eficiencia con respecto a los datos de
entrada. Teniendo claros estos conceptos se puede proceder a enmarcar el
entorno en el cual se desenvuelve el anlisis de algoritmos dentro del proceso
de desarrollo de software.
Dentro del ciclo de vida del software en la etapa de diseo es cuando se
determina la estrategia y los algoritmos mediante los cuales se solucionar el
problema, siendo all el lugar apropiado para que en el momento de desarrollar
o seleccionar un algoritmo, este cumpla con las necesidades planteadas en el
problema y adems haga un uso racional de los recursos computacionales con
que dispone.
Es importante tener en cuenta que desde el punto de vista cronolgico el
diseo de algoritmos es una etapa previa al anlisis de los mismos; esto se
debe a que es necesario primero tener el algoritmo (llegar a la solucin de un
problema) antes de poder evaluar el desempeo y uso de recursos del mismo.

2.3 DISEO DE ALGORITMOS

De forma anloga al anlisis de algoritmos, el diseo de algoritmos se puede


definir como los diferentes pasos de una metodologa que se deben aplicar
para encontrar la solucin a un problema. Esta caracterstica es la que permite
diferenciar el proceso de hacer programas de una manera emprica, a su
desarrollo sistematizado bajo un conjunto de pautas, guas y principios claros
(por esto se le denomina Ingeniera del Software), siendo uno de los objetivos
del diseo de algoritmos es de garantizar que mediante un conjunto de
estrategias pueda encontrarse una solucin al problema planteado. Bajo estos
conceptos, el diseo de algoritmos se enmarca tambin plenamente en la
etapa de diseo de software bajo la premisa de servir como estrategia bsica
para el desarrollo de los algoritmos que se requieren para el diseo de la
solucin global del problema.

2.4 ELEMENTOS DE UN ALGORITMO


Un algoritmo consta de datos y de sentencias

Se almacenan

VARIABLES Y CONSTANTES

DATOS

Son involucrados

EN EXPRESIONES

Las sentencias describen las acciones que pueden ser ejecutadas, en


general realizan clculos., entras/salidas y control de flujo del algoritmo.

Variables:

Elemento del algoritmo que posee un valor, conocido por un nombre o


identificador y que pertenece a un tipo de dato definido al inicio del algoritmo.

Constantes:

Los elementos del algoritmo que no cambian de valor a lo largo del desarrollo
del algoritmo, las constantes son inicializadas de acuerdo con el tipo de dato al
que pertenecen.

Expresiones:

Es una combinacin de variables, constantes, valores, operadores y funciones


especiales que en cada momento al evaluar tiene un valor concreto. Las
expresiones ms representativas son las numricas y las lgicas.

2.5 TIPOS DE DATOS

Un dato se define como la expresin general que describe los objetos con los
cuales opera una computadora. Los datos de entrada se transforman por el
programa, despus de las etapas intermedias, en datos de salida. Es una
informacin relativa a un objeto que es manipulable por el ordenador, que
posee un valor y que es conocido en un programa o algoritmo por un nombre o
identificador del dato.
El identificador indica una direccin de memoria y es el nombre por el que se
conoce a ese dato. Existen datos elementales y estructurados.
Los datos se clasifican en diversas categoras, segn el tipo de mquina o del
lenguaje en uso. Generalmente podemos encontrar las siguientes categoras:

DATOS NUMRICOS
DATOS LGICOS
DATOS EN CADENA

2.5.1 DATOS NUMRICOS


Son aqullos que representan una cantidad o valor determinado. Su
representacin se lleva a cabo en los formatos ya conocidos (enteros, punto y
fracciones decimales si estas existen).
Estos pueden representarse en dos formas distintas:

Tipo Numrico Entero (integer).


Tipo Numrico Real (real).

Enteros:
Es un conjunto finito de los nmeros enteros. Los enteros son nmeros
completos, representan nmeros positivos y negativos.
Algunos ejemplos son:

37
-10 9
15.25
50

Reales:
Consiste en un subconjunto de los nmeros reales. Estos nmeros siempre
tienen un punto decimal y pueden ser positivos o negativos. Un nmero real
consiste de un nmero entero y una parte decimal. Algunos ejemplos son:
0.52 664.32
6.579 8.0
-9.3 -47.23

Carcter:
Representan elementos individuales de un conjunto finito de caracteres.

Lgico o booleano:
Una variable que se declare de tipo booleano, tendr asignado siempre
uno de los dos valores verdadero o falso.

Enumerado:
Este tipo de dato requiere que el programador defina el rango de valores
que puede tomar.

Sub rango:
Este tipo de dato se define a partir del tipo de dato entero, carcter o
enumerado, con solo decir que el tipo de dato definido podr tomar un
conjunto de valores limitado del original.

Puntero:
Es aquel cuyo valor es la direccin en memoria de otro lado.

2.5.2 DATOS EN CADENAS

Son los datos que representan informacin textual (palabras, frases, smbolos,
etc). No representan valor alguno para efectos numricos. Pueden distinguirse
porque son delimitados por apstrofes o comillas.
Se clasifica en dos categoras:

Datos tipo carcter (char)

Datos tipo Cadena (string)

Datos Tipo Carcter


Es un conjunto finito y ordenado de caracteres que la computadora
reconoce. Un dato de este tipo contiene solo un carcter.
Reconoce los siguientes caracteres:

Caracteres Alfabticos (A,B,C,Z,a,b,cz)


Caracteres Numricos (0,1,2,9)
Caracteres Especiales (+, -, *, /, ^, . , ;, <, >, $, .)
Datos Tipo Cadena (string)
Es una sucesin de caracteres que se encuentran delimitados por una
comilla (apstrofe) o dobles comillas, segn el tipo de lenguaje de
programacin. La longitud de una cadena de caracteres es el nmero de
ellos comprendidos entre los separadores o delimitadores.
Ejemplos:
Hola Mortimer
12 de octubre de 1496

Enunciado cualquiera
Los smbolos disponibles para la formulacin de caracteres y de cadenas son
aqullos que se encuentran en el cdigo ASCII.

2.5.3 DATOS LGICOS


Tambin se le denomina Booleano, es aqul dato que solo puede tomar uno de
dos valores: Falso y verdadero.
Se utiliza para representar las alternativas (si/no) a determinadas condiciones.
Por ejemplo, cuando se pide si un valor entero sea primo, la respuesta ser
verdadera o falsa, segn sea.
Las categoras y tipos que se mencionaron anteriormente se conocen como
Tipos Simples, puesto que no poseen una estructura compleja.
En forma adicional, cada lenguaje puede proporcionar la utilizacin de Tipos
Compuestos, siendo estos, datos que tienen una estructura predeterminada.

2.6 TIPOS COMPUESTOS


Entre los principales tipos compuestos se encuentran los siguientes:

SUBRANGO:

Son aqullos en los que se especifica con precisin el

intervalo de valores vlidos para un dato.


Ejemplos:
0..100

(son enumerativos de tipo entero)

'A'..'Z'

(son enumerativos de tipo cadena)

Los Reales no son vlidos para crear enumerativos, ya que su intervalo


no est definido.

ENUMERATIVOS: Son aqullos en los que se definen individualmente


los valores para un dato.
Ejemplos:
(0,25,40,52)

Siempre deben ponerse entre parntesis.

DEFINIDOS POR EL USUARIO: Son aqullos que el programador crea


para satisfacer las necesidades del programa en diseo.

3.2

CMO SE CONSTRUYE UN PROGRAMA ALGORTMICO

El proceso de elaboracin de un programa, conlleva varias etapas:

FASE DE ANLISIS: Decidir qu es lo que tenemos que hacer.

FASE DE DISEO (DESARROLLO DE LA SOLUCIN): Se define


cmo vamos a hacerlo. Obtencin del Algoritmo.

DISEO DESCENDENTE O TOP-DOWN: Un problema complejo se


resuelve dividiendo el problema en sub problemas, y as sucesivamente
hasta que la resolucin de cada sub problema sea fcilmente
programable.

FASE DE CODIFICACIN: Implementacin del Algoritmo en el lenguaje


de programacin ms adecuado. Obtencin del Programa.

FASE DE PRUEBAS: No basta que el programa est terminado. Hay


que comprobar que el programa NO falla y funciona perfectamente en
todos los casos posibles que se puedan presentar.

FASE DE DOCUMENTACIN Y MANTENIMIENTO: Se elabora la


documentacin del programa, y se realizan las actualizaciones
oportunas que se vayan necesitando.

CAPTULO III: REPRESENTACIN DE


ALGORITMOS

Para representar un algoritmo se debe utilizar algn mtodo que permita


independizar dicho algoritmo del lenguaje de programacin elegido. Ello
permitir que un algoritmo pueda ser codificado indistintamente en cualquier
lenguaje. Para conseguir este objetivo se precisa que el algoritmo sea
representado grfica o numricamente, de modo que las sucesivas acciones no
dependan de la sintaxis de ningn lenguaje de programacin, sino que
la descripcin pueda servir fcilmente para su transformacin en un programa,
es decir, su codificacin. Los mtodos usuales para representar un algoritmo
son:

Pseudocdigo
Diagrama de Flujo

3.1 PSEUDOCDIGO
En ciencias de la computacin, y anlisis numrico el pseudocdigo (o
falso lenguaje)

es

una

descripcin

informal

de alto

nivel de

un algoritmo informtico de programacin, compacto e informal, que utiliza las


convenciones estructurales de un lenguaje de programacin verdadero , pero
que est diseado para la lectura humana en lugar de la lectura mediante
mquina, y con independencia de cualquier otro lenguaje de programacin.
Normalmente, el pseudocdigo omite detalles que no son esenciales para la
comprensin humana del algoritmo, tales como declaraciones de variables,
cdigo

especfico

del

sistema

algunas subrutinas.

El

lenguaje

de

programacin se complementa, donde sea conveniente, con descripciones


detalladas en lenguaje natural, o con notacin matemtica compacta. Se utiliza
pseudocdigo pues este es ms fcil de entender para las personas que el
cdigo de lenguaje de programacin convencional, ya que es una descripcin
eficiente y con un entorno independiente de los principios fundamentales de un
algoritmo. Se utiliza comnmente en los libros de texto y publicaciones
cientficas que se documentan varios algoritmos, y tambin en la planificacin
del desarrollo de programas informticos, para esbozar la estructura del
programa

antes

de

una sintaxis estndar


flujo y UML pueden

realizar
para

el

la

efectiva

codificacin.

pseudocdigo.

No

Los diagramas

ser considerados como una alternativa

existe
de

grfica al

pseudocdigo, aunque sean ms amplios en papel.

Digamos que el pseudocdigo es una forma de diagramar un algoritmo para


resolver un determinado problema, sin atenerse a ningn lenguaje de

programacin en especial. Un algoritmo es un conjunto de procedimientos que


permiten resolver un problema.
En vez de escribir el programa directamente en un lenguaje de programacin
determinado (C, Basic, etc.), crearemos un borrador entendible para todos,
para luego de tener bien en claro lo que se debe hacer, pasar a la
programacin propiamente dicha.

Ejemplo:

El pseudocdigo es la representacin narrativa (no hay reglas estrictas) de un algoritmo


escritas en lenguaje natural utilizando las estructuras de control tpica de algn Lenguaje de
Programacin y algunos smbolos algebraicos.
La utilizacin del pseudocdigo presenta las ventajas de ser ms compacto que un
organigrama, ser ms fcil de escribir, transcribir a un lenguaje de programacin.
La estructura de control decide que camino hay que seguir en funcin de una condicin.
Son las siguientes tipos:
Estructura Secuencial
Estructura Selectiva (si, si, no)
Estructura Iterativa o de repeticin (mientras, repetir, para)

3.1.1 Estructura Secuencial:


Consiste en colocar una instruccin tras otra, de manera que se vallan ejecutando de arriba,
abajo.

Ejemplo: Pseudocdigo de un algoritmo que calcule la media de tres nmeros:

El orden en el que se realiza las operaciones es importante: no puede calcular la media sin
antes haber ledo los nmeros.

3.1.2 Estructura Selectiva (si, si, no):


Permite ejecutar un conjunto de instrucciones u otras en funcin de si se cumple o
no una concisin.
Ejemplo: El formato de esta estructura es el siguiente:

Es decir, primero se examina la condicin: si resulta verdadera, se ejecuta las


condiciones asociadas al si, en caso contrario se ejecutan las acciones
asociadas al sino.
La instruccin sino, no es obligatoria es una estructura condicional (si no
queremos hacer nada en caso que la condicin sea falsa).
Algoritmo que calcule la media de 3 nmeros y devuelve su raz cuadrada.

3.1.3 Estructura Iterativa o de repeticin (mientras, repetir, para):


Permite repetir una instruccin o grupo de ellas un nmero fijo de veces o mientras (o hasta
que) una condicin sea cierta.
Esta estructura presenta una serie de variantes que permiten:

Estructura mientras:
Esta estructura permite repetir un conjunto de instrucciones o ms veces,
ya que la condicin se verifica antes de entar en el bucle.
El formato de esta estructura es el siguiente:

Es decir primero se examina la condicin: si resulta falsa, se pasa directamente a la


instruccin que hay atrs el fin, de manera que nos saltamos todas las instrucciones que
haya dentro del bucle.

Estructura repetir mientras:


Esta estructura evala la condicin una vez realizada la accin, por lo tanto
las instrucciones que estn dentro se ejecutan al menos una vez.
El formato de esta estructura es el siguiente:

Ejemplos:

Utilizacin en la prctica

En el trabajo de un analista de sistemas, una de las partes ms trabajosas es la


de determinar qu es lo que necesitan de un sistema los usuarios finales. Se
dedican muchas horas a hacer un relevamiento de los datos que sern
necesarios, los tipos de procesamientos, las salidas, etc. Debe existir una
realimentacin entre el diseo y el usuario, para garantizar que el sistema
cumpla con los requisitos del usuario.

3.2 DIAGRAMA DE FLUJO

Los diagramas de flujo de datos fueron inventados por Larry Constantine, el


desarrollador original del diseo estructurado, basado en el modelo de
computacin de Martin y Estrin: "flujo grfico de datos" . Los diagramas de flujo
de datos (DFD) son una de las tres perspectivas esenciales de Anlisis de
Sistemas Estructurados y Diseo por Mtodo (SSADM). El patrocinador de un
proyecto y los usuarios finales tendrn que ser informados y consultados en
todas las etapas de una evolucin del sistema. Con un diagrama de flujo de
datos, los usuarios van a poder visualizar la forma en que el sistema funcione,
lo que el sistema va a lograr, y cmo el sistema se pondr en prctica. El
antiguo sistema de diagramas de flujo de datos puede ser elaborado y se
compar con el nuevo sistema de diagramas de flujo para establecer
diferencias y mejoras a aplicar para desarrollar un sistema ms eficiente. Los
diagramas de flujo de datos pueden ser usados para proporcionar al usuario
final una idea fsica de cmo resultarn los datos a ltima instancia, y cmo
tienen un efecto sobre la estructura de todo el sistema.

Es una representacin grafica de un algoritmo mediante una serie de smbolos,


que contiene en su interior los pasos del algoritmo y unas flechas que los une
indicando las secuencias (orden) en la que se deben ejecutar.
Loa smbolos representan acciones y las flechas flujo del algoritmo.
La descripcin de las funciones se puede realizar de forma narrativa, usando
un lenguaje natural (conveniente que sea parecido al pseudocdigo)

Importancia de los Diagramas de Flujo

Los diagramas de flujo son importantes porque nos facilita la manera de


representar visualmente el flujo de datos por medio de un sistema de
tratamiento de informacin, en este realizamos un anlisis de los procesos
o procedimientos que requerimos para realizar un programa o un objetivo.

Por ejemplo: si nosotros queremos realizar una pizza, primero necesitamos los
ingredientes, este ya sera un proceso, luego de haber conseguido los
ingredientes necesitamos realizar la masa, este sera otro proceso, luego
realizamos la salsa, este sera otro procesos y finalmente unimos todo lo que
hemos hecho y agregamos los complemento como el jamn, el queso, etc.
Para la realizacin de esta pizza ya contamos con 4 procesos los cual
podemos desarrollar en un diagrama de flujo y unirlos en el mismo. Para as
obtener un producto final que sera nuestra pizza.
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:

CAPTULO IV: LENGUAJE DE PROGRAMACIN


SCRATCH

4.1 SCRATCH
Scratch es un programa de libre distribucin, disponible en 50 lenguas
diferentes, que se fundamenta en las ideas de aprendizaje constructivistas de
Logo y que se puede bajar de la pgina Web:
http://info.scratch.mit.edu/es/Scratch_1.4_Download, por ser un software libre.
Es un entorno de programacin visual que permite a los usuarios crear
proyectos multimedia interactivos. Un gran nmero de personas ha creado una
amplia variedad de proyectos, utilizando Scratch, como videos musicales,
presentaciones, juegos de ordenador y otro tipo de animaciones.
Los proyectos de Scratch contienen media y scripts. Las imgenes y los
sonidos pueden ser importados o creados en Scratch utilizando herramientas
construidas en el propio programa. La programacin se realiza ensamblando
bloques de comandos, de diferentes colores, para controlar objetos grficos en
2-D llamados duendecillos (sprites) que se mueven en un fondo llamado
escenario (stage).
Es un lenguaje de programacin que facilita crear historias interactivas, juegos,
animaciones y compartir sus creaciones con otras personas en la Web. Se
utiliza en lugares muy diferentes y es vlido para cualquiera de ellos, como en
casa, la escuela, museos, etctera. Est recomendado para nios/as entre 6 y
16 aos, pero pueden utilizarlo personas de cualquier edad.
El nombre de Scratch se deriva de la tcnica de scratching usada en
el Turntablism (arte del DJ para usar los tocadiscos), y se refiere tanto a la
lengua y su aplicacin. La similitud con el "scratching" musical es la fcil
reutilizacin de piezas: en Scratch todos los objetos, grficos, sonidos y
secuencias de comandos pueden ser fcilmente importados a un nuevo
programa y combinados en maneras permitiendo a los principiantes a
conseguir resultados rpidos, estar motivados para intentar ms. Podemos
utilizar este para programa, tal como dice su lema: programar, jugar y crear.

Por quin fue desarrollado el Software Scratch?

Fue desarrollado por "el grupo permanente Kindergarten" en el Media


Lab del MIT (Instituto Tecnolgico de Massachusetts) por un equipo
dirigido por Mitchel Resnick, apareci por primera vez en el verano
de 2007.

Sistema Operativo
Scratch se puede instalar y redistribuir gratuitamente en cualquier
ordenador con Windows, Mac OS X o Linux.

El logo de Scratch es un gato de color naranja.

Licencia:
Propietario (cdigo de fuente disponible para usos no comerciales)

4.2 CARACTERSTICAS

Este programa est basado en bloques grficos y la interfaz que


tiene es muy sencilla e intuitiva.

Tiene un entorno colaborativo mediante el cual se pueden


compartir proyectos, scripts y personajes en la web.

El trabajo en Scratch se realiza mediante la unin de bloques que


pueden ser eventos, movimientos de grficos y sonidos.

Los programas pueden ser ejecutados directamente sobre el


navegador de Internet.

4.3 VENTAJAS

Es un programa gratuito, de software libre.

Es perfecto para ensear y aprender a programar.

Est disponible para varios sistemas operativos, Windows, Mac y Linux.

Facilita crear sus propias historias interactivas, animaciones, juegos,


msica y arte; adems, le permite compartir con otros sus creaciones en
la web.

Es multilenguaje.

Un punto fuerte de Scratch es su pgina Web scratch.mit.edu, se trata


de una Web social, donde los usuarios que se registran pueden

compartir sus proyectos, comentar proyectos realizados por otros,


formar grupos con intereses comunes, agrupar proyectos en galeras y
otras muchas cosas ms. Esta pgina Web es bastante clara y
explicativa, en la parte superior, encontramos los links inicio,
proyectos, galeras, soporte, foros, acerca de, mis cosas e
idioma. En el link soporte estn las guas y documentos que nos
muestran de modo claro y sencillo cmo utilizar Scratch.
Desde la perspectiva de un programador o programadora experto/a, el lenguaje
es una gran limitacin a la hora de desarrollar un software educativo. Pero
Scratch es una herramienta con un gran potencial en este sentido.

4.4 IMPORTANCIA DEL SCRATCH EN LA TECNOLOGA


EDUCATIVA
La mayora de los estudiantes, actualmente utiliza la tecnologa para
mantenerse en contacto con sus amigos, jugar, ver vdeos, pero muy pocos
crean sus propios juegos, simulaciones o animaciones. Es como si los
estudiantes que participan plenamente de la cultura digital pudieran leer, pero
no escribir. Son consumidores de la cultura digital, pero no son creadores ni
autores de la misma.
Como dijimos anteriormente Scratch se basa en las ideas constructivistas de
Logo. El constructivismo implica que el estudiante experimente con los objetos
o con herramientas que le permitan crear sus propias estrategias para aprender
y resolver problemas. El aprendizaje desde el punto de vista del
constructivismo es dinmico y activo, de modo que el conocimiento es
construido por la persona que aprende. Por tal motivo aprender el Software
Scratch nos permitir interactuar con la tecnologa educativa, creando nuestros
propias animaciones, programadas en algoritmo o pseudocdigo.

4.5 INSTALACIN DEL SOFTWARE


Para realizar la instalacin del Software debemos seguir los siguientes pasos
que a continuacin se les presente:

Doble clic en ScratchInstaller

Para continuar con el proceso de Instalacin Clic en Next

Para continuar con el proceso de Instalacin Clic en Next

Clic en Install para que comience la instalacin correcta del Software

Se est iniciando el proceso de instalacin

El proceso de instalacin se completo correctamente, clic en Next

Para dar por terminado la instalacin le damos clic en Finish

Interfaz del Software

4.5.1 PARTES DEL SOFTWARE SCRATCH

4.5.2 FAMILIA DE BLOQUES

CAPTULO V: APLICACIN DIDCTICA

El desarrollo y modelo de la sesin fue desarrollado durante las prcticas per


profesionales. La presente sesin se trabaj en la Institucin educativa N
20544 Jos Carlos Maritegui de la comunidad San Pedro de Casta
Provincia de Huarochir departamento Lima.

SESIN DE APRENDIZAJE
N

TITULO: A

Tema: Algoritmos en Scratch


____________________________________________________________________________________

I. DATOS INFORMATIVOS:
1. INSTITUCION EDUCATIVA

: Jos Carlos Maritegui N 20544

2. AREA CURRICULAR

: Educacin para el trabajo

3. GRADO Y SECCION

: 5 A

4. FECHA

: 21 10 13

5. TIEMPO

: 90

6. PROFESOR

: Ramirez Vilcayauri, Julia Margot.

7. TEMA TRANSVERSAL : Educacin en valores


II. ORGANIZACION DE LOS APRENDIZAJES

CONOCIMIENTOS

APRENDIZAJE ESPERADO
(Por capacidad de rea)

VALOR/ACTITUDES

Ejecucin de procesos productivos

1).- PREVIOS
Reconocimiento del interfaz de Scratch.
rea de programacin
Familia de Bloques
2).-NUEVOS
Programacin en Pseudocdigo
Programacin Diagrama de Flujo
Algoritmo
III. SECUENCIA DIDACTICA

Elabora algoritmos con el


Software Scratch.
Practicando siempre las
normas de convivencia con
sus compaeros y el
profesor.

Respeto
Respeta las normas del laboratorio de
cmputo y llega puntual a clase.

SITUACIONES
DE
APRENDIZAJE

ORGANIZACIN

METODO /
TECNICA

(ESTRATEGIAS DIDCTICAS)

Se solicita la presentacin de sus materiales


didcticos y verificar la limpieza de su espacio de
trabajo.
Considerando siempre los ritmos de Aprendizaje de
cada estudiante.

-Qu son los bloques?

/
MATERIALES
EDUCATIVOS

CRITERIO

Software
Scratch
Pc
Estudio
dirigido

-Qu entiendes por programacin?

RECUPERACIN
DE SABERES
PREVIOS

EVALUACION

MEDIOS

TIEMPO

ACTIVIDADES /

5
Lluvia de
ideas

Actitud ante
el rea

INDICADOR

Cumple
responsablemente
con la presentacin
de su material
didctico.

Software
Scratch
Pc

Actitud ante
el rea

Respeta la opinin
de sus compaeros

-Donde se realiza la programacin?

Software
Scratch
5

Inters por aprender


el lenguaje de
programacin
orientado a objeto.

Pc

CONFLICTO
COGNITIVO

Conociendo ms acerca del Software Scratch.

Ejecucin de los
procedimientos

Identificacin y
secuenciacin de
Informacin
los
procedimientos

Recepcin de la

El profesor responde: Los algoritmos son una secuencia de


pasos que tiene un inicio, proceso y salida.

PROCESAMIENTO DE LA NUEVA INFORMACIN

Actitud ante
el rea

Mara Pregunta, Cmo se realiza los algoritmos?

1.

El Que y Como:

Los estudiantes analizan el proceso algortmico.

Los estudiantes analizan el ejemplo presentado


por el profesor

2.

Los estudiantes elaboran (escriben en su cuaderno) la


secuencia de pasos que se deben hacer para la
elaboracin de algoritmos, en Pseudocdigo y en
diagrama de flujo.

Discusin

Los estudiantes
observan y formulan
preguntas sobre el
tema a tratar.

2
0

Mtodo
experimental

Software
Scratch

Comprensi
ny
aplicacin
de
tecnologas

Realizan secuencia
de pasos para
elaborar algoritmos.
En su cuaderno de
trabajo.

Pc

3.

Los estudiantes elaboran el promedio de notas segn


el proceso algortmico, haciendo uso de la secuencia
de pasos anotados en su cuaderno. Finalmente
ejecutan el programa.(P3)

Ejecucin de
procesos
productivos

Elaboran la
programacin
algortmica en
scratch.

Haciendo uso de lo presentado anteriormente.


REALIZAN el mismo procedimiento para presentar en
pantalla el desarrollo algortmico.

1
5
Estudio
dirigido

Software
Scratch
Pc

TRANSFERENCIA

Comprensi
ny
aplicacin
de
tecnologas

Realizan
procedimientos
similares haciendo
uso del lenguaje
algortmico.

Ejecucin de
procesos
productivos

1
5

Qu hemos aprendido hoy?

EVALUACIN
(METACOGNICIN)

Programacin algortmica

Eval.

Cmo lo hemos aprendido?

Oral

Pc

Comprensi
n y
aplicacin
de
tecnologas

Responden a
interrogantes en
forma oral con
mucha solvencia

Comprensi
n y
aplicacin
de
tecnologas

Elaboran los
procesos
algortmicos.

Realizando ejercicios, observando el ejercicio del profesor,


dando lluvias de ideas,

Realizar algoritmos de la divisin.

Tarea

EXTENSIN

Internet
Manuales

XI. BIBLIOGRAFA

F
F

Software
Scratch

http://www.eduteka.org/SeisElementos
Manuales de Scratch, algoritmos y programacion

EJERCICIOS ALGORITMICOS

EJEMPLO 1:
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.
ALGORITMO EN PSEUDOCDIGO
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
DIAGRAMA DE FLUJO

TRADUCCIN DEL ALGORITMO EN SCRATCH

EJEMPLO 2:
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.
ALGORITMO EN PSEUDOCDIGO
Para tringulo Rectngulo
Local: "div ; declarar variables y constantes
Local: "base
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
Fin

DIAGRAMA DE FLUJO

TRADUCCIN DEL ALGORITMO EN SCRATCH

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

ALGORITMO EN PSEUDOCDIGO
Con el Mando repite:
Para suma100a nombres
"contador 0
"sumatoria 0
Repite 100 ["contador: contador + 1 "sumatoria: sumatoria +: contador muestra
nombres ]
Muestra frase
[El valor de la suma 1 + 2 + 3 + . . . + 100 es ] :sumatoria
Fin
DIAGRAMA DE FLUJO

TRADUCCIN DEL ALGORITMO EN SCRATCH

EJEMPLO 4:
Se necesita calcular la nota definitiva para cada uno de los 9 estudiantes que
asisten a su curso de informtica. En el primer periodo del ao lectivo, se
realiz dos exmenes Y un trabajo de investigacin
ALGORITMO EN PSEUDOCDIGO
Para notas
Cumple veces [estudiante 22]
Pregunta [Ingrese la nota del primer examen]
"examenUno respuesta
Pregunta [Ingrese la nota del segundo examen]
"examenDos respuesta
Pregunta [Ingrese la nota del trabajo de investigacin]
"trabajo respuesta
"sumatoria: examenUno + :examenDos + :trabajo
"promedio: sumatoria / 3

Muestra (frase [El promedio del estudiante ] :estudiante + 1 [ es]


: Promedio)]
Fin

DIAGRAMA DE FLUJO

TRADUCCIN DEL ALGORITMO EN SCRATCH

EJEMPLO 5:
Elaborar un procedimiento para calcular tablas de multiplicar. El usuario debe
ingresar qu tabla de multiplicar desea.
ALGORITMO EN PSEUDOCDIGO

Para tabla de Multiplicar


Pregunta [Qu tabla de multiplicar desea?]
Da "tabla respuesta
Cumple veces [multiplicando 10]
[ da "resultado :multiplicando * :tabla muestra (frase :tabla [ x ] :multiplicando [ =
] :resultado) ]
Fin

DIAGRAMA DE FLUJO

TRADUCCIN DEL ALGORITMO EN SCRATCH

APRECIACIN CRTICA

Desde el punto de vista educativo, la programacin de computadores


posibilita no solo activar una amplia variedad de estilos de aprendizaje
sino

desarrollar

el

pensamiento

algortmico.

Adicionalmente,

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
solucin. Este ltimo, es un aspecto que deben desarrollar desde
edades tempranas. No debemos 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.

La realizacin de pequeos programas permitir a los estudiantes la


posibilidad de desarrollar su lgica elaborando algoritmos que lo lleven a
la resolucin de problemas desde un operacin sencilla como sumar dos
cantidades, hasta una ms compleja, como calcular el sueldo de un
empleado, as despierta el inters de los estudiantes por ampliar sus
conocimiento en el manejo de la programacin, realizando algoritmos

Las dificultades de realizar una programacin siempre se ha visto en


cualquier lenguaje de programacin, lo recomendable seria realizar
algoritmos, ya que es una serie de smbolos y reglas que se utilizan para
describir de manera explcita un proceso, que servirn de apoyo para
describir las soluciones que se plantean.

Para resolver problemas de lenguaje de programacin o matemticos el


ms factible sera, optar por realizar algoritmos, que se puede
representar por la representacin grfica de las operaciones que realiza

un algoritmo (diagrama de flujo) o representar en forma descriptiva las


operaciones que debe realizar un algoritmo (pseudo cdigo).

Los estudiantes tienen habilidades de pensamiento de orden superior


entre las que se incluye la destreza para solucionar problemas; por esta
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. Las metodologas utilizadas en la
Educacin Bsica 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 (programas) complejas, implica una labor titnica 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.

SUGERENCIAS

En el rea de educacin para el trabajo debera desarrollarse el modulo


profesional, para trabajar con los algoritmos, con el fin de incentivar a los
estudiantes, que interacten con el lenguaje de programacin. El
objetivo es proponer 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. Implementar estrategias que
contribuyan efectivamente en el desarrollo de esas habilidades
planteadas como fundamentales para la educacin en el Siglo XXI.

Que se incluyan cursos de programacin en la malla curricular en los


estudiantes de los ltimos aos de secundaria, el mismo que les
permitir acceder a estos conocimientos algortmicos y prepararlos de
manera conveniente para aplicarlos en su desarrollo intelectual.

Es muy importante tener presente que resolver problemas matemticos


de cualquier ndole mediante procedimientos 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,
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 algoritmo a un lenguaje de
programacin y depurar el programa).

En el curso de matemtica se puede incluir conceptos y desarrollo de los


algoritmos, desarrollar diagramas de flujo de forma descriptiva, as el
estudiante

al

terminar

la

secundaria

tendra

conocimientos

de

algortmica, ya que es una secuencia precisa de operaciones (pasos)


que resuelven un problema en un tiempo finito.

CONCLUSIONES:

Un algoritmo es un conjunto ordenado y finito de operaciones que


permite hallar la solucin de un problema, es un mtodo para encontrar
las soluciones.

Un programa del computador es esencialmente un algoritmo, da los


pasos especficos y rdenes que deben ser ejecutados, como por
ejemplo: los pasos para calcular el promedio de notas de un grupo de
estudiantes.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo


el lenguaje natural, pseudocdigos, diagrama de flujo,

lenguaje de

programacin entre otros.

Un programa es la expresin (transcripcin) de un algoritmo en un


lenguaje de programacin, capaz de ser procesado por un ordenador
tras su compilacin y linkado y que controla el funcionamiento de un
ordenador a la hora de resolver un problema.

Este trabajo tiene como objetivo principal animar a los maestros y


educadores a utilizar el lenguaje de programacin Scratch en sus clases
con alumnos con necesidades educativas especiales. Scratch es un
lenguaje visual de fcil uso y de libre distribucin que favorece un
mtodo de aprendizaje activo y constructivo.

A medida que los jvenes crean y comparten proyectos realizados en


Scratch, aprenden importantes ideas matemticas y computacionales; al
mismo tiempo que aprenden a pensar creativamente, a razonar
sistemticamente y a trabajar colaborativamente.

BIBLIOGRAFA
JOYANES, L Fundamentos de Programacin, Algoritmos y
Estructuras de datos 3era edicin
SANTOS, M Fundamentos de Programacin

JOYANES, L Metodologa de la Programacin


SANTOS, F Teora Algortmica de la Informacin
LPEZ, J algoritmos y Programacin

ANEXOS
GLOSARIO

- ALGORITMO: Conjunto de pasos o instrucciones descritas en un lenguaje


sencillo que permiten llegar a la solucin sistemtica de un problema.
- ANLISIS DE UN ALGORITMO: Observar el comportamiento de un algoritmo
y predecir la cantidad de recursos (tiempo, memoria, CPU) que un algoritmo
requerir para cualquier entrada.
- CDIGO: Conjunto de reglas y convenciones que se utilizan para la
representacin de la informacin.
- COMPLEJIDAD ALGORTMICA: Se le denomina a la medida de la eficiencia
de un programa.
- COMPUTADOR: Es un dispositivo electrnico utilizado para procesar
informacin y obtener resultados. Los datos y la informacin son el insumo de
entrada, los cuales se procesan para producir las salidas requeridas.
- DIAGRAMA DE FLUJO: Representacin grfica de la secuencia de
operaciones en un sistema de informacin o programa.
- DISEO DE UN ALGORITMO: Tcnicas aplicadas para la solucin de un
problema de forma lgica y organizada.
- LENGUAJE: Es una serie de smbolos que sirven para transmitir uno o ms
mensajes entre dos entidades diferentes.
- LENGUAJE ALGORTMICO: Son una serie de smbolos y reglas que se
utilizan para describir de manera explcita un proceso.
- LENGUAJE DE PROGRAMACIN: Es un conjunto de smbolos, caracteres y
reglas que le permiten a las personas programar el computador para hacer una
tarea especfica.
Los lenguajes de programacin tienen un conjunto de instrucciones bsicas
que permiten realizar operaciones de entrada / salida, clculo, manejo de
informacin, lgica, almacenamiento / recuperacin de informacin.

- PROBLEMA: Es una situacin con un objetivo a lograr, que requiere para ser
solucionado de una serie de operaciones que permitan resolver la, o las
incgnitas contenidas en ella. Un problema existe cuando hay tres elementos,
cada uno claramente definido:

una situacin inicial.

una situacin final u objetivo a alcanzar.

restricciones o pautas respecto a los mtodos, actividades, tipos de


operaciones sobre los cuales se debe encontrar la solucin.

- PROGRAMA: Conjunto de instrucciones realizables por una persona o


mquina con el fin de cumplir con una determinada tarea o labor. - Algoritmo
escrito en un lenguaje de programacin.
- PSEUDOCDIGO: Notacin intermedia entre el lenguaje natural y el lenguaje
de programacin que se utiliza para disear y describir algoritmos.
-DESCRIPCIN DE BLOQUES: Los bloques de Scratch estn organizados
dentro de ocho categoras de cdigos de color:
Movimiento
Apariencia
Sonido
Lpiz
Control
Sensores
Operadores
Variables.

FICHA DE METACOGNICIN

PROFESOR (a): Ramirez Vilcayauri, Julia Margot


REA: FECHA: ../... /..
ESTUDIANTE:
TEMA:
GRADO Y SECCIN:...

Qu Aprend?

Cmo Aprend?

Cunto
Aprend?

Reflexionand
o
Respondiend
o
Preguntas
Aplicando
Herramientas
del Software.
Explorando
Visual Basic
Scratch.
Finalice mi
proyecto a
tiempo.
Otros

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%

Escribir

Marca (X)

Encierra en un
Crculo

Para qu me sirve
lo que Aprend?

Cmo me
sent?

Motivado

Escribir

Medianamente
Motivado

Desmotivado
Marcar (X)

Aprendizaje Esperado:
Elabora algoritmos
Software Scratch.

con

Desarrollan
Los estudiantes analizan Inters por aprender capacidad de
el Software.
el el proceso algortmico.
imaginacin y
lgica para los
algoritmos.

6
1

ALBORNOZ PEZO, Erick Genso

ALTAMIRANO CHAVEZ, Gina Ivonne

BAEZ ISLA, Antony Miguel

CHAMBERGO CNTARO, Shantel

CORONADO CASTRO, Pablo

CORONEL CISNEROS, Roberth

DELGADO ARANGO, Rosa Mara

EVANGELISTA ESPRITU, Franklin

FELIX PACHAS, Juan Jose

Puntaje

Lista de Cotejo 5 A

ACTITUDES
Es puntual a la hora de Mantiene su espacio
ingresar al aula.
limpio.

8
1

ALBORNOZ PEZO, Erick Genso

ALTAMIRANO CHAVEZ, Gina Ivonne

BAEZ ISLA, Antony Miguel

CHAMBERGO CNTARO, Shantel

Respeta las
opiniones de
sus
compaeros.

Puntaje

Lista de actitudes 5 A

CORONADO CASTRO, Pablo

CORONEL CISNEROS, Roberth

DELGADO ARANGO, Rosa Mara

EVANGELISTA ESPRITU, Franklin

FELIX PACHAS, Juan Jose

Вам также может понравиться