Está en la página 1de 74

CAPITULO 1

INTRODUCCION

Las maquinas o computadoras no tienen inteligencia propia, por lo que no


pueden resolver problemas sin la intervención de un programador (o usuario). Es
justamente aquí, donde interviene el programador que utiliza la potencia de un
determinado lenguaje para desarrollar métodos adecuados en la solución de
problemas específicos.

Para que una computadora pueda resolver un problema concreto, el


programador y no como muchos piensan (la computadora) debe diseñar un
método que lleve a la solución u obtención de resultados; ya que la computadora
simplemente lleva acabo paso a paso, la lista de instrucciones que el
programador formula con anterioridad mediante un algoritmo o diagrama de flujo.

1.1 ALGORITMO.

Un algoritmo es una lista paso por paso de las instrucciones que se han de
ejecutar en un orden especifico que conducirá a una solución de un tipo de
problema concreto.

En un algoritmo se utiliza seudo código para señalar el tipo de operaciones a


realizar.

Se llama seudo código a la combinación que utilizan frecuentemente los


programadores entre el lenguaje humano y un código de computadora al señalar
los diferentes pasos que debe seguir la computadora.

1.2 DIAGRAMA DE FLUJO.

Es una representación gráfica de la secuencia de pasos que debe realizar


una computadora; señalando específicamente a través de fórmulas (y no con
palabras como en un algoritmo) las operaciones necesarias a realizar.
El Mundo Perdido De Los Diagramas De Flujo

Para llevar acabo una tarea de programación es necesario seguir cuatro


etapas o pasos fundamentales (aunque se puede dividir en muchas más).
Las etapas a realizar son:

1. ENTENDER EL PROBLEMA.

Es muy importante entender el problema, ya que sí el programador no


comprende que es lo que se le solicita realizar, peor aun, no podrá enfocar o
diseñar de manera adecuada un algoritmo o diagrama de flujo.

En resumen, si no se comprende el problema, comenzar a diseñar un


programa es una completa perdida de tiempo.

2. DISEÑO DEL PROGRAMA.

Como cada persona tiene su propia forma de pensar, por tanto, un problema
también tendrá diferentes formas de ser resuelto.

Para diseñar un programa se debe en principio buscar un método sencillo,


preciso y lo mas corto posible que lleve a resolver un determinado problema,
ya que a partir del método seleccionado, se diseñará el correspondiente
algoritmo u diagrama de flujo.

3. CODIFICACION.

Traducir un algoritmo o diagrama de flujo en forma apropiada a un lenguaje


que entienda la computadora, se lo conoce como codificación.

En un principio los programas de computadora se escribían en lenguajes de


maquina. Sin embargo, hoy en día se puede realizar programación en
lenguajes de alto nivel como ser Turbo Pascal, BASIC, FORTRAN, etc.

En un lenguaje de alto Nivel sus instrucciones se expresan en forma parecida


a las frases del idioma común (usualmente en ingles).

4. PROBAR Y DEPURAR.

2
Introducción

El intentar hacer correr un programa, nos permite determinar los posibles


errores cometidos ya sea en sintaxis como en interpretación (obtener
resultados erróneos). Si existen errores de sintaxis en un determinado
proceso, se debe realizar la corrección del mismo y no su eliminación (caso
muy frecuente).

Cabe señalar que es muy importante diseñar un diagrama de flujo, ya que al


diseñar el mismo no solamente se traza un plan gráfico en sí mismo de las
instrucciones para la computadora, sino que también comunica dicho plan a
los demás.

1.3 SIMBOLOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.

A fin de eliminar posibles confusiones en la representación gráfica de los


diferentes procesos en el diseño de diagramas de flujo, el presente libro adopta
los siguientes símbolos:

INICIO O FIN.

Su función es la de indicar donde INIC IO

comienza un diagrama de flujo y donde


FIN
termina el mismo.

PROCESO.

Representa una función de proceso. FX=4*X^3 + 3*X


Dicho proceso puede ser de asignación o
calculo de alguna fórmula o función.

ENTRADA.

Este símbolo es muy útil para señalar las


variables que debe inicializar el usuario a
A,N,B
través del ingreso de datos por teclado. 3
El Mundo Perdido De Los Diagramas De Flujo

SALIDA POR PANTALLA.

Representa la salida por pantalla de las


variables o contenidos que son
solicitados. En forma general este A(F,C) , A, "B"
símbolo se utilizara para señalar
cualquier tipo de salida; ya sea numeral o
alfabética.

SALIDA A OTRO MEDIO.

Este símbolo es muy práctico cuando se


trata de enviar la información a otro
medio de salida que no sea la pantalla, D, F, A
por ejemplo: cinta magnética, impresora,
fax módem, etc.

LINEAS DE FLUJO.

Señalan el camino y secuencia en el que


van a ser realizados los distintos
procedimientos del programa.

CONECTORES DE FLUJO DE SECCION.

Nos permite realizar la conexión de dos


puntos muy separados en un diagrama F
de flujo. También es utilizado para
continuar el diagrama de flujo en otro F
sector de la misma pagina.

4
Introducción

CONECTORES DE PAGINA.

Es utilizado para la conexión de un


G
mismo diagrama de flujo que ocupa
más de una pagina. G

TOMA DE DECISION.

Señala el camino que tomara el flujo del


SI NO
programa al realizar una comparación C=D
lógica.

Este símbolo cuenta simplemente con dos salidas: una salida por SI y otra por
NO (aunque muchas personas desearían que también contara con el tal vez y el
quizás).

La salida por SI se ejecutara si la condición o afirmación que se indica se


cumple.

Por otro lado, se ejecutara la salida por NO, si la afirmación o condición que
se indica no se cumple.

TOMA DE DECISION MULTIPLE.

Realiza un análisis lógico entre una


determinada condición y los múltiples D
caminos posibles a seguir. Este símbolo c1 c2 .... cN
es mas conocido como sentencias CASE
(Tomas de decisión anidadas).

5
El Mundo Perdido De Los Diagramas De Flujo

CONTADOR AUTOMATICO.

Representa a una variable que tiene la


finalidad de irse incrementando o F=1- 6
decrementando automáticamente de uno
en uno hasta alcanzar un valor final. F

FUNCION O PROCEDIMIENTO.

Representa una opción de llamada a un


procedimiento o función (subprogramas),
indicando de ser necesario, una lista de SUMAR
los valores o variables a ser enviadas y A,B,C
en ocasiones las variables a ser
recepcionadas.

NOTA.- Cabe señalar que el conocimiento de cómo escribir diagramas de flujo no


implica el conocimiento de cómo programar.

A continuación se presenta un diagrama de flujo el mismo que si bien no tiene


una aplicación matemática como podría ser un diagrama para la obtención de las
raíces de una ecuación no lineal u otro problema. En el arte de la programación
el presente diagrama de flujo permitirá al estudiante observar la forma de cómo
se deben utilizar los diferentes símbolos ilustrados con anterioridad.

Para una mejor compresión del diagrama en la secuencia o utilización de los


respectivos símbolos, se realizará un seguimiento e interpretación de los
procesos realizados, así:

6
Introducción

INICIO

A=5

B=1

NO SI
B=A

B A

A=A-1

B=B+1 A=1
NO
SI
FIN

El símbolo de inicio muestra o señala el comienzo del diagrama de flujo y por


tanto del programa desarrollado.

De acuerdo a la línea de flujo, el siguiente paso a realizar se encuentra


expresada en el símbolo de proceso, el cuál indica que se debe asignar el
número 5 a la variable A (se denota como variable ya que en el transcurso del
programa se le asigna diferentes valores ).

Seguidamente, se advierte que una línea de flujo proveniente de la parte


