SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

театр сша
театр сшатеатр сша
театр сшаDevigan
 
Strategic Career Planning
Strategic Career PlanningStrategic Career Planning
Strategic Career PlanningJean Baker
 
офисные здания
офисные зданияофисные здания
офисные зданияDevigan
 
Fantastic trip رحلة في الكون
Fantastic trip رحلة في الكونFantastic trip رحلة في الكون
Fantastic trip رحلة في الكونmohmmad.alsharif
 
Dv In The Workplace Slideshare
Dv In The Workplace   SlideshareDv In The Workplace   Slideshare
Dv In The Workplace SlideshareJean Baker
 
Signos RT Presentation
Signos RT PresentationSignos RT Presentation
Signos RT PresentationSerinth
 
Presentation Topic.Music
Presentation Topic.MusicPresentation Topic.Music
Presentation Topic.MusicInder.Chahota
 

Andere mochten auch (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
 

Ähnlich wie Vigas

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 capasNelson Salinas
 
Visual Basic
Visual  BasicVisual  Basic
Visual BasicBenedeti
 
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 NotasDaniel Barraza
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++LenHugo
 
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++Marco Jiménez
 
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 cecastelocc
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)xavazque2
 
Capítulo 4 funciones matemáticas
Capítulo 4  funciones matemáticasCapítulo 4  funciones matemáticas
Capítulo 4 funciones matemáticasJulio Ayala Rolón
 

Ähnlich wie 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++
 

Mehr von 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
 

Kürzlich hochgeladen

plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 

Kürzlich hochgeladen (20)

plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 

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