Autoflujo 20 Manual

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 98

AutoFlujo 2.

0
Entorno gráfico de programación y automatización de diagramas de flujo

Este manual acompaña a la versión de distribución


gratuita de AutoFlujo 2.0 y sólo contiene lo esencial
para su manejo. Para disfrutar todas las capacidades
de AutoFlujo 2.0 y los capítulos completos de este
manual, ingrese a www.autoflujo.wordpress.com y
adquiera la versión oficial COMPLETA de
AutoFlujo 2.0.

Marco Veneros

1 1
AutoFlujo 2.0
En cumplimiento a lo dispuesto por la ley de Derechos de autor:

La obra AutoFlujo. Entorno gráfico de programación y automatización de


diagramas de flujo queda legalmente registrada en la Servicio Nacional de Propiedad
Intelectual (SENAPI) bajo resolución administrativa No. 1-669/2005 A favor del autor
Marco Antonio Veneros Limache quedando amparados los derechos conforme a ley.
El programa de computación (software) AutoFlujo queda legalmente registrado en el
Servicio Nacional de Propiedad Intelectual (SENAPI) bajo resolución administrativa No.
6-670/2005 a favor de su autor Marco Antonio Veneros Limache quedando amparados
sus derechos conforme a ley.
El programa de computación (software) AutoFlujo 2.0 queda legalmente registrado en el
Servicio Nacional de Propiedad Intelectual (SENAPI) bajo resolución administrativa No.
6-936/2014 a favor de su autor Marco Antonio Veneros Limache quedando
amparados sus derechos conforme a ley.

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.

DERECHOS RESERVADOS © 2005 – 2014

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

Depósito legal: 4-1-1562-05

Impreso en La Paz – Bolivia

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

Edgar Allan Poe (1809-1849), poeta y narrador


estadounidense.

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

Es interesante observar cómo la computadora se ha insertado en todas las actividades y


áreas del saber humano. Por experiencia propia recuerdo a universitarios de diversas carreras
y a futuros profesores de magisterio que requerían mis servicios para que les enseñara a
diseñar ejercicios básicos de programación de aplicaciones para computadora. Lo que sucedía
era que les estaban enseñando la materia de programación de computadoras y no entendían
lo que se les estaba instruyendo, lo cual resulta totalmente comprensible, pues realizar
programas para computadora, aunque no es difícil ni imposible, tampoco es algo sencillo de
asimilar de buenas a primeras.

También, de manera acertada se está incorporando la materia de computación, en especial


programación de computadoras, como parte del plan curricular de algunas escuelas y
colegios de nuestro país. Acertado desde el punto de vista de que esta materia mejora el
razonamiento y la agilidad mental de una persona. Sin embargo, para programar una
computadora es necesario aprender a estructurar la solución del problema planteado
mediante herramientas de diseño como son los algoritmos y los diagramas de flujo. Estos
últimos son, sin temor a equivocaciones, la principal herramienta para diseñar programas para
computadora.

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.

Posteriormente, y tratando de satisfacer todas las inquietudes y sugerencias de los primeros


usuarios, comencé a programar la segunda versión de AutoFlujo, versión desarrollada
específicamente para Windows.
6 6
AutoFlujo 2.0 se potenció con la inclusión de varias funciones matemáticas, capacidad de
modularización de programas, manejo de arreglos (vectores y matrices) y manejo de
funciones

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.

SOBRE ESTE LIBRO


Naturalmente éste ha sido escrito para brindar la mayor información posible de AutoFlujo,
pero
también es un auténtico manual de programación de computadoras, que lo introducirá en este
campo; le enseñará fundamentos de programación y manejo de estructuras de control;
además, contiene en la parte final 57 diagramas de flujo importantes e imprescindibles para la
práctica y aprendizaje de programación de computadoras.

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.

Expresión. Es una combinación de operadores, variables o números que producen un


resultado. En AutoFlujo se consideran expresiones:
 42 (un número)
 m (una variable)
 (i+23)*1971 (una operación)

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

Condición. En ésta participan dos expresiones separadas por un operador


relacional. Ejemplos:

1) a==b
2) b+2>76
3) m%2==0

Carácter (caracteres). Término utilizado en informática para generalizar el uso de letras,


números, signos ortográficos o numéricos u otros símbolos o códigos de control. En
consecuencia: cuando se dice carácter, se hace referencia a un número, letra o símbolo.

Tecla Enter. También conocida como Entrar o Intro (


)

Botón principal del mouse (ratón). Generalmente el botón izquierdo es el botón


principal.

Botón secundario del mouse (ratón). Usualmente es el botón


derecho.

Clic. Pulsación que se hace en alguno de los botones del


ratón.

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.

2.1. ESTRUCTURA DE CONTROL SECUENCIAL


Es una secuencia lineal de procesos, es decir, no existe en ningún momento ruptura de
control ni bifurcaciones.

Proceso1

Proceso2

Proceson