inferior corta a la línea de flujo vertical. Este hecho señala que existe un
determinado sector o bloque del programa que debe ser repetido (bloque
delimitado por el cruce de las líneas de flujo y una toma de decisión).

7
El Mundo Perdido De Los Diagramas De Flujo

La repetición del respectivo bloque debe realizarse hasta cumplir alguna


condición lógica señalada en el símbolo de toma de decisión, condición que en el
presente ejemplo es hasta que la variable A alcance el valor de uno (bloque final
de toma de decisión).

El sector o bloque de repetición comprende de acuerdo al diagrama, un


símbolo de proceso en el cual se señala que se asignara el valor de 1 a la
variable B, una toma de decisión (toma de decisión debido a que las líneas de
flujo de la salida por SI y la salida por NO, se unen en un punto común) la cual
realiza la consulta lógica de: si el valor de B es igual al valor de A. Si la
respuesta resulta ser verdadera (salida por SI) se debe mostrar por pantalla el
valor que se encuentra almacenado en A, pero si la respuesta a la consulta es
falsa (salida por NO) se mostrara en pantalla el valor que tiene almacenado la
variable B.

Posteriormente se advertirá, que la línea de flujo señala al símbolo de toma


de decisión, símbolo que controla las repeticiones a realizarse. Este símbolo al
ser componente de una serie de repetición, cambia de nombre por sentencia
repetitiva.

Una forma de determinar si el respectivo símbolo de toma de decisión forma


parte de una sentencia de repetición es observar si la línea de flujo de la salida
por SI y la línea de flujo de la salida por NO nunca llega a unirse en un punto
común.

En el diagrama presentado, la línea de flujo de la salida por NO retorna a la


parte superior del diagrama, no sin antes de efectuar dos procesos: un proceso
de incremento en la variable B y un proceso de decremento de la variable A. El
ciclo de repetición concluye, como ya se ha mencionado, cuando la variable A
alcance el valor de uno.

Finalmente la línea de flujo en su salida por SI, nos lleva hasta el símbolo de
finalización, lo cual indica el final del respectivo diagrama de flujo.

1.4 RECOMENDACIONES.

Las siguientes recomendaciones son de gran utilidad en el diseño de


diagramas de flujo, las cuales se basan en los errores que casi siempre comete
un programador que se esta iniciando en el arte del diseño de diagramas de
flujo.

8
Introducción

CASO 1.

INCORRECTO CORRECTO

B=10 A B=10 ß
NO NO

R R
ß ß

R=N*B R=N*B

Si se utilizan conectores de sección, tanto el conector de salida como el


conector de entrada deben llevar el mismo nombre o símbolo.

CASO 2.

INCORRECTO CORRECTO

A=5 A=5

NO NO
B=A B=A
SI SI

B B
B=B+1 B=B+1

A=1 A=1
NO NO

Todas las líneas de flujo deben conectarse a algún sector del diagrama de
flujo, no pudiendo existir líneas de flujo sin destino.

9
El Mundo Perdido De Los Diagramas De Flujo

CASO 3.

INCORRECTO CORRECTO
NO NO
B=B+1 A=1 B=B+1 A=1

B B

SI SI

B=A B=A
NO NO

A=5 A=5

Las líneas de flujo nunca deben cruzarse una con otra ya que este hecho
ocasionara problemas en la legibilidad del diagrama como la imposibilidad de su
codificación.

CASO 4.

INCORRECTO CORRECTO
B=D B=D

SI SI
B=8-F A B=8-F A

NO NO

F=7 A F=7 A
NO NO
SI SI
D=D+INF D=D+INF
A A

B B

Puede existir uno o más conectores de salida con el mismo nombre, pero
todos ellos deben unirse para formar un solo conector de entrada.

10
Introducción

CASO 5.

INCORRECTO CORRECTO

B=D B=D

B=B+1 SI
B=8-F B=B+1

NO
SI
F=F+1 F=7
F=F+1 SI F=7
NO
NO

D=D+INF
D=D+INF

B B

No puede existir una división de una línea de flujo sin la intervención de un


símbolo de toma de decisión.

11
El Mundo Perdido De Los Diagramas De Flujo

12
Introducción

13
CAPITULO 2

DIAGRAMAS DE FLUJO

Los diagramas de flujo que se presentan en esta sección no tienen otra


finalidad más que ayudar al lector, a practicar e incentivar a diseñar sus propios
diagramas de flujo, realizando en cada ejemplo una interpretación de los
problemas planteados y su posterior análisis, a partir del cual se busca una
forma de resolución.

Cabe señalar que todos los diagramas de flujo diseñados en el presente


texto, no son de ninguna manera las únicas formas o maneras de resolver los
respectivos problemas, ya que, como cada persona posee su propia forma de
razonar y analizar un determinado problema, por tanto, existirá la misma
cantidad de diagramas de flujo que conlleven a una solución.

El grado de dificultad que presentan los diferentes problemas se va


incrementando a medida que se aumenta el número del ejemplo. Para cada
problema se realiza un análisis, que en muchos casos es bastante detallado,
esto en el afán de poder interpretar con mayor facilidad la lógica empleada en el
diseño de los diferentes diagramas de flujo y además para determinar y orientar
el por qué de la utilización de algunas variables.

De igual forma, el análisis que se realiza es menos riguroso a medida que se


incrementa el número del problema a resolver, esto se debe principalmente a
que como el lector cada vez amplía más sus conocimientos en la manera de
analizar, interpretar y diseñar un diagrama de flujo, no es necesario repetir algo
que con anterioridad ya se habría analizado, o que se tratase de algo trivial.

Finalmente, cabe recalcar que todos los problemas tienen por objeto
incentivar y enseñar al lector a utilizar su propia lógica, para lo cual en principio
se pretende impulsar al lector a determinar la lógica inmersa en cada diagrama
diseñado y en segundo caso, a poder generar su propio análisis y por ende a
crear sus propios diagramas de flujo.
Diagramas De Flujo

EJEMPLO N° 1

DISEÑAR UN DIAGRAMA DE FLUJO QUE PERMITA


MULTIPLICAR LOS NÚMEROS ENTEROS 5 Y 8.

ANALISIS.

El programa solicitado, debe multiplicar dos números conocidos (5 y 8), por


tanto, se necesitará declarar una sola variable en la cual se almacenará el
resultado de dicha operación, así:

R=5*8

Una vez realizada la operación de multiplicación, es lógico y necesario


mostrar el respectivo resultado por lo que se deberá utilizar necesariamente el
símbolo de salida por pantalla.

VARIABLES A UTILIZAR

R : VARIABLE DE ALMACENAMIENTO.

DIAGRAMA DE FLUJO

INICIO

R=5*8

FIN

15
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 2

TRAZAR UN PROGRAMA PARA OBTENER EL RESULTADO DE


LA MULTIPLICACION DEL NÚMERO 5 Y OTRO NÚMERO
INTRODUCIDO POR TECLADO.

ANALISIS.

El diagrama a desarrollar es relativamente el mismo que el anterior, con la


diferencia que previamente de realizar la operación de multiplicación, el
programa debe solicitar al usuario la introducción de un número por teclado, este
hecho ocasiona que el programa necesite de dos variables:

- Una variable para almacenar el dato introducido por teclado.


- Una segunda variable para almacenar el resultado de la operación de la
multiplicación.

VARIABLES A UTILIZAR

N : VARIABLE QUE ALMACENARA EL DATO INTRODUCIDO POR TECLADO.


R : VARIABLE DE ALMACENAMIENTO DEL RESULTADO.

DIAGRAMA DE FLUJO

16
Diagramas De Flujo

INICIO

R = 5*A

FIN

EJEMPLO N° 3

