You are on page 1of 105

AutoFlujo 2.

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

Marco Veneros

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.

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: 2866294
Celular: 70676646

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

Impreso en La Paz – Bolivia

2
“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.

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

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
recursivas; también, se mejoró la interfaz gráfica de usuario y se simplificó el proceso de
4
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

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

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!
6
7
1

LA PROGRAMACIÓN DE COMPUTADORAS
Programar computadoras es, por experiencia propia, una actividad fascinante, ya que, a
diferencia de otras, en ésta se trabaja con un elemento intangible e invisible, pero existente y
muy importante en la actualidad: la información. Tal es la esencia y naturaleza de la
programación de computadoras: procesar información para solucionar un problema.

¿Desea ingresar a este fascinante mundo? Si es así, primero debe conocer y dar los pasos
iniciales.

1.1. RESOLUCIÓN DE PROBLEMAS CON AYUDA DE LA COMPUTADORA


Para resolver problemas con la computadora, es necesario llevar a cabo tres fases importantes:
análisis, diseño e implementación.

a) Análisis. En esta fase se estudia y analiza en detalle el problema planteado para


encontrarle una solución.

¿Cómo lo
resuelvo?

Problema
planteado

Pensar mucho para encontrar la mejor solución

b) Diseño. Es la piedra angular del desarrollo de programas para computadora (software),


porque en esta fase se diseña la solución del problema planteado.

¡Ya sé!

Algoritmo
Herramienta o
de diseño diagrama de
flujo

Utilizar una herramienta de diseño para obtener el algoritmo o diagrama de flujo que resuelva el problema

8
Para la ejecución de esta fase, un programador puede aplicar alguna de las siguientes
herramientas:

b.1) Algoritmos. Consiste en detallar los pasos necesarios para solucionar un


problema.

Ejemplo 1.1. Diseñar un algoritmo para calcular el área de un triángulo.

1. Inicio
2. Introducir valores para Base y Altura
3. Dividir entre dos el resultado del producto de Base y Altura
4. Mostrar el resultado obtenido
5. Fin

El ejemplo anterior es un algoritmo lineal, dado que los procesos se ejecutan


secuencialmente, sin ruptura de control.

Sin embargo, los algoritmos pueden ser condicionales, es decir, en ellos puede cambiar el
orden de ejecución de los procesos, en función del cumplimiento o no de la condición
establecida.

Ejemplo 1.2: Determinar si una persona es mayor de edad o no, tomando en cuenta si
tiene por lo menos 18 años o más.

1. Inicio
2. Pedir la edad de la persona
3. ¿Tiene 18 años o más? Sí 4, No 5
4. Es mayor de edad
5. Es menor de edad
6. Fin

Analizando el paso 3 se determina: si la persona tiene 18 años o más, se ejecuta el paso 4;


si no, se realiza el paso 5.

Los algoritmos constituyen la herramienta más básica y elemental con la que cuenta un
programador.

b.2) Diagramas de flujo. En términos simples: un diagrama de flujo es la


representación gráfica de un algoritmo. Para tal efecto, se dispone de un conjunto de
símbolos estandarizados, de los cuales estos son los más utilizados:

Símbolo terminal. Se utiliza para indicar el inicio y el final de un


diagrama de flujo.

Lectura de datos por teclado.


9
Símbolo utilizado para realizar cualquier tipo de procesamiento.

Salida de datos por pantalla (*)

Evalúa una condición o pregunta.

Salida de datos impresa (*)

Ciclo repetitivo controlado por condición

Ciclo repetitivo automático

Líneas de flujo. Indican el flujo y recorrido de los datos de un


diagrama de flujo.

Conector de flujo. Sirve para conectar o reagrupar líneas de flujo.

Luego, con la ayuda de estos símbolos es posible graficar los algoritmos.

Ejemplo 1.3: Diagrama de flujo del ejemplo 1.1:

Donde: b es la base, h la altura y a el área

Inicio

b,h

a=(b*h)/2

Fin

(*) Aunque ambos símbolos pueden utilizarse para desplegar datos, en este manual se utilizó el símbolo de
impresión para evitar cualquier confusión entre el símbolo de la pantalla y el del ciclo repetitivo controlado por
condición.

10
Ejemplo 1.4: Diagrama de flujo del ejemplo 1.2:
Inicio

edad

No Sí
edad >= 18

“Es menor” “Es mayor”

Fin

b.2.1) Prueba de escritorio. Es el proceso mediante el cual se prueba y analiza el


funcionamiento de un diagrama de flujo. En la práctica, es una tabla en la que se anotan
todas las variables del diagrama y se van registrando los valores que van tomando éstas
durante la ejecución del mismo.

Ejemplo 1.5: Prueba de escritorio perteneciente al diagrama de flujo del ejemplo 1.3 con
4 y 7 como valores de entrada.

