SlideShare une entreprise Scribd logo
1  sur  7
Código: Seleccionar todo
           Imports System.IO
           Imports System.Math

           Public Class Revision_Vigas
               'Heredando los textos
               Inherits Texto

                  '**************** VARIABLES PRIVADAS *****************
                  '*****************************************************
                  'almacena la base de la viga
                  Private Base As Single
                  'almacena la altura d (altura efectiva a tension en cm)
                  Private d_Tens As Single
                  'almacena la altura d' (altura efectiva a compresion en cm)
                  Private d_Comp As Single
                  'Area de Acero a Tension (AS en cm ^2)
                  Private As_Tens As Single
                  'Area de Acero a Compresion (A'S en cm ^2)
                  Private As_Comp As Single
                  'resistencia a la compresion del concreto (kg/cm^2)
                  Private fc_ As Single
                  'resistencia a la compresion del Acero (kg/cm^2)
                  Private fy_ As Single
                  'factor de seguridad fi: para vigas es 0.9
                  Private Fi_ As Single
                  '*****************************************************

               '**************** VARIABLES PUBLICAS *****************
               '*****************************************************
               ''' <summary>
               ''' Momento último expresado en Ton*metros
               ''' </summary>
               ''' <remarks>Nilson</remarks>
               Public Mu As Single        'Momento expresado en Ton*metro
               ''' <summary>
               ''' Esfuerzo de Tension de las barras de acero expresado en
           kg/cm^2
               ''' </summary>
               ''' <remarks>Nilson</remarks>
               Public fs_Comp As Single
               ''' <summary>
               ''' Esfuerzo de Compresion de las barras de acero expresado
           en kg/cm^2
               ''' </summary>
               ''' <remarks>Nilson</remarks>
               Public fs_Tens As Single
               ''' <summary>
               ''' Esta es la cuantia de la sección (en decimas), valor
           adimensional
               ''' </summary>
               ''' <remarks>Nilson</remarks>
               Public Cuantia_Calc As Single
               ''' <summary>
               ''' Cuantia mínima. Si el valor de la cuantia calculada es
           mayor que este, entonces el acero a compresión fluye.
               ''' Si la cuantia calculada es menor que este, el acero a
           compresion no fluye y debe calcularse por la siguiente formula:
               ''' f's = 6000*(c-d')/c
               ''' </summary>
               ''' <remarks></remarks>
Public Cuantia_Min As Single
    ''' <summary>
    ''' Equivale al 75% de la cuantia balanceada. Este es el
valor limite de la cuantia permitida según NSR 98.
    ''' </summary>
    ''' <remarks></remarks>
    Public Cuantia_Max As Single
    ''' <summary>
    ''' Cuantia Balanceada. Si la cuantia calculada es mayor que