DISEÑAR UN PROGRAMA QUE PUEDA MULTIPLICAR DOS


NÚMEROS CUALESQUIERA.

ANALISIS.

Para el análisis del programa, asúmase los números a multiplicar 5 y 8, por


tanto se tiene:
5 x 8 = 40

Como los números que se utilizaron son un ejemplo muy particular: sea A una
variable que represente al número 5 u otro número, y B la variable que
represente al número 8 u otro valor, por tanto, la operación en forma general
será:
R=A *B

Por otro lado, del análisis se puede determinar que serán necesarias tres
variables fundamentales; una variable que se encargue de almacenar el valor o
resultado de la operación de la multiplicación y dos variable que almacenen los
números a introducir A y B.

17
El Mundo Perdido De Los Diagramas De Flujo

VARIABLES A UTILIZAR

A : PRIMER NÚMERO A INTRODUCIR POR TECLADO.


B : SEGUNDO NÚMERO A INTRODUCIR POR TECLADO.
R : RESULTADO DE LA OPERACIÓN.

DIAGRAMA DE FLUJO

INICIO

A,B

R=A*B

FIN

18
CAPITULO 3

CONTADORES AUTOMATICOS.

Un contador automático es un programa o sentencia que pertenece a un


determinado lenguaje de programación que incrementa una variable de forma
automática.

Por ejemplo, en el caso de Turbo Pascal, los contadores con que cuenta solo
se pueden incrementar o decrementar en una unidad cada vez, no pudiéndose
modificar este incremento a ningún otro valor.

El diagrama o símbolo que representa a esta sentencia automática de


repetición en forma general es:

A = ........

En los diagramas de flujo que se presentan a continuación, se emplearan en


todo momento, los mencionados contadores automáticos para generar los
números secuenciales en los sectores donde sean necesarios.
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 4

DISEÑAR UN DIAGRAMA DE FLUJO PARA GENERAR LA TABLA


DE MULTIPLICAR DEL NÚMERO 5.

ANALISIS.

Por lo señalado en el enunciado, se trata de un programa que debe generar


específicamente la tabla de multiplicar del 5, por lo tanto, no es necesario
solicitar al usuario ningún dato adicional. En tal sentido se tiene:

5x 1= 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
…….……..
5 x 10 = 50

5x B= R

Del desarrollo; se trata de un proceso repetitivo del programa anteriormente


desarrollado, multiplicación de dos números. La diferencia radica que en el
presente programa uno de los números a multiplicar es el número constante 5 y
el otro número es una variable, variable que será representada por la letra B.
Esta variable B, como se puede apreciar, deberá comenzar en a 1 e ir
incrementándose de uno en uno hasta alcanzar un valor final igual a 10.

Como los números a ser generados por la variable B (1, 2, 3 ...) son
secuenciales, por tanto los valores de la variable B pueden ser generados a
través de un contador automático.

Este contador no solo se ocupará de generar los respectivos números a ser


utilizados en la multiplicación, sino, además se encargará de controlar el número
de repeticiones que se debe realizar, el cual es igual a 10.

20
Contadores Automáticos

VARIABLES A UTILIZAR

B : CONTADOR AUTOMATICO
R : RESULTADO DE LA OPERACION

DIAGRAMA DE FLUJO

INICIO

B= 1 -- 10

R=5*B

FIN

21
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 5

DELINEAR UN DIAGRAMA DE FLUJO PARA GENERAR LA


TABLA DE MULTIPLICAR DE UN DETERMINADO NÚMERO.

ANALISIS

La diferencia que presenta el programa solicitado en relación al anterior


programa (tabla de multiplicar del 5), radica; en lugar de asumir el número 5 de
forma directa, este número u otro debe ser solicitado al usuario.

Una vez introducido el respectivo valor o número de la tabla a desarrollar, se


debe proseguir como en el anterior programa.

VARIABLES A UTILIZAR

N : VALOR A INTRODUCIR POR TECLADO.


A : CONTADOR AUTOMATICO
R : RESULTADO DE LA OPERACION

DIAGRAMA DE FLUJO

22
Contadores Automáticos

INICIO

A= 1 -- 10

R=N*A

FIN

EJEMPLO N° 6

DISEÑAR UN DIAGRAMA DE FLUJO PARA GENERAR LAS


TABLAS DE MULTIPLICAR DEL 1 AL 10.

ANALISIS.

Para una mejor interpretación del problema planteado, se realizará un


desarrollo de las tablas a ser generadas y de esta manera determinar alguna
secuencia de concepción entre las mismas, así:

1x 1= 1 2x 1= 2 3x 1= 3 . . . 10 x 1 = 10
1x 2= 2 2x 2= 4 3x 2= 6 . . . 10 x 2 = 20
1x 3= 3 2x 3= 6 3x 3= 9 10 x 3 = 30
1x 4= 4 2x 4= 8 3x 4 = 12 10 x 4 = 40
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
1 x 10 = 10 2x 10 = 20 3x 10 = 30 . . . 10 x 10 = 100

1x C= R 2x C= R 3x C= R FxC= R

23
El Mundo Perdido De Los Diagramas De Flujo

Del desarrollo se observa que serán necesarias dos contadores, un primer


contador externo (denotado como F) que se encargará de señalar los números
de las tablas a desarrollar del 1 al 10 (multiplicando) y un segundo contador
interno (llamado C) encargado de generar los números multiplicadores
(multiplicador).

De igual forma, se puede observar que el programa a desarrollar no es más


que repetir 10 veces el programa anteriormente desarrollado, donde el número
introducido por teclado será reemplazado por un contador automático F.

En relación a las variables, es necesario utilizar una tercera variable R para


almacenar los resultados de las operaciones de la multiplicación.

NOTA.- La utilización de contadores automáticos en forma ramificada, es decir;


un contador externo juntamente con contadores internos se conoce
como contadores anidados o ciclos anidados.

VARIABLES A UTILIZAR

F : CONTADOR DE LA TABLA A DESARROLLAR.


C : CONTADOR INTERNO.
R : RESULTADO DE LA OPERACIÓN.

DIAGRAMA DE FLUJO

24
Contadores Automáticos

INICIO

F= 1 -- 10

C= 1 -- 10

R=F*C

FIN

EJEMPLO N° 7

BOSQUEJAR UN DIAGRAMA DE FLUJO PARA GENERAR LA


SECUENCIA:

1 1 1 1 1
2 2 2 2
3 3 3
4 4
5

25
El Mundo Perdido De Los Diagramas De Flujo

ANALISIS.

Para la manipulación de una terminología comprensiva en la interpretación y


manipulación de los números y posiciones en el respectivo programa a
desarrollar, la serie se asemejará en notación a una matriz, por tanto, la misma
estará constituida por filas y columnas.

Este tipo de interpretación, lleva a tener que utilizar dos contadores


automáticos, donde un primer contador se encargará de controlar el número de
filas a desarrollar, es decir:

1 1 1 1 1 1
2 2 2 2 2
F= 3 3 3 3
4 4 4
5 5

Un segundo contador que se encargará de controlar el número de veces que


se debe repetir un determinado número, así:

C
1 2 3 4 5
1 1 1 1 1
2 2 2 2
3 3 3
4 4
5

Como el contador de columnas C debe ir variando en relación al número de


veces a repetirse, es decir: en la primera fila se deberá contar hasta 5, en la
segunda fila solo hasta el 4 y así sucesivamente, por tanto, se ha buscado la
forma de poder relacionar las veces que debe repetirse el contador de columnas
con la respectiva fila, la misma que responde a la forma:

6–F

Esta expresión permite generar (como ya se mencionó) el número de