b h a Resultado
4 7 14 14

Ejemplo 1.6: Dos ejecuciones pertenecientes al diagrama de flujo del ejemplo 1.4

edad Salida
7 Es menor
48 Es mayor

c) Implementación. En esta fase se procede a programar, mediante un lenguaje de


programación, el algoritmo o diagrama de flujo diseñado.

Algoritmo
o Programa
Diagrama de (Software)
flujo

Programar el algoritmo o diagrama con un lenguaje de programación

11
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
12
2.2. ESTRUCTURA DE CONTROL CONDICIONAL
Esta estructura evalúa una condición y luego,
en función del cumplimiento o no de ésta,
Sí ejecuta uno o más procesos.
Condición
Una estructura condicional puede ser simple
No Proceso(s) 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

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

14
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
15
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

16 No
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
17
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

18
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:

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

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

21
3
CONOCIENDO AUTOFLUJO 2.0

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

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

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

23
3
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.

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

3.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 2 3-2=1
* Multiplicación 1 7*5=35
/ División real 1 5/2=2.5
\ División entera 1 5\2=2
% Módulo (resto) 1 7%2=1
^ Exponenciación 1 2^3=8

24
3.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

3.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
25
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.

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

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

28
(V & V) | (V)

V|V

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

3.6. FUNCIONES MATEMÁTICAS


A diferencia de la primera versión, AutoFlujo 2.0 incorpora 17 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.
tan(x) Expresión numérica Devuelve la tangente del argumento.
asin(x) Expresión numérica Devuelve el arco seno del argumento.
acos(x) Expresión numérica Devuelve el arco coseno del argumento.
atan(x) Expresión numérica Devuelve el arco tangente del argumento.
sinh(x) Expresión numérica Devuelve el seno hiperbólico del 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 Eleva e(2.71828…) a la potencia x (ex)
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.

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

3.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.
30
31
4
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.

4.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.
 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.
 Si le aparece un mensaje de error con el archivo ACROPDF.DLL,
presione el botón OMITIR.
 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.

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

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

4.2. INTERFAZ DE AUTOFLUJO


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

d
a

e f g h i
33
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


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

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

36
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:

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

38
VELOCIDAD
Utilice esta opción para regular la velocidad de ejecución del modo PROCESO POR
PROCESO.

39
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
40
5
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.

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

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

42
5.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.

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

43
5.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:

44
5.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.

45
5.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.

5.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]
46
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.

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

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

5.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
48
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.

5.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
49
La variable w tomará valores desde 1 hasta el resultado de z-1 con incrementos de 2 en 2.

Nunca lo olvide: utilice un valor negativo para decrementos y uno


positivo para incrementos.

5.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:

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

El conector debe tener R para la estructura repetitiva MIENTRAS

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

5.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:

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

53
5.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:

54
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:

Este tipo de líneas se presentan en las estructuras de control


repetitivas for, while y do-while.

55
6

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!

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


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

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

58
… 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:

59
6.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.

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

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

61
6.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.

6.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:

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

63
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:

64
6.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.

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

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

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

65
66
7
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.

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

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

7.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 formato.
68
Números Tipo de dato Código de formato
Enteros int %d
Enteros largos long %ld
Real de simple precisión float %f
Real de doble precisión double %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.

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


69
70
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.
 Memoria mínima : 128 megabytes
 Pantalla (resolución mínima) : 800 x 600 píxeles

71
8
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 al Este diagrama calcula el área de un
famoso primer programa escrito en triángulo; para ello pide la introducción de
Lenguaje C. Este diagrama muestra por la base (b) y la altura (h), y aplica la
pantalla el mensaje “Hola mundo”. 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:

ac= *radio2

Variables utilizadas:
r : radio
pi : la constante PI
ac : área de la circunferencia
72
6. Convertir un monto expresado
en bolivianos a dólares.
En este ejercicio se pide la introducción de
una cantidad en bolivianos (bs) y la
cotización actual del dólar (cot), para
luego mostrar el equivalente en dólares.

Variables utilizadas:
Bs : Monto en bolivianos
Cot : Cotización actual del dólar
Dol : Cantidad expresada en dólares

5. Convertir un monto en dólares


a bolivianos
En este ejercicio se pide la introducción de
una cantidad en dólares (dol) y la
cotización actual del dólar (cot), para
luego multiplicar ambos valores y obtener
el equivalente en bolivianos.
7. Calcular el precio de venta de
un producto
Se pide la introducción del precio de costo
de un producto (pc), expresado en dólares,
y la cotización actual del dólar (cot), para
luego convertir este precio a su equivalente
en bolivianos (cb) y determinar un
incremento del 30%; ambos resultados
determinarán a qué precio se debe vender
el producto (pvb).

Variables:
pcd : Precio costo en dólares
cot : Cotización actual del dólar
cb : Precio costo en bolivianos
inc : 30% del costo en bolivianos
pvb : Precio venta en bolivianos

