Vous êtes sur la page 1sur 36

Computo II -1Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing.

Industrial ------------------------------------------------------------------------------------------------------------------------------

CAPITULO II DIAGRAMAS DE FLUJO 3.1.- INTRODUCCION


Para poder programar se necesita del conocimiento de algunas reglas para as lograr resolver cualquier problema con la ayuda de un computador. Adems, los usuarios de los computadores deben tener en cuenta que existen varios tipos de programas por ejemplo: 1) Programas de aplicaciones o de usuarios, que son escritos por el usuario y para resolver sus problemas. Programas de los sistemas, que son escritos por programadores de sistemas, sirven para ayudar al usuario en la mejor utilizacin de sus tareas.

2)

Los programas de sistemas incluyen aquellos que controlan y administran el funcionamiento del computador, a este conjunto de programas se le conoce con el nombre de Sistema Operativo. El tipo de lenguaje que la mquina est en grado de interpretar es bastante lejano de ser comprendido por el hombre, esto a conducido a la definicin de los llamados LENGUAJES SIMBOLICOS,y LENGUAJE DE MAQUINA. Lenguaje Simblicos: son aquellos que permiten expresar las instrucciones en formas ms smiles al lenguaje normal se conocen tambin como lenguajes de alto nivel. El lenguaje de mquina est escrito en un lenguaje que consiste en series de cdigos numricos que se usan con un modelo particular de computador. El lenguaje de alto nivel es aquel que se escribe en un programa y que utilizando programas del sistema, traduce el computador. Un programa del sistema que traduce a lenguaje de mquina un lenguaje de alto nivel, se conoce como COMPILADOR. Un programa escrito en un lenguaje de alto nivel es conocido como PROGAMA FUENTE y la versin traducida del programa a lenguaje de mquina, se conoce como PROGRAMA OBJETO. La codificacin de un programa se entiende, la transformacin de las instrucciones del lenguaje grfico (flow-chart) en lenguaje simblico; obteniendo de esta forma el PROGRAMA FUENTE.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -2Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

COMPILADOR

PROGRAMA FUENTE

COMPUTADOR

LISTADO DEL PROGRAMA FUENTE

DATOS DE ENTRADA DEL PROGRAMA

PROGRAMA OBJETO

DATOS DE SALIDA DEL PROGRAMA

Como usuarios del computador, logramos visualizar todo lo que sea posible sobre la formacin de programas de aplicacin o ms conocidos como Programas Fuente. Para poder resolver un problema con ayuda del computador, es necesario hacer los siguientes pasos: 1) Anlisis del problema 2) Planteamiento del problema (empleo de frmulas y otros). 3) Conocer las limitaciones fsicas del computador 4) Programar Conocidas estas condiciones para escribir un Programa Fuente se debe cumplir con la siguiente secuencia de preparacin. 1) Algoritmo (conocido como ANALISIS) 2) Diagrama de flujo 3) Prueba de escritorio 4) Codificacin (escribir el programa en lenguaje de alto nivel) 5) Digitacin 6) Depuracin de errores 7) Comprobacin de resultados 8) Documentacin

3.2.- ALGORITMOS Es tambin conocido como ANALISIS, o sea es la descripcin detallada de un procedimiento de clculo o investigacin. Por lo tanto todo procedimiento debe tener: a) Un nmero finito de etapas b) Operaciones aritmticas y/o lgicas c) Debe ser lgico

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -3Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Por lo tanto para poder tener xito con la aplicacin de la computacin a un problema de Ingeniera, todo mtodo numrico aplicado en la resolucin de un problema, debe apoyarse en un ALGORITMO. El trmino Algoritmo es sinnimo de "regla", "procedimiento", "mtodo" o "tcnica", el que tiene las siguientes caractersticas: 1) 2) 3) 4) Ser utilizado para resolver un problema de manera amplia y general al tema tratado. Debe tener un nmero finito de clculos Debe detallar exactamente lo que se hace a cada momento bajo cualquier condicin que pueda presentarse en el anlisis del problema. Debe aplicar las reglas que lo componen en varias clases de problemas del mismo tipo. No ser ambiguo

Ejemplo: Calcular la Hipotenusa de un tringulo rectngulo dado los lados A y B. Se logra construr el algoritmo de este clculo de modo tal que: a) Tomar los valores de A y B b) Elevar al cuadrado a cada uno de los valores (A2, B2) c) Sumar los valores calculados. (A2 + B2) d) La hipotenusa es: raz cuadrada de (a2 + b2) 3.3.- FLUJOGRAMAS EL FLUJOGRAMA no es ms que la representacin VISUAL del Algoritmo, indica todos los pasos a realizarse. La diagramacin y luego la codificacin de un programa en el lenguaje de alto nivel seleccionado, ser tan bueno como se haya construdo el Algoritmo. Como en Ingeniera la mayor parte de problemas a resolverse son de tipo matemtico, hay que tener en cuenta que para aplicar la computacin, se debe hacer: 1) Aproximacin general del problema (Anlisis matemtico). 2) Formulacin del esquema del algoritmo (Procedimiento). 3) Dibujar el diagrama de flujo para el algoritmo establecido. 4) La prueba de funcionamiento del diagrama de flujo 5) Codificacin en el lenguaje seleccionado. SIMBOLOGIA Existen una gran variedad de smbolos que se utilizan para la diagramacin, los siguientes son los ms utilizados: Bloque INICIAL/TERMINAL.- Se utiliza al principio y al final de un diagrama de flujo, respectivamente.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -4Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Bloque de PROCESO: Se utiliza cuando es necesario efectuar una operacin. Ejemplo: Realizar una suma, asignar un valor, etc.