repeticiones a realizarse por parte del contador, ya que cuando F asume el valor
de 1 la expresión da como resultado 5, que es justamente el número de

26
Contadores Automáticos

repeticiones que debe realizar C, si F es 2 la expresión dá como resultado 4 y


así sucesivamente.

El programa el forma general no debe realizar ninguna operación, por el


contrario su trabajo es simplemente mostrar a través de la pantalla el número
que se encuentra almacenado en F en una cantidad igual a 6-F.

VARIABLES A UTILIZAR

F : CONTADOR DE FILAS.
C : CONTADOR DE COLUMNAS.

DIAGRAMA DE FLUJO

INICIO

F= 1 -- 5

C = 1 - - (6 - F )

FIN

27
CAPITULO 4

TOMA DE DECISIÓN

Como es ya de nuestro conocimiento, una toma de decisión permite dirigir el


flujo de un programa en relación a dos posibles direcciones a ser tomadas. El
cambio de dirección se consigue a través de una comparación lógica (toma de
decisión ). El símbolo gráfico que se emplea para este hecho es:

SI NO
Cond

Los siguientes programas que se presentan, permitirán comprender y


practicar en la utilización de este símbolo y sobre todo, en la formación de
expresiones que se utilizaran como tomas de decisión.
Tomas De Decisión

EJEMPLO N° 8

ESBOZAR UN DIAGRAMA DE FLUJO QUE PERMITA


DETERMINAR SI UN NÚMERO INTRODUCIDO POR TECLADO ES
POSITIVO.

ANALISIS

De acuerdo al planteamiento del problema, se necesitará en principio


introducir un número por teclado, el mismo que deberá ser almacenado
necesariamente en una variable para su posterior utilización.

Por definición, un número es positivo si el mismo es mayor a cero, por tanto la


condición que se debe cumplir para que sea positivo es:

Cond  ( Numero > 0 )

VARIABLES A UTILIZAR

A : VALOR A SER INTRODUCIDO POR TECLADO.

DIAGRAMA DE FLUJO

INICIO

SI NO
A > 0
POSITIVO

29
FIN
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 9

DISEÑAR UN DIAGRAMA QUE PERMITA DETERMINAR EL


MAYOR DE DOS NÚMEROS.

ANALISIS

Para el desarrollo del programa, como es lógico, se necesitará dos variables


para almacenar los números introducidos por el usuario. Una vez conocidos los
números y para determinar cuál de ellos es el mayor, se debe realizar una
comparación entre los mismos, es decir:

A>B

Si el resultado de la consulta es verdadero, el valor almacenado en A es el


número mayor, pero si el resultado es falso, el número almacenado en B es el
mayor.

VARIABLES A UTILIZAR

A : PRIMER VALOR A INTRODUCIR POR TECLADO.


B : SEGUNDO VALOR A INTRODUCIR POR TECLADO

DIAGRAMA DE FLUJO

30
Tomas De Decisión

INICIO

A, B

SI NO
A >B
EL MAY OR EL MAY OR
ES A ES B

FIN

EJEMPLO N° 10

DETERMINAR SI DOS NÚMEROS INTRODUCIDOS POR TECLADO


SON CONSECUTIVOS EN FORMA ASCENDENTE.

ANALISIS

Para poder desarrollar este diagrama, en principio se debe conocer qué se


entiende por números consecutivos, por razonamiento:

1, 2, 3, 4, 5 ... son números consecutivos

Por tanto, un número es consecutivo de forma ascendente de A, si al sumar la


unidad a una determinada cantidad A se reproduce el número B. Por ejemplo, si
se introduce dos variables A = 2 y B = 3, para que B sea consecutivo de A debe
cumplirse:

B = A +1

De no cumplir esta condición, los números introducidos no son consecutivos


de forma ascendente

31
El Mundo Perdido De Los Diagramas De Flujo

VARIABLES A UTILIZAR

A : PRIMER VALOR A INTRODUCIR POR TECLADO.


B : SEGUNDO VALOR A INTRODUCIR POR TECLADO.

DIAGRAMA DE FLUJO

32
Tomas De Decisión

INICIO

A, B

SI NO
B = A+1
SON NO S ON
CONSEC UTIV OS CONSEC UTIV OS

FIN

EJEMPLO N° 11

DADOS TRES NÚMEROS ENTEROS. DETERMINAR CUÁL DE


ELLOS ES EL NÚMERO MAYOR.

33
El Mundo Perdido De Los Diagramas De Flujo

ANALISIS

Como el programa en su inicio no conoce los números a ser comparados, por


tanto, estos datos deberán ser solicitados al usuario. Este hecho, obliga a tener
que utilizar tres variables (A, B, y C), que tienen por objeto almacenar los
correspondientes números.

Para determinar el mayor número introducido, por lógica, se deben realizar


comparaciones entre los diferentes números, así:

Si el número almacenado en A es el mayor, debe cumplirse qué:

1) A > B y 2) A > C

En el caso de que solo se cumple la primera condición y no así la segunda,


por lógica el número mayor se encuentra almacenado en C.

Por otro lado, si los números no cumplen la primera condición y sí cumplen


una tercera condición

3) B > C

el mayor es B.

Por el contrario, si no cumple la primera condición y no cumple la tercera


condición, por tanto, el mayor número se encuentra almacenado en C.

Empleando este análisis, ahora sí se puede diseñar el respectivo diagrama de


flujo.

VARIABLES A UTILIZAR

A : PRIMER VALOR A INTRODUCIR POR TECLADO.


B : SEGUNDO VALOR A INTRODUCIR POR TECLADO.
C : TERCER VALOR A INTRODUCIR POR TECLADO.

34
Tomas De Decisión

DIAGRAMA DE FLUJO

INICIO

A, B, C

SI SI
A>B A>C

NO NO

NO EL M AY O R
B>C ES C

SI
EL M AY O R EL M AY O R
ES B ES A

FIN

EJEMPLO N° 12

35
El Mundo Perdido De Los Diagramas De Flujo

ESTABLECER SI DOS NÚMEROS INTRODUCIDOS POR TECLADO


SON CONSECUTIVOS, YA SEA EN FORMA ASCENDENTE O
DESCENDENTE.

ANALISIS.

Para el análisis se tomará como variables a introducir A y B, las mismas que


se introducirán en forma correlativa, es decir; A es el primer número a ser
introducido y B el segundo, en tal sentido, se pueden presentar los siguientes
casos de números consecutivos:

A=1 y B=2 ó A=4 y B=3

El programa por tanto, deberá tener la capacidad de mostrar un mensaje


indicando que los números introducidos son consecutivos, siempre y cuando se
cumpla una de las siguientes condiciones:

B = A + 1 si los números introducidos son consecutivos en forma


ascendente.

A = B + 1 si los números introducidos son consecutivos en forma


descendente.

En caso de no cumplir ninguna de las condiciones anteriormente señaladas,


el programa mostrará el mensaje „No son consecutivos‟.

VARIABLES A UTILIZAR

A : PRIMER VALOR A INTRODUCIR POR TECLADO.


B : SEGUNDO VALOR A INTRODUCIR POR TECLADO.

36
Tomas De Decisión

DIAGRAMA DE FLUJO

INICIO

A, B

NO SI
B = A+1 A = B+1

SI NO

SON NO S ON SON
CONSEC UTIV OS CONSEC UTIV OS CONSEC UTIV OS

FIN

37
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 13

BOSQUEJAR UN DIAGRAMA DE FLUJO QUE PERMITA GENERAR


LA SECUENCIA.

1 1 1 1 1
A A A A
3 3 3
4 4
5

ANALISIS

Como es de conocimiento, el programa necesitará dos contadores; el primer


contador se encargara de controlar el número de filas a realizar y el segundo
contador, el número de repeticiones internas o columnas.