Ejemplo 2.1: Leer dos números y obtener la suma de ambos.

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.

2.2.1. Estructura condicional simple. Sólo


ejecuta procesos cuando la
condición
establecida es cumplida.

Ejemplo 2.2: Leer dos números y mostrar el mayor de ambos.

Inicio

a,b

May=a


b>May

No May=b

May

Fin

2.2.2. Estructura condicional de alternativa doble. En esta estructura, si se verifica la


condición, se ejecuta el proceso por verdadero (Sí); en el caso contrario, se ejecuta el proceso
por falso (No).
No Sí
Condición
Procesos Y Procesos X

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”

2.2.3. Estructura de alternativa múltiple. En esta estructura, en función del resultado


de una expresión, se ejecuta uno de varios procesos predeterminados.

Expresión

1 2 3 n Otro
Proceso1 Proceso2 Proceso3 Proceson Proceso por falso

Si en las opciones definidas no se encuentra el valor de la expresión, se ejecuta el


proceso determinado por la etiqueta Otro.

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

2.3. ESTRUCTURAS DE CONTROL REPETITIVAS


Estas estructuras repiten la ejecución de procesos en función del cumplimiento de la
condición establecida.

Por la ubicación de la condición de control, se pueden reconocer las estructuras mientras y


hacer-mientras. Además, se dispone de una variante automática de la estructura mientras: la
estructura for.

2.3.1. Estructura repetitiva Mientras (while). Funciona así: mientras se cumpla


o verifique la condición de control, ejecuta los procesos del ciclo repetitivo.

Condición
de control

Proceso(s)

No
11
Ejemplo 2.4: Realizar un diagrama que genere la serie numérica de 1 a 10.

Inicio

c=1

c <= 10

c=c+1

No

Fin

2.3.2. Estructura repetitiva Hacer-Mientras (do-while). Esta estructura ejecuta los


procesos del ciclo repetitivo mientras la condición de control sea verdadera.

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)


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


c<n

No
S

Fin

2.3.3. Estructura repetitiva for. Es un bucle repetitivo conocido también como


contador automático. Funciona sobre la base de una variable de control (vc) que, a partir de
un valor inicial (val_ini), puede incrementarse o decrementarse (incr|decr) según la operación
que se emplee. El límite del bucle está definido por una expresión.

vc = val_ini, límite, incr|decr


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.

Ejemplo 2.6: Generar la siguiente serie:


10,9,8,7,6,5,4,3,2,1,0
Donde:
Valor inicial=10 Inicio
Límite=0
Decremento= -1

x = 10, 0, -1


x

No

Fin

Ejemplo 2.7: Generar la siguiente serie: 0,1,2,3,4…….. n


Donde:
Valor inicial=0
Límite=n Inicio
Incremento= 1

q= 0, n, 1

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. TIPOS DE SUBPROGAMAS


En teoría se reconocen dos tipos: funciones y
procedimientos.

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.

3.2. USO DE FUNCIONES


Como ya se mencionó, para que una función pueda ejecutarse, necesita datos de
entrada, conocidos también como parámetros de entrada. Para entender mejor, analicemos el
siguiente
diagrama, que utiliza una función para calcular la sumatoria de un
número:
1 1
El valor de la variable num
es copiado a la variable n

La función devuelve el resultado,


que es asignado a la variable s.

Como verá, tenemos el diagrama principal y la función sumatoria. ¿Cómo funciona?


Primero , el módulo principal pide la introducción de un número (num) y luego cede el
control del programa a la función sumatoria, copiando el valor de num a la variable n de
dicha función. Luego, la función realiza todo el proceso para obtener la sumatoria del número
y devuelve este resultado (t), que es copiado a la variable s de la función principal. Después,
el resultado es mostrado y finaliza la ejecución del diagrama.

Veamos también los siguientes dos


ejemplos:

Ejemplo 2. Realizar un diagrama de flujo que calcule el factorial de un número


cualquiera.

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

4.1 ¿QUÉ ES AUTOFLUJO?


Es un programa para computadora (software) que sirve para diseñar un diagrama de
flujo,
demostrar cómo funciona y generar su correspondiente programa en C, C++, Java o
C#.

AutoFlujo automatiza las fases de diseño, ejecución e implementación de software, con lo


cual aprender a programar computadoras ya no tiene que ser una actividad teórica ni aburrida,
como lo es en la actualidad.

4.2. FASES DE DESARROLLO DE UN PROGRAMA EN AUTOFLUJO


El proceso de desarrollo de un programa en AutoFlujo se resume en: diseño, ejecución
e
implementación. Observe el siguiente esquema que detallas dichas
fases:

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

¿Simple, no es cierto? Así de fácil es diseñar un diagrama de flujo, ver y analizar


cómo funciona y, de paso, obtener su respectivo programa fuente en C, C++, Java o C#.

19
2 2
5

ELEMENTOS INTERNOS DE AUTOFLUJO


