parte 3. descripción del código de una función 1

67
Parte 3. Descripción del código de una función 1

Upload: lucinda-castrejon

Post on 15-Jan-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

1

Page 2: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

2

Como ejemplo se escribirá el código de una función para encontrar el diámetro exterior de una cañería de acero al carbono, con input del diámetro nominal en pulgadas.

Page 3: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

3

Como ejemplo se escribirá el código de una función para encontrar el diámetro exterior de una cañería de acero al carbono, con input del diámetro nominal en pulgadas.

El nombre de la función será

Page 4: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

4

"Pipe_Imp_CS_Dext_dn_sch"

Como ejemplo se escribirá el código de una función para encontrar el diámetro exterior de una cañería de acero al carbono, con input del diámetro nominal en pulgadas.

El nombre de la función será

Page 5: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

5

"Pipe_Imp_CS_Dext_dn_sch"

Como ejemplo se escribirá el código de una función para encontrar el diámetro exterior de una cañería de acero al carbono, con input del diámetro nominal en pulgadas.

El nombre de la función será

Esta función se basa en los diámetros exteriores definidos en la norma ASME B36.10M

Page 6: Parte 3. Descripción del código de una función 1

Parte 3. Descripción del código de una función

6

"Pipe_Imp_CS_Dext_dn_sch"

Como ejemplo se escribirá el código de una función para encontrar el diámetro exterior de una cañería de acero al carbono, con input del diámetro nominal en pulgadas.

El nombre de la función será

Esta función se basa en los diámetros exteriores definidos en la norma ASME B36.10M

Una tabla con los diámetros exteriores “dext [mm]” correspondientes a los diámetros nominales “dn [in]”,se debe incluir en una hoja del archivo Excel. La funciónleerá la información desde esta hoja.

Page 7: Parte 3. Descripción del código de una función 1

7

La tabla que sigue entrega los diámetros exteriores y espesores para cañerías de acero carbono de diferentes diámetros nominales y cédulas, de acuerdo a la norma ASME B36. 10

Page 8: Parte 3. Descripción del código de una función 1

8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.09

10 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Page 9: Parte 3. Descripción del código de una función 1

9

Código de la función para el diámetro exterior

Page 10: Parte 3. Descripción del código de una función 1

10

Código de la función para el diámetro exterior

Según se explicó en la Parte 1, el código se inicia definiendo el nombre de la función y Visual Basic agrega el “End Function” .

Page 11: Parte 3. Descripción del código de una función 1

11

Código de la función para el diámetro exterior

Según se explicó en la Parte 1, el código se inicia definiendo el nombre de la función y Visual Basic agrega el “End Function” .

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Page 12: Parte 3. Descripción del código de una función 1

12

El diámetro exterior depende sólo del diámetro nominal (Dn) y se encuentra en la tercera columna de la tabla.

Page 13: Parte 3. Descripción del código de una función 1

13

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Page 14: Parte 3. Descripción del código de una función 1

14

El código empieza definiendo la matriz “C” que contiene las filas 1 a la 36 y las columnas 1 a 3.

Page 15: Parte 3. Descripción del código de una función 1

15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Page 16: Parte 3. Descripción del código de una función 1

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Matriz “C”, en cuya tercera columna, desde las filas 7 a la 36 se encuentran los diámetros exteriores “Dext [mm]”

Page 17: Parte 3. Descripción del código de una función 1

17

A continuación se definirá en el código, la dimensión de la matriz “C”

Page 18: Parte 3. Descripción del código de una función 1

18

Dim C(36, 3)

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Page 19: Parte 3. Descripción del código de una función 1

19

Dim C(36, 3)

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

La matriz C se ha definido con 36 columnas y 3 filas

Page 20: Parte 3. Descripción del código de una función 1

20

Lectura de la tabla

Page 21: Parte 3. Descripción del código de una función 1

21

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

Page 22: Parte 3. Descripción del código de una función 1

22

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

El For-next indica que se debe repetir una operación que depende de un índice “m” y se indican los valores inicial y final de “m”.