Como se puede observar, la serie no solo esta compuesto de números, por el


contrario, también cuenta con caracteres alfabéticos (letras), por tanto, se deberá
realizar una toma de decisión que permita diferenciar cuando se debe mostrar
una letra y cuando un número, así:

C
1 2
3 4 5
1 1 1 1 1 1
2 A A A A
F 3 3 3 3
4 4 4
5 5

Del desarrollo, la presentación de los caracteres alfabéticos en la serie se


debe realizar cuando el contador de filas alcance el valor de dos.

38
Tomas De Decisión

VARIABLES A UTILIZAR

F : CONTADOR AUTOMATICO DE FILAS.


C : CONTADOR AUTOMATICO DE COLUMNAS.

DIAGRAMA DE FLUJO

39
El Mundo Perdido De Los Diagramas De Flujo

INICIO

F= 1 -- 5

C= 1 -- (6-F)

SI NO
F=2

'A' F

FIN

EJEMPLO N° 14

TRAZAR UN DIAGRAMA DE FLUJO PARA GENERAR LA SERIE.

5 4 3 2 1
4 3 A 1
3 2 1

40
Tomas De Decisión

2 1
1

ANALISIS

Al igual que en problemas anteriores se utilizaran dos contadores en la


generación de la serie. Como no existe ninguna normatividad de que los
contadores de fila o columna necesariamente deben irse contando en forma
ascendente, por tanto, en el presente problema cada contador se inicializará en
cinco, los mismos se irán decrementando en uno hasta alcanzar un valor final de
uno.

Un desarrollo de la serie juntamente con los contadores a utilizar se tiene:

Y
5 4 3 2 1
5 5 4 3 2 1
4 4 3 A 1
X 3 3 2 1
2 2 1
1 1

Del desarrollo se observa que el carácter alfabético debe ser mostrado o


presentado cuando el contador de filas x alcance el valor de 4 y el contador de
columnas y asuma el valor de 2. Es en este sentido que para lograr la
presentación del respectivo carácter se debe realizar dos tomas de decisión, la
primera para determinar si el contador de filas presenta el valor de 4 y la
segunda para determinar si el contador de columnas ya alcanzó el valor de 2. De
resultar verdaderas las consultas realizadas, por tanto, se debe realizar la
impresión del respectivo carácter.

Por otro lado, para lograr que se cumpla la condición señalada, el valor de
inicio del contador de columnas debe ser igual al valor almacenado en el
contador de filas.
VARIABLES A UTILIZAR

X : CONTADOR AUTOMATICO DE FILAS.


Y : CONTADOR AUTOMATICO DE COLUMNAS.

41
El Mundo Perdido De Los Diagramas De Flujo

DIAGRAMA DE FLUJO

INICIO

X= 5 -- 1

Y= X -- 1

SI SI
X=4 Y=2

NO NO
Y Y 'A'

FIN

Hasta el presente sector, se ha realizado un gran avance en la compresión y


diseño de diagramas de flujo, es así, que los conocimientos básicos adquiridos
en relación:

42
Tomas De Decisión

- al número de variables a utilizar.

- cuando realizar una toma de decisión.

- cuantas repeticiones deben efectuarse (Contadores automáticos).

nos abren las primeras puertas para poder desarrollar programas de utilidad o
que presenten alguna aplicación práctica, aunque nuestros conocimientos por el
momento solo nos permiten desarrolla problemas que presentan un grado
mínimo de dificultad.

En el afán de incentivar al estudiante y mostrar el grado de conocimiento


adquirido, los siguientes dos problemas que se proponen son problemas de
aplicación.

EJEMPLO DE APLICACIÓN N° 15

43
El Mundo Perdido De Los Diagramas De Flujo

PLANTEAR UN DIAGRAMA DE FLUJO PARA RESOLVER UNA


ECUACION DE SEGUNDO GRADO DE LA FORMA:

Ax2 + Bx + C = 0

ANALISIS

Para resolver este tipo de ecuación, lo más práctico es el uso de la ecuación


cuadrática:
 b  b 2  4ac
Ri 
2a

El principal problema en la utilización de esta fórmula se encuentra en la


expresión:

b2 – 4ac

De la cual se obtiene dos posibles situaciones:

1.- Si el resultado de la evaluación de dicha expresión es un valor


negativo, al tratar de realizar el cálculo de la raíz cuadrada, ocasionará que la
computadora muestre un mensaje de error. Error que se debe (como es de
suponer) a que no existe la raíz cuadrada de un número negativo. Por tanto
se concluye que la ecuación en cuestión presenta raíces imaginarias.

2.- Por el contrario, si el resultado de la evaluación es igual o mayor a


cero, se podrá calcular la raíz cuadrada y por tanto se concluye que las raíces
que presenta la ecuación son reales.

Del análisis; se deberá realizar una toma de decisión en el afán de conocer el


camino a seguir, ya que si el resultado de la expresión (b 2 – 4ac) es menor a 0,
las raíces son imaginarias, caso contrario se debe proceder al calculo de las
raíces.

El programa no se podrá ejecutar hasta que no se conozcan los valores de


los coeficientes A, B y C, los mismos que deberán ser introducidos por el
usuario.

44
Tomas De Decisión

VARIABLES A UTILIZAR

2
A : COEFICIENTE DE X .
B : COEFICIENTE DE X
C : COEFICIENTE INDEPENDIENTE
R : CALCULO DEL RADICAL.
R1 : PRIMERA RAÍZ.
R2 : SEGUNDA RAÍZ.

DIAGRAMA DE FLUJO

INICIO

A,B,C

R=B^2-4AC

NO SI
R >= 0

IMAGINARIAS R=R^(1/2)

R1=(-B-R)/(2A)

R2=(-B+R)/(2A)

R1, R2

FIN

45
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO DE APLICACIÓN N° 16.

DISEÑAR UN DIAGRAMA QUE PERMITA REALIZAR UNA


SIMULACIÓN DEL SIGUIENTE PROBLEMA.

Una bola se lanza para arriba con una velocidad inicial de 30


(m/s) a partir de una altura inicial de 5 (m). En un lugar donde

1
h(t )  h(0)  Vo * t  * g *t 2
2
la aceleración de la gravedad es igual a 9.81 (m/s 2). Sabiendo
que:

Determinar el tiempo necesario, para que la bola toque el suelo.

ANALISIS

De acuerdo al problema planteado y en relación a la ecuación presentada, se


trata de desarrollar un diagrama de flujo que permita resolver una ecuación de
segunda grado.

Reemplazando los valores de las diferentes variables en la ecuación, se tiene:

1
h(t )  5  30 * t  * 9.81* t 2
2

La generalización del problema, se puede conseguir a través de la


manipulación de los datos señalados en el enunciado como variables, es decir:
velocidad inicial, gravedad, altura inicial y altura final, valores que al ser
reemplazados en la fórmula señalada, formarán en cada caso una nueva
ecuación de segundo grado a resolver (ecuación que puede ser resuelta a través
del diagrama de flujo anteriormente diseñado). A este proceso de generalización

46
Tomas De Decisión

o manipulación de valores constantes como variables, se denomina


SIMULACIÓN.

VARIABLES A UTILIZAR

2
A : COEFICIENTE DE X .
B : COEFICIENTE DE X
C : COEFICIENTE INDEPENDIENTE
V : VELOCIDAD INICIAL.
G : GRAVEDAD.
Ho : ALTURA INICIAL.
Hf : ALTURA FINAL.
R : CALCULO DEL RADICAL
T1 : PRIMERA RAIZ
T2 : SEGUNDA RAIZ

DIAGRAMA DE FLUJO