AutoFlujo ha sido diseñado para ser manejado de una forma fácil y sencilla. Por ejemplo, el
manejo de números es implícito, es decir, no es necesario definir tipos de datos como en
otros lenguajes; también, el diseño y notación de los diagramas de flujo es similar a lo
planteado al comienzo de este texto, en el capítulo dedicado a los diagramas de flujo,
con ligeras excepciones que en su momento se indicarán.

5.1. LAS VARIABLES EN AUTOFLUJO


Las variables son elementos cuyos valores pueden cambiar durante la ejecución de un
programa. Técnicamente, son posiciones de memoria que almacenan valores
correspondientes
a determinados tipos de dato. En AutoFlujo las variables sólo almacenan
números.

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

5.2. OPERADORES ARITMÉTICOS


Como cualquier otro lenguaje, AutoFlujo dispone de operadores para realizar operaciones
aritméticas básicas, así como otros para operaciones más avanzadas:

Operador Operación Prioridad Ejemplo


+ Suma 2 5+8=13
- Resta Multiplicación 2 3-2=1
* División real División 1 7*5=35
/ entera Módulo (resto) 1 5/2=2.5
\ Exponenciación 1 5\2=2
% 1 7%2=1
^ 1 2^3=8

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

4) m+1 <= t*3


Evalúa si el resultado de m+1 es menor o igual al resultado de t*3

5.4. OPERADORES LÓGICOS


AutoFlujo tiene dos operadores lógicos para realizar operaciones condicionales más complejas.

Operador Se lee Operación lógica Significado


& y Condición1 & condición2 Conjunción. El resultado es
verdadero si ambas condiciones
son verdaderas; es falso en el caso
contrario.
| o Condición1 | condición2 Disyunción. El resultado es
verdadero si alguna de las
condiciones es verdadera; es falso
cuando ambas son falsas.

Las operaciones lógicas se realizan según la siguiente tabla de verdad:

Condición1 Condición2 Condición1 & Condición2 Condición1 | Condición2


Verdadero Verdadero Verdadero Verdadero
Verdadero Falso Falso Verdadero
Falso Verdadero Falso Verdadero
Falso Falso Falso Falso
21
Ejemplos:

Expresión lógica Resultado


3 >=12 & 8 < 98 Falso
18%2 ==0 | 4 <2 Verdadero

En la conjunción para que el resultado sea verdadero, ambas condiciones


deben ser verdaderas. En cambio, en la disyunción basta que una condición
sea verdadera para que el resultado también lo sea.

5.5. NIVELES DE PRIORIDAD DE LOS OPERADORES


AutoFlujo reconoce cuatro niveles de prioridad para los operadores aritméticos y relacionales:

Operador Operación Prioridad


* Multiplicación 1
/ División real División entera Módulo 1
\ (resto) Exponenciación Suma 1
% Resta 1
^ Menor que 1
+ Mayor que 2
- Mayor o igual que Menor o igual que 2
< Diferente de Igualdad Conjunción (y) 3
> Disyunción (o) 3
>= 3
<= 3
!= 3
== 3
& 4
| 4

Por lo tanto, siempre tome en cuenta que las operaciones se llevan a cabo en orden
de prioridad.

Ejemplo: Si a=4, b=6 y c=12; evaluar la siguiente expresión:

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

Primero se realizan exponenciales y módulos; después, sumas y restas.

Ahora bien, si en una expresión se encuentran operadores de la misma prioridad,


las operaciones se llevan a cabo de izquierda a derecha.

Ejemplo: Sabiendo que q=7, r=9, w=4; evaluar:

q * r ^ 2 \ w

63 ^ 2 \ w

3969 \ w

992

Ejemplo: Suponiendo que j=3, k=4, m=8; evaluar la siguiente

expresión: J + k - m + 45

7 - m + 45

-1 + 45

44
Cuando tienen la misma prioridad, se evalúan de izquierda a derecha

Ejemplo: Si a=19 y b=34; evaluar la siguiente expresión:

a + b > 57

53 > 57

Primero se lleva a cabo la suma y luego la comparación. El resultado del ejemplo es


FALSO, porque 53 no es mayor a 57.
23
Ejemplo: Suponiendo que p=69, evaluar la siguiente expresión:

p % 2 == 1

1 == 1

El resultado de la expresión es VERDADERO, porque el módulo de la división de 69 entre 2 es


1; es decir, primero se opera el módulo y luego la igualdad.

Ejemplo: Suponiendo que x=40, q=23, p=38; evaluar la siguiente expresión:

x > q & p <= 51

40 > 23 & 38 <=51

V & V

El resultado es verdadero, dado que ambas condiciones también lo son.

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.

Ejemplo: Si b=3, n=8 y z=2, evaluar:

B * ( n - ( z + 45 ) + 3 )

B * ( n - ( 47 ) + 3 )

B * ( n - 47 + 3 )

B * ( - 39 + 3 )

B * ( - 36 )

-108

Ejemplo: Suponiendo que p=62, b=35 y c=35; evaluar:

