Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULTAD DE CIENCIAS
Departamento Acadmico de Matemtica e Informtica.
MONOGRAFA:
ALGORTMICA
Presentado por:
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
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
42
44
44
45
46
50
51
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.
realizar
ya mencionada, tambin
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.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
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
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.
Programa
Pseudocdigo
Algoritmo
Diagrama de Flujo
Lenguaje de programacin
Lenguaje Natural.
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
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.
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.
Clase:
Herencia:
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:
Mtodo:
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.
lenguajes
pertenecientes
al
paradigma
de
la Programacin
Sistemas
que
piensan
racionalmente.-
Es
decir,
con
lgica
Debe ser preciso e indicar el orden. Diseo del algoritmo que describe
Se almacenan
VARIABLES Y CONSTANTES
DATOS
Son involucrados
EN EXPRESIONES
Variables:
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:
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
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.
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:
Enunciado cualquiera
Los smbolos disponibles para la formulacin de caracteres y de cadenas son
aqullos que se encuentran en el cdigo ASCII.
SUBRANGO:
'A'..'Z'
3.2
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
especfico
del
sistema
algunas subrutinas.
El
lenguaje
de
antes
de
realizar
para
el
la
efectiva
codificacin.
pseudocdigo.
No
Los diagramas
existe
de
grfica al
Ejemplo:
El orden en el que se realiza las operaciones es importante: no puede calcular la media sin
antes haber ledo los nmeros.
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:
Ejemplos:
Utilizacin en la prctica
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
procesos
iguales,
la
Organizacin
Internacional
para
la
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.
Sistema Operativo
Scratch se puede instalar y redistribuir gratuitamente en cualquier
ordenador con Windows, Mac OS X o Linux.
Licencia:
Propietario (cdigo de fuente disponible para usos no comerciales)
4.2 CARACTERSTICAS
4.3 VENTAJAS
Es multilenguaje.
SESIN DE APRENDIZAJE
N
TITULO: A
I. DATOS INFORMATIVOS:
1. INSTITUCION EDUCATIVA
2. AREA CURRICULAR
3. GRADO Y SECCION
: 5 A
4. FECHA
: 21 10 13
5. TIEMPO
: 90
6. PROFESOR
CONOCIMIENTOS
APRENDIZAJE ESPERADO
(Por capacidad de rea)
VALOR/ACTITUDES
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
Respeto
Respeta las normas del laboratorio de
cmputo y llega puntual a clase.
SITUACIONES
DE
APRENDIZAJE
ORGANIZACIN
METODO /
TECNICA
(ESTRATEGIAS DIDCTICAS)
/
MATERIALES
EDUCATIVOS
CRITERIO
Software
Scratch
Pc
Estudio
dirigido
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
Software
Scratch
5
Pc
CONFLICTO
COGNITIVO
Ejecucin de los
procedimientos
Identificacin y
secuenciacin de
Informacin
los
procedimientos
Recepcin de la
Actitud ante
el rea
1.
El Que y Como:
2.
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.
Ejecucin de
procesos
productivos
Elaboran la
programacin
algortmica en
scratch.
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
EVALUACIN
(METACOGNICIN)
Programacin algortmica
Eval.
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.
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
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
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
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
DIAGRAMA DE FLUJO
EJEMPLO 5:
Elaborar un procedimiento para calcular tablas de multiplicar. El usuario debe
ingresar qu tabla de multiplicar desea.
ALGORITMO EN PSEUDOCDIGO
DIAGRAMA DE FLUJO
APRECIACIN CRTICA
desarrollar
el
pensamiento
algortmico.
Adicionalmente,
SUGERENCIAS
al
terminar
la
secundaria
tendra
conocimientos
de
CONCLUSIONES:
lenguaje de
BIBLIOGRAFA
JOYANES, L Fundamentos de Programacin, Algoritmos y
Estructuras de datos 3era edicin
SANTOS, M Fundamentos de Programacin
ANEXOS
GLOSARIO
- 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:
FICHA DE METACOGNICIN
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
Puntaje
Lista de Cotejo 5 A
ACTITUDES
Es puntual a la hora de Mantiene su espacio
ingresar al aula.
limpio.
8
1
Respeta las
opiniones de
sus
compaeros.
Puntaje
Lista de actitudes 5 A