Page 23: Parte 3. Descripción del código de una función 1

23

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

El For-next indica que se debe repetir una operación que depende de un índice “m” y se indican los valores inicial y final de “m”.

For m = 1 To 36

Page 24: Parte 3. Descripción del código de una función 1

24

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

El For-next indica que se debe repetir una operación que depende de un índice “m” y se indican los valores inicial y final de “m”.

For m = 1 To 36

En este espacio se indican las operaciones que se deben efectuar, las que dependen del valor del momento del índice “m”

Page 25: Parte 3. Descripción del código de una función 1

25

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

El For-next indica que se debe repetir una operación que depende de un índice “m” y se indican los valores inicial y final de “m”.

For m = 1 To 36

En este espacio se indican las operaciones que se deben efectuar, las que dependen del valor del momento del índice “m”

Next m

Las operaciones con el índice “m” terminan con

Page 26: Parte 3. Descripción del código de una función 1

26

Lectura de la tabla

Para leer la información de la tabla, se usa una estructura llamada For -next

El For-next indica que se debe repetir una operación que depende de un índice “m” y se indican los valores inicial y final de “m”.

For m = 1 To 36

En este espacio se indican las operaciones que se deben efectuar, las que dependen del valor del momento del índice “m”

Next m

Las operaciones con el índice “m” terminan con

El loop termina después que “m” toma el valor 36

Page 27: Parte 3. Descripción del código de una función 1

27

El “ For-next” se programa como sigue

Page 28: Parte 3. Descripción del código de una función 1

28

El “ For-next” se programa como sigue

Page 29: Parte 3. Descripción del código de una función 1

29

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

Page 30: Parte 3. Descripción del código de una función 1

30

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

Page 31: Parte 3. Descripción del código de una función 1

31

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

El valor leído se asigna al elemento (m,3) de la matriz “C”

Page 32: Parte 3. Descripción del código de una función 1

32

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

El valor leído se asigna al elemento (m,3) de la matriz “C”

Page 33: Parte 3. Descripción del código de una función 1

33

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

La lectura se hace en la hoja que se ha nombrado 6.CS_Imp

El valor leído se asigna al elemento (m,3) de la matriz “C”

Page 34: Parte 3. Descripción del código de una función 1

34

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

La lectura se hace en la hoja que se ha nombrado 6.CS_Imp

El valor leído se asigna al elemento (m,3) de la matriz “C”

Page 35: Parte 3. Descripción del código de una función 1

35

El “ For-next” se programa como sigue

Aquí se indica que se deben leer las celdas de la columna 3,desde la fila 1 a la 36.

La lectura se hace en la hoja que se ha nombrado 6.CS_Imp

El valor leído se asigna al elemento (m,3) de la matriz “C”

En la hoja “6.CS_Imp”, se lee el contenido de la celda (m,3)

Page 36: Parte 3. Descripción del código de una función 1

36

Resumen de los pasos de programación dados

Page 37: Parte 3. Descripción del código de una función 1

37

Resumen de los pasos de programación dados

Function

Page 38: Parte 3. Descripción del código de una función 1

38

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

Page 39: Parte 3. Descripción del código de una función 1

39

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Page 40: Parte 3. Descripción del código de una función 1

40

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Page 41: Parte 3. Descripción del código de una función 1

41

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

Page 42: Parte 3. Descripción del código de una función 1

42

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

Page 43: Parte 3. Descripción del código de una función 1

43

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = thisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Page 44: Parte 3. Descripción del código de una función 1

44

Resumen de los pasos de programación dados

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = thisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).ValueNext m

Page 45: Parte 3. Descripción del código de una función 1

45

Identificación de la fila en que se encuentra cada diámetro nominal

Page 46: Parte 3. Descripción del código de una función 1

46

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación en la fila de ”todos losdatos correspondientes a ese diámetro”.

Page 47: Parte 3. Descripción del código de una función 1

47

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Page 48: Parte 3. Descripción del código de una función 1