(p>51 & b>=c) | (c>10)

(62>51 & 35>=35) | (35>10)

24
(V & V) | (V)

V|V

Como verá, en ambos ejemplos primero se llevaron a cabo las operaciones contenidas por
los paréntesis.

5.6. FUNCIONES MATEMÁTICAS


A diferencia de la primera versión, AutoFlujo 2.0 incorpora 18 funciones matemáticas:
Nombre Argumento(x) Operación
sqrt(x) Expresión numérica Obtiene la raíz cuadrada de un argumento positivo.
abs(x) Expresión numérica Obtiene el valor absoluto del argumento.
int(x) Expresión numérica Devuelve la parte entera de un número real.
round(x) Expresión numérica Redondea un número
random(x) Expresión numérica Devuelve un número aleatorio entre 0 y el valor de x-1.
randent(x) Expresión numérica Función propia de AutoFlujo que devuelve un número
aleatorio mayor o igual a 0 y menor que el argumento.
sin(x) Expresión numérica Devuelve el seno del argumento.
cos(x) Expresión numérica Devuelve el coseno del argumento. Devuelve
tan(x) Expresión numérica la tangente del argumento. Devuelve el arco
asin(x) Expresión numérica seno del argumento. Devuelve el arco coseno
acos(x) Expresión numérica del argumento. Devuelve el arco tangente del
atan(x) Expresión numérica argumento. Devuelve el seno hiperbólico del
sinh(x) Expresión numérica argumento.
cosh(x) Expresión numérica Devuelve el coseno hiperbólico del argumento.
tanh(x) Expresión numérica Devuelve la tangente hiperbólica del argumento.
exp(x) Expresión numérica x
Eleva e(2.71828…) a la potencia x (e )
log(x) Expresión numérica Proporciona el logaritmo natural (base e) del argumento.
log10(x) Expresión numérica Proporciona el logaritmo decimal (base 10) del
argumento.

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

Ejemplo 1: Para que la instrucción de AutoFlujo x=randent(6) funcione


en
C o C++, debe ser escrita:
x = int(random(6))
Genera un número aleatorio entero comprendido entre 0 y 5.

Ejemplo 2: Para que w=randent(6)+1 funcione en C o C++,


debe escribirse:
w= int(random(6))+ 1
Ahora se genera un valor entero aleatorio entre 1 y 6.

En Java es casi lo mismo, sólo que debe anteponerse el prefijo Math.


Por ejemplo:
w= int(Math.random(6))+ 1
En C# es totalmente diferente; le sugiero que revise un manual de C# para
la generación correcta de números aleatorios.

5.7. EL OPERADOR DE ASIGNACIÓN (=)


Sirve para almacenar el resultado de una expresión en una variable.

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.

6.1. INSTALANDO AUTOFLUJO


Para la instalación de AutoFlujo, debe seguir los siguientes pasos:

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

6.2. UTILIZANDO AUTOFLUJO


 Haga clic en el botón INICIO de Windows.
 Haga clic en la opción TODOS LOS PROGRAMAS.
 Haga clic en la opción AUTOFLUJO PARA WINDOWS
 Haga clic en la opción AUTOFLUJO 2.0
27
Una vez que usted inicie AutoFlujo aparecerá momentáneamente la siguiente pantalla con
información de contacto que puede utilizar para solicitar datos adicionales de este programa o
conocer otros disponibles, igual de interesantes.

6.2.1. INTERFAZ DE AUTOFLUJO


La interfaz de AutoFlujo está constituida por los siguientes
componentes:

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.

Terminal. Símbolo utilizado para indicar el inicio y el final de un diagrama


de flujo. En este símbolo sólo se puede escribir INICIO, FIN, RETORNAR o
la declaración de una función.

Proceso. En este símbolo se anotan operaciones. Como se mencionó en


Terminología Básica, un proceso está compuesto por una variable, el operador
de asignación y una expresión. La instrucción no debe contener espacios en
blanco.

m=b*(6.5+x)

variable asignación expresión

Ejemplos:
1) edad=18
2) a=(b*h)/2
3) x=y

Además, en AutoFlujo 2.0 este símbolo se utiliza para la declaración


de arreglos (vectores y matrices):

vec[10]

nombre del arreglo longitud

mat[5][3]

nombre del arreglo filas columnas

Ciclo repetitivo automático. Realiza un número determinado de ciclos


repetitivos. Ya se dijo: un ciclo repetitivo funciona sobre la base de
tres componentes: variable de control, límite, incremento o decremento.
Ejemplo 1:
Valor inicial

C=0 ,10 ,1

Variable de control Límite Incremento


29
2
La variable de control C tomará valores desde 0 hasta 10, con incrementos
de uno en uno.
Ejemplo 2:
Valor inicial

x=10, 1,-1

Variable de control Límite Decremento

La variable de control x tomará valores desde 10 hasta 1, con decrementos


de uno en uno.

Condición. Evalúa una determinada condición o pregunta para tomar una