47
El Mundo Perdido De Los Diagramas De Flujo

INICIO

V,G,Ho, Hf

A=(1/2)*G

B=V

C=Ho-Hf

R=B ^2-4AC

NO SI
R >= 0

IMAGINAR IAS R=R^(1/2)

T1=(-B-R)/(2A)

T2=(-B+R)/(2A)

T1, T2

FIN

48
CAPITULO 5

OTRAS ESTRUCTURAS REPETITIVAS

En el diseño de diagramas de flujo, en muchas ocasiones uno se encuentra


con la necesidad de realizar la repetición de un determinado bloque del diagrama
hasta cumplir alguna condición. A este tipo de secuencias repetitivas se las
conoce como SENTENCIAS REPETITIVAS.

El tipo de condición a ser cumplida da origen a dos formas de sentencias


repetitivas, así:

- Si la condición a cumplir para terminar la secuencia de repetición es de


tipo numeral y entera, se las denomina CONTADORES MANUALES.

- Si la condición a cumplir es diferente al numeral entero, se conoce


simplemente como SENTENCIAS REPETITIVAS.

CONTADOR MANUAL.

Un contador manual es una secuencia de números que deben ser generados


por incremento o decremento de una cantidad a un determinado valor inicial,
hasta alcanzar un valor final entero.

La estructura que presenta un contador manual en forma gráfica puede ser


una de las siguientes:

C=0 C = 0

C = C + 1

C=8 C = C+1
NO
C > 20
SI NO
SI
El Mundo Perdido De Los Diagramas De Flujo

La diferencia entre las dos formas gráficas presentadas de un contador


manual es:

- En el primer contador, primero se efectúa la toma de decisión y


posteriormente se realiza el incremento o decremento de la respectiva
variable consulta.

- Por su parte, en el segundo contador primero se realiza el incremento o


decremento de la variable consulta y posteriormente se realiza la toma de
decisión.

SENTENCIAS REPETITIVAS.

En una sentencia repetitiva, un determinado bloque se debe repetir hasta que


se cumpla una determinada condición, condición que no necesariamente deben
ser de tipo numérico, es decir: hasta que la respuesta a una consulta realizada
se cumpla.

Este tipo de sentencias son muy utilizadas cuando no se conoce el número de


veces que debe ser repetido un determinado bloque.

La estructura que presenta dicha sentencia en forma gráfica es la siguiente:

Resp
N=N + 0.01

N > 0.35 Resp = 'Si'


NO SI
SI NO

El conocimiento de este tipo de estructuras por parte del programador, le


permitirá desarrollar diagramas de flujo mucho más íntegros y complicados.

50
Otras Sentencias Repetitivas

El objetivo que se persigue en los próximos programas, es realizar la práctica


de este tipo de estructuras en la forma y de su utilización y nuevamente en las
tomas de decisión a ser realizadas.

EJEMPLO N° 17

PLANTEAR UN DIAGRAMA DE FLUJO QUE PERMITA


MULTIPLICAR DOS NÚMEROS. PROGRAMA QUE DEBE
FINALIZAR SOLO SI SE INTRODUCE LA PALABRA ‘NO’ POR
TECLADO.

ANALISIS

El diagrama a desarrollar deberá basarse específicamente en la utilización de


una sentencia repetitiva, esto se debe a dos situaciones fundamentales:

1. No se conoce de antemano la cantidad de veces que el usuario va a


repetir el programa.

2. La condición para terminar el programa debe ser diferente al tipo numérico


entero, esto debido a que el programa debe finalizar al introducirse por
teclado la palabra „NO‟.

Del análisis, en el desarrollo del diagrama se utilizaran cuatro variables; dos


variables para almacenar los números a ser multiplicados, una tercera variable
para almacenar el resultado y finalmente una cuarta variable para almacenar la
respuesta introducida por el usuario al ser consultado “Continuará ? Si / No “.

VARIABLES A UTILIZAR

A : PRIMER NÚMERO.
B : SEGUNDO NÚMERO.
R : VARIABLE DE ALMACENAMIENTO.
RESP : RESPUESTA DEL USUARIO.

51
El Mundo Perdido De Los Diagramas De Flujo

DIAGRAMA DE FLUJO

INICIO

A,B

R=A*B

Continuara
Si/No

RESP

NO
RESP='NO'

SI
FIN

52
Otras Sentencias Repetitivas

EJEMPLO N° 18

PLANTEAR UN DIAGRAMA DE FLUJO QUE PERMITA


DETERMINAR LA SUMA DE LA SIGUIENTE SERIE NUMÉRICA.

S = 2 + 4 + 6 + 8 +10 + . . . N

ANALISIS

En el desarrollo del siguiente programa, se utilizará un contador manual en el


afán de tomar conocimiento de la forma de su utilización.

Para un diseño adecuado del respectivo diagrama de flujo, es conveniente


realizar un desarrollo del estilo de su generación o formación, así:

+2 +2 +2 +2
S = 2 + 4 + 6 + 8 + 10 ...

Del desarrollo: se hará uso de tres variables; la primera que deberá ser
introducido por el usuario e indicará al programa el último número a ser
generado (N).

La segunda variable se encargará de formar los respectivos números o


términos de la serie (2, 4, 6...), los mismos que se obtienen por incremento de un
valor constante 2 al término anterior y finalmente, una tercera variable que será
utilizada para almacenar el resultado de la suma de los diferentes términos
formados (a este tipo de variable se la conoce comúnmente como acumulador).

53
El Mundo Perdido De Los Diagramas De Flujo

VARIABLES A UTILIZAR

S : ACUMULADOR DE TÉRMINOS.
N : ULTIMO TÉRMINO A GENERAR.
T : TÉRMINO A INCREMENTAR.

54
Otras Sentencias Repetitivas

INICIO

S=0

T=2

S=S+T

NO
T=N T=T+2
SI

FIN

DIAGRAMA DE FLUJO

EJEMPLO N° 19

55
El Mundo Perdido De Los Diagramas De Flujo

DISEÑAR UN DIAGRAMA DE FLUJO PARA OBTENER LA SUMA


DE N TÉRMINOS DE LA SERIE.

S = 1 + 2 + 4 + 7 +11...

ANALISIS

Para el desarrollo del diagrama, en principio debemos conocer como se


forman los respectivos términos de la serie, por tanto, realizando un seguimiento
de la misma se tiene:

+1 +2 +3 +4
S = 1 + 2 + 4 + 7 + ...
Térm. 1 2 3 4 ... N

Del desarrollo se puede concluir que serán necesarias cuatro variables: una
primera para solicitar al usuario el número de términos a generar, una segunda
variable para almacenar la suma de los términos generados (acumulador), una
tercera variable para el término generado (1, 2, 4...) y una cuarta variable para
generar los números del incremento (1, 2, 3, 4...).

De igual forma se puede observar que cada término a generar proviene de la


suma de un término anterior con un incremento determinado, es decir: si se
suma al primer término (valor inicial 1) la variable de incremento (valor inicial de
incremento 1), se obtendrá el segundo término de la serie (1 + 1 = 2).

Esta secuencia de generación es la misma para todos los demás términos, ya


que, si se toma el término generado 2 como valor inicial y se añade la variable
incremento (incremento aumentado en uno, obteniéndose 2), se conseguirá el
tercer término 4 y así sucesivamente.

La secuencia termina cuando el número de términos generados (que en el


presente caso es igual al valor del incremento) sea igual al valor solicitado por el
usuario.

56
Otras Sentencias Repetitivas

VARIABLES A UTILIZAR

N : NÚMERO DE TÉRMINOS A GENERAR.


S : ACUMULADOR DE TÉRMINOS
INCR : INCREMENTO DE LA SERIE.
T : TÉRMINO A GENERADO.