48

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

Page 49: Parte 3. Descripción del código de una función 1

49

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

Page 50: Parte 3. Descripción del código de una función 1

50

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

Page 51: Parte 3. Descripción del código de una función 1

51

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

Page 52: Parte 3. Descripción del código de una función 1

52

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

Page 53: Parte 3. Descripción del código de una función 1

53

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

Cuyo significado es O Si Dn tiene el valor 0.75 [in] , se trata de la fila 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

Page 54: Parte 3. Descripción del código de una función 1

54

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

Cuyo significado es O Si Dn tiene el valor 0.75 [in] , se trata de la fila 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Y así sucesivamente hasta identificar todas las filas

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

Page 55: Parte 3. Descripción del código de una función 1

55

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

Cuyo significado es O Si Dn tiene el valor 0.75 [in] , se trata de la fila 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Y así sucesivamente hasta identificar todas las filas

Con estas dos nuevas líneas, el código se ve así

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces la fila es la fila 7

La siguiente línea es

Page 56: Parte 3. Descripción del código de una función 1

56

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

If Dn = 0.5 Then

x = 7

ElseIf Dn = 0.75 Then x = 8

End Function

Page 57: Parte 3. Descripción del código de una función 1

57

Y con todas las filas identificadas, el código se ve así

Page 58: Parte 3. Descripción del código de una función 1

58

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

If Dn = 0.5 Then

x = 7

ElseIf Dn = 0.75 Then x = 8

ElseIf Dn = 1 Then x = 9

ElseIf Dn = 1.5 Then x = 10

ElseIf Dn = 2 Then x = 11

ElseIf Dn = 3 Then x = 12

ElseIf Dn = 4 Then x = 13

ElseIf Dn = 5 Then x = 14

ElseIf Dn = 6 Then x = 15

ElseIf Dn = 8 Then x = 16

ElseIf Dn = 10 Then x = 17

ElseIf Dn = 12 Then x = 18

ElseIf Dn = 14 Then x = 19

ElseIf Dn = 16 Then x = 20

ElseIf Dn = 18 Then x = 21

ElseIf Dn = 20 Then x = 22

ElseIf Dn = 22 Then x = 23

ElseIf Dn = 24 Then x = 24

ElseIf Dn = 26 Then x = 26

ElseIf Dn = 28 Then x = 26

ElseIf Dn = 30 Then x = 27

ElseIf Dn = 32 Then x = 28

ElseIf Dn = 34 Then x = 29

ElseIf Dn = 36 Then x = 30

ElseIf Dn = 38 Then x = 31

ElseIf Dn = 40 Then x = 32

ElseIf Dn = 42 Then x = 33

ElseIf Dn = 44 Then x = 34

ElseIf Dn = 46 Then x = 35

ElseIf Dn = 48 Then x = 36

' If the Dn-value is not within the given values,

' The function returns Dext = "N/A"

Else

Pipe_Imp_CS_Dext_dn = "N/A"

Exit Function

End If

Page 59: Parte 3. Descripción del código de una función 1

59

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3) For m = 1 To 36 C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value Next m If Dn = 0.5 Thenx = 7ElseIf Dn = 0.75 Then x = 8ElseIf Dn = 1 Then x = 9ElseIf Dn = 1.5 Then x = 10ElseIf Dn = 2 Then x = 11

ElseIf Dn = 44 Then x = 34ElseIf Dn = 46 Then x = 35ElseIf Dn = 48 Then x = 36' If the Dn-value is not within the given values,' The function returns Dext = "N/A"Else Pipe_Imp_CS_Dext_dn = "N/A" Exit FunctionEnd If

Esta parte de la función termina diciendo, “Else” = esto es, en otro caso, si el diámetro nominal recibido como input no es ninguno de los revisados, entonces el input es erróneo. La función termina entregando como respuesta un No Aplica (N/A)

Page 60: Parte 3. Descripción del código de una función 1

60

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa que en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Page 61: Parte 3. Descripción del código de una función 1