este valor, la viga es Sobre-reforzada.
    ''' Caso contrario, Sub-reforzada.
    ''' </summary>
    ''' <remarks></remarks>
    Public Cuantia_Bal As Single




    'Propiedad que almacenar valor de la base de la viga
    Public Property Base_() As Single
        Get
            Return Base
        End Get
        Set(ByVal Valor As Single)
            If Valor <= 0 Then
                 MsgBox(quot;La base no puede ser menor o igual a
ceroquot;)
            Else
                 Base = Valor
            End If
        End Set
    End Property

    'Propiedad para la altura efectiva a tensión de la viga
    Public Property Altura_Efectiva_Tension() As Single
        Get
            Return d_Tens
        End Get
        Set(ByVal Valor As Single)
            If Valor <= 0 Then
                 MsgBox(quot;La Altura efectiva no puede ser menor o
igual a ceroquot;)
            Else
                 d_Tens = Valor
            End If
        End Set
    End Property

    'Propiedad para la altura efectiva a compresión de la viga
    Public Property Altura_Efectiva_Compresion() As Single
        Get
            Return d_Comp
        End Get
        Set(ByVal Valor As Single)
            If Valor <= 0 Then
                 MsgBox(quot;La Altura efectiva a compresion no puede
ser menor o igual a ceroquot;)
            Else
                 d_Comp = Valor
            End If
End Set
    End Property

    Public Property AS_Tens_() As Single
        Get
            Return As_Tens
        End Get
        Set(ByVal Valor As Single)
            If Valor < 0 Then
                 MsgBox(quot;Error: Area negativa no se puedequot;)
            Else
                 As_Tens = Valor
            End If
        End Set
    End Property

    Public Property AS_Comp_() As Single
        Get
            Return As_Comp
        End Get
        Set(ByVal Valor As Single)
            If Valor < 0 Then
                 MsgBox(quot;Error: Area negativa no se puedequot;)
            Else
                 As_Comp = Valor
            End If

        End Set
    End Property

    Public Property fc() As Single
        Get
            Return fc_
        End Get
        Set(ByVal Valor As Single)
            If Valor <= 0 Then
                 MsgBox(quot;Error, este valor no puede ser menor ni
igual que ceroquot;)
            Else
                 fc_ = Valor
            End If
        End Set
    End Property

    Public Property fy() As Single
        Get
            Return fy_
        End Get
        Set(ByVal Valor As Single)
            If Valor <= 0 Then
                 MsgBox(quot;Error, este valor no puede ser menor ni
igual que ceroquot;)
            Else
                 fy_ = Valor
            End If
        End Set
    End Property

    Public Property Fi() As Single
        Get
            Return Fi_
End Get
       Set(ByVal Valor As Single)
           If Valor <= 0 Then
                MsgBox(quot;Error en el factor de seguridadquot;)
           Else
                Fi_ = Valor
           End If
       End Set
   End Property



    ''' <summary>
    ''' Funcion que halla la cuantia balanceada (pagina 88 del
Libro Rochel tomo 1)
    ''' </summary>
    ''' <param name=quot;fcquot;>Resistencia del concreto expresado en
kg/cm^2</param>
    ''' <param name=quot;fyquot;>Resistencia del acero expresado en
kg/cm^2</param>
    ''' <returns>Valor de la cuantia balanceada. Valor
Adimensional</returns>
    ''' <remarks>Nilson</remarks>
    Private Function pb(ByVal fc As Single, ByVal fy As Single)
As Single
        Return Alfa(fc) * fc / fy * 6000 / (6000 + fy)
    End Function

    'Ecuacion 6.11 (pagina 88)
    Private Function pnet_Max(ByVal fc As Single, ByVal fy As
Single) As Single
        Return 0.75 * pb(fc, fy)
    End Function

    'Ecuacion 7.6 (pag 108)
    Private Function pnet_Min(ByVal fc As Single, ByVal fy As
Single, ByVal d_Comp As Single, ByVal d_Tens As Single) As
Single
        pnet_Min = Alfa(fc) * fc / fy * 6000 * d_Comp / ((6000 -
fy) * d_Tens)
    End Function

    'Funcion que halla la cuantia de la sección
    Private Function pnet_Calc(ByVal As_Comp As Single, ByVal
As_tens As Single, ByVal b As Single, ByVal d As Single) As
Single
        Return (As_tens - As_Comp) / (b * d)
    End Function

   Public Sub Revisar_Viga()
       'Procedimiento que ejecuta la revision de la viga




       Dim C_neut As Single
       Dim a As Single

       Dim Momento As Single 'Ton*metro
Cuantia_Min = pnet_Min(fc_, fy_, d_Comp, d_Tens)
       Cuantia_Max = pnet_Max(fc_, fy_)
       Cuantia_Calc = pnet_Calc(As_Comp, As_Tens, Base, d_Tens)
       Cuantia_Bal = pb(fc_, fy_)

        If Cuantia_Calc >= Cuantia_Min And Cuantia_Calc <
Cuantia_Bal Then
            fs_Comp = fy_
            fs_Tens = fy_

            a = (As_Tens * fs_Tens - As_Comp * fs_Comp) / (0.85
* fc_ * Base) + As_Comp / Base
            C_neut = a / 0.85

           'Momento exacto
           Momento = Momento_Exacto(a)

           Mu = Momento / 100000

        ElseIf Cuantia_Calc < Cuantia_Min And Cuantia_Calc <
Cuantia_Bal Then
            'Sub reforzada pero el acero a compresion no fluye,
entonces debe calcularse su esfuerzo
            fs_Tens = fy_
            C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 *
