Académique Documents
Professionnel Documents
Culture Documents
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.2 Exploración
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.3 Perforación
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 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.4 Producción
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.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.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 20
Programación Aplicada Capítulo 1 – Consideraciones Generales
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.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.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:
1.2 Algoritmos
Término genérico para nombrar las instrucciones del programa, utilizadas en dos
sentidos generales derivados del diagrama de flujo.
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
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
17.- Crear el vector I = 1, 2, 3, …10
Inicio
Def I, V(I)
I=1…
10
V(I) = I
Imprimir
V
Fin
Inicio
A
Fin Si Fin B
?
No
A No Ejecutar ? DIVE>2 Si
?
Si No
Leer N K=K+1
A P(K) = J
I
J Mod I = 0 ? No
Si A
DIVE = DIVE + 1
Inicio Inicio
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
Inicio Inicio
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
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
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
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
I = 1… N I
Imprimir Max, K
Impr F(I)
Fin
I
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
Inicio Inicio
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
I I
I=1…N I=1…N
Imprimir Imprimir
C(I) C(I)
I I
Fin Fin
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
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
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
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
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
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
A
Inicio
Leer N R=R+1
A(J, F) = R
N>
2? J
F=1
C=N F=F+1
R=0 C=C-1
B
J = F… B R>Nx
C N
R=R+1 Imprimir A(I, J)
A(F, J) = R
Fin
J
J = F+1…
C
R=R+1
A(J, C) = R
J=C-1…F,
-1
R=R+1
A(C, J) = R
37.- Formar la matriz zigzag N por N 38.- Convertir un número decimal a binario
para N > 2
Inicio Inicio
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
39.- Sumar los elementos de cada fila y cada columna de una matriz N por M
A
Inicio
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)
A
Inicio Inicio
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
Inicio
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