61

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa que en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Conocida la fila de la matriz en la que se encuentra el diámetro exterior buscado (fila “x”), y como se sabe que este diámetro está en la columna “3”, el elemento de la matriz con el valor buscado es el elemento (x,3)

Page 62: Parte 3. Descripción del código de una función 1

62

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa que en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Conocida la fila de la matriz en la que se encuentra el diámetro exterior buscado (fila “x”), y como se sabe que este diámetro está en la columna “3”, el elemento de la matriz con el valor buscado es el elemento (x,3)

Así, el valor de la función buscada es

Page 63: Parte 3. Descripción del código de una función 1

63

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa que en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Pipe_Imp_CS_Dext_dn = C(x, 3)

Conocida la fila de la matriz en la que se encuentra el diámetro exterior buscado (fila “x”), y como se sabe que este diámetro está en la columna “3”, el elemento de la matriz con el valor buscado es el elemento (x,3)

Así, el valor de la función buscada es

Page 64: Parte 3. Descripción del código de una función 1

64

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa que en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Pipe_Imp_CS_Dext_dn = C(x, 3)

Conocida la fila de la matriz en la que se encuentra el diámetro exterior buscado (fila “x”), y como se sabe que este diámetro está en la columna “3”, el elemento de la matriz con el valor buscado es el elemento (x,3)

Así, el valor de la función buscada es

Con esto, la función queda terminada.

Page 65: Parte 3. Descripción del código de una función 1

65

Si el valor del diámetro nominal “corresponde a alguno de los valores definidos en la estándar”, significa en el examen recién realizado se ha encontrado la línea correspondiente al diámetro nominal recibido. Esto es, se conoce el valor de “x”

Pipe_Imp_CS_Dext_dn = C(x, 3)

Conocida la fila de la matriz en la que se encuentra el diámetro exterior buscado (fila “x”), y como se sabe que este diámetro está en la columna “3”, el elemento de la matriz con el valor buscado es el elemento (x,3)

Así, el valor de la función buscada es

Con esto, la función queda terminada

El código completo es

Page 66: Parte 3. Descripción del código de una función 1

66

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3) As Variant

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

x = 7

ElseIf Dn = 0.75 Then x = 8

ElseIf Dn = 1 Then x = 9

ElseIf Dn = 1.5 Then x = 10

ElseIf Dn = 2 Then x = 11

ElseIf Dn = 3 Then x = 12

ElseIf Dn = 4 Then x = 13

ElseIf Dn = 5 Then x = 14

ElseIf Dn = 6 Then x = 15

ElseIf Dn = 8 Then x = 16

ElseIf Dn = 10 Then x = 17

ElseIf Dn = 12 Then x = 18

ElseIf Dn = 14 Then x = 19

ElseIf Dn = 16 Then x = 20

ElseIf Dn = 18 Then x = 21

ElseIf Dn = 20 Then x = 22

ElseIf Dn = 22 Then x = 23

ElseIf Dn = 24 Then x = 24

ElseIf Dn = 26 Then x = 26

ElseIf Dn = 28 Then x = 26

ElseIf Dn = 30 Then x = 27

ElseIf Dn = 32 Then x = 28

ElseIf Dn = 34 Then x = 29

ElseIf Dn = 36 Then x = 30

ElseIf Dn = 38 Then x = 31

ElseIf Dn = 40 Then x = 32

ElseIf Dn = 42 Then x = 33

ElseIf Dn = 44 Then x = 34

ElseIf Dn = 46 Then x = 35

ElseIf Dn = 48 Then x = 36

Else

Pipe_Imp_CS_Dext_dn = "N/A"

Exit Function

End If

Pipe_Imp_CS_Dext_dn = C(x, 3)

End Function

Page 67: Parte 3. Descripción del código de una función 1

67

Fin de la Parte 3

Nota. En el archivo de la página web “piping-tools.net”, Pipe_dimensions_and_friction_factor.xlsmse encuentran las tres funciones (diámetro exterior, diámetro interior y espesor) con su código completo.