73
10. Dados cuatro números: sumar
el primero con el tercero,
multiplicar el segundo con el
cuarto y dividir después ambos
8. Distancia entre dos puntos resultados.
El siguiente diagrama pide la introducción
de las coordenadas de dos puntos (x1,y1; Variables:
x2,y2) y calcula la distancia (d) existente
a : Primer número
entre ellos aplicando la siguiente fórmula: b : Segundo número
c : Tercer número
d= (x1-x2)2 + (y1-y2)2 d : Cuarto número

9. Sumar dos números sin utilizar


el signo más.
Se suman dos números (e,r) aplicando la
regla de signos de la multiplicación.

74
11. Convertir grados Fahrenheit a Celsius.
Para realizar esta conversión aplicamos la fórmula:

C = 5 (F-32)
9

Donde:
C : Grados celcius
F : Grados fahrenheit

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

75
13. 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

76
14. Leer dos números y determinar el mayor de ellos o si son iguales
Para realizar este ejercicio sólo hay que comparar los valores de ambos números (a,b).

15. Determinar el mayor de tres números


Para determinar el mayor de tres números leídos (x,y,z), sólo se deben realizar comparaciones
entre ellos.

77
16. 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.

17. Día de la semana


Este diagrama pide la introducción de un número e indica qué día de la semana representa.

78
18. Realizar un diagrama para la resolución de ecuaciones de segundo grado
aplicando la fórmula general.
Para resolver una ecuación de segundo grado
mediante la fórmula general, primero se debe saber
cuál es el valor del discriminante (d) dado por la
expresión b2-4ac. La naturaleza de las soluciones
depende de este resultado.

Para:
d=0 raíces dobles iguales
d>0 raíces dobles distintas y reales
d<0 raíces imaginarias

19. Generar los 10 primeros números naturales


Este diagrama genera la serie de 1 a 10.

79
20. Serie descendente
Este diagrama genera la serie: 10,8,6,4,2,0

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

80
22. 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

23. Determinar si un número introducido es primo


Número primo es aquel que sólo es divisible por la unidad y
por sí mismo. Por ejemplo, el 5 es primo, porque en la serie de
uno a cinco es divisible sólo por 1 y por 5.

Variables utilizadas:
n : Es el número introducido por
teclado
c : Cuenta el número de
iteraciones
del ciclo repetitivo
cd : Cuenta las divisiones
efectuadas

81
24. 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.

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

82
26. 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

83
27. 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, .....

28. 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, .....

84
29. 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

85
30. 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.

86
31. 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.

87
32. 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

88
33. 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.

89
34. 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.

35. Diagrama de flujo que utiliza una función para calcular el factorial de un
número.

90
36. Calcular el mínimo común múltipo (m.c.m.) de dos números

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

91
38. 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.

39. 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:

El diagrama producirá la siguiente salida de resultados:

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

93
40. 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.

94
41. Encuentra el número secreto
En este ejercicio la computadora genera un número aleatorio secreto, que el usuario debe tratar
de adivinar; para ello dispone de cinco oportunidades.
El programa funciona de la siguiente manera: primero, genera un número secreto (ns)
comprendido entre 1 y 100; luego, pide que el usuario introduzca un número (nu) y verifica si
éste es igual al número secreto; si es igual, el juego termina, si no, indica si el número secreto
es mayor o menor que el número introducido.

95
42. Realizar un diagrama que aplique el algoritmo de Euclides para obtener el
máximo común divisor (M.C.D.) de dos números.

43. Diagrama que utiliza una función para contar los dígitos de un número
cualquiera.

96
44. Multiplicar tres números mediante sumas

45. Serie de factoriales


En este ejercicio se obtiene la suma de los factoriales de cada digito de una serie de n términos.

Por ejemplo, para n=3:


s= 1! + 2! + 3!
S=9

Dado que:
1!= 1
2!= 1*2=2
3!=1*2*3=6

El resultado de la suma de los tres factoriales


es: 9

97
46. Generar los números primos de dos cifras

47. Cargar un vector y mostrar su contenido

98
48. Cargar un vector, sumar sus elementos y obtener el promedio de los mismos

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

99
50. Ordenar en forma ascendente los elementos de un vector
Ejemplo: dado el siguiente vector de cuatro posiciones (n=4): V(6,9,8,5)

Se obtendrá: V(5,6,8,9)

51. Cargar una matriz y mostrar su contenido

100
52. 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

101
53. Dada una matriz cuadrada, obtener la suma de los elementos de la diagonal
principal y el producto de los de la diagonal secundaria.

102
54. Suma de dos matrices

103
55. Cargar una matriz y obtener el promedio de los números primos que tenga.

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

56. Obtener el factorial de un número recursivamente

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

105

You might also like