Bloque de ENTRADA.- Se utiliza para especificar la operacin de comunicacin. Que lea la informacin necesaria dada. Bloque de SALIDA.- Se emplea para especificar la operacin de comunicacin. Que saque toda la informacin necesaria pedida.

Bloque de DECISION.- Se utiliza para indicar un punto en el cual es necesario optar por uno u otro camino (proceso).

Ciclo de Operacin.- Se utiliza cuando es necesario hacer clculos idnticos en N iteraciones.

bloque de sentencias

Conector Interno:

Conector Externo: Decisin calculada.- conocida como el GO TO calculado ("vaya a ....").

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -5Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Sub-programa SUBROUTINE.- Se utiliza para llamar a un sub-programa en el programa fuente o programa principal. Sub-programa SUBROUTINE.- Se utiliza para la creacin de sub-programas Subroutine.

Sub-programa FUNCTION.- Se utiliza para la creacin de sub-programas Function. OPERADORES Llmese operador a un smbolo matemtico que representa un proceso, tambin matemtico. Existen varias clases de operadores: 1) OPERADORES ARITMETICOS.- ellos son: Suma Resta Multiplicacin Divisin 2) OPERADORES LOGICOS.y o NO "AND" "OR" "NOT" + * /

3) OPERADOR DE ASIGNACION.- Es aquel que indica que se debe dar cierto valor a una variable. igual a <------Ejemplos: Q <----- 5 Asgnese a la variable Q el valor de 5 N <---- N + 1 Sume una unidad al N anterior, y asigne a N. 4) OPERADORES DE COMPARACION: Por medio de estos se expresan relaciones entre dos proposiciones. Mayor que Menor que Igual a Menor o igual que Mayor o igual que Diferente a > < = +

Ejemplo: A B A menor o igual que B DECISIONES

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -6Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Se puede realizar una decisin por medio de: a) Una expresin en la que se emplea los operadores de comparacin, dando lugar a salidas lgicas de verdadero o falso. <----------( A > B) ------------> falso verdadero b) Una expresin aritmtica, en la que se emplea un operador aritmtico (especialmente el de la RESTA), dando lugar a salidas tales como: menor a cero: igual a cero: 0 mayor a cero: + (valor negativo) (valor nulo) (valor positivo)

(<) (>) <----------- (A - B) ----------> + 0 (=) En la Computacin y de manera especial cuando se realiza un diagrama de flujo, para poder entender como se maneja la informacin, los valores numricos, se apoyan en nombres alfanumricos conocidos como VARIABLES. Las variables durante el proceso de operacin tomarn los valores numricos esperados en cualquier clculo, y a estos se los identificara por el nombre dado, que debe ser nico. Ejemplo (1): Diagrama de flujo de "Programa para ir al trabajo".

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -7Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial -----------------------------------------------------------------------------------------------------------------------------INICIO

DESPERTARSE

PARAR EL DESPERTADOR SALIR DE LA CAMA

ESTA OBSCURO SI ENCENDER LA LUZ

NO

IR AL BAO

DESAYUNAR

TOMAR PORTAFOLIO

IR A LA OFICINA

FIN

Diagrama 1

Ntese cmo se ha realizado el diagrama, representando cada una de las actividades por sus respectivos bloques. Si Ud. cree que falte alguna (s) actividad (s), corrija al diagrama de acuerdo a su "programa para ir al trabajo". Realice otros diagramas de actividades diarias u ocasionales, para as ir llevando la lgica de la diagramacin. Ejemplo (2): Realizar un diagrama de flujo para calcular el cuadrado, el inverso y la raz cuadrada del nmero 20. ALGORITMO: 1) Identificar el valor 2) Calcular el cuadrado del nmero 3) Calcular el inverso del nmero 4) Calcular la raz cuadrada del nmero 5) Identificar los resultados DEFINICION DE VARIABLES: Los siguientes nombres representan a:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -8Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

A, el nmero 20 RC, al cuadrado del nmero AInv, al inverso del nmero Rac, a la raz cuadrada del nmero DIAGRAMA DE FLUJO
I

A=20

RC=A^2 Ainv=1/A Rac= A^.5

RC,Ainv,Rac

Diagrama: 2 PRUEBA DE ESCRITORIO (o de funcionamiento): A 20 RC AInv Rac 400 0.05 4.4721