decisión.

Lectura de datos por teclado. Se utiliza para la introducción de datos por


teclado.

Lectura de datos. Este símbolo se utiliza para la introducción de datos sin


especificar el dispositivo que se utilizará.

Ciclo repetitivo controlado por condición. Utiliza una condición


cuyo cumplimiento determina la cantidad de ciclos o repeticiones
que se realizarán. A diferencia del ciclo repetitivo automático, el control
de ciclos e iteraciones de esta estructura es de entera responsabilidad del
programador.

Salida visual. Símbolo utilizado para mostrar la salida de datos o


resultados por pantalla.

Salida impresa. Indica que los datos o resultados saldrán por


papel.

Conector de flujo. Utilizado en AutoFlujo para establecer la conexión o


reagrupación de líneas de flujo.

Alternativa múltiple. Símbolo utilizado en AutoFlujo para implementar la


estructura de alternativa múltiple; en ésta, en función del resultado de la
expresión establecida en este objeto, se ejecuta uno de varios procesos
predeterminados.

3
b. BARRA DE OPERACIÓN
Contiene las opciones más utilizadas para diseñar diagramas de flujo.

Modo Selección. Utilice este modo para seleccionar, mover o redimensionar


los símbolos de un diagrama de flujo.

Modo Conexión. Sirve para conectar los símbolos de un diagrama de flujo.


Mostrar guías. Muestra guías verticales y horizontales para diseñar en forma
más precisa un diagrama de flujo.

Mostrar división. AutoFlujo tiene un espacio equivalente a dos hojas tamaño


oficio para el diseño de diagramas de flujo. Esta opción muestra la división entre
ambas
para efectos de impresión.

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:

Nuevo. Presione este botón para comenzar un nuevo diagrama de flujo.

Grabar. Utilice esta opción para grabar su diagrama de flujo.

Abrir. Presione este botón para recuperar archivos grabados

Imprimir. Utilice este botón para imprimir su diagrama de flujo.


Vista preliminar. Presione este botón para ver cómo se imprimirá
su diagrama de flujo.

Información. Utilice este botón para conocer información de contacto de de


AutoFlujo.

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.

Ejecutar hasta. Este botón ejecuta el diagrama hasta el objeto seleccionado.


Generar código. Presione este botón para generar el programa o código
fuente en Turbo C, C++, Java o C# correspondiente a su diagrama de flujo.

Ayuda. Esta opción enlaza directamente con el manual electrónico de


AutoFlujo, que contiene la información completa del manejo del programa,
fundamentos y ejercicios de programación de computadoras.
Si desea buscar algún tema específico, ubíquese en la caja de texto
BUSCAR, escriba el tema o palabra a buscar y presione la tecla Enter:

Escriba aquí la palabra a


buscar y presione Enter.

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 fondo. Presione este botón para cambiar el color de fondo de la


pizarra.

Color de dibujo. Utilice esta opción para cambiar el color de dibujo de la


pizarra.

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.

Ajustar preferencias, además, posee los siguientes


botones:

Cancelar. Presione este botón para cancelar los cambios


efectuados.

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.

Predeterminar. Presione este botón para que AutoFlujo registre y


utilice posteriormente como predeterminados los valores modificados.

Recuperar valores por defecto. AutoFlujo tiene una configuración inicial


de funcionamiento. Presione este botón para recuperar dichos valores.

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.

7.1. DIBUJANDO LOS SÍMBOLOS


Ubíquese sobre el símbolo y arrástrelo hasta la
pizarra.

Como en cualquier otro programa, para borrar un objeto en AutoFlujo,


sólo se debe presionar la tecla SUPRIMIR.

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.

Luego, ajuste el ancho del símbolo de acuerdo a su contenido.

Los símbolos de AutoFlujo soportan como máximo 60 caracteres.

7.3. USO DEL SÍMBOLO TERMINAL


Utilice este símbolo para comenzar y terminar el diagrama principal o las funciones
(subprogramas) que tenga el mismo. Su contenido sólo puede ser INICIO, FIN, la
declaración de una función o RETORNAR.

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.

Generalmente los programas tienden a crecer y a hacerse complejos; la única forma de


organizarlos y hacerlos entendibles y fáciles de mantener es con la utilización y aplicación de
funciones.

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:

Para la devolución de valores, se debe escribir la palabra RETORNAR y, si fuera el caso,


entre paréntesis la variable o número que devuelve 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.

Utilice comas para separar más variables y no deje espacios en blanco.

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.

7.5.1. DECLARACIÓN DE ARREGLOS


Este símbolo también se utiliza para la declaración de arreglos (vectores o matrices).

Se declara un vector llamado X de cinco posiciones

Veamos más ejemplos de declaración de arreglos en AutoFlujo:

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.

Tome en cuenta que en AutoFlujo la longitud máxima para arreglos es de


200 posiciones.

7.6. SALIDA DE DATOS


