Escolar Documentos
Profissional Documentos
Cultura Documentos
Un Diagrama de Flujo es la representacin grfica de los pasos a seguir para lograr un objetivo, que
habitualmente es la solucin de un problema.
Por Logical se entiende, en algunos libros, a la componente lgica de un programa y que se puede representar
en un diagrama de flujo o de otra forma.
De acuerdo a lo anterior, la componente lgica de un programa se puede expresar en un diagrama de flujo, en
un programa estructurado, en un programa codificado en un lenguaje de programacin, o de alguna otra
manera.
geanpiere978569022
dan 990166425
Uso correcto
FR = 1 + X + X*SQR(C)
S = A + B/LOG(2.99+SIN(CD))
T = ABS (a+ C*D)
Si al evaluar una expresin se usan funciones y su argumento es inadecuado, el programa se caer. Es decir,
el computador cancela la ejecucin de ese programa indicando la instruccin donde tuvo problemas. Esto
ocurre cuando se calcula, por ejemplo, raz cuadrada de un nmero negativo, logaritmo de cero o de un
nmero negativo, o bien una divisin por cero. Se cancelar la ejecucin del programa a menos que
previamente se le hubiese indicado que hacer en ese caso.
VI. OPERACIONES LOGICAS
Para comparar el contenido de dos variables, o de una variable con una constante, se tiene los siguientes
smbolos con el significado que para ellos es habitual en Matemticas, para formar proposiciones lgicas
simples y luego proposiciones lgicas compuestas.
<
menor que
>
mayor que
<=
menor o igual que
>=
mayor o igual que
=
igual que
<>
distinto de
Conectivos lgicos
Para formar proposiciones lgicas ms extensas, llamadas expresiones lgicas, se tiene los conectivos lgicos:
Y, O; cuya tabla de verdad es la que en Lgica Matemtica se conoce, y se indica a continuacin
:= Y Conjuncin
:= O Disyuncin
P
Q PQ PQ
V
V
V
V
V
F
F
V
F
V
F
V
F
F
F
F
Ejemplos de proposiciones lgicas permitidas:
I <= 200
B*B >= 4 * A * C
I1 >= 100 J1 >= I1
TR = DE (ER >= 67 ER <= 100)
Proposiciones lgicas no permitidas
10 < X < 12
debe ser: 10 < X X < 12
A B <=10
debe ser: A <= B B <= 10
X <2 TR > -12 Z = 56
falta que asocie las 3 proposiciones. (Ambigedad)
Para formar expresiones lgicas ms complejas, formadas por varias proposiciones, se puede usar parntesis
redondos, y se considerar que son indispensables cuando su ausencia deje una expresin lgica ambigua, es
decir cuando asociando de una manera o de otra puede dar un valor de verdad final diferente.
VII. LECTURA
Para leer uno o varios datos e incorporarlos al programa, se usar la instruccin de lectura, representada por el
smbolo de la lectora de tarjetas y adentro el nombre de las variables en que se almacenarn los datos ledos.
La lista
de
variables
a ser
Ejemplos
A, B, C
NO, AP, N1
N2, N3, N4
En el primer ejemplo se lee slo un valor y ste queda en la variable que en ese programa se conocer como
N. En el segundo ejemplo, se lee 3 valores que quedarn en las variables A, B, C donde el primer valor ledo
queda en A, el segundo en B, y el tercero en C. En el tercer ejemplo se leen 6 variables que pueden ser el
nombre, el apellido y cuatro notas de un alumno.
En una instruccin de lectura, el primer valor que se lee se almacena en la zona de memoria destinada a la
variable cuyo nombre es el primero que se anota en la lista de variables, y as sucesivamente con el segundo
nmero y los dems. Si se nombran 5 variables, leer 5 valores alfabticos o numricos segn corresponda, y
si hay mas valores disponibles para leer slo leer 5.
VIII. IMPRESIN
Para imprimir valores calculados en el programa se usar la instruccin de impresin representada por el
smbolo de la impresora, y adentro el nombre de las variables.
Lista de
las
variables
a
Ejemplos
X1, X2, X3
"suma =", s
"El alumno"
NO, AP
"tiene prom" ,PR
*) Se puede tener una instruccin de impresin slo con mensajes y sin imprimir ninguna variable. Por
ejemplo:
Inicio
Pare
operacin
222
222
222
222
Disco magntico
TEXTOSTEXTOSTEXTOSTEXTOStextos
Pantalla
X . ALCANCES GENERALES
a)
El flujo natural es hacia abajo a partir del valo de inicio, o hacia donde indique la flecha de direccin del
flujo.
b) El flujo natural de ejecucin hacia abajo se puede alterar por:
- Un salto incondicional, que se representa por las flechas que de la nueva direccin
- Un salto condicional, que se representa por una caja de decisiones (rombo) con dos salidas (SI, NO)
y adentro la condicin que al ser verdadera, el flujo ir hacia donde dice SI; al ser falsa, ir hacia
donde No. Ejemplos
A <=1 0 A >0
DI < 0
SI
NO
SI
NO
c)
Cuando programe y deba usar un rombo para un salto condicional en un diagrama de flujo " trate Ud. De
dejar siempre la salida SI hacia el lado derecho"
d) Toda variable que se ocupe al lado derecho de proposicin de asignacin, debe haber sido creada e
inicializada antes de esa instruccin.
Ejemplo.
SU = SU +
I*I
Para que esta instruccin se realice sin problemas, las variables: I, SU deben existir desde antes (creadas), y
tener algn valor almacenado en ellas, (inicializadas). En programacin en general, no supondremos que esas
variables en ese momento pueden tener algn valor, como cero por ejemplo.
1.- Hacer un diagrama de flujo que calcule la suma de los nmeros impares que estn entre 1000 y 5000
Inicio
SU = 0
I = 1001
SU = SU + I
I=I+2
I <= 4999
SI
NO
"Suma =" SU
PARE
Observaciones.
a) La suma que se debe calcular es: 1001 + 1003 + 1005 + ............... + 4999
b) La variable I es la que va tomando los valores: 1001, 1003, 1005, ..........., 4997, 4999
c) Cada valor que va tomando la variable I se va sumando a la variable SU, y se deja en la variable SU.
d) La condicin I<=4999 puede quedar I<=5000, y da lo mismo. Tambin puede quedar I>=4999, o,
I>=5000; en cuyo caso cambia la posicin de las salidas SI, NO.
e) La condicin de trmino es que I sea mayor que 4999. Este diagrama tiene 1 ciclo
2.- Hacer un diagrama de flujo que calcule la suma y el promedio de los nmeros pares menores o iguales que
un nmero K que lee al comienzo.
Inicio
K
SU = 0
I=2
CO = 0
SU = SU + I
CO = CO + 1
I=I+2
I <= K
SI
NO
PR = SU / CO
"Suma= " SU
"Prom= " PR
PARE
Observaciones Ejemplo 2
a) Variables usadas : 5
K
SU
I
CO
PR
b) La suma a calcular es: 2 + 4 + 6 + ... + K, (K-1). Ser hasta K si K es par, y ser hasta K-1 si K es impar.
c) En la variable I se van formando los nmeros pares que se van sumando a la variable SU y el resultado se
deja en SU. La variable CO lleva la cuenta de cuantos nmeros pares se han sumado.
d) Si el nmero K que lee es el 5, se imprimir:
suma = 6
prom = 3
e) Si lee el nmero 5 para K, Cuntas instrucciones ejecuta el computador?
RESP. Son 15; incluida PARE y no incluida INICIO.
3.- Hacer un diagrama de flujo que lea N y calcule e imprima el valor de N! (N Factorial), y luego imprima N
indicando si es par o impar.
INICIO
N
FA = 1
I=1
FA = FA * I
I=I+1
I <= N
SI
NO
N "factorial es: " FA
I=0
9
I=N
SI
N "es par"
NO
I=I+2
I <= N
PARE
SI
NO
N "es impar"
PARE
Observaciones Ejemplo 3
a) Variables usadas : 3
N
FA
I
b) En I se forman los nmeros 1, 2, 3, ........, N y se van multiplicando por FA, quedando en esta variable FA
el valor del factorial. Luego I toma los valores 2, 4, 6, ....... y si llega a ser igual a N, es porque N es par,
de lo contrario N es impar.
c) Se distingue dos ciclos independientes. Cules son?.
i2
i3
i N
INICIO
N, M
SI
N>M
NO
N<=-3 M>=-3
N,
SI M "son n. Inadecuados"
NO
PARE
SU = 0
I=N
TE = (I+2)/(I+3)
SU = SU + TE
I=I+1
SI
I <=M
NO
PARE
Observaciones Ejemplo 4
a) Variables usadas : 5
N
M
SU
I
TE
b) La primera pregunta es porque la sumatoria no tiene sentido si N > M. La segunda pregunta es porque si
N <= -3 M >= -3, I tomar el valor -3 y quedar una divisin por cero, cayndose el programa.
c) Los trminos de la sumatoria se forman en TE y se van agregando a SU, quedando ah el valor final de la
sumatoria.
d) Si los nmeros N, M ledos son 1 y 2, imprimir:
La sumatoria vale: 1.55
Que es el resultado de la suma : 3/4 + 4/5
e) Si lee 1 para N y 2 para M, Cuntas instrucciones se ejecutan?
( RESP. Se realizan 15 instrucciones, con PARE y sin INICIO.)
f) Cunto espacio en memoria ocupan las variables del programa contenido en este diagrama de flujo?
( RESP. 20 bytes, considerando que una variable numrica ocupa 4 bytes en la memoria principal para
almacenarse; tamao standard)
5.- Lea dos nmeros N y M, luego calcule la suma y el promedio de los mltiplos de 5 que estn entre ellos,
incluidos N y/o M si es que son mltiplos de 5.
INICIO
N, M
N <= 0 o N >= M
N,SIM "son n. Inadecuados."
PARE
NO
SU = 0
CO = 0
I=0
I=I+5
I<N
SI
NO
SU = SU + I
PR = SU / CO
CO = CO + 1
"suma= ", SU
"promed.=" , PR
I=I+5
NO
I <= M
SI
PARE
Observaciones Ejemplo 5
a) Variables usadas : 6
N
M
SU
I
CO
PR
b) En la variable I se forman los mltiplos de 5 y cuando son mayores que N los suma a SU y aumenta en 1
la variable CO. Esta variable CO lleva la cuenta de los mltiplos de 5 sumados.
c) Por ejemplo, si los nmeros ledos son N=21 y M=37, calcula la suma: 25 + 30 + 35 = 90, y PR= 90/3,
saliendo a impresin:
suma = 90
promed. = 30
d) Por ejemplo, Si los nmeros ledos son N = 21, M = 24 el programa calcula: SU = 25, y PR = 25. Se
puede mejorar este programa de modo que en casos como ste, diga que no hay mltiplos de 5 entre N y
M. Cmo lo hara?
e) Se puede eliminar el uso de la variable PR, dejando el cuociente en I por ejemplo, ya que I no se ocupa al
final del programa. Naturalmente la instruccin de impresin debe quedar:
"suma= ", SU
"promed.=" , I
PARE
N
i!
i 0
Inicio
N
SU = 2
FA = 1
I=2
FA = FA * I
SU = SU + 1 / FA
I=I+1
I <= N
SI
NO
"Para N= " N
"La suma=" SU
PARE
Observaciones Ejemplo 6
a) Variables usadas : 4
N
SU
FA
I
b) La variable I toma los valores 2, 3, 4, ......, N y en FA se forman los factoriales: 2!, 3!, 4!, ......, N!.
c) La variable SU se inicializ en 2 para que contenga los 2 primeros trminos de la suma, y con I = 2
calcula el tercer trmino de la sumatoria.
d) El valor de la sumatoria N cada vez mayor debe tender al valor: 2.71828 que es el valor de la constante
matemtica e.
e) Para N grande como 40, 70, 110 o ms, la lgica del programa esta bien, pero la capacidad de
almacenamiento de las variables se sobrepasa, producindose lo que se llama "overflow" o "rebalse" de
una variable. En este programa se rebalsar la variable FA.
f) Si lee al comienzo N <= 0, N=1, o, N=2, el programa imprime:
Para N = ......
(ah anotar el valor N ledo)
La suma = 2.50
g) Para N = 32 se obtiene la mayor exactitud en los microcomputadores que tienen un BASIC con variables
reales de precisin simple con capacidad de 10 38. Este nmero N, de la mayor exactitud sin que se
produzca rebalse. Esto depende de la versin del lenguaje BASIC que se ste usando.
7.- Distancia a un punto lejano
Desde una camioneta que avanza por una carretera recta se descubre un cierto puesto de vigilancia forestal,
digamos punto P. Cuando se desplaza con velocidad uniforme, se mide el ngulo de observacin de P en 2
oportunidades: O1 y O2, manteniendo su rumbo y velocidad VE.
Teniendo el tiempo T entre las observaciones O1, O2 y los dos ngulos B1, B2 bajo los cuales vio el punto P
en tierra, se calcula a que distancia X se encuentra P en el momento de la segunda observacin, la mnima
distancia Y a que se pasar de P (o ya se pas), y la distancia D que se recorri entre las 2 observaciones O1,
O2. (FIGURA ADJUNTA).
Frmulas
A = B2 - B1
D = VE * T / 3600
X = D * SEN (B1) / SEN (B2)
Y = X * SEN (B2)
Donde:
B1, B2: ngulos de observacin medidos en
radianes
T: Tiempo entre observ. O1, O2 medido en seg.
VE: Velocidad constante (K/H)
D: Distancia entre O1, O2 (Km.).
X: Distancia entre O2 y P (Km.).
Y: Mnima distancia a P (Km.).
INICIO
112
"ingrese ngulos de observ. en
gr, mi, seg"
G1, M1, S1
G2, M2, S2
"ingrese velocidad en K/H y tiempo en seg."
111
VE, T
B1= (G1+ M1/60 + S1/3600) /57.2957
B2 = (G2+M2/60 + S2/3600) /57.2957
A = B2 - B1
"ang. 1:" B1
"ang. 2:" B2
"vel.K/H:" VE
"t. O1-O2:" T
"d. O1-O2:" D
"d. O2-P:" X
"d. minim.:" Y
S = T / 3600
"desea otra corrida? (S/N)"
D = VE * S
X = D*SIN(B1)/SIN(B2)
RE
Y= X * SIN(B2)
RE = "S"
111
NO
PARE
SI
112
Quien confeccione un diagrama de flujo debe contemplar todas las posibilidades o situaciones que se le
pueden presentar a quien ejecutar ese conjunto de instrucciones de ese programa, desde el inicio hasta el
final. Si hay una situacin no contemplada y se presenta, el ejecutor (digamos el computador) no sabr
que hacer y es impredecible lo que pase de ah en adelante, y en ese caso, si arribara a algn resultado, si
es que arriba a alguno, tendr una validez totalmente incierta.
Tambin es cierto que debe haber algunos supuestos que deben cumplirse en relacin a los datos que recibe,
de otro modo la solucin se vuelve engorrosa por chequear muchas condiciones posiblemente innecesarias
acerca de los datos, tenindose eso si un programa ms inteligente.
2.
INICIO
N, M, P
SI
N <= M
NO
PA = N
N=M
M = PA
M <= P
SI
NO
"ordenados de menor a mayor quedan:" N, M, P
PA = M
M=P
PARE
P = PA
Luego de solucionada la ambigedad de una de sus instrucciones, este diagrama de flujo resuelve el problema
de ordenar 3 nmeros de menor a mayor.
En el diagrama anterior, el flujo es ambiguo luego de la instruccin:
M = PA
Lo que se quiere hacer luego de esta instruccin es volver a la pregunta:
N <= M
M = PA
N <= M
SI
De esta forma este diagrama lee 3 nmeros y los imprime ordenados de menor a mayor.
3.
Todas las instrucciones tienen una sola entrada y una sola salida, salvo INICIO que tiene solo salida y
PARE que tiene solo entrada.
ERROR
4.
INCORRECTO CORRECTO
Cuando hay una vuelta a una instruccin anterior la flecha debe llegar antes de la entrada a la
instruccin, como se indica en la figura anterior.
La instruccin de decisin es representada por un rombo, y tendr como cierta una de las dos salidas
como el camino a seguir luego de verificar la condicin dada.
Las cajas de decisiones tendrn 2 salidas. Esto es lo que asumiremos en estos apuntes de programacin.
Digamos eso si, que hay lenguajes de programacin que tienen saltos condicionales con 3, 4, o ms
salidas as:
B*B - 4*A*C
=0
I
<0
I=1
I=5
I=2
>0
5.
I=4
I=3
Se debe evitar caer en ciclos (LOOPS) no controlados, o ciclos sin salida lgica. Como ejemplo
consideremos los dos diagramas siguientes:
INICIO
INICIO
S=0
I=8
I = 10
S=0
I=I-1
SI
I <= 11
NO
S = S + I*I
I, S
9
I < 13
NO
S=S+I
I=I+1
SI
I=I+1
I <= 13
SI
9
NO
PARE
PARE
El diagrama de la izquierda tiene un ciclo con salida fsica pero sin salida lgica, y el de la derecha tiene un
ciclo no controlado al cual ingresa y no sale mas. En el de la derecha tambin es extrao que no imprima algo.
6.
El nivel de simplicidad de las instrucciones depende del nivel para el que est preparado el ejecutor, y
debera usarse aquellas instrucciones que son mas eficientes en trminos de pasos del programa y tiempo
de ejecucin.
Al comienzo de estos apuntes se indic qu instrucciones supondremos que el computador conoce y puede
realizar. Se indic cmo leer, cmo imprimir, cmo calcular nuevos valores, qu operaciones y funciones
conoce, cmo alterar el flujo de ejecucin, etc. Todo ello para estar de acuerdo en qu es lo que sabe o
entiende el computador, y como decrselo.
Es as como se deduce que no conoce instrucciones como:
- intercambie A y B
- ordene de menor a mayor: T, U, V, W
Y no puede contestar preguntas como:
- A es un nmero primo?
- La suma de los nmeros ledos es 0?
Si hacemos un programa en un lenguaje de programacin de ms alto nivel, es posible que tengan sentido
instrucciones o preguntas como TODAS las anteriores, o como:
- Calcule e imprima el promedio de todos los nmeros que ley.
- El producto de las matrices A y B, da la matriz identidad?.
- Resuelva el sistema de ecuaciones de 22 por 22 que ley.
- Qu recta pasa ms cerca, en algn sentido, de los 92 pares de puntos ledos?
7.
En los problemas que tienen un alto grado de mecanizacin, es decir son muy estructurados, es ms fcil
representar su solucin en diagrama de flujo. Por ejemplo, resolver problemas matemticos cuya solucin
es algortmica, o problemas de Fsica basados en frmulas y procedimientos, o de alguna aplicacin
econmica estructurada, o bien problemas aplicados en la especialidad de Ud. alumno. No ser posible
hacer un diagrama de flujo que resuelva problemas donde intervenga completamente el criterio, el gusto
esttico, los imponderables, etc. Lo que s es cierto, y es la tendencia, el tener programas que entreguen
datos que faciliten la decisin no estructurada disminuyendo el factor de riesgo o grado de incertidumbre
que stas decisiones habitualmente conllevan.
Si el objetivo de un problema a resolver no es totalmente claro y preciso, pocas o ninguna posibilidad habr
de tener solucin, y de representarla en un diagrama de flujo. Por ejemplo:
- Un programa que lleve a un joven a ser un gran hombre en su vida adulta. En este caso ni el
objetivo es claro y preciso, porque Qu es ser un gran hombre?.
- Un programa que realice la labor de mdico recetando remedios a cualquier enfermo, y prestndole
asistencia personalizada. (Habr programas que avancen en este sentido?. Los sistemas expertos).
8.
Las instrucciones de un programa en diagrama de flujo pueden estar destinadas a otro ejecutor diferente
de un computador. El siguiente diagrama es para que un joven entregue un recado por telfono a un
amigo.
INICIO
Levante el fono y espere tono
Espere un rato
Marque el nmero
Cuelgue el fono
Marca ocupado
SI
NO
Cuando contesten d el recado
PARE
Juzgue el nivel de simplicidad de las instrucciones, en consideracin al punto 6 anterior. Son muy
simples o muy complejas?
Enumere algunos supuestos en relacin al nivel de conocimientos que tiene el joven ejecutor de este
diagrama, tales como: edad, donde vive, escolaridad, estado de salud, idioma, y otros.
Cmo quedara este diagrama si el objetivo es el mismo y el ejecutor es un pequeo que solo sabe
leer y no conoce el aparato telefnico?. Al revs, si el ejecutor es un adulto diestro, el programa
puede reducirse a una sola instruccin.
9.
Usualmente hay mas de una estrategia que puede conducir satisfactoriamente a la solucin de un
problema. Es as como dos diagramas de flujo que son aparentemente distintos, ambos pueden estar bien
en trminos de llegar a la solucin del problema planteado; tambin pueden estar los dos mal, o bien
pueden ser mejorables.
En general todo programa que resuelve un problema dado es posible de ir mejorndolo, en el sentido de que
contemple mas posibilidades, o bien que entregue mas informacin relevante acerca del problema, presentada
de mejor manera, o quizs de forma mas expedita y rpida.
Los mejoramientos tienen como contrapartida, por lo general, el que los diagramas queden mas extensos, pero
harn que el programa parezca mas inteligente.
10. Debe tenerse presente que el computador no analiza ni repara en la lgica del programa, como tampoco
se preocupa de ver si las instrucciones que el ejecuta son correctas segn nuestro conocimiento. Slo
hace exactamente lo que se le indica!
El computador no sabe que lo que calcul corresponde a una sumatoria o a una integral, o a un sueldo lquido
a pagar. El computador slo obedece las instrucciones que se le dan y que conoce, el programador sabe el
sentido y la interpretacin que tiene el contenido de las variables que el computador tiene en cada momento.
Por ejemplo, si el computador tiene la variable PI con el valor 3.14159 en su memoria, y se le da la
instruccin:
"El
nmero e
vale : ", PI
"sueldo
lquido: ",
saldr a impresin: sueldo lquido : 3.14159 pesos
PI,
"pesos"
11. Cuando el nmero de instrucciones de un programa aumenta, el tamao fsico del diagrama de flujo
tambin aumenta mucho, y la representacin de ese programa en un diagrama de flujo se vuelve
ineficiente. Por ello, el uso de diagrama de flujo para presentar un programa resulta til para un contacto
inicial con la programacin, y luego deben buscarse formas de presentacin de la solucin que sean ms
cmodas, y ojal, que se asemejen ms a la forma de un programa escrito en un lenguaje de
programacin de alto nivel como lo son: BASIC, FORTRAN, PASCAL, COBOL, etc.
XIII . ULTIMOS 3 EJEMPLOS EN DIAGRAMAS DE FLUJO.
Los 3 ejemplos siguientes de solucin de problemas representada en diagrama de flujo, son de una situacin
muy frecuentemente, cul es la de leer archivos con informacin en registros lgicos de formato fijo. Para ello
se debe tener la estructura del registro en cuanto al nmero de campos que tiene, el orden, y la informacin
que contiene, y otros detalles.
8.- Lea un archivo con 75 registros lgicos que contienen informacin de los alumnos de un curso y sus notas,
en formato:
NUMERO
NOMBRE
EDAD
CAST
MATEM
FISI
QUIM
HIST
ING
Se pide que :
Confeccione un diagrama de flujo que entregue un listado con el nombre, el nmero y el promedio de las 6
notas de los alumnos mayores de 19 aos. Tambin, que indique al final cuantos mayores de 17 aos hay.
INICIO
TO = 0
I=1
ED <= 19
SI
NO
S = CA+MA+FI+QU
PR = (S+HI+IN)/6
NO, NU, PR
ED > 17
SI
TO = TO + 1
NO
I=I+1
"son :" TO
"los mayores de 17 aos"
NOI <= 75
SI
PARE
Observaciones Ejemplo 8
f)
Variables usadas : 13
TO
NU
NO
ED
CA
FI
QU
HI
IN
PR
MA
j)
Se ocupan 13 variables; hay 1 ciclo; no es predecible el nmero de instrucciones que se realizarn porque
depende de los datos que lea.
k) Los 75 registros lgicos a leer deben tener el mismo formato, de otro modo se producir error de lectura.
NOMBRE
CARGAS FAM.
SUELDO BASE
Se pide que :
Imprimir un nuevo archivo con los sueldos base reajustados segn el actual sueldo base. Si el actual sueldo
base est entre 0 y 15000, se reajusta en un 17%. Si esta entre 15001 y 30000, se reajusta en un 17% los
primeros 15000 y en un 19% lo que exceda a 15000. Si el sueldo base es sobre 30000, se reajusta en un 17%
los primeros 15000 en un 19% los siguientes 15000 y en un 21% lo que exceda a 30000.
No se sabe cuantos R.L. son, pero el ltimo tiene IBM=99999 y no debe considerarse.
Imprima al final del nuevo archivo el costo total del reajuste que se esta otorgando de este modo.
(Solucin del diagrama de flujo en pgina siguiente)
Observaciones Ejemplo 9
a)
Variables usadas : 6
RE
IB
NO
CF
SB
NS
SB - 15000 es lo que excede el sueldo base a 15000, y SB - 30000 es lo que excede a 30000.
d) El 17% de 15000 es 2550, y el 19% es 2850. As, 5400 = 2550 + 2850, es el reajuste de los primeros
15000 y de los 15000 que siguen.
e)
f)
La condicin de trmino es que lea un nmero IBM igual a 99999. No se sabe cuantos R.L. leer, y se
sabe que son de formato fijo.
g) Hay un solo ciclo. Hay un salto incondicional. La instruccin PARE no qued al final fsico del
diagrama, aunque el final sigue estando al final lgico del programa.
INICIO
RE = 0
IB = 99999
SI
"aumento en dinero:", RE
NO
INICIO
SB <= 15000
SI
PARE
NS = SB * 1.17
K=1
NO
IG = 0SB <= 30000
SU = 0
SI
NS = 2550+(SB-15000)*0.19+SB
NO
NS = 5400+(SB-30000)*0.21+SB
NI, NO, AI, AE, PR, TI
RE= RE + NS - SB
AI = 1998
333
SI
NO, PR, TI
IB, NO, CF, NS
PG = SU/3200
NO
TI = "ING. FORESTAL" SI
NO histrico con informacin de los alumnos que se han recibido en una Facultad, por
10.- Se tiene un archivo
ejemplo en la Facultad de Forestales.
SU = SU + PR
NUM-INTERNO
Se pide :
NOMBRE
K=K+1
AO-INGR
AO-EGRES
"promedio general:",
PROM-GEN
TITULO PG
Sacar un listado con los nombres de los alumnos de la promocin 1998 junto a su promedio general y el ttulo
que obtuvo. Al final indicar cuntos egresados con ttulo de "ING. FORESTAL" ha tenido la Facultad, y el
promedio de todos los promedios generales que hay en el archivo. Son 3200 R.L. y son dePARE
formato fijo.
K <= 3200
SI
NO
333
Observaciones Ejemplo 10
a)
Variables usadas : 10
IG
SU
PG
NI
NO
AI
AE
PR
TI
15
-11
ii)
iii)
iv)
A=
B=
C=
D=
Resp: .......................
d) Si B no hubiera tenido valor inicial, usted habra ejecutado todas las instrucciones? Resp: .....................
e) Qu valor inicial debera haber inicialmente en A para que, luego de realizada la instruccin i) quede en C
el valor 79?
Resp: .......................
SU
TE
ii)
Sume TE a SU.
iii)
Aumente I en 1.
iv)
Si el contenido de la casilla I es menor o igual que 8, vuelva a la instruccin i); sino, Pare.
Luego de llegar a pare, conteste las siguientes preguntas:
a) Cul es el contenido de las variables SU, I, TE ?
b) Cuntas instrucciones realiza Ud. hasta llegar a Pare?
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
Resp: .......................
INICIO
K=0
LU = 1
LU=0
SI
NO
"NO"
"SI"
LU = 0
LU = 1
K=K+1
K<=7
SI
NO
PARE
4.- En estos cuatro ejercicios siguientes, en cada caso, se pide hacer un diagrama de flujo que resuelva el
problema planteado. Corresponden a clculo de sumatorias.
a) Calcule e imprima la suma de los mltiplos de 3 que estn entre 100 y 1000.
b) Lea N, y calcule la suma de los nmeros pares y de los mltiplos de 5 que estn entre N+4 y
N2+3*N+1. Asuma que el N ledo positivo.
c)
Lea 30 nmeros de a uno por lectura, y de ellos calcule la suma, su promedio, y la suma de los
cuadrados de los 30 nmeros ledos.
d) Lea el nombre de un alumno y sus 6 notas, e imprima su nombre junto al promedio con un mensaje
que diga si aprueba o reprueba segn tenga promedio mayor o igual que 4, o promedio menor que 4.
Repetir esto con los 25 alumnos del curso.
5.- Productos
a) Calcule el producto de los nmeros pares entre 25 y 57, e imprima el resultado con un mensaje
adecuado.
N
x
i 2
3i 4
3i 3 N
indique tambin
6.- Lea N, M. Si N>M, determine el mayor mltiplo de 5 que esta entre N y M. Si N=M, imprima un mensaje
que diga si los nmeros N y M ledos son pares o impares. Y, si N<M, debe calcular la suma de los recprocos
de los nmeros que estn entre N y M. En todo caso, si alguno de los dos, N o M, es negativo debe imprimir
un mensaje diciendo que se ley nmeros negativos, y PARA de inmediato.
7.- a) Lea 50 nmeros de a uno por lectura e indique al final cul fue el mayor nmero ledo de los 50, el
menor nmero ledo de los 50, el promedio de ellos, y cuntos nmeros negativos hubo entre los 50 que se
ley. Nada se sabe de los nmeros a leer en relacin a sus valores; si son positivos, todos o algunos negativos,
enteros, etc.
b) Lea nmeros de a uno por lectura, hasta que lee un nmero menor que -99 y no lo considera, e indique
luego de leer: cul fue el mayor y el menor nmero ledo, el promedio, y cuntos nmeros negativos ley.
8.- Lea un archivo con informacin de un curso de 125 Registros Lgicos de formato:
NOMBRE
N1
N2
N3
N4
Se pide :
Imprimir el nombre y el promedio de cada alumno y la mas alta nota de las cuatro que tiene. Si el promedio es
menor que 4.0, se le debe agregar el mensaje "reprueba"; y si es mayor o igual que 4.0, agregar el mensaje
"aprueba". As, el registro a imprimir tiene formato:
NOMBRE
PROMEDIO
MAYOR NOTA
aprueba reprueba
MENSAJE
9.- Lea un archivo con informacin de personal relativa a sueldos. Los R.L. tienen formato:
NUMERO
NOMBRE
GRADO
C.FAMILIAR
S.BASE
Se pide :
Imprimir el nombre, el nmero, y el sueldo a pagar. El sueldo a pagar se calcula como: el sueldo base ms
(30-GRADO)% del sueldo base, y ms $750.0 por cada carga familiar.
No se sabe cuntos registros lgicos son, pero el ltimo tiene nmero igual a 9999, y no se considera (es slo
una marca de fin lgico de archivo). Al final, se pide agregar el costo de esa planilla, el sueldo promedio, y
el promedio de cargas familiares por persona.
10.- Se selecciona al azar varios alumnos de una Escuela y se les pregunta: el nombre, la edad, la altura, y el
peso. Los R.L. del archivo en que se guardo esa informacin quedaron con formato:
NOMBRE
EDAD
ALTURA
PESO
Las edades van de 16 a 20 aos inclusive. El ltimo registro tiene edad cero y no se considera.
Se pide :
Que se emita un informe con la altura y peso promedio por edad, es decir, altura y peso promedio para los 16
aos, para los 17 aos, para los 18 ao, para los 19 aos y para los 20 aos.
Agregue al final, cul es la mayor altura y cul es el mayor peso que hay en la muestra.
11.- El taller de una empresa arregla un solo tipo de motores, y mantiene un archivo con informacin de cada
una de las piezas que ocupa en las reparaciones de esos motores. Los R.L. tienen formato:
NUMERO
STOCK
CANT-POR-MOTOR
b) Luego de resuelto a) y conocido dicho costo, digamos que es CT=K, saque un listado con nmero,
descripcin, costo unitario y proveedor de aquellas piezas ms caras. Se entiende por pieza cara,
aquella cuyo costo es superior al 6% de CT.
c)
Se desea sacar un listado con nmero, descripcin, costo unitario y proveedor de aquellas piezas
cuyo stock es menor o igual que 10, si es que el costo unitario es menor que US$10; y de aquellas
piezas cuyo stock es menor o igual que 4, si el costo unitario es mayor o igual que US$10.
d) Se desea conocer el nmero y la descripcin de la pieza que tiene mayor stock, y de la que tiene
menor stock, de entre todas las piezas que tienen costo superior a US$5. Se desea conocer tambin
cuntos tipos de piezas provee la compaa "STEEL WEL S.A"
12.- Una empresa basa sus ventas en la accin de un grupo dinmico de vendedores o colaboradores, cuyos
datos se mantienen en un archivo con R.L de formato:
NUMERO
NOMBRE
APELLIDO
VENTAS$
CANT-VENDIDA
AO-INGRESO
ESTADO
donde estn, las ventas en US$, la cantidad de artculos vendidos, el ao de ingreso, y el estado es "activo", o
bien "retirado". El ltimo R.L. tiene como marca de fin de archivo NUMERO=-999, y no se debe considerar.
Confeccione un diagrama de flujo para cada problema que se da a continuacin, y que lo resuelva
separadamente.
a)
Ubicar el nombre del vendedor ms antiguo y del ms nuevo, de entre todos los que tienen estado
"activo".
b) Ubique el nmero, nombre y apellido de quien tiene el mayor volumen de ventas, y de quien tiene el
menor volumen de ventas, no importando si esta activo o no. Tambin se desea los datos de quien
tiene el segundo mayor volumen de ventas, este activo o no.
c)
Obtenga un listado con nmero, nombre y apellido de quienes estn retirados, indicando al final
cuntos son, que promedio de ventas en US$ y promedio de cantidad de artculos vendidos tienen
ellos en total.
d) Listar todos los "Prez Gonzlez", y los "Prez Prez" que hay en el archivo indicando cuntos son,
y al final agregar cul es el mas antiguo de los nombrados y el ao en que ingres a la empresa.
13.- Transformacin de temperaturas a distintas escalas de medicin.
Es de inters, para diversos fines, expresar en distintas escalas de medicin una misma temperatura. Las 4
escalas mas usadas, por sus ventajas comparativas respecto de las otras en diversas aplicaciones son:
- Escala CELSIUS (C) - Escala FAHRENHAIT (F)
- Escala KELVIN (K)
- Escala RANKIN (R)
Las relaciones entre ellas son las siguientes:
C = 5 / 9 (F - 32)
F = 9 / 5 C + 32
K = C - 273.16 = F - 459.69
R = F + 459.69
Por ejemplo:
i) 32F = 0C = 273.16K = 491.69R
ii) 212F = 100C = 373.16K = 671.69R
Confeccione un diagrama de flujo que reciba una temperatura y la escala, y saque a impresin esa temperatura
expresada en las cuatro escalas nombradas
14.- Distancia al horizonte.
La distancia a que se encuentra nuestro horizonte visible depende de la altura desde el suelo hasta nuestros
ojos. En el caso de estar en medio de un terreno plano (planicie), o de estar sobre la superficie del mar, en que
no halla irregularidades que perturben la observacin a distancia, y no considerando el ndice de refraccin
del aire en ese momento, una buena aproximacin de la distancia, a la que distingue una persona un objeto
justo en el horizonte esta dada por:
D 1.144 H
E 1.317 H
, o,
donde H es la altura medida en pies. D es la distancia al horizonte en millas nuticas, y E es la distancia al
horizonte en millas estndar. La altura H puede corresponder a la altura de un viga en una torre de Guarda Bosques, centinela, etc.
Escriba un programa que entregue la distancia del horizonte visible en metros dndole la altura del ojo del
observador en medida en metros.
Las equivalencias entre las unidades de medida son:
1 milla nutica = 1851.8 metros
1 milla estndar = 1609.3 metros
1 pie = 0.3048 metros
15.- Se toma una muestra al azar de 150 rboles, y la informacin recolectada se almacena en un archivo con
R.L. de formato:
NUMERO
ESPECIE
EDAD
DAP
HB
HT
Donde esta: el nmero, la especie del rbol, la edad, el dimetro a la altura del pecho, el alto del fuste, y el
alto total.
Construya un diagrama de flujo que resuelva cada uno de los programas siguientes de manera separada, es
decir, considere los programas independientes uno de otro.
a)
Determina e imprima el nmero y especie del rbol que tiene mayor DAP. Tambin nmero y
especie del rbol que tiene mayor HB, y el menor HT.
b) Imprima el mismo archivo de lectura con 2 nuevos campos: rea basal, indicada por AB, volumen,
indicado por VO, y determinados por:
AB = 3.14159 / 4 * DAP2 ,
VO = AB * HT / 3 + 1 / HB
Con la funcin de volumen indicada en b), determine el volumen total de la muestra, el volumen
promedio de los rboles de la especie "ALERCE", y la especie y nmero del rbol con el mayor
volumen.
d) Emita un informe para las variables EDAD, DAP, HB y HT, indicando da cada una: promedio,
menor valor, y varianza S2. S2 esta dada por: el promedio de la suma de los cuadrados menos el
cuadrado del promedio.