Está en la página 1de 21

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:
 Para procesamiento de la palabra y editor de texto el Microsoft Word, el WodrPerfect y 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, el DBase, el Oracle o el Focus
 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:

1.1.2.1 AUTOCAD.- Para gráficos y dibujos en computadora, incluyendo las opciones


tridimensionales de curvas de nivel y mapas.

1.1.2.2 CPSPC.- Para mapas 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.

1.1.2.4 DANIEL GEOPHYSICAL.- Software utilizado para la obtención de sismogramas sintéticos

1.1.2.5 LANDMARK.- Software dirigido a la interpretación sísmica ya sea en dos o en tres


dimensiones, provisto por la Halliburton. PETREL por Shlumberger

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:


1.1.3.1 DES-II (Drilling Expert System II).- Permite analizar y optimizar las tareas operativas diarias
de perforación de pozos. Corre en PC’s con Windows. Tiene siete módulos independientes pero
Ing. Hermas Herrera Callejas Página : 1 de 21
Programación Aplicada Capítulo 1 – Consideraciones Generales

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 21


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 21


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


Programación Aplicada Capítulo 1 – Consideraciones Generales

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


Programación Aplicada Capítulo 1 – Consideraciones Generales

1.5 Problemas y prácticas

1.- Diagrama de Flujo para calcular el área de 2.- D.F. para hallar el cociente y el residuo
un triángulo de A\B enteros

Inicio Inicio

Def b, h Def A, B, C, D

Leer b, h Leer A, B

A = b*h C = A Mod B
D = A\B
Imprimir
A Imprimir C,
D
Fin
Fin

3.- D.F. para hallar la longitud de una circunferencia y el área del círculo
4.- D.F. para convertir metros en Km y cm
5.- D.F. para convertir Kb a Gb, Mb y bytes
6.- Hallar el mayor de 3 números diferentes
7.- Hallar el mayor y el menor de 3 números diferentes
8.- Hallar el mayor y el menor de 3 números cualesquiera
9.- Determinar si un número es par o impar
10.- Desplegar los números enteros de N hasta M
11.- Imprimir la tabla del 4
12.- Hallar la suma de los primeros 10 números pares
13.- Hallar la suma de los primeros 10 números impares
14.- Hallar los cuadrados de los primeros 10 números pares
15.- Determinar si el número introducido es positivo o negativo
16.- Hallar el factorial de un número entero positivo

Ing. Hermas Herrera Callejas Página: 6 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

17.- Crear el vector I = 1, 2, 3, …10


Inicio

Def I, V(I)

I=1…
10
V(I) = I

Imprimir
V
Fin

Ing. Hermas Herrera Callejas Página: 7 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

18.- Generar e imprimir los primeros N números primos

Inicio

Def P(I), I, N, K, J, DIVE

A
Fin Si Fin B
?
No
A No Ejecutar ? DIVE>2 Si
?
Si No
Leer N K=K+1
A P(K) = J

N>0 ? No N debe ser > No


K=N J=J+1
0
Si ?
Si
J = 1, K=0 C
I = 1,
C
N
DIVE = 0
Imprimir
I = 1, J P(I)

I
J Mod I = 0 ? No
Si A
DIVE = DIVE + 1

Ing. Hermas Herrera Callejas Página: 8 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

19.- Crear el vector de N elementos donde 20.- Inicializar un vector de N elementos


c/elemento sea 2 elevado a ‘i’ donde cada elemento sea 0

Inicio Inicio

Def I, V(I), N Def I, V(I), N

Leer N Leer N

I=1…N
N>0?

V(I) = 0
I=1…N

V(I) = 2 ^ I I

Imprimir
I V

Imprimir Fin
V

Fin

21.- Inicializar un vector de N elementos 22.- Crear el vector de N elementos con


donde c/ elemento sea N – I (I = 1, 2, …) c/ elemento igual al cuadrado de I

Inicio 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 I

Imprimir Imprimir
V V

Fin Fin

Ing. Hermas Herrera Callejas Página: 9 de 21


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 Def A, N, N1, Dig

Leer N Leer N

A=N
N>2? N1 = 0

V(1) = 1 V(2) = 2
A>0?
I=3…N
Dig = A Mod 10
V(I) = V(I-1) + V(I-2) N1 = N1 * 10 + Dig

A = A Div 10
I

Imprimir Imprimir N, N1
V

Fin Fin

Ing. Hermas Herrera Callejas Página: 10 de 21


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
Inicio
Def V(I),N,X,K,I,Max
Def F(I), N, I

Leer N
A
Fin Fin
? N>0?

Ejec A
? I=1…N

Leer N
Leer X

N>3 ? A V(I) = X

F(1) = 0 F(2) = 1 I
Max = V(I) K = I
I = 3… N
I=1…N

F(I) = F(I-1) + F(I-2)


V(I) >
Max ?
I
Max = V(I) K = I

I = 1… N I

Imprimir Max, K
Impr F(I)

Fin
I

Ing. Hermas Herrera Callejas Página: 11 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

27.- Crear un vector de N elementos


y ordenar sus elementos en forma Inicio
ascendente (método de la burbuja)
Def V(I),N,I,J,X,Aux

Leer N

N>0?

I=1…N

Leer X

V(I) = X

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

I=1…N

Imprimir
V(I)

Fin

Ing. Hermas Herrera Callejas Página: 12 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

28.- Suma de Vectores. Si A = (a, b, c) 29.-Multiplicación de vectores. Si A = (a,b,c)


y B = (d, e, f) A+B = (a+d, b+e, c+f) y B = (d, e, f) A*B = (a*d, b*e, c*f)

Inicio 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

I=1…N I=1…N

C(I) = A(I) + B(I) C(I) = A(I) * B(I)