DIAGRAMA DE FLUJO

INICIO

S=0

T=1

INCR = 1

S =S + T

T=T+INCR

NO
INCR=N INCR=INCR+1

SI

FIN

57
El Mundo Perdido De Los Diagramas De Flujo

EJEMPLO N° 20

DISEÑAR UN DIAGRAMA DE FLUJO QUE PERMITA


DETERMINAR LA SUMA DE LA SERIE.

S = 1 + 2 + 3 + 5 + 8 + 13. . .

HASTA ALCANZAR UN VALOR DE S = 500.

ANALISIS

Un análisis de la forma de cómo se genera la serie nos permitirá determinar el


número de variables a utilizar y la manera de proceder en el diseño del
respectivo diagrama de flujo. Así:

S = 1 + 2 + 3 + 5
0 + 1 = 1
A B C
1 + 1 = 2
A B C
1 + 2 = 3
A B C

Del desarrollo; un determinado término C, se obtiene a través de la suma de


dos variables generatrices (A y B) las mismas que deberán inicializarse en A = 0,
B = 1 y de esta forma generar el término inicial de la serie 1.

Para la generación del próximo término 2, se debe realizar en principio la


reasignación de los valores a las variables genéricas, es decir: la variable A
deberá asumir el valor de B y B asumirá el valor del resultado C, este proceso se
debe repetir hasta que la suma de los términos alcance un valor mayor o igual a
500.

58
Otras Sentencias Repetitivas

La toma de decisión debe ser mayor o igual a 500, debido a que en la


generación y posterior acumulación de los respectivos términos de la serie, el
programador no puede estar seguro de que la suma de los respectivos términos
sea exactamente igual a 500, por tanto, para evitar esta indecisión es
conveniente asumir que la suma será mayor a lo establecido o en el mejor de los
casos el resultado será igual al valor señalado.

VARIABLES A UTILIZAR

S : ACUMULADOR DE TÉRMINOS.
A : PRIMERA VARIABLE GENERICA.
B : SEGUNDA VARIABLE GENERICA.
C : TÉRMINO A GENERAR.

DIAGRAMA DE FLUJO

59
El Mundo Perdido De Los Diagramas De Flujo

INICIO

S=0

A=0

B=1

C=A+B
B=C
S=S+C
A=B

NO
S>=500

SI
S

FIN

EJEMPLO N° 21

DADOS TRES NÚMEROS ENTEROS INTRODUCIDOS POR


TECLADO, DETERMINAR CUANTOS SON CONTINUOS YA SEA EN
FORMA ASCENDENTE O DESCENDENTE.

60
Otras Sentencias Repetitivas

ANALISIS.

Al igual que en anteriores ejemplos tomemos como variables a introducir A, B


y C, las mismas que se introducirán en forma correlativa, es decir: A es el primer
número, B el segundo y C el tercer número.

De forma hipotética, si los valores introducidos por el usuario son:

A=1 B=2 C=3


ó
A=4 B=3 C=2

El programa deberá responder indicando que existen tres números


consecutivos, por tanto se debe cumplir que:

B=A+1yC=B+1 si los tres números son consecutivos en forma


ascendente.

B=A-1 yC=B- 1 si los tres números son consecutivos en forma


descendente.

Si por otro lado los valores introducidos son:

A=3 B=4 C = 7.
O su variante
A=4 B=3 C = 7.

El programa responderá que existen dos números consecutivos, debiéndose


cumplir por tanto que:

B = A + 1 para el primer caso

B = A - 1 para el segundo caso

Este mismo análisis se puede realizar para cualquier otra posición de dos
números consecutivos, así:

C=B+1 ó C=B -1

Por otro lado, de los ejemplos tomados y analizados se observa que si los
números son ascendentes se debe sumar la unida al valor anterior, pero si los
números son descendentes se debe restar dicha unidad, por tanto, en el

61
El Mundo Perdido De Los Diagramas De Flujo

diagrama este incremento se tomará como una variable en el afán de utilizar el


mismo programa para determinar cuantos números son ascendentes o
descendentes.

VARIABLES A UTILIZAR

A : PRIMER VALOR A INTRODUCIR POR TECLADO.


B : SEGUNDO VALOR A INTRODUCIR POR TECLADO.
C : TERCER VALOR A INTRODUCIR POR TECLADO.
D : CANTIDAD DE NÚMEROS ASCENDENTES O DESCENDENTES.
E : VARIABLE DE REFERENCIA.
INC : VARIABLE DE INCREMENTO.

62
Otras Sentencias Repetitivas

DIAGRAMA DE FLUJO

INICIO

A,B,C

INC=1

E=0

SI SI
B=A +INC C=B +INC

NO NO D=3
SI
C=B +INC D=2
NO

D=0

NO SI
D=0

E=2 E=E +1
INC=(-1 )
NO
E=2
SI

EXIST EN
D

FIN

EJEMPLO DE APLICACIÓN N° 22

63
El Mundo Perdido De Los Diagramas De Flujo

DISEÑAR UN DIAGRAMA DE FLUJO PARA RESOLVER LA


SIGUIENTE ECUACION NO LINEAL POR EL MÉTODO DE NEWTON
RAPHSON.
x
1
f ( x)  * e 3  Sen( x)
2

ANALISIS

La iteración de Newton Raphson es un método para encontrar la raíz o raíces


de una ecuación no lineal, este método utiliza la fórmula:

f ( xi )
xi 1  xi 
f ' ( xi )
Donde:
f(xi ) es la función evaluada en xi
f ‟(xi ) es la derivada de la función evaluada en xi

El proceso se inicia con un valor inicial x0, el cual debe ser introducido por el
usuario. Con ayuda de este valor y la fórmula se determina un próximo valor xi
valor que genera dos posibilidades:

1. El valor obtenido es una raíz de la respectiva ecuación, y por tanto ya no


es necesario realizar ninguna otra operación.

2. El valor x1, no es raíz de la ecuación. En tal sentido, se deberá repetir el


anterior proceso pero tomando como valor inicial al valor calculado, es
decir x1. Este proceso se repite hasta que la diferencia en valor absoluto
(distancia) entre un valor calculado (xi+1) y un valor anterior a este (xi) sea
menor o igual a un determinado error.

d =  xi+1 - xi  <= 

El valor del error deberá ser introducido por el usuario a través del teclado, de
acuerdo a su requerimiento (un error grande o pequeño).

64
Otras Sentencias Repetitivas

Para nuestro control, si el método no llegara a un resultado satisfactorio luego


de 100 repeticiones será detenido y mostrará un mensaje de “ no existe solución
por el presente método empleado ”.
VARIABLES A UTILIZAR

Xo : VALOR INICIAL.
Xf : VALOR FINAL.
E : ERROR ACEPTADO.
D : DISTANCIA ENTRE VALORES.
C : CONTADOR DE REPETICIONES
Fx : CALCULO DE LA FUNCION.
Dx : CALCULO DE LA DERIVADA

65
El Mundo Perdido De Los Diagramas De Flujo

DIAGRAMA DE FLUJO

INICIO

E, Xo

C=0

Fx=(1/2) * e^(Xo/3) - Sen(Xo)

Dx=(1/6) * e^(Xo/3) - Cos(Xo)

Xf = Xo - Fx / Dx

C = C+1

D = | Xf-Xo | Xo = Xf

NO NO
D <= E C = 100

SI SI

Xf N O EXISTE

FIN

EJEMPLO DE APLICACIÓN N° 23

DISEÑAR UN DIAGRAMA DE FLUJO PARA EVALUAR UNA


