Está en la página 1de 16

[INFORME DE CAMINOS I] [2012]

1





INFORME N 001-2012

A : Ing. DEVYN OMAR DONAYRE HERNNDEZ


DE : BLAZ ARTEAGA, Dialina Orfelinda.
VELA GOMEZ, Karol Miluska.
GARCA OCHOA, Carlos David.
MENDIETA AYALA, Edwin.
FACHIN TORRES, Ral.
FLORES RUIZ, Bill Brian.
SANCHEZ CHAVEZ, Shierly.
DIAS MARTINEZ, Baldomer.









ASUNTO : ENTREGA DE INFORME DEL TRABAJO
FECHA : 25 DE JULIO DEL 2012


M Mediante el presente me dirijo a Usted para saludarlo cordialmente y a la vez hacer
llegar el informe del TRABAJO, que se realiz el domingo 22 de julio del 2012.

Es todo cuanto informo a Usted para su conocimiento y dems fines.






ING.
CIVIL

Pucallpa-Per
2012

[INFORME DE CAMINOS I] [2012]


2



A continuacin describimos el algoritmo del programa:


LOCAL dato1,dato2,dato3,dato4,dato5,dato6,dato7
WITH thisform

dato1 = .text1.value
dato2 = .text2.value
dato3 = .text3.value/100
dato4 = .text4.value/100
dato5 = .text5.value
dato6 = .text6.value
dato7 = .text7.value

IF dato3 > 0 AND dato4 < 0

abPCV = dato1 - dato5
abPTV = dato1 + dato6

CoPCV = dato2 - (dato3*dato5)
coPTV = dato2 - ((dato4*-1)*dato6)

NroCo = ROUND(dato5/dato7,0)
NroCo2 = ROUND(dato6/dato7,0)

diferencia_pendiente = (dato3 - dato4)

IF diferencia_pendiente < 0
diferencia_pendiente = diferencia_pendiente * -1
ENDIF

eb = (diferencia_pendiente * dato5 * dato6)/(2*(dato5+dato6))

INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PCV',CoPCV,CoPCV,0)

vRecorre = NroCo - 1
[INFORME DE CAMINOS I] [2012]


3

