Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLucinda Castrejon Modificado hace 10 años
1
Parte 3. Descripción del código de una función 1
2
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.
3
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á
4
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á
5
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
6
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ón leerá la información desde esta hoja.
7
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
8
8
9
9 Código de la función para el diámetro exterior
10
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.
11
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
12
12 El diámetro exterior depende sólo del diámetro nominal (Dn) y se encuentra en la tercera columna de la tabla.
13
13
14
14 El código empieza definiendo la matriz C que contiene las filas 1 a la 36 y las columnas 1 a 3.
15
15
16
16 Matriz C, en cuya tercera columna, desde las filas 7 a la 36 se encuentran los diámetros exteriores Dext [mm]
17
17 A continuación se definirá en el código, la dimensión de la matriz C
18
18 Dim C(36, 3) Function Pipe_Imp_CS_Dext_dn(Dn) End Function
19
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
20
20 Lectura de la tabla
21
21 Lectura de la tabla Para leer la información de la tabla, se usa una estructura llamada For -next
22
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.
23
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
24
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
25
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
26
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
27
27 El For-next se programa como sigue
28
28 El For-next se programa como sigue
29
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.
30
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.
31
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
32
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
33
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
34
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
35
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)
36
36 Resumen de los pasos de programación dados
37
37 Resumen de los pasos de programación dados Function
38
38 Resumen de los pasos de programación dados Function Pipe_Imp_CS_Dext_dn(Dn)
39
39 Resumen de los pasos de programación dados Function Pipe_Imp_CS_Dext_dn(Dn) End Function
40
40 Resumen de los pasos de programación dados Function Pipe_Imp_CS_Dext_dn(Dn) End Function
41
41 Resumen de los pasos de programación dados Function Pipe_Imp_CS_Dext_dn(Dn) End Function Dim C(36, 3)
42
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
43
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
44
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).Value Next m
45
45 Identificación de la fila en que se encuentra cada diámetro nominal
46
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 los datos correspondientes a ese diámetro.
47
47
48
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 los datos correspondientes a ese diámetro. En el código se agrega la siguiente línea
49
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 los datos correspondientes a ese diámetro. En el código se agrega la siguiente línea If Dn = 0.5 Then x = 7
50
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 los datos 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
51
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 los datos 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
52
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 los datos 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
53
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 los datos 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
54
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 los datos 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
55
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 los datos 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
56
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
57
57 Y con todas las filas identificadas, el código se ve así
58
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
59
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 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 = 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 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)
60
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
61
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)
62
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
63
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
64
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.
65
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
66
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
67
67 Fin de la Parte 3 Nota. En el archivo de la página web piping-tools.net, Pipe_dimensions_and_friction_factor.xlsm se encuentran las tres funciones (diámetro exterior, diámetro interior y espesor) con su código completo.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.