I I

I=1…N I=1…N

Imprimir Imprimir
C(I) C(I)

I I

Fin Fin

Ing. Hermas Herrera Callejas Página: 13 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

30.- Crear una matriz de N filas por N 31.- Crear una matriz de N filas por M co-
columnas cuyos elementos sean ceros lumnas cuyas filas pares sean unos y las
impares sean ceros

Inicio Inicio

Def A(I, J), N, I, J Def A(I, J), N, M, I, J

Leer N Leer N, M

N>0 ? N>0 y
M>0?
I=1…N I=1…N

J=1…N J=1…
M
A(I, J) = 0
I Mod 2 =
0?
J
A(I, J) = 0

I A(I, J) = 1

Imprimir A J

Fin I

Imprimir A

Fin

Ing. Hermas Herrera Callejas Página: 14 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

32.- Crear una matriz N por N con la 33.- Crear una matriz N por M con
diagonal principal igual a 1 numeración correlativa ascendente

Inicio Inicio

Def A(I, J), N, I, J Def A(I, J), N, M, I, J, C

Leer N Leer N, M

N>0? N>0 y
M>0?
I=1…N C=0

J=1…N I=1…N

J=1…
I = M
J?
C=C+1
A(I, J) = 1 A(I, J) = 0
A(I, J) = C
J
J
I
I
Imprimir A
Imprimir A
Fin
Fin

Ing. Hermas Herrera Callejas Página: 15 de 21


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,C,S,K Def A(I, J), N, I, J

Leer N
Leer N

N>2 y N Mod
2=1 N>1 ?

I=1…N
I=1…N

J=1…N
A(1, I) = I
A(I, 1) = I
Leer C
I
A(I, J) = C
I=2…N
J
J=2…N
I
A(I, J) = I + J
S=0 K = N\2 + 1
J
I=1…
N
I
S = S + A(I, K)
S = S + A(K, I) I=1…N

J=1…N
I
Imprimir A(I,
S = S – A(K, K) J)
Imprimir S J

I
Fin

Fin

Ing. Hermas Herrera Callejas Página: 16 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

36.- Formar la matriz caracol N por N para N > 1

Inicio C

Def A( ), N, I, J, K, R I = J+1…K

A R=R+1

A(I, K) = R
FIN ? Fin

I
ENTE A
R? I=K-1…J,
-1
Leer N
R=R+1

N es
A(K, I) = R
Nro?

N> I
1?
Redefinir A(1 to N, 1 to N) R=N*N D
?
Desplegar
J=1 I=K-1…J+1, -1
Mensaje
K=N
R=0
A R=R+1
B
I = J… A(I, J) = R
K

R=R+1 I

A(J, I) = R J=J+1
K=K-1
I
B R=Nx
N
R=N*N D D
? Desplegar A

C
A

Ing. Hermas Herrera Callejas Página: 17 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

37.- Formar la matriz zigzag N por N 38.- Convertir un número decimal a binario
para N > 2

Inicio Inicio

Def A(I, J),N,I,J,C,K Def A(I),N,M,I,J

Leer N Leer M

N> M>
2? 0?
C=0 N=M

I = 1… I=0
N
J = 1… I=I+1
N
C=C+1 A(I) = N Mod 2

A(I, J) = C N = N\2

J N=
0?
L=I+1
J= I…1,
-1
L> Imprimir A(J)
N?
K= N…1, K
-1
C=C+1 Fin

A(L, K) = C

Imprimir
A

Fin

Ing. Hermas Herrera Callejas Página: 18 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

39.- Sumar los elementos de cada fila y cada columna de una matriz N por M

A
Inicio

Def A(I, J),C(I),F(I),N,I,J,M J = 1…


M
C(I) = 0
Leer
N,M I = 1…
N
N>1
M>1? C(J) = C(J)+A(I,J)

I = 1… I
N
J= 1… J
M
I = 1…
Leer R N

A(I, J) = R Imprimir
F(I)

J I

I J = 1…
M
I = 1…
N Imprimir C(J)
F(I) = 0
J
J= 1…
M
Fin
F(I) = F(J)+A(I,J)

Ing. Hermas Herrera Callejas Página: 19 de 21


Programación Aplicada Capítulo 1 – Consideraciones Generales

40.- Determinar la transpuesta de una 41.- Determinar la suma de dos matrices


matriz N x M

A
Inicio Inicio

Def A(I,J),T(I,J),N,I,J,M Def A(I,J),B(I,J),C(I,J),N,M,I,J I = 1…


N
J= 1…
Leer Leer M
N,M N,M
C(I, J) = A(I,J)
N>1 N>1 + B(I,J)
M>1? M>1?
Imprimir
I = 1… I = 1… C(I, J)
N N
J= 1… J= 1… J
M M
Leer R Leer R I

A(I, J) = R A(I, J) = R
Fin

J J

I I

J= 1… I= 1…
M N
I= 1… J= 1…
N M
T(J, I) = A(I, J) Leer R

Imprimir
T(I,J) B(I, J) = R
J
J

I
I

Fin A

Ing. Hermas Herrera Callejas Página: 20 de 21


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), A


M, N, O, I, J, K, R

I= 1…
Leer M,N,O M
J = 1…
M>1 N>1 O
O>1? C(I, J) = 0
I= 1…
M K= 1…
N
J = 1…
N C(I, J) = C(I,J)+A(I,K)*B(K,J)

Leer R K

A(I, J) = R
J

J
I

I I= 1…
M
I = 1…
N J = 1…
O
J = 1…
O Imprimi
r C(I, J)
Leer R
J
B(I, J) = R
I
J

Fin
I

Ing. Hermas Herrera Callejas Página: 21 de 21

También podría gustarte