Para la salida de datos puede utilizar el símbolo que identifica a la pantalla o el que identifica
a
la impresora.

Salida impresa (por papel) Salida por pantalla

Ejemplos de instrucciones de salida:

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.

No se olvide separar con comas los componentes de una salida compuesta


(cadenas y variables).
Recuerde siempre: las cadenas de texto en AutoFlujo sólo soportan
LETRAS (no acentuadas ni eñes), ESPACIOS EN BLANCO y
DOS PUNTOS.

7.7. ESCRITURA DE CONDICIONES


Ya sabe: una condición está compuesta por dos expresiones separadas por un
operador relacional.

Condición Condición de ciclo repetitivo

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

3) s+1 <= n-1


Pregunta si el resultado de s+1 es menor o igual a n-1

4) p>q&q>r
Evalúa si p es mayor a q y q es mayor a r

El formato de escritura de condiciones es el mismo para


estructuras condicionales y ciclos repetitivos controlados por
condición.

7.8. USO DEL CICLO REPETITIVO AUTOMÁTICO


Como se mencionó anteriormente, un ciclo repetitivo automático funciona mediante
una
variable de control, que toma un valor inicial; un límite del ciclo repetitivo, constituido por
una expresión, y una expresión que define la cantidad de incremento o decremento del ciclo.

Ciclo repetitivo automático

Ejemplos:

1) i=0,n,1

La variable i tomará valores desde 0 hasta el valor de n con incrementos de 1 en 1.

2) q=10,1,-1

El ciclo comenzará desde 10 hasta 1 con decrementos de 1 en 1.

3) w=1,z-1,2

La variable w tomará valores desde 1 hasta el resultado de z-1 con incrementos de 2 en 2.


4
44
Nunca lo olvide: utilice un valor negativo para decrementos y uno
positivo para incrementos.

7.9. USO DEL CONECTOR DE FLUJO


En teoría, siempre se debería utilizar este símbolo para conectar dos líneas de flujo, aunque en
la práctica no se lo suele hacer. En AutoFlujo es obligatorio usar este símbolo. Tome
en cuenta las siguientes consideraciones para su utilización:

 En estructuras condicionales no se anota nada:

No tiene contenido

 Debe anotar la letra R para la estructura repetitiva mientras y el ciclo


repetitivo automático for:

4
Para la estructura FOR, debe escribir R dentro del conector

El conector debe tener R para la estructura repetitiva MIENTRAS

46 4
 Debe escribir la letra D para la estructura repetitiva Hacer-mientras.

7.10. TRAZADO DE LÍNEAS DE FLUJO


Tome en cuenta: siempre dibuje primero los símbolos que utilizará su diagrama de
flujo. Para conectar los símbolos, primero active el modo Conexión de líneas:

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.

Eso sí: trace las líneas respetando la forma de la estructura


de control que esté utilizando.

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.

Utilice los botones de alineación para acomodar el texto de un símbolo o


de una línea. En ambos casos, debe seleccionar primero el
elemento haciendo clic sobre él y utilizar dichos botones para mover las
etiquetas de las líneas.

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

DISEÑO Y PRUEBA DE UN DIAGRAMA DE FLUJO


Bueno, una vez conocidos todos los símbolos, propiedades y otras características de
AutoFlujo… ¡estamos en condiciones de poder diseñar un diagrama y ejecutarlo para ver
cómo funciona!

8.1. DISEÑO DEL DIAGRAMA DE FLUJO


Aunque usted puede diseñar el diagrama en el orden y de la forma que sea más de su agrado,
tome en cuenta lo siguiente:

Dibuje todos los símbolos que tendrá su diagrama con sus respectivos contenidos.

Conecte los símbolos en orden, de principio a fin.


51
En caso de condiciones, ciclos repetitivos y conectores de flujo, trace primero la
línea que continúa el flujo por verdadero (sí).

Primero, esta
línea.

52
Después, la línea de flujo por falso (no).

Si el texto de la línea no está bien ubicado, seleccione la línea y acomode el texto


con las herramientas de alineación.

Seleccione la
línea haciendo
clic sobre ella.

53
… y utilice esta
herramienta para
acomodar el texto.
Arriba

Izquierda Derecha

Abajo

Termine de diseñar el diagrama:

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.

8.2.1. ACERCA DE LOS NOMBRES DE ARCHIVOS


Los nombres de archivos siempre deben comenzar con una letra; después pueden ser letras
o números; nunca utilice símbolos extraños, comas ni puntos porque crean conflictos al
sistema
operativo.

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.

8.3.1. LA BARRA DE EJECUCIÓN


Esta barra sólo aparece cuando se está ejecutando y probando un diagrama de flujo. Consta
de las siguientes partes:

57
a b c

a) Panel de descripción del símbolo