3.4.-EXPRESIONES ARITMETICAS Y PROPOSICIONES DE ASIGNACION La proposicin de asignacin permite expresar reglas de clculo con las cuales se definen nuevos valores. La misma tiene la forma: VARIABLE = EXPRESION ARITMETICA EXPRESION ARITMETICA: Corresponde a una regla de clculo que se ejecuta conduciendo a un valor nico y no ambiguo. VARIABLE: Es el nombre que representa al valor computado en la expresin aritmtica. Una expresin aritmtica puede poseer componentes tales como: Constantes Variables Operadores aritmticos Parntesis
---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -9Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Referencias a Funciones, etc. CONSTANTES Son cantidades que aparecen en una proposicin en forma de un numeral. Ejemplos: 20 46 17.33 -6.92

CONSTANTES ENTERAS: Son nmeros que SIEMPRE se omite el punto decimal, puede ser de valores positivos o valores negativos. Si el signo est presente siempre se le ubica a la izquierda del nmero; si es negativo nunca se omite el signo, pero si es positivo el signo es opcional.

Ejemplos: 2 -3 +9 162 0 21 - 74 - 1983

Adems,los primeros ceros pueden omitirse en un nmero, pero nunca los ceros finales. Ejemplos: 0005 -007 400 -800 CONSTANTES REALES: Son nmeros que pueden tener valores positivos o valores negativos; poseen el punto decimal y parte decimal. El signo positivo de un nmero es optativo colocarlo y los ceros a la izquierda del nmero pueden omitirse. Ejemplos: 0.34 - .72 +10 VARIABLES: -4 + .00825 23.8635 y y y y 5 -7 4 -8 es lo mismo es lo mismo no es lo mismo no es lo mismo

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -10Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Son smbolos o nombres asociados con las ubicaciones de memoria cuando se almacena los valores numricos asignados a ellas. O sea, es una cantidad que asoma en forma de un nombre. Ejemplos: AI KA5 K4N UVA IR43 X3

Como una de las reglas FORTRAN, se define:

VARIABLES REALES: Son nombres que representan valores con decimales y estos nombres empiezan con las letras de la A a la Z a excepcin de I, J, K, L, M N. Ejemplos. D ATOTAL S4I R34 X1 SUMA2 AJL3 etc.

VARIABLES ENTERAS: Son nombres que representan valores enteros y estos nombres empiezan con las letras I, J, K, L, M, N. Ejemplos: ISUMA KTOTAL I2 MA4 MN3 J KL etc.

Debiendo estas VARIABLES cumplir con los siguientes requisitos: 1) 2) 3) 4) 5) Debe tener uno o ms caracteres alfabticos (letras) Puede llevar caracteres numricos (dgitos) El nombre de la variable debe empezar siempre con una letra Debe tener como mximo seis (6) caracteres (depende del compilador. Por ningn motivo debe llevar caracteres especiales o espacios en blanco ente otros caracteres componentes del nombre de la variable.

VARIABLES A23 ATIL J NS73 )P# , ETC.

NO VALIDOS BSs/r2 4JA B T2

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -11Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Una EXPRESION ARITMETICA debe tener variables y/o constantes del mismo tipo, solo reales o solo enteros. Ejemplos de proposiciones de asignacin: r <------- a + b - 3c k+m 3 W <----- -------- - ---5 n 0 <-------- r2 - SenX

3.5.- CALCULOS ITERATIVOS (Ciclos de clculo): Ejemplo (3): Realice un diagrama de flujo para calcular el rea y el permetro de 10 rectngulos dados los valores de sus lados a y b. ALGORITMO 1) Iniciar los clculos 2) Identificar los valores de los lados 3) Calcular el rea: Area = base x altura 4) Calcular el permetro: Permetro = 2(base) + 2(altura) 5) Identificar los clculos realizados. 6) Es el ltimo rectngulo? _______Si_____ 8) Fin 7) Identificar el siguiente clculo y operar desde 2) IDENTIFICACION DE VARIABLES: A, B nombres que representan a los valores de los lados (base y altura) del rectngulo respectivamente.

AR nombre que representa el valor del rea PE nombre que representa al valor del permetro I contador que identifica a cada uno de los 10 clculos DIAGRAMA DE FLUJO:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -12Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

I I=1

A,B

I=I+1

AR = B*A PE = 2(A+B)

AR,PE

I < = 10

Diagrama: 3 Debe observarse que se ha formado un proceso iterativo de clculos que se repiten para cada uno de los respectivos rectngulos, adems se nota la utilizacin de una decisin (comparacin) aritmtica. SERIES: Ejemplo (4): Elaborar un diagrama de flujo que indique el clculo de la suma de: 20; 35; 18; 22; 45; 30.

ALGORITMO: SUMA = 20 + 35 + 18 + 22 + 45 + 30 1) 2) 3) 4) 5) 0 + 20 = 20 20 + 35 = 55 55 + 18 = 73 73 + 22 = 95 95 + 45 = 140

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -13Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

6) 140 + 30 = 170 Se observa que se han realizado SEIS clculos repetitivos que normalmente se representa como: i=6 SUMA = Xi i=1 Lo que indica que en cada clculo el valor actual de la SUMA es igual a un valor anterior de SUMA ms el respectivo valor de X, o sea: SUMA = SUMA + X Que con una repeticin de seis clculos identicos se logra tener el resultado final de SUMA esperado. O sea que el algoritmo se presenta como: 1) Iniciar la SUMA 2) Iniciar las operaciones de sumar 3) Identificar el valor de X a sumarse 4) SUMA = SUMA + X Si 5) Averiguar: Es el ltimo valor a sumarse? --------6) Identificar la siguiente operacin, repetir desde 2) 7) Identificar la SUMA. 8) Fin DIAGRAMA DE FLUJO:
I

