Beruflich Dokumente
Kultur Dokumente
aprendizaje de algoritmos
Manual de
usuario
Por Getseman Arista Lpez.
ABRIL 2012
Contenido
Introduccin....................................................................................................................................... 2
Objetivos del software................................................................................................................... 3
Requisitos mnimos de ejecucin ...................................................................................................... 3
Hardware ................................................................................................................................... 3
Software..................................................................................................................................... 3
Estructura General de la herramienta............................................................................................... 4
Pestaa Analizar ............................................................................................................................ 6
Enunciado inicial ........................................................................................................................ 6
Preguntas y respuestas.............................................................................................................. 7
Enunciado final .......................................................................................................................... 7
Pestaa Planear ............................................................................................................................. 8
Pestaa Disear ........................................................................................................................... 10
Paleta de estructuras............................................................................................................... 11
Funciones de Librera............................................................................................................... 14
Botn compilar ........................................................................................................................ 14
Botn traducir.......................................................................................................................... 15
Pestaa Probar ............................................................................................................................ 16
Ejemplos de solucin de problemas ................................................................................................ 17
Ejemplo 1: Clculo de la hipotenusa............................................................................................ 17
Etapa Analizar .......................................................................................................................... 17
Etapa Planear........................................................................................................................... 21
Etapa Disear....................................................................................................................... - 23 Etapa Probar ........................................................................................................................ - 26 Ejemplo 2: Potencia del 2 ........................................................................................................ - 27 Analizar ................................................................................................................................ - 27 Planear................................................................................................................................. - 29 Disear................................................................................................................................. - 30 Probar .................................................................................................................................. - 32 Direccin de soporte tcnico....................................................................................................... - 34 -
Introduccin
3.1.1 Hardware
Pantalla con resolucin mnima de 800x600
Procesador Intel Pentium III o equivalente a 800 MHz
Memoria RAM 512 MB
3.1.2 Software
Es compatible con los sistemas operativos: Windows XP, Windows Vista, Windows Seven y
Linux
Tener instalado el JDK (Java Development Kit)
Tener instalado el JRE (Java Runtime Environment)
Barra de
men
Barra de
herramientas
Pestaas
La barra de Men contiene el men estndar Archivo (ver Figura 2) que permite al igual que la
barra de herramientas hacer operaciones sobre archivos como: Nuevo, Abrir, Guardar, Guardar
como y adicionalmente la opcin de salir de la aplicacin.
4.1
Pestaa Analizar
Para empezar a crear una solucin se debe comenzar en la etapa de Analizar.
Seccin A
Seccin B
Seccin C
Enunciado Inicial
Preguntas y respuestas
Enunciado Final
La pestaa de analizar se centra en el estudio del enunciado inicial del problema. Consiste en
tres partes: Edicin del enunciado inicial del problema, Solucin de ocho preguntas para
responder y por ltimo edicin del Enunciado final del problema (Ver Figura 3). A continuacin se
describe detalladamente las partes de sta pestaa.
Si se tiene alguna duda sobre las ocho preguntas de la etapa de anlisis, clic en el botn ayuda
ubicado a la derecha de cada pregunta, ah vendr una explicacin breve de cada pregunta. Para
responde las preguntas en la etapa de Analizar, aqu se sugiere seguir los siguientes pasos:
A. Leer la pregunta que se muestra.
B. En el rea de texto, redactar la respuesta.
C. Clic en el botn Pregunta siguiente.
El contenido del rea de texto debe ser por lo menos dos caracteres, para que la herramienta
lo tome como vlido y se marque con una palomita ( ) el nmero correspondiente a la pregunta
en la lista de verificacin de respuestas ubicado en la parte inferior de sta seccin (Ver Figura 4).
Cuando las ocho preguntas son respondidas de manera correcta, se ha completado esta
seccin (B).
Al dar clic sobre otra pestaa distinta al actual (Analizar). La herramienta verifica que no le
falte informacin a ninguna de las partes, de lo contrario emitir un mensaje de advertencia al
usuario como se muestra en la Figura 5.
4.2
Pestaa Planear
Una vez editado el enunciado final en la etapa previa (Analizar), el usuario ya tiene la idea
general de cmo resolver el problema. Por lo tanto se contina con la pestaa de Planear.
1
2
Lista de elementos
Lista de asignacin de identificadores
existen elementos (variables) necesarios para el diseo de la solucin y si existen asignarle las
propiedades correspondientes (ver Tabla 1).
Propiedades de los elementos
Lista de elementos:
A. Nombre del Elemento: Describe de manera concisa, el uso del elemento en el diseo de la solucin.
B. Rol Entrada: Si el valor del elemento ser solicitado al usuario cuando se ejecute la corrida de
escritorio (etapa Probar).
C. Rol Salida: Si ser necesario que el valor del elemento se muestre en pantalla cuando se ejecute al
corrida de escritorio (etapa Probar).
D. Rol Auxiliar: Si el elemento ser utilizado como valor temporal en clculos intermedios y no es
necesario solicitarlo o mostrarlo durante la corrida de escritorio (etapa Probar).
Lista de asignacin de identificadores:
E. Elemento: Este campo de la lista duplica la informacin del nombre del elemento de la lista
anterior.
F. Tipo de dato: Es el tipo de dato ya sea Entero, Real o Cadena, que tendr la variable.
G. Identificador: Son los caracteres y dgitos con los que se identificarn en el diagrama de flujo a las
variables.
H. Tipo de identificador: Define si el valor del elemento ser de tipo variable o constante.
I. Valor inicial: Es el valor con el que se inicializa el elemento (variable o constante).
Tabla 1 Propiedades de los elementos
TRUNC
6.
Tabla 2).
7. Elegir un Tipo de identificador, que puede ser de tipo: Variable si su valor cambia o
constante si siempre tendr el mismo valor.
8. Asignar el valor inicial al elemento, obligatorio si es un identificador de tipo
constante.
Palabras Reservadas
NULL
SQRT
SIN
COS
TAN
TRUE
FALSE
ABS
TRUNC
Tabla 2 Palabras Reservadas
4.3
Pestaa Disear
Despus de la etapa Planear, el siguiente paso para crear una solucin, se encuentra en la
pestaa Disear.
La pestaa de Disear se compone de cinco partes como se muestra en la Figura 7. Un rea de
dibujo donde se disear el diagrama de flujo para la solucin, una Paleta de estructuras donde se
ofrece el men de las estructuras secuenciales y de control que la herramienta soporta y que ms
10
adelante se describen de manera detallada, una Barra de herramientas diseo que permite al
usuario copiar, cortar, pegar y eliminar estructuras del diagrama de flujo, un botn Compilar que
realiza el anlisis lxico, sintctico y semntico al diagrama de flujo detectando posibles errores y
por ltimo un botn traducir que realiza la traduccin del diagrama de flujo previamente
compilado al lenguaje que el usuario decida.
1
2
4
1
2
rea de dibujo
Paleta de estructuras
3
4
Botn Traducir
11
Secuenciales
Condicionales
Cclicas
Estructuras secuenciales
Una estructura secuencial es aquella en la que una accin o instruccin le sigue a otra, en una
secuencia ordenada. El software para el aprendizaje de algoritmos soporta 6 tipos de estructuras
secuenciales que se describen en la Tabla 3.
Nombre
Iniciar
Smbolo
Descripcin
Denota el inicio del diagrama de
flujo.
Ejemplo
[Elemento no editable]
Finalizar
[Elemento no editable]
Inicializar
[Elemento no editable]
Leer
Calcular
Escribir
num_1,nombre,cal2
Cabe sealar que las tres primeras estructuras de la Tabla 3, son agregadas al diagrama de
flujo de manera automtica por la herramienta por lo tanto no se encuentran en la paleta de
estructuras y adems no son editables.
12
Estructuras condicionales
Las estructuras condicionales se utilizan para la toma de decisiones, con ellas se regula el flujo
de los datos, es decir, si la condicin se cumple elige el camino marcado con una V (verdadero) de
color verde y si la condicin no se cumple elige el camino marcado con una F (falso) de color rojo.
El smbolo de una condicin se representa en la Tabla 4.
Nombre
Smbolo
Condicin
Descripcin
Indica operaciones de comparacin
(usando los operadores lgicos de la
Tabla 5) entre dos expresiones y
en funcin del resultado se determina
el camino que se debe seguir.
Tabla 4 Estructura condicional
Ejemplo
(r*c)>res
Operadores Lgicos
>
Mayor que
<
Menor que
>=
Mayor igual que
<=
Menor igual que
<>
Diferente
Tabla 5 Operadores Lgicos
Estructuras cclicas
Una estructura cclica o repetitiva se emplea cuando se requiere que un conjunto de
instrucciones se ejecuten cierto nmero de veces. El software para la asistencia en el aprendizaje
de algoritmos soporta tres tipos diferentes de ciclos o bucles que se explican en la Tabla 6.
Nombre
Para
Smbolo
Descripcin
Estructura cclica que se utiliza cuando se
conoce el nmero de veces que se repetir el
bucle. Se compone de tres elementos
principales: una inicializacin, una condicin de
paro y el incremento/decremento.
Ejemplo
Inicializacin
i=variable+1
Condicin de
paro
i>val_maximo
Incremento/D
ecremento
i=i+5
Mientras
j>=variable
Hasta
q<>variable
13
una vez.
Tabla 6 Estructuras cclicas
IMPORTANTE:
Para insertar cualquier elemento de la paleta de estructuras de la pestaa Disear, es
necesario que se seleccione con un clic una flecha insertable diferenciada con un color verde ( ).
Funcin
ABS (X)
SQRT
(X)
SIN (X)
Descripcin
Devuelve el seno de X. Donde X puede ser un nmero entero o real. El tipo de dato del
resultado es siempre real.
COS (X)
Devuelve el coseno de X. Donde X puede ser un nmero entero o real. El tipo de dato
del resultado es siempre real.
TAN (X)
14
creacin. Esto se logra con un solo clic en el botn compilar ubicado debajo de la paleta de
estructuras (Figura 9).
En cambio, si no existe ningn tipo de error en la compilacin del diagrama de flujo, aparecer
un mensaje como se muestra en la Figura 11.
Figura 12 Traducir a
Aparecer el siguiente cuadro de opciones a traducir (Figura 13), donde el usuario podr elegir
las opciones que desee.
15
Al elegir cualquiera de las opciones a traducir, la herramienta crea un archivo con el mismo
nombre y la misma ruta pero con extensin .c para el caso de Cdigo C, o .txt para el caso de
Pseudocdigo. Si la solucin no tiene un nombre se abre el cuadro de dialogo estndar para
guardar el archivo traducido.
Al terminar la traduccin se le informa al usuario con un cuadro de dialogo similar al que se
muestra en la Figura 14.
4.4
Pestaa Probar
Una vez completadas las tres etapas de la creacin de una solucin (Analizar, Planear y
Disear), es momento de probar que dicha solucin realice lo que se pretende. Este es el objetivo
principal de la pestaa Probar.
La etapa Probar consiste en: El diagrama de flujo enumerado que se est probando (Seccin
A), la tabla de la corrida de escritorio (Seccin B) y un botn de inicio/siguiente (Botn 1) (ver
Figura 15).
Para que esta pestaa funcione correctamente, se necesita haber creado previamente un
algoritmo en la etapa anterior (Disear) y estar libre de errores en la compilacin. Los elementos
del diagrama de flujo son enumerados consecutivamente ver Figura 15 Seccin A. Al principio de
la prueba, el botn Siguiente tiene el rtulo de inicio para que el usuario se d cuenta dnde
comienza la ejecucin o prueba del diagrama de flujo. Despus el botn cambia su rotulo a
Siguiente, es decir, siguiente elemento a ejecutar.
16
Cada cambio, comparacin, asignacin, etc. que se realiza a los datos es reflejado en la tabla
dibujada en la Seccin B de la Figura 15.
1
Seccin A
Seccin B
Botn 1
5.1
17
El primer paso es escribir el enunciado inicial del problema como se observa en la Figura 17.
Despus se responden las ocho preguntas que ayudan al alumno a analizar el enunciado inicial
del problema.
1. Cules son los datos iniciales del problema? R= El enunciado no proporciona valores
iniciales (ver Figura 18).
18
3. De dnde se tomar los datos iniciales? R= El problema no lo dice (ver Figura 20).
4. Cules son los supuestos? R= 1. Se asume que se cuenta con teclado para introducir
datos 2. Se asume que se tiene una pantalla para mostrar los resultados 3. Tanto el
valor de los catetos como el de la hipotenusa pueden ser enteros o reales positivos 4.
El mensaje a mostrar como resultado ser: "el valor de la hipotenusa es: ", seguido de
la hipotenusa (ver Figura 21)
Por ltimo para esta etapa, se edita el enunciado final del problema, con toda la informacin
que nos proporciona las respuestas anteriores.
Enunciado final: Se desea un algoritmo que calcule la hipotenusa de un tringulo
rectngulo. El algoritmo deber solicitar al usuario que introduzca los valores de los
catetos a y b para calcular el cuadrado de cada uno de ellos y despus aplicar la frmula
c=(a+b), siendo c la hipotenusa. El valor de la hipotenusa se deber mostrar a pantalla
despus del mensaje "el valor de la hipotenusa es: " seguido del valor calculado.
21
Entrada
Salida
Auxiliar
El cateto a
El cateto b
La hipotenusa
Tipo de dato
Identificador
Tipo de identificador
Valor inicial
22
Por lo tanto se editarn los elementos de la Lista de asignacin de identificadores con las
propiedades que se muestran en la
Tabla 9.
Tipo de dato
Identificador
Tipo de identificador
Valor inicial
El cateto a
Real
Variable
null
El cateto b
Real
Variable
null
La hipotenusa
Real
Variable
null
Donde el elemento Inicializar contiene la inicializacin al valor inicial (si tiene null, se inicializa por
omisin con 0 para los enteros, 0.0 para los reales y para las cadenas) de cada uno de los
identificadores de todos los elementos aadidos a la Lista de elementos en la etapa anterior
(Etapa Planear).
- 24 -
Traducir a
A continuacin se muestra el resultado de las traducciones (del diagrama de flujo mostrado en
la Figura 30) que ofrece la herramienta.
Traduccin a Pseudocdigo
1.- Iniciar
2.- INICIALIZAR a=0.0
3.- INICIALIZAR b=0.0
4.- INICIALIZAR c=0.0
5.- ESCRIBIR "Introduzca el valor del cateto a: "
6.- LEER a
7.- ESCRIBIR "Introduzca el valor del cateto b: "
8.- LEER b
9.- c=SQRT((a*a)+(b*b))
10.- ESCRIBIR "El valor de la hipotenusa es: ", c
11.- Finalizar
- 25 -
Traduccin a Lenguaje C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a= 0.0;
float b= 0.0;
float c= 0.0;
printf("Introduzca el valor del cateto a: \n");
scanf(" %f", &a);
printf("Introduzca el valor del cateto b: \n");
scanf(" %f", &b);
c=sqrt((a*a)+(b*b));
printf("El valor de la hipotenusa es: %f\n",c);
getch();
return 0;
}
- 26 -
5.2
5.2.1 Analizar
Enunciado inicial: Realizar un algoritmo que calcule la potencia dada por el usuario del
nmero 2.
Preguntas y respuestas:
- 27 -
Enunciado final: Realizar un algoritmo que calcule la n potencia del nmero 2. Multiplicando el
nmero 2 n veces, donde n es un nmero entero positivo dado por el usuario. Mostrando en
pantalla el letrero: La potencia, seguido por el nmero dado por el usuario, del nmero 2 es: y
por ltimo el resultado de la operacin.
- 28 -
5.2.2 Planear
En la etapa Planear se agregan cuatro variables con las propiedades que se muestran en la
Figura 34
- 29 -
5.2.3 Disear
En la etapa de diseo, se crea un diagrama de flujo como el que se muestra en la Figura 35.
- 30 -
Traducir a
Traduccin a Pseudocdigo
1.- Iniciar
2.- INICIALIZAR n=0
3.- INICIALIZAR DOS=2
4.- INICIALIZAR r=1
5.- INICIALIZAR i=0
6.- ESCRIBIR "Que potencia desea calcular
del numero 2? "
7.- LEER n
8.- REPETIR i=1 , i<=n , i=i+1
8.1.- r=r*DOS
9.- FIN REPETIR
10.- ESCRIBIR "La potencia ", n , "del nmero 2 es: ",r
11.- Finalizar
Traduccin a Lenguaje C
- 31 -
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=0;
const int DOS=2;
int r=1;
int i=0;
printf("Que potencia desea calcular del numero 2? \n");
scanf(" %d", &n);
for(i=1;i<=n;i=i+1)
{
r=r*DOS;
}
printf("La potencia %d del numero 2 es: %d\n",n,r);
getch();
return 0;
}
5.2.4 Probar
Una prueba hecha al diagrama de flujo, se muestra en la Figura 36.
- 32 -
- 33 -
________________________________
- 34 -