Identifica el símbolo y describe la operación que se realiza.
b) Panel de ejecución
En este panel se llevará a cabo la operación inherente al símbolo activado.
Por ejemplo: si es pantalla, mostrará resultados; si es teclado,
permitirá la
introducción de datos para las variables; si es condición, mostrará los
valores que se comparan, y así sucesivamente.
c) Panel de control de ejecución y seguimiento
Sirve para controlar la ejecución del diagrama, así como para realizar un análisis
y seguimiento minucioso del mismo. Posee las siguientes opciones:

Presione este botón para ejecutar el diagrama proceso por

proceso. Presione este botón para ejecutar todo el diagrama de una


vez.

Presione este botón para detener la ejecución del diagrama.


58
Prueba de escritorio. Sirve para hacer un seguimiento del
comportamiento interno de los elementos del programa, vale decir:
variables y arreglos. Posee las siguientes fichas:

Variables. Muestra el comportamiento de las variables del


programa.

Arreglos. Muestra gráficamente los vectores o matrices que


maneje un diagrama de flujo.

Ejemplo de un vector de cuatro


posiciones:

Ejemplo de una matriz de dos filas y tres


columnas:

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.

8.4.1. Errores en tiempo de diseño


En esta fase AutoFlujo controla el número de flujos que pueden entrar o salir de un
símbolo. Si en algún momento una línea de flujo provoca un error, AutoFlujo se lo hará
saber mediante
un mensaje

8.4.2. Errores en tiempo de compilación


En esta fase AutoFlujo verifica la sintaxis, en otras palabras, el contenido de cada símbolo del
diagrama de flujo. Si encuentra algún error, AutoFlujo le mostrará un mensaje indicando
el error y la posición en que se localiza.

8.4.3. Errores en tiempo de ejecución


En esta fase AutoFlujo controla las variables del diagrama. Cuando AutoFlujo detecta que
una variable no tiene valor o, lo que es lo mismo, que no fue inicializada, muestra el
mensaje
“Variable no tiene valor” y detiene la ejecución del diagrama.

60
9
GENERANDO CÓDIGO CON AUTOFLUJO

Seguramente usted, amigo lector, hasta el momento ha llegado a la conclusión de que


AutoFlujo es una herramienta de ayuda para el diseño de diagramas de flujo. Sin embargo
hay más: AutoFlujo también tiene la capacidad de poderlo ayudar en la tercera fase de
desarrollo, o sea en la fase de implementación. Sin duda esta característica lo sorprenderá
gratamente, pues AutoFlujo puede generar el programa en Lenguaje C, C++, Java o C#
correspondiente al diagrama diseñado.

9.1. PASOS PARA LA GENERACIÓN DE CÓDIGO


Para generar código en AutoFlujo, siga cuidadosamente los siguientes
pasos:

Compruebe que su diagrama ha sido correctamente diseñado y que cumple


su cometido; en otras palabras: que funcione bien.
Grabe su diagrama de flujo antes de generar el
código.
Si ya realizó los pasos anteriores, presione el botón GENERAR CÓDIGO
del panel principal de control. A continuación, AutoFlujo le
mostrará la siguiente pantalla:

Ahora, sólo resta que usted escoja el lenguaje y presione el botón


GENERAR CÓDIGO. Una vez hecho esto, AutoFlujo mostrará la
siguiente pantalla con el código ya generado:

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

9.2. CONSIDERACIONES SOBRE LA GENERACIÓN DE CÓDIGO


AutoFlujo genera de manera exacta el código correspondiente a las estructuras de control
mencionadas anteriormente, vale decir: secuenciales, condicionales y repetitivas. Sin
embargo, hay que hacer notar las siguientes características:

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

Algunas operaciones indicadas de AutoFlujo se simplifican en los


lenguajes de programación. Tome en cuenta:
 El operador de parte entera. Para obtener la parte entera en los
lenguajes mencionados, sólo es necesario que la variable que
almacena el resultado sea de tipo entero (int).
 La división entera. Para obtener una división entera (sin decimales)
basta con declarar de tipo entero la variable que almacena
el
resultado, o declarar los dos operandos (dividendo y divisor) de
tipo entero (int).
 La función Randent de AutoFlujo debe ser reemplazada por
int(random(valor)) en C y C++; en Java y C# por
Math.int(Math.random(valor)) .

Por ejemplo, la expresión randent(6) de AutoFlujo debe ser


reemplazada por: int(random(6)) en C y C++; o
Math.int(Math.random(6)) en Java y C#.

 Reemplace las operaciones exponenciales de AutoFlujo


por expresiones del tipo pow(base,exponente) en C y C++; y
Math.pow(base,exponente) en Java y C#.

Por ejemplo, la expresión x ^ 3 de AutoFlujo debe ser


cambiada por: pow(x,3) en C, o Math.pow(x,3) en Java y C#.

UNAS PALABRAS FINALES


¿Qué le parece AutoFlujo? Espero que le haya gustado. Como verá, con su uso se
simplifica
enormemente el proceso de diseño de programas para computadora; éste ya no tiene que ser,
lo vuelvo a reiterar, una actividad teórica ni aburrida.