SUMA = 0 I=1

I=I+1

SUMA =SUMA + X

I<=6

SUMA

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -14Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Diagrama: 4

PRUEBA DE FUNCIONAMIENTO: I 1 2 3 4 5 6 X 20 35 18 22 45 30 SUMA 20 55 73 95 140 170

Ejemplo (5): Realizar un diagrama de flujo para calcular la suma de los diez primeros nmeros impares. ALGORITMO: TOTAL = 1 + 3 + 5 + 7 +......+ (2I - 1) I=10 TOTAL = (2*I - 1) I=1 Si se considera que: AI = (2*I - 1) Se entiende que una suma repetida que se presenta como en el caso anterior bien puede seguir representndose como: TOTAL = TOTAL + AI IDENTIFICACION DE VARIABLES: I, representa al contador de las iteraciones y a la vez al multiplicador que produce el nmero deseado por cada ciclo. TOTAL, representa el valor de la suma de los nmeros impares. AI, representa el nmero impar deseado a sumarse.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -15Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

DIAGRAMA DE FLUJO:
I

TOTAL = 0 I=1

I=I+1

AI = (2*I-1)

TOTAL = TOTAL+ AI

I < = 10

TOTAL

Diagrama: 5 Obsrvese en el diagrama la utilizacin de una decisin con operador lgico (comparacin lgica: verdadero o falso). Ejemplo (6): Construir un diagrama de flujo para calcular el factorial de 10. ALGORITMO: 10 = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 Analizando la expresin: 1x1=1 1x2=2 2x3=6 6 x 4 = 24 24 x 5 = 120 ....... Se notar que existe un valor anterior que multiplicado por otro previsto llega a producir un valor actual necesario. O sea que: FACT = FACT x AN y que como valor inicial del nmero que predefine la multiplicacin es 1

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -16Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

DIAGRAMA DE FLUJO:
I
I

I=1 FACT=1

N = 10 FACT=1

I = 1,N,1

I=I+1 FACT = FACT*I


FACT = FACT*I

I < = 10

FACT

FACT

6a

6b

En el diagrama 6b se nota el uso del ciclo de operacin o bloque de iteracin. La representacin:

I = 1, N, 1

Indica: Que el ndice I tomar valores desde: a) Valor inicial 1 b) Al valor final o lmite de N (esta predefinido) c) Con una variacin o incremento por iteracin de 1 Operando inclusive hasta el lmite indicado, en este caso por N, con lo que sustituye a: 1) Un inicializador de operaciones iterativas. (I <---1) 2) Un bloque de decisin
---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -17Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

3) Un incremento dado (I <--- I +1) En otras palabras encierra en si los siguientes bloques:

+-----------------------+ I m I <--- n +------------- I <---I + k +-----------------------+ Donde: I, n, m, k, Representa a la variable entera que acta como variable ndice propia del ciclo. Representa el valor inicial que debe tomar la variable ndice en mencin. Representa al valor final que debe alcanzar la variable ndice en mencin. Representa el incremento o variacin del valor que ir tomando la variable ndice por cada nueve iteracin.

Ejemplo (7): Dada la funcin: Y = x2 + 2*x - 3 determinar un diagrama de flujo que calcule los valores funcionales de Y cuando X tome valores de 3.2 a 8.8 variando 0.2 por cada nuevo x.

DIAGRAMA DE FLUJO:

X = 32,88,2

X = X/10

Y = X ^2 +2*X-3

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -18Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Diagrama: 7 3.6.- ARREGLOS Para representar arreglos en la computacin y matemticamente se utiliza a las variables subindicadas. Permiten estas variables subndicadas representar a una serie (arreglo) de valores con un solo nombre. El arreglo es un conjunto completo de valores y cada una de estas cantidades se les conoce como elementos. Una variable subindicada, es el nombre que representa a un arreglo y a ms lleva un subndice despus del nombre dado; puede tener, uno, dos o tres subndices que representar a un arreglo unidimensional, bidimensional o tridimensional respectivamente.

Variables Su indicadas

A R R E G L O

Unidimensional Bidimensional Tridimensional

Ai Bij Gijk

1 subndice 2 subndices 3 subndices

Cuando se habla de subndices, se refiere a la dimensin del arreglo y no al nmero de elementos que posee. A los arreglos unidimensionales por tener una dimensin se los conoce con el nombre de VECTORES y a los arreglos bidimensionales se les denomina MATRICES. En notacin matemtica, a los vectores se representan: A1, A2, A3, A4,....,A19, A20. de lo que se entiende que el arreglo representado tiene el nombre de A y posee 20 elementos. Mientras que las matrices estn compuestas por elementos que ocupan renglones horizontales y renglones verticales, ms conocidos como filas y columnas de la matriz. En notacin matemtica, se representa: B1,1 B2,1 B1,2 B2,2 B1,3 B2,3