INTEGRAL POR LA REGLA TRAPEZOIDAL CON N INTERVALOS,
B
H
I   f ( x)dx  ( f1  2 f 2  2 f3  2 f 4  ...  f N )
A 2

66
Otras Sentencias Repetitivas

CUYA FÓRMULA GENERAL ES:


DONDE:
ANALISIS

H  (b  a ) / N
Xi  a i*H
f i  f ( xi )
i  0,1,2,3,..., N
De acuerdo a la fórmula presentada se necesitará que el usuario introduzca
diversos valores, al igual que la función a integrar, función que deberá
modificarse directamente en el diagrama ya que no puede ser introducido por
teclado.

Las variables a ser introducidas por teclado en el presente programa deben


cumplir una cierta condición, así:

- El limite superior „ B „ debe ser mayor al limite inferior „ A‟.

- El valor de N introducido como número de franjas, debe ser un número


entero y positivo, el cual se utilizara para determinar exactamente el
número de franjas a través de la expresión N = 2N .

Como podrá intuir, para el cálculo de la integral será necesario utilizar varias
variables, este hecho obligaría en condiciones normales la utilización de
variables arreglo, pero como aun no se conoce este tipo de variables, el
programa se acondicionará para no utilizar este tipo de variables.

De acuerdo a la fórmula presentada el trabajo a realizar es secuencial, es


decir: en principio se debe determinar el valor de xi, con ayuda de este valor se
determina el valor de f(x). Valor que posteriormente debe ser multiplicado por un
determinado coeficiente (por fórmula, el primer y último término a sumar llevan
un coeficiente igual a 1, mientras que los demás términos presentan un
coeficiente de 2) . Como el resultado de la integral es la suma de todos los
términos a generar, por tanto, el programa necesitará de una variable
acumulador.
Por otro lado, al tener conocimiento del número de repeticiones a realizar (N),
se utilizará un contador automático para dicho efecto.

67
El Mundo Perdido De Los Diagramas De Flujo

Para el desarrollo práctico del respectivo diagrama de flujo se utilizará una


función hipotética, la misma que puede ser reemplazada por cualquier otra
función, dependiendo del problema a resolver. Así:

e( x
B 1 2
)
I   f ( x)dx  
A 0 1 x2
dx

VARIABLES A UTILIZAR

N : NÚMERO DE INTERVALOS.
A : INTERVALO INFERIOR
B : INTERVALO SUPERIOR
H : VALOR DE LA CONSTANTE H
Xi : INTERVALO INTERMEDIO
Fx : CALCULO DE LA FUNCION A EVALUAR
S : ACUMULADOR
I : CONTADOR AUTOMATICO DE REPETICIONES

68
Otras Sentencias Repetitivas

DIAGRAMA DE FLUJO

INICIO

N, A, B

N = 2^N

S = 0

H = (B - A)/N

I = 0 -- N

NO NO
I = 0 I = N
SI SI

COE = 1 COE = 2

X = A+H*I

Fx = e^(-X^2) / (1 - X^2) ^(1/2)

S = S + COE*Fx

S = H*S / 2

FIN

69
El Mundo Perdido De Los Diagramas De Flujo

De todos los diagramas hasta el momento diseñados y presentados, se


puede concluir que es necesario practicar bastante en la utilización de los
diferentes símbolos gráficos, los mismos que con ayuda de una buena lógica nos
permitirán desarrollar diagramas de flujo cada vez más complicados.

Es en este sentido que los diagramas o ejemplos que a continuación se


presentan, buscan incentivar la lógica del estudiante, es decir: si bien los
ejemplos a ser desarrollados no tienen ninguna aplicación en algún cálculo o
futuro desarrollo de un programa de aplicación, estos problemas permitirán,
como ya se exteriorizo, tomar mayor conocimiento de la forma de utilizar cada
símbolo gráfico al igual que practicar en el análisis e interpretación de un
problema.

De igual forma, estos ejemplos nos permitirán practicar en la búsqueda de


relaciones que pudiesen existir entre las diferentes variables a ser utilizadas.
Relaciones que permitirán minimizar la cantidad de variables y tomas de decisión
a utilizar en un determinado diagrama de flujo y por tanto hacerlos más
compactos y fáciles de realizar un seguimiento de los mismos.

70
Otras Sentencias Repetitivas

EJEMPLO N° 24

DISEÑAR UN PROGRAMA PARA GENERAR LAS TABLAS DE


MULTIPLICAR DEL 1 AL 12, UTILIZANDO CONTADORES
MANUALES.

ANALISIS.

El desarrollo realizado con anterioridad de las respectivas tablas, nos permitirán


interpretar y desarrollar con mayor facilidad el diagrama en cuestión, así:
1x 1= 1 2x 1= 1 3x 1= 1 ........ 12 x 1 = 12
1x 2= 2 2x 2= 4 3x 2= 6 12 x 2 = 24
1x 3= 3 2x 3= 6 3x 3= 9 12 x 3 = 36
1x 4= 4 . . .
1x 5= 5 . . .
1x 6= 6 . . .
1x 7= 7 . . .
. . . .
. . . .
1 x 10 = 10 2x 10 = 20 3 x 10 = 30 ........ 12 x 10 = 120

1x B= R 2x B= R 3x B= R A x B= R

Del desarrollo se concluye que se necesitarán dos contadores; un primer


contador (contador externo y denotado con la letra A) que se encargará de
generar los números de las tablas a desarrollar del 1 al 12. Esta variable debe
ser inicializada en 1 e ir incrementándose con cada repetición en 1 hasta
alcanzar el valor final de 12.

El segundo contador o contador interno (denotado con la letra B), será el


encargado de generar los números a ser utilizados en cada tabla. Al igual que el
contador externo, el contador B debe ser inicializado en 1 e irse incrementando
en 1 hasta alcanzar el valor final de 10.

Por otro lado, se observa que el contador manual B debe ser inicializado en 1,
cada vez que el contador externo A sea incrementado.

VARIABLES A UTILIZAR

71
El Mundo Perdido De Los Diagramas De Flujo

A : CONTADOR EXTERNO.
B : CONTADOR INTERNO.
R : RESULTADO DE LA OPERACIÓN.

DIAGRAMA DE FLUJO

INICIO

A=1

B=1

R=A *B

B=10 B=B +1
NO
SI

A=A +1

A=13 FIN
NO SI

72
Otras Sentencias Repetitivas

EJEMPLO N° 25

DISEÑAR UN DIAGRAMA DE FLUJO PARA GENERAR LA SERIE:

1 2 3 4 5
2 3 4 5
3 4 5
4 5
5

ANALISIS.

Este tipo de series ya es conocido tanto en su formato como en su


interpretación. La diferencia que presenta este ejemplo con los anteriores
ejemplos es la presentación o salida de los respectivos datos.

Al igual que en anteriores ejemplos, se utilizará dos contadores: un contador


encargado de las filas y un contador encargado de las columnas o repeticiones
por fila a efectuar, así:

B
1 2 3 4 5
1 1 2 3 4 5
2 2 3 4 5
A 3 3 4 5
4 4 5
5 5

Del desarrollo, el contador de filas se debe inicializar en uno e irse


incrementando de igual forma en 1 hasta alcanzar el valor final de 5, valor que
de igual forma indica la finalización del programa.

73
El Mundo Perdido De Los Diagramas De Flujo

Por su parte el contador de columnas (también conocido como segundo


contador, contador interno, etc) debe inicializarse en una cantidad variable e
igual al valor del contador externo A. Este contador de igual forma se incrementa
en la unidad y finaliza cuando alcanza el valor de 5 (valor constante para todas
las filas).

Los datos a mostrar por pantalla, como se puede observar en el desarrollo, se


encuentran almacenados en el contador interno B.

74

También podría gustarte