AutoFlujo es producto de muchos años de desarrollo y, téngalo por seguro, continuará


evolucionando. Para ello, sus comentarios, opiniones o críticas son valiosas; hágamelas
llegar a mi correo electrónico: marco.veneros@gmail.com; si gusta, al perfil de AutoFlujo en
Facebook o a mi cuenta de Twitter: @marcoVeneros, cuenta en la que publico periódicamente
novedades de mis proyectos, así como noticias de índole tecnológica.

6 ¡Buena suerte y continúe en el maravilloso mundo de la programación de computadoras!


63
CARACTERÍSTICAS TÉCNICAS
DE
AUTOFLUJO 2.0

 Tamaño del software : Aproximadamente 5 megabytes


 Procesador : Pentium III de 800 MHz como mínimo
 Espacio en disco duro : Mínimamente 100 megabytes
 Sistema operativo : Windows XP (SP3), Windows 7 o
Windows 8.1.
 Memoria mínima : 128 megabytes
 Pantalla (resolución mínima) : 800 x 600 píxeles

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

2. Suma de dos números


Este diagrama lee dos números, n1 y n2,
los suma y almacena el resultado en
la variable s.

4. Área de una circunferencia


En este ejemplo se calcula el área de
una circunferencia; se aplica la fórmula:
2
ac= *radio

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

5. Distancia entre dos puntos


El siguiente diagrama pide la
introducción
de las coordenadas de dos puntos (x1,y1;
x2,y2) y calcula la distancia (d) existente
entre ellos aplicando la siguiente fórmula:
2 2
d = (x1-x2) + (y1-y2)

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.

8. Determinar si un número leído es par, impar o cero


Para saber si un número es par o impar, se debe utilizar el operador módulo (%) para obtener el
residuo de la división del número entre 2. Si el residuo es 0, el número es par; caso
contrario, es impar.

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.

11. Generar los 10 primeros números naturales


Este diagrama genera la serie de 1 a 10.

12. Serie descendente


Este diagrama genera la serie: 10,8,6,4,2,0

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.

14. Generar los N primeros números


En este diagrama se genera la serie de los N primeros
números naturales.

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.

16. Mostrar y contar los dígitos de un número


Para descomponer un número, se debe dividir éste entre 10 sucesivamente hasta que sea 0 y
contar la cantidad de veces que el número se dividió.

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

Donde: i es un valor entero de 1, 2, 3, 4, .....

19. Generar los N primeros números impares


Este diagrama genera los N primeros números impares, aplicando la definición algebraica de
número impar: i * 2 +1

Donde: i es un valor entero de 0, 1, 2, 3, 4, .....

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.

Ejemplo: Convertir 13 a su equivalente en base 2:

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.

Resultado: El número 13 es igual a 1101 en base 2.

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.

26. Uso de la función Randent


Randent es una función matemática propia de AutoFlujo. Esta función genera un número
entero aleatorio comprendido entre 0 y valor límite-1. Randent fue diseñada para que
el
manejo de números aleatorios enteros sea fácil para usuarios sin experiencia en el campo de
la programación de computadoras.

El siguiente diagrama genera números aleatorios entre 0 y 9. Diseñe este diagrama,


ejecútelo, le recomiendo que lo haga con la opción EJECUTAR TODO, y utilice la opción
PRUEBA DE ESCRITORIO para ver los valores generados.

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.

28. Uso de la función Random para generar números enteros


aleatorios
Como ya se mencionó anteriormente, Randent es una función propia de AutoFlujo que
tiene
por objetivo facilitar la generación de números enteros aleatorios. Pero, ya en la práctica, los
lenguajes de programación, tales como: C y Java usan la función random para generar
números aleatorios comprendidos entre 0 y el valor límite-1. Veamos, diseñe y ejecute el
siguiente diagrama de flujo:

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.

Dicho lo anterior, el siguiente diagrama realiza lo mismo que el planteado en el


ejercicio anterior, pero se usa random para generar los números aleatorios.

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.

30. Realizar un diagrama que aplique el algoritmo de Euclides para obtener


el máximo común divisor (M.C.D.) de dos números.

8
31. Generar los números primos de dos cifras

32. Cargar un vector y mostrar su contenido

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.

34. Cargar una matriz y mostrar su contenido

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.

37. Diagrama de flujo recursivo que calcula el elemento enésimo de la serie


Fibonacci.

Por ejemplo, dada la serie Fibonacci: 1,1,2,3,5,8,13,21,34…

Si n=6, el diagrama mostrará como resultado 8, dado que es el sexto elemento de la serie.

Este manual acompaña a la versión de distribución


gratuita de AutoFlujo 2.0 y sólo contiene lo esencial
para su manejo. Para disfrutar todas las capacidades
de AutoFlujo 2.0 y los capítulos completos de este
manual, ingrese a www.autoflujo.wordpress.com y
adquiera la versión oficial COMPLETA de
AutoFlujo 2.0.

¡GRACIAS!

También podría gustarte