Indicando que este arreglo de nombre B tiene dos subndices con elementos ubicados de tal manera que cada fila disponga de 3 elementos y cada columna de 2 elementos, llegando a totalizar un arreglo de 6 elementos. Cuando un arreglo UNIDIMENSIONAL tiene N elementos, en notacin matemtica se representa: (Ai,i <--1,N).

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -19Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Con lo que se indica que el arreglo de nombre A tiene elementos representados desde el A1 al AN.

+-----------------------------------+ 2. 7. 9.4-15.100. -2. 4.4 3.........4.2 +-----------------------------------+ A1 A2 A3 A4 A5 A6 A7 A8 . AN En la notacin (representacin) del lenguaje de alto nivela este mismo arreglo se lo indica por: (A(I), I=1,N) Indicndose que el arreglo de nombre A tiene N elementos que ocupan la siguiente secuencia de memoria: 2.--> 7.--> 9.4 --> 15.--> 100 -----> ......------> 4.2 A(1) A(2) A(3) A(4) A(5) A(N)

Si ahora, el arreglo es bidimensional de K elementos distribuidos en N elementos para las filas y M elementos para las columnas, en notacin Fortran se representa: ((B(I,J),I=1,N),J=1,M) El total de elementos: K = (N)(M) y la secuencia de memoria para el arreglo bidimensional de nombre B, se puede indicar: - 14 B(1,1) 20.3 B(2,1) 7.45 B(3,1) - .33 100. B(1,2) - 2. B(2,2) - 10. B(3,2) 140. 0.3 B(1,3) 9.35 B(2,3) 1.19 B(3,3) 44.56

B(4,1) B(4,2) B(4,3) Ntese que los elementos de un arreglo se almacenan en memoria por filas o columnas. El uso de las variables subindicadas hace que muchos elementos de un arreglo sean manipulados y operados de diferente manera, con solo variar el valor del subndice.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -20Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Una variable su indicada puede ser real o entera y cumple con todas las caractersticas FORTRAN ya enunciadas para considerarse como variable. Los subndices deben cumplir los siguientes requisitos: FORMA GENERAL: (c * v c') , nombre de la variable c, c' constantes enteras v variable ndice Reglas : 1) Los sub-ndices deben TOMAR solamente valores positivos, representados por enteros positivos. Un sub-ndice puede ser una variable ndice o una constante o una de las siguientes combinaciones aritmticas. +-------------------------------------------------+ NOMBRE VARIABLE CONSTANTE COMBINACIONES VARIAB INDICE ARITMETICAS --------+------------+----------------+--------- A3 A3(J) A3(2) A3 (J+4) +--------+------------+----------------+---------- BT BT(N) BT(8) BT (2 N) +--------+------------+----------------+---------- C C(l4) C(3) C(3 Ll - 2) +--------+-----------+----------------+---------- D D(I,J) D(7,2) D (J,3) +--------+-----------+----------------+---------- D D(K,N) D(2,1) D(3 K,N - 2) +-------+------------+----------------+---------- D D(L,L2) D(1,5) D(L+1,2 L2-1) +--------------------------------------- ---------+ 2)

3) Un sub-ndice en SI no debe ser el nombre de una variable con sub-ndice. Ejemplo: A(I(3) ) No permitido B4(K(I)) 4) Un sub-ndice nunca se debe permitir que tome valores negativos o 0 (cero es una posicin nula) Se debe aclarar que la sub-indicada identifica la posicin de memoria que ocupa un elemento del arreglo dentro del espacio de memoria que representa la variable, por lo tanto no existen posiciones cero o posiciones negativas de memoria.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -21Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

5) Un nombre de variable sub-indicada que representa a un arreglo no debe utilizarse para representar otro valor diferente al arreglo en un mismo programa. DIS(I) representa un arreglo DIS representa un valor o un clculo Hay que entender que la primera posicin identificar el 1 y la ltima posicin identificar el valor de N definido por el requisito de programacin o el lmite permitido por el compilador. Ejemplo: Si I = 3 F(I-3)--------> F(0) F(I-5) -------> F(-2) B(I,I -4) -------> B(3, -1) B(I - 3,2*I-2) ----> B(0,4) De todo lo anterior, los sub-ndices pueden ser variables enteras PREDEFINIDAS o constantes enteras positivas.

ARREGLOS UNIDIMENSIONALES Ejemplo (8): Dado la estatura de diez personas, realice un diagrama de flujo para calcular la estatura promedio. DEFINICION DE VARIABLES: N, Nmero total de elementos del vector EST EST, nombre que representa las N estaturas (elementos del vector) TOTAL, nombre que representa la suma total de los elementos del vector. PROM, nombre que representa el valor promedio. DIAGRAMA DE FLUJO:
Inicio

N, (EST(J), J = 1,N)

TOTAL = 0

K = 1,N

TOTAL = TOTAL + EST( K )

PROM = TOTAL / N

(EST( I ), I = 1,N) TOTAL, PROM

Fin

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -22Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Diagrama: 8

En el diagrama: 8 se observa que para lograr calcular el promedio, se obtiene primero la suma total de los elementos del vector EST. Adems, el subndice de la variable EST no mantiene su nombre durante el transcurso del diagrama; pero, al estar PREDEFINIDO indica que lo que interesa es el valor de la posicin que toma la variable subindicada EST y no el nombre del subndice.