FOR i = 1 TO vRecorre
vNro = 'Co'+ALLTRIM(STR(i))
&vNro = CoPCV + (dato3*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('e',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR
xValor = (dato2 - eb)
INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PIV',dato2,xValor,eb)


SELECT datos
=TABLEUPDATE(.t.)

NroCo = ROUND(dato6/dato7,0)
vRecorre2 = NroCo2-1

FOR i = vRecorre2 TO 1 STEP -1
vNro = 'Co2'+ALLTRIM(STR(i))
&vNro = coPTV + ((dato4*-1)*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('s',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE !EMPTY(intervalo)
AND !EMPTY(cotae) INTO CURSOR cCoEntrada

if _tally > 0
SELECT cCoEntrada
SCAN all
dato = eb * ((cCoEntrada.intervalo/dato5)^2)

SELECT datos
locate for idcota = cCoEntrada.idcota

IF FOUND()
[INFORME DE CAMINOS I] [2012]


4
REPLACE valor WITH dato
REPLACE datos.correccion WITH datos.valore - dato
ENDIF
ENDSCAN
ENDIF

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE ALLTRIM(tipo)='s'
INTO CURSOR cCoSalida

if _tally > 0
SELECT cCoSalida
SCAN all
dato = eb * ((cCoSalida.intervalo/dato6)^2)

SELECT datos
locate for idcota = cCoSalida.idcota

IF found()
REPLACE valor WITH dato
REPLACE correccion WITH datos.valore - dato
ENDIF
ENDSCAN
INSERT INTO datos(tipo,cotae,valore,correccion,valor)
values('s','PTV',coPTV,coPTV,0)

SELECT datos
=TABLEUPDATE(.t.)
ENDIF
ENDIF

*******segunda

IF dato3 < 0 AND dato4 < 0 AND dato3 > dato4

dato10 = dato3
dato11 = dato4
[INFORME DE CAMINOS I] [2012]


5

dato3 = dato3*-1
dato4 = dato4*-1

abPCV = dato1 - dato5
abPTV = dato1 + dato6


CoPCV = dato2 + (dato3*dato5)
coPTV = dato2 - (dato4*dato6)

NroCo = ROUND(dato5/dato7,0)
NroCo2 = ROUND(dato6/dato7,0)


diferencia_pendiente = (dato10 - dato11)

IF diferencia_pendiente < 0
diferencia_pendiente = diferencia_pendiente * -1
ENDIF

eb = (diferencia_pendiente * dato5 * dato6)/(2*(dato5+dato6))


INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PCV',CoPCV,CoPCV,0)

vRecorre = NroCo - 1

FOR i = 1 TO vRecorre
vNro = 'Co'+ALLTRIM(STR(i))
&vNro = CoPCV - (dato3*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('e',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR
xValor = (dato2 - eb)
INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PIV',dato2,xValor,eb)


SELECT datos
[INFORME DE CAMINOS I] [2012]


6
=TABLEUPDATE(.t.)

NroCo = ROUND(dato6/dato7,0)
vRecorre2 = NroCo2-1

FOR i = vRecorre2 TO 1 STEP -1
vNro = 'Co2'+ALLTRIM(STR(i))
&vNro = coPTV + ((dato4)*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('s',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE !EMPTY(intervalo)
AND !EMPTY(cotae) INTO CURSOR cCoEntrada

if _tally > 0
SELECT cCoEntrada
SCAN all
dato = eb * ((cCoEntrada.intervalo/dato5)^2)

SELECT datos
locate for idcota = cCoEntrada.idcota

IF FOUND()
REPLACE valor WITH dato
REPLACE datos.correccion WITH datos.valore - dato
ENDIF
ENDSCAN
ENDIF

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE ALLTRIM(tipo)='s'
INTO CURSOR cCoSalida

[INFORME DE CAMINOS I] [2012]


7
if _tally > 0
SELECT cCoSalida
SCAN all
dato = eb * ((cCoSalida.intervalo/dato6)^2)

SELECT datos
locate for idcota = cCoSalida.idcota

IF found()
REPLACE valor WITH dato
REPLACE correccion WITH datos.valore - dato
ENDIF
ENDSCAN
INSERT INTO datos(tipo,cotae,valore,correccion,valor)
values('s','PTV',coPTV,coPTV,0)

SELECT datos
=TABLEUPDATE(.t.)
ENDIF
ENDIF

***** tercera

IF dato3 > 0 AND dato4 > 0 AND dato3 > dato4

abPCV = dato1 - dato5
abPTV = dato1 + dato6

CoPCV = dato2 - (dato3*dato5)
coPTV = dato2 + ((dato4*-1)*dato6)

NroCo = ROUND(dato5/dato7,0)
NroCo2 = ROUND(dato6/dato7,0)


diferencia_pendiente = (dato3 - dato4)

IF diferencia_pendiente < 0
diferencia_pendiente = diferencia_pendiente * -1
[INFORME DE CAMINOS I] [2012]


8
ENDIF

eb = (diferencia_pendiente * dato5 * dato6)/(2*(dato5+dato6))


INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PCV',CoPCV,CoPCV,0)

vRecorre = NroCo - 1

FOR i = 1 TO vRecorre
vNro = 'Co'+ALLTRIM(STR(i))
&vNro = CoPCV + (dato3*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('e',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR
xValor = (dato2 - eb)
INSERT INTO datos(tipo,cotae,valore,correccion,valor) values('e','PIV',dato2,xValor,eb)


SELECT datos
=TABLEUPDATE(.t.)

NroCo = ROUND(dato6/dato7,0)
vRecorre2 = NroCo2-1

FOR i = vRecorre2 TO 1 STEP -1
vNro = 'Co2'+ALLTRIM(STR(i))
&vNro = coPTV - ((dato4*-1)*(dato7*i))
INSERT INTO datos(tipo,intervalo,cotae,valore)
values('s',(dato7*i),'Co'+ALLTRIM(STR(i)),&vNro)
ENDFOR

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE !EMPTY(intervalo)
AND !EMPTY(cotae) INTO CURSOR cCoEntrada

if _tally > 0
[INFORME DE CAMINOS I] [2012]


9
SELECT cCoEntrada
SCAN all
dato = eb * ((cCoEntrada.intervalo/dato5)^2)

SELECT datos
locate for idcota = cCoEntrada.idcota

IF FOUND()
REPLACE valor WITH dato
REPLACE datos.correccion WITH datos.valore - dato
ENDIF
ENDSCAN
ENDIF

SELECT datos
=TABLEUPDATE(.t.)

SELECT idcota,intervalo,cotae,valore,correccion FROM datos WHERE !EMPTY(intervalo)
AND !EMPTY(cotas) INTO CURSOR cCoSalida

if _tally > 0
SELECT cCoSalida
SCAN all
dato = eb * ((cCoSalida.intervalo/dato6)^2)

SELECT datos
locate for idcota = cCoSalida.idcota

IF found()
REPLACE valor WITH dato
REPLACE correccion WITH datos.valore - dato
ENDIF
ENDSCAN
INSERT INTO datos(tipo,cotae,valore,correccion,valor)
values('s','PTV',coPTV,coPTV,0)

SELECT datos
=TABLEUPDATE(.t.)
ENDIF
[INFORME DE CAMINOS I] [2012]


10
ENDIF

contador = 0
SELECT datos
GO top
SCAN ALL
IF contador = 0
REPLACE absisa WITH abPCV
ELSE
REPLACE absisa WITH abPCV + (dato7 * contador)
ENDIF

IF ALLTRIM(tipo) = 'e'
REPLACE pendiente WITH .text3.value
ENDIF
IF ALLTRIM(tipo) = 's'
REPLACE pendiente WITH .text4.value
ENDIF

IF ALLTRIM(cotae)= 'CotaPCV' OR ALLTRIM(cotae)= 'CotaPIV' OR
ALLTRIM(cotae)= 'CotaPTV'
REPLACE pendiente WITH 0
ENDIF

contador = contador + 1
ENDSCAN

SELECT datos
GO TOP
thisform.grid1.Refresh()
ENDWITH








[INFORME DE CAMINOS I] [2012]


11



EJEMPLOS:

1. Para el clculo de una curva vertical asimtrica convexa, se dispone de la siguiente informacin:

Abscisa de PIV = K 3+600
Cota del PIV = 500 m
Pendiente de la tangente de entrada = 5%
Pendiente de la tangente de salida = -7%
Longitud de la curva vertical = 80 m
Longitud de la primera rama de la curva = 50 m
Longitud de la segunda rama de la curva = 30 m

Calcular:
La curva vertical en abscisas de 10 m.

Solucin

[INFORME DE CAMINOS I] [2012]


12

















[INFORME DE CAMINOS I] [2012]


13



2. Para el clculo de una curva vertical asimtrica convexa se dispone de la siguiente informacin:

Abscisa de PIV = K 2+640
Cota del PIV = 200 m
Pendiente de la tangente de entrada = -4 %
Pendiente de la tangente de salida = -8%
Longitud de la curva vertical = 120 m
Longitud de la primera rama de la curva = 50 m
Longitud de la segunda rama de la curva = 70 m

Calcular:
La curva vertical en abscisas de 10 m.




Solucin:

[INFORME DE CAMINOS I] [2012]


14




[INFORME DE CAMINOS I] [2012]


15












[INFORME DE CAMINOS I] [2012]


16

CONCLUSIN

Concluimos que el programa creado ayudar a calcular los
problemas de replanteo de una curva vertical asimtrica
convexa.

También podría gustarte