Autoflujo 20 Manual
Autoflujo 20 Manual
Autoflujo 20 Manual
0
Entorno gráfico de programación y automatización de diagramas de flujo
Marco Veneros
1 1
AutoFlujo 2.0
En cumplimiento a lo dispuesto por la ley de Derechos de autor:
Advertencia:
La presentación y disposición en conjunto de AutoFlujo 2.0. Entorno gráfico
de programación y automatización de diagramas de flujo son de propiedad del
autor.
Ninguna parte de esta obra puede ser reproducida o transmitida, mediante ningún sistema
o método, electrónico o mecánico (entre ellos el fotocopiado, la grabación o cualquier
sistema
de recuperación y almacenamiento de información), sin consentimiento por escrito del
autor. Se exceptúan citas en revistas, diarios o libros, siempre que se mencione la
procedencia de las
mismas.
E-mail: marco.veneros@gmail.com
Twitter: @marcoVeneros
Facebook: AutoFlujo
Laboratorio: El Alto, Río Seco, Av. Misael Saracho 1301
Teléfono: (591-2) 2866294
Celular: (591) 70676646
2 2
2
3 3
“Los que sueñan de día son conscientes de muchas
cosas que escapan a los que sueñan sólo de
noche”.
4 4
ÍNDICE
Página
Prólogo.............................................................................................................. 5
Terminología básica .......................................................................................... 7
1. La programación de computadoras.............................................................. 9
2. Diseño de diagramas estructurados ........................................................... 13
3. Modularización de programas ................................................................... 20
4. Conociendo AutoFlujo 2.0 ........................................................................ 23
5. Elementos internos de AutoFlujo .............................................................. 25
6. Instalación y descripción de AutoFlujo 2.0................................................
33
7. Trabajando con AutoFlujo 2.0................................................................... 42
8. Diseño y prueba de un diagrama de flujo .................................................. 57
9. Generando código con AutoFlujo.............................................................. 68
Características técnicas de AutoFlujo 2.0 ........................................................ 72
10. Ejercicios con diagramas de flujo ..............................................................
73
5 5
PRÓLOGO
Ahora bien, en la actualidad, aprender a diseñar programas para computadora es una actividad
que los estudiantes realizan teóricamente, como comúnmente se dice, con lápiz y papel.
Pero,
¿no sería más provechoso y útil para los alumnos y potenciales usuarios realizar y probar sus
diagramas de flujo en la misma computadora? Hay buenas probabilidades de que una
persona,
conociendo de primera mano la computadora e interactuando desde un principio con ella, se
sienta más atraída a esta maravillosa máquina y, por ende, aprenda a sacarle el mayor
provecho
posible.
En virtud de todo lo anterior y después de varios años de desarrollo, el año 2004 tuve la
dicha de presentar la primera versión de AutoFlujo; un programa bastante pequeño que podía
ejecutarse en Ms-Dos y Windows; aunque sólo permitía el diseño y prueba de diagramas de
flujo básicos, la capacidad que poseía de generar código en C y Java fue la característica que
más llamó la atención de los primeros usuarios.
Promocionar la primera versión de AutoFlujo fue una labor tan o más ardua que haberla
programado. Pese a todo, el haber recorrido muchísimos centros de educación y
universidades me permitió conocer inquietudes de docentes y estudiantes acerca de las
características que deseaban tuviera la siguiente versión.
7 7
recursivas; también, se mejoró la interfaz gráfica de usuario y se simplificó el proceso
de diseño, con lo cual ahora es más fácil diseñar diagramas de flujo, probar y analizar cómo
funcionan. Además, AutoFlujo 2.0 ahora genera código fuente para diagramas de flujo en
cuatro lenguajes de programación: C, C++, Java y C#. En conclusión: AutoFlujo 2.0 es un
software más completo y versátil que su versión predecesora.
EPÍLOGO
AutoFlujo fue desarrollado, desde un comienzo, con la misión de automatizar el
diseño, ejecución e implementación de diagramas de flujo, para facilitar el proceso de
enseñanza y
aprendizaje de programación de computadoras. Si bien la primera versión cumplía en parte
esta misión, AutoFlujo 2.0 la satisface enormemente. Téngalo por seguro: AutoFlujo 2.0
le
facilitará grandemente el diseño de diagramas de flujo, así como coadyuvará a que usted
pueda entender y comprender visualmente su funcionamiento, con el beneficio adicional de
poder obtener la respectiva codificación en C, C++, Java o C#.
De antemano, amigo lector, si tiene alguna duda, inquietud o crítica, por favor
hágamela conocer por mi correo electrónico: marco.veneros@gmail.com, o por mi cuenta
de Twitter:
@marcoVeneros.
Espero que este capricho personal llamado AutoFlujo haga que usted se convierta, en el
futuro, en un gran programador. ¡Buena suerte!
El Autor
8 8
TERMINOLOGÍA BÁSICA
Tanto para la parte introductoria de este libro como para los capítulos dedicados a
AutoFlujo, se utilizaron los siguientes términos:
Variable. Sirve para almacenar un valor que puede ser cambiado durante la ejecución de un
programa.
Proceso. Está conformado por una variable, el operador de asignación (=) y una
expresión. Por lo tanto, se llama proceso a la asignación o almacenamiento del resultado de
una expresión en una variable.
Ejemplos:
1) edad=18
2) x=2.4-(m*k)+3
3) m=y
1) a==b
2) b+2>76
3) m%2==0
9 9
Sin embargo, la configuración de los botones del ratón puede cambiar en
Windows. ¡Verifique cuál es la configuración de su ratón para no tener
problemas con AutoFlujo!
1 1
2
DISEÑO DE DIAGRAMAS ESTRUCTURADOS
Los ejemplos del capítulo anterior ilustraron cómo se puede plantear un algoritmo, así como
su respectiva representación gráfica. Mas para poder diseñar un diagrama que pueda ser
implementado posteriormente en la computadora, se debe aplicar y cumplir el teorema
fundamental de la programación estructurada, que más o menos dice: Un diagrama o
programa sólo debe tener un punto de entrada (inicio) y un punto de salida (fin), y para su
diseño se pueden utilizar únicamente tres estructuras de control; éstas son: secuenciales,
condicionales y repetitivas.
Proceso1
Proceso2
Proceson
Inicio
n1,n2
S=n1+n2
Fin
1 1
2.2. ESTRUCTURA DE CONTROL
CONDICIONAL
Esta estructura evalúa una condición y luego,
Sí en función del cumplimiento o no de
Condición ésta, ejecuta uno o más procesos.
No Proceso(s) Una estructura condicional puede ser
simple o de alternativa doble.
Inicio
a,b
May=a
Sí
b>May
No May=b
May
Fin
1 1
Ejemplo 2.3: Pedir las calificaciones de un alumno correspondientes a tres exámenes, obtener
el respectivo promedio y determinar si dicho alumno aprobó o reprobó. Tomar 51 como nota
mínima de aprobación.
Inicio
n1,n2,n3
pr=(n1+n2+n3)/3
No Sí
pr >= 51
“Reprobado” “Aprobado”
Fin
Si el promedio obtenido es mayor o igual a 51, se muestra “Aprobado”; en el caso contrario, “Reprobado”
Expresión
1 2 3 n Otro
Proceso1 Proceso2 Proceso3 Proceson Proceso por falso
1 1
Ejemplo 2.4: Realizar un diagrama que pida un número e indique qué día de la
semana representa.
Si el valor introducido está entre 1 y 7, muestra el día de la semana; si no, muestra “Error”.
Condición
de control
Sí
Proceso(s)
Sí
No
11
Ejemplo 2.4: Realizar un diagrama que genere la serie numérica de 1 a 10.
Inicio
c=1
c <= 10
Sí
c=c+1
Sí
No
Fin
La diferencia entre ambas estructuras está en que while (mientras) primero evalúa la
condición de control; si ésta se cumple, ejecuta los procesos del ciclo repetitivo; en cambio,
do–while (hacer-mientras) primero realiza los procesos del ciclo repetitivo y después
evalúa la condición; si se verifica la condición, ejecuta los procesos del ciclo repetitivo; si
no, termina.
Proceso(s)
Sí
Condición
de control
No
1 1
Ejemplo 2.5: Realizar un diagrama para obtener la sumatoria de un número cualquiera.
Inicio
c=0
s=0
c=c+1
s=s+c
Sí
c<n
No
S
Fin
Sí
Proceso(s)
No
1 1
Donde: vc es una variable; val_ini, el valor inicial que toma; límite es una expresión que
delimita el ciclo repetitivo; incr|decr son expresiones que definen de cuánto en cuánto
incrementará o decrementará el ciclo.
x = 10, 0, -1
Sí
x
No
Fin
q= 0, n, 1
Sí
No
Fin
1 1
3
MODULARIZACIÓN DE PROGRAMAS
Como cualquier otro campo, la metodología de la programación de computadoras es
una actividad que con el paso del tiempo se fue refinando y optimizando. Uno de los
serios problemas que aquejaba a los primeros programas para computadora era que al hacerse
grandes y complejos se hacían difíciles de comprender, y, lo que es peor, doblemente difíciles
de mantener o editar. ¿Cuál era la razón? Los programas eran de un solo bloque; es decir, un
solo programa realizaba muchas tareas y procesos, todos ellos mezclados los unos con los
otros.
¿Cómo se puso orden a todo este caos? Aplicando la conocida regla de divide y
vencerás. Ésta aplicada al mundo de la programación de computadoras dice: Un programa
debe organizarse de tal forma que esté compuesto por otros pequeños (subprogramas) que
lleven a cabo tareas específicas.
3.1.1. FUNCIONES
Una función puede recibir uno o más parámetros de entrada, pero siempre devuelve un solo
resultado.
3.1.2. PROCEDIMIENTOS
Un procedimiento puede recibir uno o más parámetros de entrada y devolver uno o
más resultados.
La mayoría de los lenguajes actuales, como Java, C++ y otros, sólo utilizan
funciones. Tal vez Visual Basic sea de los pocos que aún permiten el uso de
procedimientos.
De manera similar: la función principal envía n a la función factorial, valor que es recibido
por la variable num; se calcula el factorial y se devuelve el resultado (f), que es asignado a la
variable fac de la función principal.
1 1
16
1 1
Ejemplo 3. Diseñe una función que calcule la potencia de un
número.
En este ejemplo la función principal envía dos parámetros (b,e) a la función potencia, valores
que son asignados a las variables ba y ex; luego calcula la potencia y devuelve el resultado
(t), que es copiado a la variable p de la función principal.
1 1
17
1 1
4
CONOCIENDO AUTOFLUJO 2.0
Se diseña el diagrama
2 2
4
18
2 2
Se prueba el
funcionamiento
del diagrama.
Se obtiene el programa
en C, C++, Java o C#.
19
2 2
5
Las variables en AutoFlujo, al igual que en otros lenguajes, siempre deben comenzar con una
letra (no acentuada ni eñe); después pueden ser letras (no acentuadas ni eñes) o números
y no deben contener símbolos extraños ni espacios. Aunque AutoFlujo soporta nombres de
variables largos, se recomiendan nombres pequeños que sean significativos y representativos.
Ejemplos de nombres válidos:
1) x
2) tasa
3) n1
4) cli3
5) edad
20
5.3. OPERADORES RELACIONALES
Estos operadores sirven para comparar los valores de verdad de dos expresiones, para luego
devolver un valor lógico (falso o verdadero).
Operador Significado
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual a
!= Diferente o distinto de
Ejemplos:
1) k>8
Pregunta si el valor de k es mayor a 8
2) m%2 == 0
Pregunta si el módulo de m entre 2 es igual a 0
3) n != 0
Evalúa si el valor de n es distinto de 0
Por lo tanto, siempre tome en cuenta que las operaciones se llevan a cabo en orden
de prioridad.
a*b + c/3
24 + 4
28
O sea, primero se llevan a cabo las multiplicaciones y divisiones; luego, las sumas.
22
Ejemplo: Sabiendo que m=12, t=4, p=9; evaluar la siguiente expresión:
t ^ 2 - m % t + 5.26
16 - 0 + 5.26
16 + 5.26
21.26
q * r ^ 2 \ w
63 ^ 2 \ w
3969 \ w
992
expresión: J + k - m + 45
7 - m + 45
-1 + 45
44
Cuando tienen la misma prioridad, se evalúan de izquierda a derecha
a + b > 57
53 > 57
p % 2 == 1
1 == 1
V & V
Ahora, si usted desea alterar el orden de prioridad de ejecución de las operaciones, debe
utilizar paréntesis en la escritura de la expresión.
B * ( n - ( z + 45 ) + 3 )
B * ( n - ( 47 ) + 3 )
B * ( n - 47 + 3 )
B * ( - 39 + 3 )
B * ( - 36 )
-108
24
(V & V) | (V)
V|V
Como verá, en ambos ejemplos primero se llevaron a cabo las operaciones contenidas por
los paréntesis.
25
AutoFlujo incorpora la función RANDENT para facilitar la generación de
números aleatorios enteros a personas nuevas en el campo de la
programación de computadoras. Para que RANDENT funcione en C o C+
+, se debe utilizar la siguiente notación: int(random(x))
Ejemplos:
1) x=7
El número 7 es almacenado en la variable x.
2) m=5*(w+b)-3
El resultado de toda la expresión es almacenado en la variable m.
3) t=factorial(6)
El valor que devuelve la función factorial es almacenado en la variable t.
26
6
INSTALACIÓN Y DESCRIPCIÓN DE AUTOFLUJO 2.0
Bueno, amigo lector, descritos ya todos los elementos internos y características de AutoFlujo
2.0, estamos listos para comenzar a aplicar y utilizar esta valiosa herramienta.
Inserte el CD de AutoFlujo
2.0
Haga doble clic sobre el icono MI PC de Windows XP, o EQUIPO si
tiene
Windows 7 o Windows 8.1.
Seleccione la unidad de disco CD o DVD en que insertó el disco de
instalación de AutoFlujo.
Haga doble clic o presione la tecla Enter sobre el archivo
SETUP.
Presione el botón ACEPTAR de la pantalla de
presentación.
Presione el botón que tiene como imagen una
computadora.
Presione el botón
CONTINUAR.
Presione el botón
ACEPTAR.
¡IMPORTANTE!
Dependiendo del sistema operativo que tenga la computadora en que se
instalará AutoFlujo, es probable que en algún momento de la instalación Windows le
alerte que se está copiando un archivo más antiguo que el actual y le
recomendará que mantenga el archivo actual. Simplemente acepte la proposición
de Windows y la instalación continuará con toda normalidad.
d
a
e f g h i
2
a. BARRA DE SÍMBOLOS
Contiene símbolos normalizados para el diseño de diagramas de flujo. Sólo debe
arrastrar el símbolo deseado al área de diseño (pizarra), para posteriormente poder
moverlo o modificarlo de manera similar al manejo de objetos en programas
Windows.
m=b*(6.5+x)
Ejemplos:
1) edad=18
2) a=(b*h)/2
3) x=y
vec[10]
mat[5][3]
C=0 ,10 ,1
x=10, 1,-1
3
b. BARRA DE OPERACIÓN
Contiene las opciones más utilizadas para diseñar diagramas de flujo.
c. VISOR DE COORDENADAS
Muestra la posición (coordenadas x,y) del ratón.
d. PIZARRA
Es el área de diseño de AutoFlujo, o sea, el área en que usted puede dibujar y diseñar
su diagrama de flujo.
e. BARRA DE CONTROL
Esta barra contiene los siguientes botones:
f. BOTÓN DESHACER
Sirve para anular la última operación realizada.
3
31
g. BARRA DE PROGRAMA
Contiene opciones para la ejecución e implementación del diagrama de flujo diseñado;
contiene, además, la opción de ayuda de AutoFlujo.
Ejecutar todo. Presione este botón para ejecutar todo el diagrama de una
vez.
Ejecutar proceso por proceso. Use esta opción para ejecutar el diagrama
proceso por proceso.
h. AJUSTAR PREFERENCIAS
Contiene opciones para ajustar AutoFlujo a sus necesidades y gustos. Esta opción está
compuesta por las siguientes fichas:
32
COLORES
Esta ficha contiene opciones para configurar el color de fondo, de dibujo y de
rastreo:
Color de rastreo. Presione este botón para establecer el color de rastreo, es decir, el
color que AutoFlujo utilizará para mostrar el funcionamiento del diagrama de flujo
activo.
FUENTE Y SÍMBOLOS
Contiene opciones para configurar el alto y ancho de los símbolos, y el tipo y
tamaño
de letra.
33
VELOCIDAD
Utilice esta opción para regular la velocidad de ejecución del modo PROCESO
POR PROCESO.
34
NÚMEROS Y CÁLCULOS
Contiene opciones para la medición de ángulos en grados o radianes y para fijar
la
cantidad de decimales que AutoFlujo utilizará para mostrar los
resultados.
Aceptar. Con esta opción los cambios sólo tendrán efecto durante la ejecución
actual de AutoFlujo; en otras palabras: la próxima vez que inicie AutoFlujo se
cargarán los valores predeterminados del programa.
i. BOTONES DE ALINEACIÓN
Utilice estos botones para ajustar el texto de los símbolos y líneas del diagrama
de flujo activo.
Arriba
Izquierda
Derecha
Abajo
Centrar
35
7
TRABAJANDO CON AUTOFLUJO
¿Está listo?... Bien, sin más preámbulos conozcamos las herramientas de AutoFlujo y
algunas características y consideraciones que deben tomarse en cuenta para el diseño de
diagramas de flujo.
Para mover el símbolo: ubíquese dentro del objeto, el puntero del ratón tomará la forma
de una cruz; para mover, mantenga presionado el botón principal del ratón y mueva el
símbolo en el sentido que usted desee.
36
Para redimensionar el símbolo: ubíquese sobre el contorno del objeto (línea punteada)
y, presionando el botón principal, mueva el ratón en el sentido que le indique el puntero.
37
7.2. ESCRIBIENDO TEXTO DENTRO DE LOS SÍMBOLOS
Sólo debe hacer clic sobre el símbolo con el botón secundario del ratón y, a continuación,
escribir el texto. Recuerde siempre: presione la tecla Enter para finalizar la escritura del
texto y la tecla Escape para cancelarla.
38
7.3.1. DECLARACIÓN DE FUNCIONES EN AUTOFLUJO 2.0
Como se mencionó en el capítulo tres, las funciones son el mecanismo que tiene
la
programación de computadoras para organizar y optimizar el diseño de
software.
Para declarar una función en AutoFlujo, se debe escribir el nombre de la función y, entre
paréntesis, las variables que recibirán los valores enviados (parámetros de entrada) por
el programa o subprograma que llama a la función:
39
7.4. LECTURA DE DATOS
Para la lectura de datos debe utilizar el símbolo que identifica al teclado o el de
lectura genérica y escribir las variables que se utilizarán para este cometido.
Ejemplos de instrucciones:
1) Edad
Se leerá un valor que se almacenará en la variable Edad.
2) x,y,z
Se leerán tres valores que se almacenarán en las variables x, y, z.
3) vec[2]
Se leerá un valor que se almacenará en la posición 2 del vector llamado vec.
4) lista[q]
Se leerá un valor que se almacenará en la posición indicada por la variable q
del vector llamado lista.
5) mat[2,4]
Se leerá un valor que se almacenará en la posición indicada por la fila 2, columna
4 de la matriz llamada mat.
6) w[i,q]
Se leerá un valor que se almacenará en la posición indicada por la fila i, columna
q de la matriz llamada w.
40
7.5. ESCRITURA DE PROCESOS
¿Recuerda?, un proceso está conformado por una variable, el operador de asignación (=) y
una expresión. Escriba el proceso sin dejar espacios en blanco.
k[5]
Se implementará un vector llamado k de cinco posiciones
lista[n]
El vector lista tendrá la cantidad de posiciones indicada por el valor de la variable n.
m[2,4]
4
Se implementará una matriz llamada m de dos filas y cuatro columnas
notas[q,w]
La matriz notas tendrá q filas y w columnas.
1) Edad
Mostrará como resultado el valor de la variable Edad
2) bas,alt,ar
Se mostrarán los valores de las variables bas, alt, ar en el orden que aparecen.
3) “Hola”
Mostrará como resultado Hola
4) “Total es ”,tot
Mostrará la cadena Total es y, a continuación, el valor de la variable tot.
5) “Orden ”,n1,n2,n3
Se visualizará la cadena Orden y los valores de n1,n2 y n3.
6) x, “por”,y, “es”,z
Por ejemplo, supongamos que los valores de x,y,z son 4,2 y 8; visualizará: 4 por 2 es 8.
42 4
7) v[i]
Mostrará el valor de la posición i del vector v.
8) w[2]
Mostrará el valor de la posición 2 del vector w.
9) m[q,r]
Mostrará el valor de la posición indicada por la fila q, columna r de la matriz m.
10) datos[0,3]
Mostrará el valor contenido en la posición fila 0, columna 3.
h) w*h
Mostrará el resultado de la multiplicación de ambas variables.
Ejemplos:
1) m>= n
Pregunta si el valor de m es mayor o igual al valor de n
4
2) num%c == 0
Evalúa si el módulo (residuo) de num entre c es igual a 0
4) p>q&q>r
Evalúa si p es mayor a q y q es mayor a r
Ejemplos:
1) i=0,n,1
2) q=10,1,-1
3) w=1,z-1,2
No tiene contenido
4
Para la estructura FOR, debe escribir R dentro del conector
46 4
Debe escribir la letra D para la estructura repetitiva Hacer-mientras.
47
Luego, ubíquese en el símbolo origen (de donde partirá la línea), escoja el lado del
que comenzará el trazado (aparecerá un círculo negro), mantenga presionado el botón
principal del ratón, vaya hasta el símbolo destino, escoja también el lado al que conectará la
línea, y suelte el botón del ratón. La línea se trazará automáticamente:
Para mejorar el trazado, active el modo Selección; mueva los símbolos y la línea se
irá ajustando automáticamente.
48
7.10.1. CONTROL DE TRAZADO DE LÍNEAS
AutoFlujo, en relación con este aspecto, tiene varias características incorporadas:
No permite que salgan más líneas que las soportadas por un símbolo.
Identifica automáticamente con las etiquetas Sí y No las líneas que salen
de las condiciones de estructuras condicionales y repetitivas, así como
aquellas que salen de los conectores de flujo.
Y aunque esté por demás decirlo: las líneas pueden ser eliminadas y, en algunos
casos, ajustadas. Para eliminar una línea, sólo debe seleccionarla y presionar la tecla
SUPRIMIR.
El único caso en que una línea puede ser ajustada es para las del siguiente tipo:
Sólo debe ubicarse sobre el segmento vertical (debe hacer clic sobre la línea),
mantener presionado el botón principal del ratón y mover a la izquierda o derecha, según lo
que necesite:
49
Este tipo de líneas se presentan en las estructuras de
control repetitivas for, while y do-while.
50
8
Dibuje todos los símbolos que tendrá su diagrama con sus respectivos contenidos.
Primero, esta
línea.
52
Después, la línea de flujo por falso (no).
Seleccione la
línea haciendo
clic sobre ella.
53
… y utilice esta
herramienta para
acomodar el texto.
Arriba
Izquierda Derecha
Abajo
Ya se mencionó, para mejorar el aspecto de las líneas, sólo mueva los símbolos
del diagrama y las líneas se acomodarán automáticamente:
54
8.2. GUARDANDO EL DIAGRAMA DISEÑADO
Como en cualquier otro programa, es bueno grabar un trabajo recién realizado. Para
guardar un diagrama en AutoFlujo, debe presionar el botón GRABAR DIAGRAMA del panel
principal
de control, escribir un nombre para el diagrama, escoger la carpeta en que se grabará el
archivo y presionar el botón GUARDAR.
55
No se preocupe, AutoFlujo asigna automáticamente la extensión DFW al
diagrama recién grabado.
Ahora bien, si el diagrama ya tiene nombre y lo quiere grabar con
otro, borre el nombre actual y escriba el nuevo.
Ejemplos de nombres:
Válidos: peso, serie1, ejer17, mi tarea, a2006, salarios 8, mi primer diagrama
No válidos: 2ejer, p”@27, #%72lo-3, practica.juan
56
8.3. EJECUTANDO EL DIAGRAMA
El diagrama ya ha sido diseñado, por lo tanto, podemos ejecutarlo para entender
su
funcionamiento. Para ejecutar el diagrama, tiene a su disposición tres modos: ejecutar todo,
proceso por proceso y ejecutar hasta. Cualquiera que sea la opción escogida,
AutoFlujo primero revisará la sintaxis de cada símbolo utilizado en el diagrama (fase de
compilación) ; si encuentra algún error, AutoFlujo se lo hará saber mediante un mensaje;
en cambio, si su diagrama ha sido bien diseñado y no tiene errores, AutoFlujo le preguntará
si desea ejecutar el diagrama:
Si continúa con la ejecución del diagrama, o sea, si usted presiona el botón SÍ, AutoFlujo
ejecutará el diagrama de flujo.
57
a b c
59
8.4 AUTOFLUJO Y EL MANEJO DE ERRORES
AutoFlujo controla errores en las tres fases de desarrollo de un diagrama de flujo:
diseño, compilación y ejecución.
60
9
GENERANDO CÓDIGO CON AUTOFLUJO
61
Como verá, la ventana de generación de código de AutoFlujo posee cuatro
botones: GRABAR, para grabar el código generado; IMPRIMIR, para
imprimirlo; SELECCIONAR TODO, que permite seleccionar todo el
código generado; y COPIAR, que copia el código en el portapapeles de
Windows, para que luego usted lo pueda pegar en cualquier otro programa
(por ejemplo: Microsoft Word).
Las variables del programa generado deben ser declaradas en el lugar en que
aparece el mensaje: /*declare en esta parte todas las variables*/. En nuestro
programa ejemplo se debería escribir: int edad;
AutoFlujo genera automáticamente código para variables enteras en
Lenguaje C (int en Lenguaje C). Si cree conveniente cambiarlo o si las
operaciones que lleve a cabo el programa así lo exigen, puede hacerlo,
siempre y cuando tenga conocimientos de los demás tipos de datos que
soporta el C, así como de sus respectivos códigos de formato (%f, %c,
etc.). Por si no conoce, a continuación se detallan los tipos de datos
numéricos más usados del Lenguaje C y sus respectivos códigos de
6 formato.
Números Tipo de dato Código de formato
Enteros int %d
Enteros largos long float %ld
Real de simple precisión double %f
Real de doble precisión %lf
Para más detalles, consulte un manual de Turbo C
6
10
EJERCICIOS CON DIAGRAMAS DE FLUJO
Amigo lector, a continuación se detallan 57 diagramas de flujo debidamente
organizados. Puedo asegurarle que encontrará casi todos los ejercicios que son básicos e
indispensables durante el proceso de enseñanza-aprendizaje de programación de
computadoras. Entonces, sólo queda que comience a diseñar estos diagramas en AutoFlujo
para analizar y entender su funcionamiento. ¡Adelante y disfrute programando!
1. Hola mundo 3. Área de un triángulo
Diagrama equivalente en AutoFlujo Este diagrama calcula el área de un
al famoso primer programa escrito triángulo; para ello pide la introducción
en de
Lenguaje C. Este diagrama muestra por la base (b) y la altura (h), y aplica
pantalla el mensaje “Hola mundo”. la fórmula:
at = b * h
2
Variables utilizadas:
r : radio
pi : la constante PI
ac : área de la circunferencia
65
6
6. Dados cuatro números: sumar
el primero con el tercero,
multiplicar el segundo con el
cuarto y dividir después ambos
resultados.
Variables:
a : Primer número
b : Segundo número
c : Tercer número
d : Cuarto número
66
7. Determinar el promedio de calificaciones de un alumno
En este ejercicio de aplicación se piden tres calificaciones de un alumno; éstas se promedian y
se determina si el alumno aprobó o reprobó. Se asume 51 como nota mínima de aprobación.
Donde:
p1,p2,p3 : Son las notas parciales del alumno.
pr : Es el promedio final del alumno.
Por ejemplo:
14 2
Se debe utilizar el
operador módulo (%) 0 7
para obtener el residuo
de la división. Como el residuo es 0, el número 14 es par
6 6
9. Ordenar tres números en forma descendente
Con este diagrama los números (a,b,c) son ordenados en forma descendente, es decir,
de mayor a menor.
6 6
10. Día de la semana
Este diagrama pide la introducción de un número e indica qué día de la semana representa.
69
13. Introducir un número y determinar si es perfecto o no.
Un número es perfecto cuando la suma de todos sus divisores menores a él es igual al mismo
número. Por ejemplo, el seis es perfecto, dado que la suma de sus divisores es, también,
seis. Veamos: 1+2+3 = 6.
Donde:
n : Es el número introducido
c : Cuenta el número de iteraciones del ciclo repetitivo, desde 1
hasta el valor de n
7 7
15. Obtener el factorial de un número
El factorial de un número (n!) se obtiene multiplicando todos los dígitos de la serie, desde
uno
hasta el valor del número.
Ejemplo: 5! = 1 * 2 * 3 * 4 * 5 = 120
Variables utilizadas:
x : Número introducido
f : Para almacenar el factorial
w : Variable de control del
ciclo repetitivo automático.
Donde:
n : Es el número introducido
m : Variable auxiliar que
guarda una copia del valor de n
c : Cuenta la cantidad de dígitos
dig : Para obtener un dígito del número
7 7
17. Invertir un número
El algoritmo para invertir un número entero es el siguiente:
1. Leer el número
2. Obtener un dígito del número que se desea invertir mediante la operación DÍGITO=N
módulo 10 (d=d%10)
3. Acumular los dígitos e ir formando el número invertido mediante la expresión
INVERTIDO=INVERTIDO*10 + DÍGITO (s=s*10+d)
4. Obtener la parte entera de la división de N entre 10 ( n=int(n/10) )
5. Repetir el proceso desde el paso 2, mientras el número N sea distinto de 0
7 7
18. Generar los N primeros números pares
Este programa genera los N primeros números pares. Para tal efecto, se aplica la definición
algebraica de número par: i * 2
7 7
20. Serie fibonacci
En la serie fibonacci cada dígito es resultado de la suma de los dos dígitos precedentes. Por
ejemplo:
1 , 1 , 2 , 3 , 5 , 8 , 13
1+2 = 3
7
21. Eliminar los dígitos pares de un número
En este diagrama se eliminan los dígitos pares de un número cualquiera. Por ejemplo, si el
número leído es 98274, el resultado será 97.
7 75
22. Convertir un número decimal a su equivalente en cualquier base
Este diagrama convierte un número entero decimal a su equivalente en una base comprendida
entre 2 y 9. Para ello, se divide el número por la base sucesivamente hasta que sea 0; luego,
se forma el nuevo número con los residuos de las divisiones efectuadas.
13 2
(1) 6 2
(0) 3 2
(1) 1 2
Se toman los residuos en (1) 0
este sentido y se forma
el número.
76
23. Rota dígitos de un número hacia la derecha
Dado un número entero positivo N de más de
tres dígitos, se pide hacer rotar los dígitos de
N a la derecha k veces (k>0).
Por ejemplo:
Si N=927 y K=2
Resultado: N=792, N=279
77
24. Ordenar ascendentemente los dígitos de un número cualquiera
Este diagrama ordena los dígitos de un número cualquiera en forma ascendente. Por
ejemplo,
si el número introducido es 913487, el resultado será 134789.
7 7
25. Realizar un diagrama de flujo que utilice una función para obtener la potencia
de un número.
Este diagrama utiliza una función para calcular la potencia de un número. Para ello, envía
dos parámetros (b,e) a la función Potencia, los cuales son recibidos en las variables ba y ex;
luego,
la función calcula la potencia y devuelve el resultado (t), que es recibido en la variable p de
la función principal y mostrado posteriormente.
7 7
27. Variante del ejemplo anterior de
Randent
Este diagrama es una variante del ejemplo anterior, ya que se genera un valor
comprendido
entre uno y, exactamente, el parámetro de randent. Así, la instrucción:
n=randent(10)+1
generará números aleatorios comprendidos entre 1 y
10.
8 8
El diagrama producirá la siguiente salida de
resultados:
8 8
Observe la parte entera de
estos números.
Observe que random produce números reales, donde la parte entera de los mismos son
los números aleatorios comprendidos, como ya dijimos, entre 0 y el valor límite-1.
Por lo tanto, para generar números enteros aleatorios, hay que aplicar la notación:
int(random(n)); o sea, hay que extraer la parte entera de los números generados.
8 8
29. Un juego matemático simple
Este diagrama de flujo utiliza la función matemática randent, propia de AutoFlujo,
para
generar dos números aleatorios comprendidos entre 0 y 9. Luego, el programa pregunta
cuánto es el resultado de la multiplicación y verifica la respuesta del usuario.
8
31. Generar los números primos de dos cifras
8 83
33. Buscar un dato en un vector
Donde:
max : Es el número de elementos del vector.
dato : Es el dato a buscar en el vector.
ban : Es la variable bandera o interruptor, que inicialmente vale 0 y cambia a 1
cuando el dato es encontrado en el vector.
8
35. Generar una matriz X
En este ejercicio se cargan con 1 las posiciones de las diagonales principal y
secundaria de la matriz, y con 0 las restantes.
Ejemplo:
1 0 0 0 1
0 1 0 1 0
M= 0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
85
8
36. Cargar una matriz y obtener el promedio de los números primos que tenga.
86
EJEMPLOS DE DIAGRAMAS RECURSIVOS
En términos simples: una función es recursiva cuando se invoca a sí misma. A continuación se
incluyen dos ejemplos clásicos de problemas que se resuelven aplicando recursividad.
Si n=6, el diagrama mostrará como resultado 8, dado que es el sexto elemento de la serie.
¡GRACIAS!