Ejemplo (9) : Dado el vector NV: +-------------------------------------------------------+ 14 2017 45 83 28 15 1994 56 9 23 1118 +-------------------------------------------------------+ realice un diagrama de flujo que calcule el nmero mayor de sus elementos y la posicin en la que se encuentra el mismo.

DEFINICION DE VARIABLES: n, nmero total de elementos del vector; n<--- 14 NV, nombre del vector MAYOR, nombre que identifica al nmero mayor del vector K, nombre que identifica la posicin del nmero mayor dentro del vector. Diagrama de Flujo:
Inicio

n, (NV ( i ), i =1,n)

MAYOR = NV ( 1 )

J = 1, N

MAYOR >= NV (J)

Si

No

MAYOR = NV (J)

K = J

NV ( J ), J = 1,n MAYOR, K

Fin

Diagrama: 9

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -23Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Ejemplo (10): Dado el vector NV, realice un diagama de flujo que calcule la suma de los elementos que se encuentran en las posiciones pares del vector. IDENTIFICACION DE VARIABLES: N, Nmero total de elementos del vector j, Variable ndice ISUMA, Suma total de los elementos de las posiciones pares del vector. DIAGRAMA DE FLUJO:

Inicio

n, (NV ( J ), J = 1,n)

ISUMA = 0

J = 2, n, 2

ISUMA = ISUMA + NV (J)

NV (J), J = 1, n ISUMA

Fin

Ejemplo (11): Dado el vector NV, realice un diagrama de flujo para que en el vector NP almacene los elementos del vector NV que sean nmeros pares y que en el vector NI almacene los nmeros impares del vector NV.

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -24Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

IDENTIFICACION DE VARIABLES: N, nmero total de elementos del vector NV I, variable ndice del vector NV NP, nombre del vector que contiene nmeros pares JP, variable ndice y nmero total de elementos del vector NP NI, nombre del vector que contiene nmeros impares JI, variable ndice y nmero total de elementos del vector NI K, variable de apoyo para identificacin de la divisibilidad de los elementos del vector NV. (que sean pares). DIAGRAMA DE FLUJO EJERCICIO 11

Inicio

N, (NV ( I ), I = 1,N)

JP = 0, JI = 0

I = 1, N

K = NV ( I ) / 2 * 2

K = NV ( I )

JP = JP + 1

JI = JI + 1

NP(JP) = NV(I)

NI(JI) = NV(I)

NV(I), I = 1, N NP(J), J = 1, JP NI(L), L = 1, JI

Fin

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -25Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Diagrama: 11 Ejemplo (12): Dada la ecuacin polinmica de grado N, construir un diagrama de flujo para calcular el valor funcional de X. FX = A1 xN + A2 XN-1 + ......+ AN X + A(N+1) Donde el polinomio tiene N + 1 coeficientes, o sea que el nmero de coeficientes de una ecuacin polinmica de Grado N_esimo es: (M = N+1). k=0,i=M FX = (Ai Xk) i=1,k=N En esta serie en donde, mientras el ndice i varia de 1 al valor de M,simultneamente el ndice k vara desde un valor de N a cero (0). DIAGRAMA DE FLUJO EJERCICIO 12
Inicio

X, M, A( I ), I =1, M

N=M -1

FX = A(M)

K=N

I = 1, N

FX = FX + A ( I ) X K

K=K-1

A ( I ), I = 1, M X, FX

Fin

Diagrama 12

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -26Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Ejemplo (13): Si se plantea que: e-x = x2 x3 x4 x5 xm 1 - x + --- - --- + --- - --- +........(-1)m -----2! 3! 4! 5! m!

Lo que en verdad est definido por: e-x k=m xk = 1 + (-1)k --k=1 k!

Por lo tanto, dado el valor de X calcular el respectivo valor de e(-x)

DEFINICIONES DE VARIABLES:

M, es el nmero mximo de sumandos de la expresin X, valor al cual se le calcular el exponencial FACT, nombre del vector que representa al factorial de 1 a M. A, variable de apoyo para calcular el respectivo factorial I, variable ndice K, variable que representa el exponente de X y el respectivo nmero del factorial. EXPO, representa al valor calculado de e(-x).

DIAGRAMA DE FLUJO:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -27Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial -----------------------------------------------------------------------------------------------------------------------------Inicio

X, M

EXPO = 1, FACT (1) = 1

I = 2, M

A=I

FACT ( I ) = FACT ( I - 1 ) * A

I = 1, M

K=I

EXPO = EXPO + (-1)K XK / FACT (K)

X, EXPO

Fin

Diagrama: 13

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -28Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

ARREGLOS BIDIMENSIONALES Dadas las matrices A y B construir un diagrama de flujo que calcule la suma de las matrices: C=A+B. Para poder sumar dos o ms matrices se debe tener en cuenta que estas sean del mismo orden (N,M). A11 A12 A21 A22 A31 A32 . . AN1 AN2 A13 A23 A33 ... ... ... AIM B11 B12 A2M B21 B22 A3M B = B31 B32 ANM BN1 BN2 B13... B23... B33... B1M B2M B3M

A=

AN3

...