fc_ * As_Comp + As_Tens * fs_Tens - 6000 * As_Comp), -6000 *
As_Comp * d_Comp)
            a = C_neut * 0.85
            fs_Comp = 6000 * (C_neut - d_Comp) / C_neut

           'Momento exacto
           Momento = Momento_Exacto(a)
           Mu = Momento / 100000

        ElseIf Cuantia_Calc >= Cuantia_Min And Cuantia_Calc >
Cuantia_Bal Then
            fs_Comp = fy_
            C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 *
fc_ * As_Comp - As_Comp * fs_Comp - As_Tens * 6000), -As_Tens *
6000 * d_Tens)
            a = C_neut * 0.85
            fs_Tens = 6000 * (d_Tens - C_neut) / C_neut
            'Momento exacto
            Momento = Momento_Exacto(a)
            Mu = Momento / 100000

        ElseIf Cuantia_Calc < Cuantia_Min And Cuantia_Calc >
Cuantia_Bal Then
            'Acero a compresion no fluye: f's = 6000*(c-d')/c
===> por no cumplir limite minimo
            'Viga sobre reforzada, Acero a tension no fluye: fs
= 6000*(d-c)/c
            C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 *
fc_ * As_Comp - As_Comp * 6000 - As_Tens * 6000), -(As_Comp *
6000 * d_Comp + As_Tens * 6000 * d_Tens))
            a = C_neut * 0.85
            fs_Comp = 6000 * (C_neut - d_Comp) / C_neut
            fs_Tens = 6000 * (d_Tens - C_neut) / C_neut
            'Momento exacto
            Momento = Momento_Exacto(a)
            Mu = Momento / 100000
