CAPITULO 1 - CONSIDERACIONES GENERALES 1.1
La Informática y sus Alcances en la Ingeniería de Petróleos
Existe una gama de paquetes de software desarrollados para las distintas áreas de la industria petrolera, se dará un vistazo a los más utilizados en las distintas funciones sobre la base del acuerdo mínimo de estandarización logrado entre un grupo importante de empresas con la finalidad de buscar un lenguaje común.
1.1.1 Uso General Empecemos analizando el software de uso general disponible para diversas funciones sin ser específica para cada área. En este caso tenemos los siguientes: de texto el Microsoft Word, el WodrPerfect y Para procesamiento de la palabra y editor de SPFPC Para manejo de hojas electrónicas el Microsoft EXCEL o el LOTUS 123 Para gráficos de presentaciones el LOTUS Freelance, el Hardvard Graphics, el Microsoft Power Point, el Zenographics Pixie o el Zenographics Mirage. Manejadores de bases de datos el Microsoft ACCESS, ACCESS, el DBase, el Oracle o el Focus DOS Como sistemas operativos el Windows, o el DOS Como herramienta de publicidad y propaganda el Microsoft Word, WordPerfect, Aldus Pagemaker o el Ventura Publishing. Análisis y control de proyectos el Microsoft Project en PC‟s y Projacs en equipos mayores Si revisamos las distintas funciones específicas de la industria y el software disponible para cada área podemos nombrar los siguientes:
1.1.2 Exploración Para las funciones de EXPLORACION se tienen las siguientes alternativas: gráficos y dibujos en en computadora, incluyendo las opciones 1.1.2.1 AUTOCAD.- Para gráficos tridimensionales de curvas de nivel y mapas.
1.1.2.2 CPSPC.-
Para mapas geográficos, geográficos, permite la transferencia de mapas a la computadora ya sea mediante digitizadores o scanners y su correspondiente proceso.
1.1.2.3 PETCOM.- Aplicación que corre en una PC bajo el sistema operativo DOS o Windows. Permite la captura de información desde las cintas magnéticas de sísmica y se utiliza en el análisis petrofísico y de registros de pozos, generando los reportes y gráficos relacionados a este campo. utilizado para la obtención de de sismogramas 1.1.2.4 DANIEL GEOPHYSICAL.- Software utilizado sintéticos
1.1.2.5 LANDMARK.- Software dirigido a la interpretación sísmica ya sea en dos o en tres dimensiones
1.1.2.6 LOPATIN.- Paquete usado en el trabajo con modelos térmicos. 1.1.3 Perforación Para las funciones de PERFORACION de pozos se tienen las siguientes alternativas: Ing. Hermas Herrera Callejas
Página : 1 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
1.1.3.1 DES-II (Drilling Expert System II).-
Permite analizar y optimizar las tareas operativas diarias de perforación de pozos. C orre en PC‟s con Windows. Tiene siete módulos independientes pero relacionados entre sí tales como el de perforación direccional, diseño de perforación, optimización de la perforación, sistema experto de perforación, hidráulica y cementación, ingeniería de lodos, control del pozo y detección de presiones anormales.
1.1.3.2 CAESAR II.- Dirigido a las tareas de análisis y diseño de tuberías. 1.1.4 Producción Para las funciones de PRODUCCION DE PETROLEO podemos mencionar las siguientes alternativas de programas:
1.1.4.1 PRODUCTION ANALYST.- Aplicación en línea que se procesa en una PC bajo el sistema operativo DOS o Windows. Brinda las facilidades para registrar la producción diaria de agua, petróleo y gas en los campos productivos de una industria petrolera. Sobre la base de las pruebas de pozos efectuadas y parámetros de presión y otros, se puede asignar la producción a cada estrato productor. Es un sistema de cómputo diseñado para almacenar, para manejar, para analizar e interpretar la mayor parte de los tipos de datos que se encuentran en una operación productora de petróleo. Programa que fue diseñado y desarrollado para profesionales petroleros por profesionales petroleros.
1.1.4.2 AUTOMATE.- Programa que permite efectuar un análisis de los distintos tipos de presiones en los pozos productores y los reservorios petrolíferos.
1.1.4.3 FLOW SYSTEM Y PAN SYSTEM.- Orientado a las pruebas de producción 1.1.5 Ingeniería de Reservorios Para las funciones de INGENIERIA DE RESERVORIOS tenemos una gama más amplia de programas, entre los que podemos indicar los siguientes:
1.1.5.1 SAPHIR.- Programa de modelaje y simulación producido por la Kappa Software Engineering. Aplicación que corre en una PC ya sea bajo el sistema operativo DOS o bajo WINDOWS. Utilizado en el área de modelaje y simulación de reservorios petrolíferos.
1.1.5.2 ECLIPSE.- Otro programa de modelaje y simulación de reservorios. 1.1.5.3 BOAST.-
Programa de simulación de reservorios petroleros generado por el Departamento de Energía de los EEUU
1.1.5.4 SimBest II.- Para simulación de reservorios de la Scientific Software Inc, emplea el paquete ESPIDO (Equation Solution Program based on an Incomplete Direct Method acelerated via Orthomin), que usa la eliminacion de Gauss para problemas pequeños y SOR (successive over relaxation) para los grandes.
1.1.5.5 IMEX.- Software para simulación de reservorios de Computer Modelling Group, utiliza el método Fully Implicit que provee una discretización muy estable.
1.1.5.6 CHEMCAD.- Aplicación que corre en una PC bajo el sistema operativo DOS o Windows. Tiene como fin la preparación de reportes y gráficas relacionadas a la composición de hidrocarburos de gas y petróleo producido en campos petrolíferos. Ing. Hermas Herrera Callejas
Página: 2 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
1.1.6 Área Administrativa y Financiera Para las funciones ADMINISTRATIVAS Y FINANCIERAS de una empresa petrolera podemos mencionar los diferentes programas que cubren las distintas funciones administrativas y financieras de una compañía petrolera:
1.1.6.1 ORG PLUS.-
Programa utilizado por el departamento de personal o recursos humanos en la confección de organigramas de la empresa.
1.1.6.2 FOAS.- Sistema considerado como el cerebro central que se encarga del proceso contable de la compañía petrolera. Permite captar la información de los asientos contables de todo el movimiento económico generado en la empresa y una vez procesada muestra los resultados de la operación, emite los estados financieros de la compañía y los libros legales correspondientes. Permite generar reportes financieros detallados por proyectos o reservorios así como consolidados de la compañía. Esta característica permite el proceso contable de multicompañías. Como funciones adicionales se tienen los siguientes módulos que complementan el FOAS
1.1.6.2.1 ACTIVOS FIJOS.- Ayuda en el control de los activos de la compañía, calculando la depreciación anual y manteniendo la depreciación acumulada para cada activo.
1.1.6.2.2 PRESUPUESTOS.- Aplicación utilizada en la preparación y el control presupuestario. Una vez preparado y aprobado el presupuesto anual de la compañía, la información de cada centro de costo y para cada elemento de gasto es introducida al sistema. De la información de contabilidad aplicada a cada centro de costo toma los valores ejecutados para imprimir reportes de control relacionados a la ejecución del presupuesto.
1.1.6.2.3 CUENTAS POR COBRAR.- Aplicación en línea que permite captar la información de las facturas emitidas por la compañía por conceptos de venta de gas y petróleo. También permite introducir las cobranzas o los pagos parciales y llevar un control de las deudas, calculando intereses por montos vencidos así como clasificar las facturas vencidas por períodos de 30 días, 60 días, 90 días, 120 días, 180 días, o más de 180 días.
1.1.6.2.4 CUENTAS POR PAGAR.- Aplicación en línea que permite hacer un control y seguimiento a las facturas pendientes de pago y las canceladas. Ayuda en la planificación de los pagos y a controlar la no-duplicación de estos últimos, especialmente aquellos casos de contratos que implican el pago mensual por servicios.
1.1.6.2.5 FLUJO DE CAJA.- Una herramienta de control de los movimientos bancarios de las distintas cuentas en moneda nacional y extranjera de la compañía proporcionando saldos en las cuentas bancarias, calculando las perdidas o ganancias por las diferencias en el tipo de cambio de la moneda.
1.1.6.3 OPICS.- Aplicación interactiva en línea para el control de inventarios. Permite llevar un control de los materiales de la compañía en los distintos almacenes, así como hacer un seguimiento a las ordenes de compra y generar los asientos contables en forma automática para cada transacción que debe ser contabilizada.
1.1.6.4 HRIAS (Human Resources Information Application System) .- Permite contar con información de recursos humanos en línea. Incluye los siguientes módulos: Ing. Hermas Herrera Callejas
Página: 3 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
1.1.6.4.1 Personal.- Información de personal relacionada a su nivel de educación, su familia, idiomas extranjeros que habla, experiencia laboral, historia ocupacional, logros significativos, historia de las vacaciones tomadas, etc.
1.1.6.4.2 Compensación y beneficios.- Provee asistencia en la preparación del plan de incrementos salariales, mantiene una historia salarial por empleado.
1.1.6.4.3 Planillas de pagos de haberes.- Sistema que ayuda en el proceso de pago de sueldos y salarios y la emisión de los reportes de planillas de la compañía para las distintas instituciones, además de generar de manera automática los correspondientes asientos contables.
1.2
Algoritmos
En matemáticas, método de resolución de problemas complicados mediante el uso repetido de otro método de cálculo más sencillo. Un ejemplo básico es el cálculo de la división larga en aritmética. En la actualidad, el término algoritmo se aplica a muchos de los métodos de resolver problemas que empleen una secuencia mecánica de pasos, como en el diseño de un programa de ordenador o computadora. Esta secuencia se puede representar en la forma de un diagrama de flujo para que sea más fácil de entender. Al igual que los algoritmos usados en aritmética, los algoritmos para ordenadores pueden ser desde muy sencillos hasta bastante complejos. En todos los casos, sin embargo, la tarea que el algoritmo ha de realizar debe ser definible. Esta definición puede incluir términos matemáticos o lógicos o una compilación de datos o instrucciones escritas. En el lenguaje de la informática, quiere decir que un algoritmo debe ser programable, incluso si al final se comprueba que el problema no tiene solución. Diagrama de Flujo es una secuencia gráfica empleada en muchos campos para mostrar los procedimientos detallados que se deben seguir al realizar una tarea, como un proceso de fabricación. También se utilizan en la resolución de problemas, como por ejemplo en algoritmos. Los diagramas de flujo se usan normalmente para seguir la secuencia lógica de las acciones en el diseño de programas de computadoras.
1.3
Uso de lenguajes de programación
Los lenguajes de programación o software para desarrollo e implementación de aplicaciones en computadoras personales se tienen el Visual Basic, el DBASE y el CLIPPER, aunque para aplicaciones técnicas es más usado aún el FORTRAN. Bajo ciertas circunstancias el “C” es usado aunque no es muy apropiado para desarrollo d e aplicaciones administrativas. Tratándose de equipos medianos, el UNIX es el sistema operativo más usado como sistema operativo para estaciones de trabajo del área de Ingeniería. Para aplicaciones del área administrativa/comercial estamos hablando de computadoras mainframe o de tamaño mediano que continúa soportando aplicaciones de producción que no tienen equivalente en plataformas de PC‟s, varias tecnologías diferentes están siendo usadas para desarrollo y mantenimiento de aplicaciones, entre las que podemos mencionar: DB2 como manejador de bases de datos, COBOL como lenguaje de programación, CSP para proceso de transacciones en línea, QMF para consultas rápidas a las bases de datos DB2. Otras interfaces de alto nivel, tales como RAMIS y FOCUS son también usadas bajo condiciones especiales. Nuevamente para aplicaciones técnicas se tiene el uso del FORTRAN. Ing. Hermas Herrera Callejas
Página: 4 de 19
PET230 – Programación Aplicada
1.4
Capítulo 1 – Consideraciones Generales
Técnicas avanzadas de programación
En general, un programa consiste en una secuencia de instrucciones que ha de procesar la computadora con el objetivo de obtener resultados o datos de salida a partir de unos datos iniciales o datos de entrada. Desde el punto de vista funcional, un programa se estructura en tres pasos: Entrada, Proceso y Salida Con la finalidad de optimizar la programación de aplicaciones se han desarrollado técnicas que permiten un desarrollo estructurado y óptimo tanto en tiempo de desarrollo como de proceso de los mismos. Entre estas técnicas podemos mencionar:
1.4.1 Programación estructurada Se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un cierto grado de modularidad o de estructura jerárquica. Entre los beneficios de la programación estructurada se encuentran la facilidad de mantenimiento y la legibilidad por parte de otros programadores
1.4.2 Programación orientada a objetos Un estilo de programación en el que un programa se contempla como un conjunto de objetos limitados que, a su vez, son colecciones independientes de estructuras de datos y rutinas que interactúan con otros objetos. Una clase define las estructuras de datos y rutinas de un objeto. Un objeto es una instancia de una clase, que se puede usar como una variable en un programa. En algunos lenguajes orientados a objetos, éste responde a mensajes, que son el principal medio de comunicación. En otros lenguajes orientados a objeto se conserva el mecanismo tradicional de llamadas a procedimientos.
1.4.3 Seudo Código Término genérico para nombrar las instrucciones del programa, utilizadas en dos sentidos generales derivados del diagrama de flujo.
1.4.4 Documentación de los programas Constituida por todos los documentos que se elaboran en cada una de las etapas del análisis, diseño y desarrollo de la aplicación, es muy importante para facilitar su mantenimiento y obtener un mayor rendimiento. Denominamos documentación interna al contenido del propio programa fuente. Debe incluir los comentarios explicativos suficientes que posibiliten su comprensión y actualización. Asimismo, se debe utilizar un código autodocumentado; es decir, debe ser escrito de una forma clara y legible. La documentación externa la forman el resto de documentos que se acompañan con el programa sin formar parte de él. Dentro de ellos están los manuales internos del sistema que incluyen detalles de técnicas y diseños de bases de datos, programas, etc, que constituyen la aplicación; los manuales del usuario que describen la manera en que el usuario puede obtener mejor provecho de la aplicación así como una explicación de los reportes y la información que proporciona. También forma parte de este tipo de documentación los manuales en línea de las aplicaciones así como los textos de ayuda a los que el usuario puede acudir
Ing. Hermas Herrera Callejas
Página: 5 de 19
PET230 – Programación Aplicada
1.5
Problemas y prácticas
1.- Diagrama de Flujo para calcular el área de un triángulo
2.- D.F. para hallar el cociente y el residuo de A\B enteros Inicio
Inicio
Def A, B, C, D
Def b, h
Leer A, B
Leer b, h
C = A Mod B D = A\B
A = b*h Imprimir A Fin
3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.-
Capítulo 1 – Consideraciones Generales
Imprimir C, D Fin
D.F. para hallar la longitud de una circunferencia y el área del círculo D.F. para convertir metros en Km y cm D.F. para convertir Kb a Gb, Mb y bytes Hallar el mayor de 3 números diferentes Hallar el mayor y el menor de 3 números diferentes Hallar el mayor y el menor de 3 números cualesquiera Determinar si un número es par o impar Desplegar los números enteros de N hasta M Imprimir la tabla del 4 Hallar la suma de los primeros 10 números pares Hallar la suma de los primeros 10 números impares Hallar los cuadrados de los primeros 10 números pares Determinar si el número introducido es positivo o negativo Hallar el factorial de un número entero positivo Crear el vector I = 1, 2, 3, …10 Inicio Def I V I I = 1 … 10
= I Im rimir V Fin
Ing. Hermas Herrera Callejas
Página: 6 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
18.- Generar e imprimir los primeros 10 números primos 19.- Crear el vector de N elementos donde 20.- Inicializar un vector de N elementos donde cada elemento sea 0 c/elemento sea 2 elevado a „i‟ Inicio Def I, V(I), N Inicio Leer N
N > 0 ? I=1…N
V(I) = 2 ^ I
Def I, V(I), N Leer N I=1…N
V(I) = 0
I Imprimir V Fin
21.- Inicializar un vector de N elementos donde c/ elemento sea N – I (I = 1, 2, …) Inicio
I Imprimir V Fin
22.- Crear el vector de N elementos con c/ elemento igual al cuadrado de I Inicio
Def I, V(I), N
Def I, V(I), N
Leer N
Leer N
I=1…N
I=1…N
V(I) = N - I
V(I) = I * I
I Imprimir V Fin
Ing. Hermas Herrera Callejas
I Imprimir V Fin
Página: 7 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
23.- Crear el vector de N elementos donde 24.- Sea N un Nro entero. Hacer un D.F. c/elemento a partir del 3ro sea la suma para invertir sus dígitos (Ej, 3457 a 7543) de los dos anteriores y V(1)=1 V(2)=2 Inicio
Inicio Def I, V(I), N Leer N
Leer N
N > 2 ? V 1 =1
Def A, N, N1, Dig
V 2 =2
A=N N1 = 0 A>0?
I=3…N
V(I) = V(I-1) + V(I-2)
Dig = A Mod 10 N1 = N1 * 10 + Dig A = A Div 10
I Imprimir V Fin
Ing. Hermas Herrera Callejas
Imprimir N, N1 Fin
Página: 8 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
25.- Generar la serie de Fibonacci para 26.- Crear un vector con N elementos, valores menores a N (0, 1,1,2,3,5,8,13…) luego obtener el máximo y su posición Inicio Def V(I),N,X,K,I,Max Inicio Leer N Def F(I),N,A,B,I N > 0 ? Leer N I=1…N
N > 0 ? Leer X A = -1
B=1 V(I) = X
I=0 I I=I+1 F(I) = A + B
Max = V(I) K = 1 I=1…N
A=B V(I) > Max B = F(I) Max = V(I) K = I A+B > N? Imprimir F Fin
Ing. Hermas Herrera Callejas
I Imprimir Max, K Fin
Página: 9 de 19
PET230 – Programación Aplicada
27.- Crear un vector de N elementos y ordenar sus elementos en forma ascendente (método de la burbuja)
Capítulo 1 – Consideraciones Generales
Inicio Def V(I),N,I,J,X,Aux Leer N
N > 0 ? I=1…N
Leer X V(I) = X I I = 1 … N-1 J = 1 … N-I
V(J) > V(J+1) ? Aux = V(J) V(J) = V(J+1) V(J+1) = Aux J I I=1…N
Imprimir V(I) I Fin
Ing. Hermas Herrera Callejas
Página: 10 de 19
PET230 – Programación Aplicada
28.- Suma de Vectores. Si A = (a, b, c) y B = (d, e, f) A+B = (a+d, b+e, c+f) Inicio
Capítulo 1 – Consideraciones Generales
29.-Multiplicación de vectores. Si A = (a,b,c) y B = (d, e, f) A*B = (a*d, b*e, c*f) Inicio
Def A(I),B(I),C(I),N,I,X
Def A(I),B(I),C(I),N,I,X
Leer N
Leer N
N > 0 ?
N > 0 ?
I=1…N
I=1…N
Leer X
Leer X
A(I) = X
A(I) = X I
I
I=1…N
I=1…N
Leer X
Leer X
B(I) = X
B(I) = X I
I=1…N
C(I) = A(I) + B(I)
I I=1…N
C(I) = A(I) * B(I)
I
I
I=1…N
I=1…N
Imprimir C(I)
Imprimir C(I)
I Fin
Ing. Hermas Herrera Callejas
I Fin
Página: 11 de 19
PET230 – Programación Aplicada
30.- Crear una matriz de N filas por M columnas cuyos elementos sean ceros
Capítulo 1 – Consideraciones Generales
31.- Crear una matriz de N filas por M columnas cuyas filas pares sean unos y las impares sean ceros Inicio Def A(I, J), N, M, I, J Leer N, M
Inicio Def A(I, J), N, M, I, J Leer N, M
N>0 y M>0? I=1…N
N>0 y M>0? I=1…N
J=1…M
I Mod 2 = 0?
J=1…M
A(I, J) = 0
A(I, J) = 0
A(I, J) = 1
J
J
I
I
Imprimir A Fin
Ing. Hermas Herrera Callejas
Imprimir A Fin
Página: 12 de 19
PET230 – Programación Aplicada
32.- Crear una matriz N por M con la diagonal principal igual a 1
Capítulo 1 – Consideraciones Generales
33.- Crear una matriz N por M con numeración correlativa ascendente Inicio
Inicio Def A(I, J), N, M, I, J, C Def A(I, J), N, M, I, J Leer N, M Leer N, M N>0 y M>0? N>0 y M>0? C=0 I=1…N I=1…N J=1…M J=1…M
I = J? A(I, J) = 1
C=C+1 A(I, J) = 0
A(I, J) = C
J
J
I
I
Imprimir A Fin
Ing. Hermas Herrera Callejas
Imprimir A Fin
Página: 13 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
34.- Construir una matriz N por N con N 35.- Construir la matriz N por N 1 2 3 4 N impar y mayor a 2. Calcular la suma 2 4 2 2456 de la siguiente manera (suma = 17) 1 2 3 3567 279 4678 Inicio Inicio Def A(I, J), N, I, J Def A(I, J),N,I,J,C,S,K Leer N
Leer N
N>2 y N Mod 2=1 I=1…N
J=1…N
N>1 ? I=1…N
A(1, I) = I A(I, 1) = I
Leer C A(I, J) = C
S=0
I I=2…N
J
J=2…N
I
A(I, J) = I + J J
K = N\2 + 1 I=1…N
S = S + A(I, K) S = S + A(K, I) I
I I=1…N J=1…N
Imprimir A(I, J)
S = S – A(K, K) J Imprimir A Fin
Ing. Hermas Herrera Callejas
I Fin
Página: 14 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
36.- Formar la matriz caracol N por N para N > 2 Inicio Def A(I, J),N,I,J,F,C,R
Leer N
N > 2 ? F=1 C=N R=0 B
J = F…C
R=R+1 A(F, J) = R
A
J J=C-1…F+1, -1
J = F+1…C
R=R+1
R=R+1
A(J, C) = R
A(J, F) = R
J
J F=F+1 C=C-1
J=C-1…F, -1 R=R+1 B
A(C, J) = R J A
Ing. Hermas Herrera Callejas
R>NxN Imprimir A(I, J) Fin
Página: 15 de 19
PET230 – Programación Aplicada
37.- Formar la matriz zigzag N por N para N > 2
Capítulo 1 – Consideraciones Generales
38.- Convertir un número decimal a binario
Inicio Def A(I, J),N,I,J,C,K
Leer N Inicio N > 2 ? Def A(I),N,M,I,J C=0 I = 1…N
J = 1…N
C=C+1
Leer M
M>0? N = M
A(I, J) = C I=0 J I=I+1 I=I+1 A(I) = N Mod 2 K= N…1, -1
N = N\2 C=C+1 A(I, K) = C K I Imprimir A Fin
Ing. Hermas Herrera Callejas
N = 0 ? J= I…1, -1
Imprimir A(J) K Fin
Página: 16 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
39.- Sumar los elementos de cada fila y cada columna de una matriz N por M Inicio Def A(I, J),C(I),F(I),N,I,J,M
Leer N,M
N>1 M>1? I = 1…N
J= 1…M
A
J = 1…M
C(I) = 0 I = 1…N
Leer R C(J) = C(J)+A(I,J) A(I, J) = R I J
J
I I = 1…N I = 1…N
Imprimir F(I) F(I) = 0 J= 1…M
F(I) = F(J)+A(I,J)
I J = 1…M
J
Imprimir C(J)
I
J
A
Ing. Hermas Herrera Callejas
Fin
Página: 17 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
40.- Determinar la transpuesta de una matriz Inicio Def A(I,J),T(I,J),N,I,J,M
Leer N,M
N>1 M>1? I = 1…N
J= 1…M
Leer R A(I, J) = R J I J= 1…M
I= 1…N
T(J, I) = A(I, J) Imprimir T(I,J)
41.- Determinar la suma de dos matrices
Inicio Def A(I,J),B(I,J),C(I,J),N,M,I,J
Leer N,M
N>1 M>1? I = 1…N
J= 1…M
Leer R A(I, J) = R J I I= 1…N
J= 1…M
A
I = 1…N
J= 1…M
C(I, J) = A(I,J) + B(I,J)
Leer R B(I, J) = R
Imprimir C(I, J)
J
J
J
I
I
I
Fin
A
Fin
Ing. Hermas Herrera Callejas
Página: 18 de 19
PET230 – Programación Aplicada
Capítulo 1 – Consideraciones Generales
42.- Hacer un diagrama de flujo para la multiplicación de dos matrices Inicio Def A(M,N), B(N,O), C(M,O), M, N, O, I, J, K, R
Leer M,N,O
M>1 N>1 O>1? I= 1…M J = 1… N
A
Def A(M,N), B(N,O), C(M,O), M, N, O, I, J, K, R I= 1…M J = 1…O
C(I, J) = 0 K = 1…N
Leer R C(I, J) = C(I,J)+A(I,K)*B(K,J) A(I, J) = R K J J I I I = 1…N I= 1…M J = 1…O J = 1…O
Leer R B(I, J) = R
Imprimir C(I, J)
J
J
I
I
A
Ing. Hermas Herrera Callejas
Fin
Página: 19 de 19