BN3...

BNM

Si A y B son matrices del mismo orden (N,M), entonces la suma A + B es una matriz C de orden (N,M) con los respectivos elementos Cij. o sea que: Cij = Aij + Bij Para las respectivas posiciones de i= 1 a i = N y de j = 1 a j = M simultnea y respectivamente. Lo que indica que para obtener un elemento de la matriz C, a un elemento de la matriz A se le debe sumar un elemento de la matriz B de la misma posicin. C11 = A11 + B11 C21 = A21 + B21 . . CN1 = AN1 + BN1 C12 = A12 + B12 C22 = A22 + B22 . . Cij = Aij + Bij Con lo que se lograra formar:

C=

C11 C21 C31 . CN1

C12 C22 C32 CN2

C13 C23 C33 CN3

... ... ... ...

CIM C2M C3M CNM

DIAGRAMA DE FLUJO:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -29Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

Inicio

N, M

i = 1, N

A i j, j = 1,M B i j, j = 1,M

i = 1, N

j = 1, M

Cij=Aij+ Bij

i = 1, N

A i j, j = 1,M B i j, j = 1,M C i j, j = 1,M

Fin

Diagrama: 14

PRODUCTO DE DOS MATRICES A.B:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -30Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

El producto de dos matrices A y B est condicionado a que: MATRIZ ORDEN A (N,K) B (K,M) C (N,M)

O sea que para obtener el producto de dos matrices, el nmero de columnas de la matriz A debe ser igual al nmero de filas de la matriz B. La matriz C resultante presenta un orden igual a (N,M) donde N es el nmero de filas de la matriz A, y M es el nmero de columnas de la matriz B. La matriz C resultante, se forma del producto de la respectiva fila de la matriz A con la respectiva columna de la matriz B. o sea: A11 A21 A31 . . AN1 A12 A22 A32 A13 A23 A33 ... ... ... A1K B11 B12 A2K B21 B22 A3K B= B31 B32 . ANK BK1 BK2 B13 B23 B33 . . BK3 B1M .B2M B3M BKM

A=

AN2

AN3

...

C11 = A11 B11 + A12 B21 + A13 b31 + .......... + A1K BK1 C12 = A11b12 + A12 B22 + A13B32 + .......... + A1KBK2 C13 = A11B13 + A12B23 + A13B33 + .......... + A1KBK3 Con lo que se puede definir que un elemento de la matriz C resultante est determinado por: L=k C(I,J) = A(I,L) B(L,J) L=1

Determinando que una fila de la matriz A por cada una de las columnas de la matriz B, se logra obtener la respectiva fila de la matriz C. DIAGRAMA DE FLUJO:

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -31Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial -----------------------------------------------------------------------------------------------------------------------------Inicio

N, M, K

((A (I,J), I = 1,N), J = 1,K) ((B (I,J), I =1,K), J = 1,M)

I = 1,N

J = 1,M

C (I, J) = 0

L = 1, K

C (I, J) = C (I, J) + A (I, L)* B (L, J)

(( C (I, J), I = 1, N), J = 1, M)

Fin

Diagrama: 15

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -32Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

3.7.- E J E R C I C I O S

REALICE EL ANALISIS MATEMATICO, ALGORITMO Y DIAGRAMA DE FLUJO PARA LAS SIGUIENTES APLICACIONES: 1) Dado los valores de a y b, calcule c de acuerdo: c = (a2 + b ) Determine los valores de senX, cosX y lnX si X = 25.3 Transformar a grados C los grados F que van de 320F al 1800F con una variacin de 10F. 5 0 C = -- (0F - 32) 9 Realice el clculo respectivo para obtener una tabla de transformacin de grados oC a grados oK, oR, y oF.
o

2) 3)

4)

K = oC + 273.15

K = oR/1.8

o o

F = 1.8oC + 32 oF = 1.8ok o R = oF + 459.67 R = 1.8 oC + 491.67

5) Dado la ecuacin cuadrtica Y = ax2 + bx + c, calcular todas sus posibles soluciones. - b ( b2 - 4ac) x = --------------------2a 6) 7) 8) 9) 10) 11) Determine las races reales de diez (10) ecuaciones cuadrticas. Calcule al factorial de 10. Determine los diez primeros nmeros primos Construya una tabla en la que se logre obtener los 25 primeros nmeros mltiplos de 3, 5 y 7. Construya una tabla en la que se encuentre la raz cuadrada, el inverso, el cuadrado y el seno de los diez primeros nmeros. Dado diez (10) valores de X y diez (10) de Y, calcule la sumatoria de X y la sumatoria de Y en un solo programa. SUMAX = Xi SUMAY = Yi Calcule la sumatoria de los cien primeros nmeros.

12)

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -33Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

13)

Calcule la sumatoria de los 50 primeros nmeros pares y la sumatoria de los 50 primeros nmeros impares. De un listado de 40 datos numricos enteros, encuentre la sumatoria de los nmeros pares y la sumatoria de los nmeros impares. De un listado de 40 datos numricos enteros, encontrar un listado de los nmeros divisibles para 3 y un listado de los nmeros divisibles para 5.

14)

15)