Else
           MsgBox(quot;Falta programarquot;)
       End If
   End Sub

    Private Function Momento_Exacto(ByVal a As Single) As Single
        'Momento exacto
        Momento_Exacto = Fi_ * 0.85 * fc_ * Base * a * (d_Tens -
a / 2) - Fi_ * As_Comp * 0.85 * fc_ * (d_Tens - d_Comp) + Fi_ *
As_Comp * fs_Comp * (d_Tens - d_Comp)
    End Function

    Public Sub Guardar_Datos()
        'Guardando en el bloc de notas
        Call EscribirDatoMATRIZ(1, 1, Me.Fi_, Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(2, 1, Me.Base, Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(3, 1, Me.d_Tens, Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(4, 1, Me.d_Comp, Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(5, 1, Me.As_Tens,
Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(6, 1, Me.As_Comp,
Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(7, 1, Me.fc_, Dir_Bloc_Notas)
        Call EscribirDatoMATRIZ(8, 1, Me.fy_, Dir_Bloc_Notas)
    End Sub

    Public Sub Cargar_Datos(ByVal Text_Fi As TextBox, ByVal
Text_Base As TextBox, _
    ByVal Text_d_Tens As TextBox, ByVal Text_d_Comp As TextBox _
    , ByVal Text_As_Tens As TextBox, ByVal Text_As_Comp As
TextBox _
    , ByVal Text_fc As TextBox, ByVal Text_fy As TextBox)

       'cargando los datos desde el bloc de notas
       Try
           With Me
               .Fi_ = LeerDatoMATRIZ(1, 1, Dir_Bloc_Notas)
               Text_Fi.Text = .Fi_

               .Base = LeerDatoMATRIZ(2, 1, Dir_Bloc_Notas)
               Text_Base.Text = .Base

               .d_Tens = LeerDatoMATRIZ(3, 1, Dir_Bloc_Notas)
               Text_d_Tens.Text = .d_Tens

               .d_Comp = LeerDatoMATRIZ(4, 1, Dir_Bloc_Notas)
               Text_d_Comp.Text = .d_Comp

               .As_Tens = LeerDatoMATRIZ(5, 1, Dir_Bloc_Notas)
               Text_As_Tens.Text = .As_Tens

               .As_Comp = LeerDatoMATRIZ(6, 1, Dir_Bloc_Notas)
               Text_As_Comp.Text = .As_Comp

               .fc_ = LeerDatoMATRIZ(7, 1, Dir_Bloc_Notas)
               Text_fc.Text = .fc_

               .fy_ = LeerDatoMATRIZ(8, 1, Dir_Bloc_Notas)
               Text_fy.Text = .fy_
           End With
Catch
            MsgBox(quot;No se cargaron los datosquot;)
        End Try
    End Sub



    Function Cuadratica(ByVal A_ As Single, ByVal B_ As Single,
ByVal C_ As Single, Optional ByVal Positivo As Boolean = True)
As Single
        'funcion que devuelve la raiz de la ecuación.
        'Ecuación de la forma: AX^2 + BX + C = 0
        If Positivo = True Then
             Cuadratica = (-B_ + Sqrt(B_ ^ 2 - 4 * A_ * C_)) / (2
* A_)
        Else
             Cuadratica = (-B_ - Sqrt(B_ ^ 2 - 4 * A_ * C_)) / (2
* A_)
        End If
    End Function


End Class

Contenu connexe

En vedette (9)

In the Market
In the MarketIn the Market
In the Market
 
театр сша
театр сшатеатр сша
театр сша
 
Strategic Career Planning
Strategic Career PlanningStrategic Career Planning
Strategic Career Planning
 
офисные здания
офисные зданияофисные здания
офисные здания
 
Career Day
Career DayCareer Day
Career Day
 
Fantastic trip رحلة في الكون
Fantastic trip رحلة في الكونFantastic trip رحلة في الكون
Fantastic trip رحلة في الكون
 
Dv In The Workplace Slideshare
Dv In The Workplace   SlideshareDv In The Workplace   Slideshare
Dv In The Workplace Slideshare
 
Signos RT Presentation
Signos RT PresentationSignos RT Presentation
Signos RT Presentation
 
Presentation Topic.Music
Presentation Topic.MusicPresentation Topic.Music
Presentation Topic.Music
 

Similaire à Vigas

Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
Daniel Barraza
 
Capitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en cCapitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en c
ecastelocc
 
Capítulo 4 funciones matemáticas
Capítulo 4  funciones matemáticasCapítulo 4  funciones matemáticas
Capítulo 4 funciones matemáticas
Julio Ayala Rolón
 

Similaire à Vigas (17)

Computo movil ejercicio clases resuelto
Computo movil ejercicio clases resueltoComputo movil ejercicio clases resuelto
Computo movil ejercicio clases resuelto
 
Curso de Macros Excel
Curso de Macros ExcelCurso de Macros Excel
Curso de Macros Excel
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capas
 
Ejercicios en c sharp consola
Ejercicios en c sharp consolaEjercicios en c sharp consola
Ejercicios en c sharp consola
 
2.introducción a las aplicaciones en c++
2.introducción a las aplicaciones en c++2.introducción a las aplicaciones en c++
2.introducción a las aplicaciones en c++
 
Profesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTBProfesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTB
 
Visual Basic
Visual  BasicVisual  Basic
Visual Basic
 
Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Curva de daño de un transformador c++
Curva de daño de un transformador c++Curva de daño de un transformador c++
Curva de daño de un transformador c++
 
Capitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en cCapitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en c
 
Acmar trucos de visual basic(2)
Acmar   trucos de visual basic(2)Acmar   trucos de visual basic(2)
Acmar trucos de visual basic(2)
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)
 
1.2. kotlin
1.2. kotlin1.2. kotlin
1.2. kotlin
 
manual ac5070.pdf
manual ac5070.pdfmanual ac5070.pdf
manual ac5070.pdf
 
Capítulo 4 funciones matemáticas
Capítulo 4  funciones matemáticasCapítulo 4  funciones matemáticas
Capítulo 4 funciones matemáticas
 
Programar Función f(x) en C++
Programar Función f(x) en C++Programar Función f(x) en C++
Programar Función f(x) en C++
 

Plus de Lizbeth Roxana Solorzano Quispe (9)

Resistencia de-materiales-marco-llanos-pdf
Resistencia de-materiales-marco-llanos-pdfResistencia de-materiales-marco-llanos-pdf
Resistencia de-materiales-marco-llanos-pdf
 
Libro introduccion a la hidraulica fluvial - arturo rocha
Libro   introduccion a la hidraulica fluvial - arturo rochaLibro   introduccion a la hidraulica fluvial - arturo rocha
Libro introduccion a la hidraulica fluvial - arturo rocha
 
Curso de hidráulica
Curso de hidráulicaCurso de hidráulica
Curso de hidráulica
 
Libro hidrologc3ada-r-villodas
Libro hidrologc3ada-r-villodasLibro hidrologc3ada-r-villodas
Libro hidrologc3ada-r-villodas
 
Libro diseno hidrologico_edicion_digital
Libro diseno hidrologico_edicion_digitalLibro diseno hidrologico_edicion_digital
Libro diseno hidrologico_edicion_digital
 
Libro básico sobre tecnología del concreto
Libro básico sobre tecnología del concretoLibro básico sobre tecnología del concreto
Libro básico sobre tecnología del concreto
 
Libro resistencia de materiales i (prácticas y exámenes usmp)
Libro resistencia de materiales i (prácticas y exámenes usmp)Libro resistencia de materiales i (prácticas y exámenes usmp)
Libro resistencia de materiales i (prácticas y exámenes usmp)
 
Riego por-goteo-libro-cap 03 evaporacion1
Riego por-goteo-libro-cap 03 evaporacion1Riego por-goteo-libro-cap 03 evaporacion1
Riego por-goteo-libro-cap 03 evaporacion1
 
Riego por-goteo-libro-cap 01 suelo1
Riego por-goteo-libro-cap 01 suelo1Riego por-goteo-libro-cap 01 suelo1
Riego por-goteo-libro-cap 01 suelo1
 

Dernier

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Dernier (20)

Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 

Vigas

  • 1. Código: Seleccionar todo Imports System.IO Imports System.Math Public Class Revision_Vigas 'Heredando los textos Inherits Texto '**************** VARIABLES PRIVADAS ***************** '***************************************************** 'almacena la base de la viga Private Base As Single 'almacena la altura d (altura efectiva a tension en cm) Private d_Tens As Single 'almacena la altura d' (altura efectiva a compresion en cm) Private d_Comp As Single 'Area de Acero a Tension (AS en cm ^2) Private As_Tens As Single 'Area de Acero a Compresion (A'S en cm ^2) Private As_Comp As Single 'resistencia a la compresion del concreto (kg/cm^2) Private fc_ As Single 'resistencia a la compresion del Acero (kg/cm^2) Private fy_ As Single 'factor de seguridad fi: para vigas es 0.9 Private Fi_ As Single '***************************************************** '**************** VARIABLES PUBLICAS ***************** '***************************************************** ''' <summary> ''' Momento último expresado en Ton*metros ''' </summary> ''' <remarks>Nilson</remarks> Public Mu As Single 'Momento expresado en Ton*metro ''' <summary> ''' Esfuerzo de Tension de las barras de acero expresado en kg/cm^2 ''' </summary> ''' <remarks>Nilson</remarks> Public fs_Comp As Single ''' <summary> ''' Esfuerzo de Compresion de las barras de acero expresado en kg/cm^2 ''' </summary> ''' <remarks>Nilson</remarks> Public fs_Tens As Single ''' <summary> ''' Esta es la cuantia de la sección (en decimas), valor adimensional ''' </summary> ''' <remarks>Nilson</remarks> Public Cuantia_Calc As Single ''' <summary> ''' Cuantia mínima. Si el valor de la cuantia calculada es mayor que este, entonces el acero a compresión fluye. ''' Si la cuantia calculada es menor que este, el acero a compresion no fluye y debe calcularse por la siguiente formula: ''' f's = 6000*(c-d')/c ''' </summary> ''' <remarks></remarks>
  • 2. Public Cuantia_Min As Single ''' <summary> ''' Equivale al 75% de la cuantia balanceada. Este es el valor limite de la cuantia permitida según NSR 98. ''' </summary> ''' <remarks></remarks> Public Cuantia_Max As Single ''' <summary> ''' Cuantia Balanceada. Si la cuantia calculada es mayor que este valor, la viga es Sobre-reforzada. ''' Caso contrario, Sub-reforzada. ''' </summary> ''' <remarks></remarks> Public Cuantia_Bal As Single 'Propiedad que almacenar valor de la base de la viga Public Property Base_() As Single Get Return Base End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;La base no puede ser menor o igual a ceroquot;) Else Base = Valor End If End Set End Property 'Propiedad para la altura efectiva a tensión de la viga Public Property Altura_Efectiva_Tension() As Single Get Return d_Tens End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;La Altura efectiva no puede ser menor o igual a ceroquot;) Else d_Tens = Valor End If End Set End Property 'Propiedad para la altura efectiva a compresión de la viga Public Property Altura_Efectiva_Compresion() As Single Get Return d_Comp End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;La Altura efectiva a compresion no puede ser menor o igual a ceroquot;) Else d_Comp = Valor End If
  • 3. End Set End Property Public Property AS_Tens_() As Single Get Return As_Tens End Get Set(ByVal Valor As Single) If Valor < 0 Then MsgBox(quot;Error: Area negativa no se puedequot;) Else As_Tens = Valor End If End Set End Property Public Property AS_Comp_() As Single Get Return As_Comp End Get Set(ByVal Valor As Single) If Valor < 0 Then MsgBox(quot;Error: Area negativa no se puedequot;) Else As_Comp = Valor End If End Set End Property Public Property fc() As Single Get Return fc_ End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;Error, este valor no puede ser menor ni igual que ceroquot;) Else fc_ = Valor End If End Set End Property Public Property fy() As Single Get Return fy_ End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;Error, este valor no puede ser menor ni igual que ceroquot;) Else fy_ = Valor End If End Set End Property Public Property Fi() As Single Get Return Fi_
  • 4. End Get Set(ByVal Valor As Single) If Valor <= 0 Then MsgBox(quot;Error en el factor de seguridadquot;) Else Fi_ = Valor End If End Set End Property ''' <summary> ''' Funcion que halla la cuantia balanceada (pagina 88 del Libro Rochel tomo 1) ''' </summary> ''' <param name=quot;fcquot;>Resistencia del concreto expresado en kg/cm^2</param> ''' <param name=quot;fyquot;>Resistencia del acero expresado en kg/cm^2</param> ''' <returns>Valor de la cuantia balanceada. Valor Adimensional</returns> ''' <remarks>Nilson</remarks> Private Function pb(ByVal fc As Single, ByVal fy As Single) As Single Return Alfa(fc) * fc / fy * 6000 / (6000 + fy) End Function 'Ecuacion 6.11 (pagina 88) Private Function pnet_Max(ByVal fc As Single, ByVal fy As Single) As Single Return 0.75 * pb(fc, fy) End Function 'Ecuacion 7.6 (pag 108) Private Function pnet_Min(ByVal fc As Single, ByVal fy As Single, ByVal d_Comp As Single, ByVal d_Tens As Single) As Single pnet_Min = Alfa(fc) * fc / fy * 6000 * d_Comp / ((6000 - fy) * d_Tens) End Function 'Funcion que halla la cuantia de la sección Private Function pnet_Calc(ByVal As_Comp As Single, ByVal As_tens As Single, ByVal b As Single, ByVal d As Single) As Single Return (As_tens - As_Comp) / (b * d) End Function Public Sub Revisar_Viga() 'Procedimiento que ejecuta la revision de la viga Dim C_neut As Single Dim a As Single Dim Momento As Single 'Ton*metro
  • 5. Cuantia_Min = pnet_Min(fc_, fy_, d_Comp, d_Tens) Cuantia_Max = pnet_Max(fc_, fy_) Cuantia_Calc = pnet_Calc(As_Comp, As_Tens, Base, d_Tens) Cuantia_Bal = pb(fc_, fy_) If Cuantia_Calc >= Cuantia_Min And Cuantia_Calc < Cuantia_Bal Then fs_Comp = fy_ fs_Tens = fy_ a = (As_Tens * fs_Tens - As_Comp * fs_Comp) / (0.85 * fc_ * Base) + As_Comp / Base C_neut = a / 0.85 'Momento exacto Momento = Momento_Exacto(a) Mu = Momento / 100000 ElseIf Cuantia_Calc < Cuantia_Min And Cuantia_Calc < Cuantia_Bal Then 'Sub reforzada pero el acero a compresion no fluye, entonces debe calcularse su esfuerzo fs_Tens = fy_ C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 * fc_ * As_Comp + As_Tens * fs_Tens - 6000 * As_Comp), -6000 * As_Comp * d_Comp) a = C_neut * 0.85 fs_Comp = 6000 * (C_neut - d_Comp) / C_neut 'Momento exacto Momento = Momento_Exacto(a) Mu = Momento / 100000 ElseIf Cuantia_Calc >= Cuantia_Min And Cuantia_Calc > Cuantia_Bal Then fs_Comp = fy_ C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 * fc_ * As_Comp - As_Comp * fs_Comp - As_Tens * 6000), -As_Tens * 6000 * d_Tens) a = C_neut * 0.85 fs_Tens = 6000 * (d_Tens - C_neut) / C_neut 'Momento exacto Momento = Momento_Exacto(a) Mu = Momento / 100000 ElseIf Cuantia_Calc < Cuantia_Min And Cuantia_Calc > Cuantia_Bal Then 'Acero a compresion no fluye: f's = 6000*(c-d')/c ===> por no cumplir limite minimo 'Viga sobre reforzada, Acero a tension no fluye: fs = 6000*(d-c)/c C_neut = Cuadratica(0.85 ^ 2 * fc_ * Base, -(0.85 * fc_ * As_Comp - As_Comp * 6000 - As_Tens * 6000), -(As_Comp * 6000 * d_Comp + As_Tens * 6000 * d_Tens)) a = C_neut * 0.85 fs_Comp = 6000 * (C_neut - d_Comp) / C_neut fs_Tens = 6000 * (d_Tens - C_neut) / C_neut 'Momento exacto Momento = Momento_Exacto(a) Mu = Momento / 100000
  • 6. Else MsgBox(quot;Falta programarquot;) End If End Sub Private Function Momento_Exacto(ByVal a As Single) As Single 'Momento exacto Momento_Exacto = Fi_ * 0.85 * fc_ * Base * a * (d_Tens - a / 2) - Fi_ * As_Comp * 0.85 * fc_ * (d_Tens - d_Comp) + Fi_ * As_Comp * fs_Comp * (d_Tens - d_Comp) End Function Public Sub Guardar_Datos() 'Guardando en el bloc de notas Call EscribirDatoMATRIZ(1, 1, Me.Fi_, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(2, 1, Me.Base, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(3, 1, Me.d_Tens, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(4, 1, Me.d_Comp, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(5, 1, Me.As_Tens, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(6, 1, Me.As_Comp, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(7, 1, Me.fc_, Dir_Bloc_Notas) Call EscribirDatoMATRIZ(8, 1, Me.fy_, Dir_Bloc_Notas) End Sub Public Sub Cargar_Datos(ByVal Text_Fi As TextBox, ByVal Text_Base As TextBox, _ ByVal Text_d_Tens As TextBox, ByVal Text_d_Comp As TextBox _ , ByVal Text_As_Tens As TextBox, ByVal Text_As_Comp As TextBox _ , ByVal Text_fc As TextBox, ByVal Text_fy As TextBox) 'cargando los datos desde el bloc de notas Try With Me .Fi_ = LeerDatoMATRIZ(1, 1, Dir_Bloc_Notas) Text_Fi.Text = .Fi_ .Base = LeerDatoMATRIZ(2, 1, Dir_Bloc_Notas) Text_Base.Text = .Base .d_Tens = LeerDatoMATRIZ(3, 1, Dir_Bloc_Notas) Text_d_Tens.Text = .d_Tens .d_Comp = LeerDatoMATRIZ(4, 1, Dir_Bloc_Notas) Text_d_Comp.Text = .d_Comp .As_Tens = LeerDatoMATRIZ(5, 1, Dir_Bloc_Notas) Text_As_Tens.Text = .As_Tens .As_Comp = LeerDatoMATRIZ(6, 1, Dir_Bloc_Notas) Text_As_Comp.Text = .As_Comp .fc_ = LeerDatoMATRIZ(7, 1, Dir_Bloc_Notas) Text_fc.Text = .fc_ .fy_ = LeerDatoMATRIZ(8, 1, Dir_Bloc_Notas) Text_fy.Text = .fy_ End With
  • 7. Catch MsgBox(quot;No se cargaron los datosquot;) End Try End Sub Function Cuadratica(ByVal A_ As Single, ByVal B_ As Single, ByVal C_ As Single, Optional ByVal Positivo As Boolean = True) As Single 'funcion que devuelve la raiz de la ecuación. 'Ecuación de la forma: AX^2 + BX + C = 0 If Positivo = True Then Cuadratica = (-B_ + Sqrt(B_ ^ 2 - 4 * A_ * C_)) / (2 * A_) Else Cuadratica = (-B_ - Sqrt(B_ ^ 2 - 4 * A_ * C_)) / (2 * A_) End If End Function End Class