16) Si: Y = X2 + X - 1/X; Z = (1/X + X)2 , determine los respectivos valores de Y y de Z cuando X toma valores de 0.95 a 2.15 variando cada X en 0.05. 17) Calcular la media aritmtica de la estatura de 20 estudiantes: _ 1 X = --- xi n 18) Dado diez pares de valores (X,Y) encontrar la recta de aproximacin Y = aX + b en donde: N ( XY) - (X) (Y) -----------------------------N ( x2) - (x)2 X ----N Y - b ---N

a=

( Y) (X2 ) - ( X) (XY) b = ---------------------------------- = N(x2) - (x)2 19)

Si se tiene un listado de calificaciones trimestrales T1, T2, y T3, de 25 estudiantes, calcule la calificacin trimestral promedio T y la calificacin promedio de CP de los 25 estudiantes. T = (T1 + T2 + T3)/3 T CP = ----n Hallar la media aritmtica de un grupo de datos que representan una frecuencia ni.

20)

Xi ni +----------------+ 118 3 127 5 136 9 145 12 154 5 163 4 +----------

n = ni (Xi ni) --------ni (Xi ni) --------n

_ X =

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -34Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

38)

La media cuadrtica se define por: (xi) R.M.S.= [---------] n calcule el R.M.S. de los Xi = 8, 7, 6, 10, 8, 9, 7 Dado los valores de Xi en un solo programa determine: Xi 78.9 79.2 78.6 78.4 79.6 79.9 79.0 a) La media aritmtica b) La varianza 1 1 2 S = -------- [ (Xi ) - --- (xi)2 ] (n-1) n c) La varianza determinada por: 1 S = ------ [ (Xi2 ) - n(X )2 ] (n - 1) d) La media cuadrtica (R.M.S.)

39)

38) 24) 25) 26) 38)

De un listado de 25 valores numricos, encuentre el nmero mayor. De un listado de 20 valores numricos, encuentre el nmero menor y su posicin. Encuentre el producto de L = 5 con un listado de 10 valores Construya una tabla que liste el nmero y su factorial, sea del 1 al 15. Si se tiene dos listados de igual nmero de elementos, encuentre la suma, resta, multiplicacin y divisin de elemento a elemento de la misma posicin. xk x2 x3 x4 ex = 1 + x + -- + -- + -- +.....+ -2! 3! 4! k! determine el clculo de ex cuando x=2.25 y k=9. Si: Si: x2 x4 x6 x2k Cos x = 1 - ---- + ---- - --- + .....+(-1)k -----2! 4! 6! (2k)! determine el clculo de cos x cuando x = 16.8 y K = 6.

28)

29)

38)

Si: (2k-1) (k+1) X (-1) ------------(2k - 1)!

k=n Sen x = K=1

Calcule la tg x = Sen x/Cos x cuando x = 5.25 y K = 6

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -35Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

31)

32)

33) 34) 35) 36)

Dado la matriz M: 5 26 9 15 22 11 -1 8 19 33 4 20 M= 28 10 7 -4 15 9 13 25 6 17 -3 11 0 30 14 26 8 17 21 -7 23 2 15 1 En un solo programa calcule: a) La sumatoria de los elementos de cada fila b) La sumatoria de los elementos de cada columna c) La sumatoria de los elementos de la diagonal principal En un solo programa operando en la matriz anterior M calcule: a) La posicin y el nmero menor de cada fila b) La posicin y el nmero mayor de cada columna En un solo programa determine el nmero mayor y el nmero menor de la diagonal de la matriz anterior M. En la matriz M anterior calcule la suma de los nmeros menores de cada una de las filas. Dado el escalar K=7 y la matriz M anterior, encuentre la matriz resultante. Dada las matrices: 6 9 3 1 8 4 7 0 10 1 5 9 5 0 8 4 2 10 7 5 3 0 8 6 9 4 2 6 5 1 3 7

A=

B=

37) 38)

39) 40)

Encuentre la suma (C = A + B) En un solo programa determine el clculo de la suma, resta y multiplicacin de las matrices A y B. Si a cinco personas diferentes se hace un crdito de $1050.00 a 5 aos; $2558.00 a 12 aos; $1825.00 a 7 aos; $2135.00 a 4 aos; y $3575.00 a 15 aos plazo respectivamente a un inters del 17% anual. Construya una tabla en la que determine el monto S a cobrarse a cada uno de ellos. n S= P(1+i) S = monto P = capital en prstamo i = inters anual n = perodos de pago (en aos) Construir una tabla de multiplicar hasta la del 12 con 12 elementos Escribir un programa que pida al usuario las notas de las ocho pruebas sostenidas durante el ao de dieciocho estudiantes de una clase y calcule la media de cada estudiante , la media de cada prueba , y la media global el programa deber visualizar la matriz y la media global Sugerencia: Utilizar una matriz de 19 lneas por 9 columnas donde las primeras 8 vienen memorizadas en cada lnea las notas de un estudiante y en la novena el promedio respectivo, en la diecinueve lnea viene memorizada la media por prueba

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Computo II -36Facultad de Mecnica Ejercicios/Diagramacin Esc.Ing. Industrial ------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------Ing. Luis Vaca S.

Vous aimerez peut-être aussi