Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL DIAGRAMA DE FLUJO – ANÁLISIS DE VIGAS T

Views 77 Downloads 0 File size 246KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL

DIAGRAMA DE FLUJO – ANÁLISIS DE VIGAS T

INICIO

Ingreso de variables: float b, bw, h, hf, fc, fy, CantAceroN, DiamAcero, DiamEstribo, NumCapas, d, p, pmin1, pmin2, pmin, pmax, a, Mu CString Mensaje5, Mensaje6, Mensaje3, Mensaje7, Mensaje8, Mensaje4 float beta, As, Asf, As1

ANALISIS DE VIGAS T V2015.1 -b - bw

- CantAceroN - DiamAcero

-h

- DiamEstribo

- hf

- NumCapas

- fc

d = h * 100 - (4 + DiamEstribo + (DiamAcero * NumCapas + 2.54*(NumCapas - 1)) / 2)

Muestra el valor de “d”

beta = 0.85 - (0.05 * (fc - 280) / 70)

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL

n o

beta < 0.65

n o

beta > 0.85

si

si

beta = 0.65

beta = 0.65

Se obtiene el valor de “beta”

As = CantAceroN * pow(DiamAcero, 2) * 3.141592653589793238 / 4

p = As / (b * 100 * d)

Se muestra el valor de “p”

pmin1 = 0.8 * sqrt(fc) / fy pmin2 = 14 / fy;

Se muestran los valores de “pmin1” y “pmin2”

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL verdadera

falsa

pmin1 < pmin2

pmin = pmin2

pmin = pmin1

Se muestra el valor de “pmin”

Asf = (0.85*fc*(b * 100 - bw * 100)* hf * 100) / fy

pmax = 0.75*(bw / b)*((0.85*beta*(fc / fy)*(6000 / (6000 + fy))) + (Asf / (bw * 100 * d)))

verdadera

pmin < p

falsa




CONFORME

NO CONFORME

verdadera

>

CONFORME

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

pmax > p

falsa


hf

seccion T

seccion rectangular

Mu = 0.9*(CantAceroN * pow(DiamAcero, 2) * 3.141592653589793238 / 4)*fy*pow(10.0, -3)*(d*pow(10.0, -2) a*pow(10.0, -2) / 2)

As1 = As - Asf

V

Mu = (0.9*As1*fy*1e-3*(d*pow(10.0, -2) a*pow(10.0, -2) / 2)) + 0.9*Asf*fy*pow(10.0, -3)*(d*pow(10.0, -2) - hf / 2)

Muestra el valor de “Mu”

Muestra el valor de “Mu”

FIN

CODIGO DEL PROGRAMA – ANÁLISIS DE VIGAS T

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL // VIGAS T ANALISIS 2015.1Dlg.cpp : implementation file // #include #include #include #include #include

"stdafx.h" "VIGAS T ANALISIS 2015.1.h" "VIGAS T ANALISIS 2015.1Dlg.h" "math.h" "afxdialogex.h"

#ifdef _DEBUG #define new DEBUG_NEW #endif // CAboutDlg dialog used for App About class CAboutDlg : public CDialogEx { public: CAboutDlg(); // Dialog Data enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX);

// DDX/DDV support

// Implementation protected: };

DECLARE_MESSAGE_MAP()

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()

// CVIGASTANALISIS20151Dlg dialog CVIGASTANALISIS20151Dlg::CVIGASTANALISIS20151Dlg(CWnd* pParent /*=NULL*/) : CDialogEx(CVIGASTANALISIS20151Dlg::IDD, pParent) , b(0)

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL

{ }

, , , , , , , , , , , , , , , , , , , , , , ,

bw(0) h(0) hf(0) fc(0) fy(0) CantAceroN(0) DiamAcero(0) DiamEstribo(0) NumCapas(0) d(0) p(0) pmin1(0) pmin2(0) pmin(0) pmax(0) a(0) Mu(0) Mensaje5(_T("")) Mensaje6(_T("")) Mensaje3(_T("")) Mensaje7(_T("")) Mensaje8(_T("")) Mensaje4(_T(""))

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

void CVIGASTANALISIS20151Dlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_b, b); DDX_Text(pDX, IDC_bw, bw); DDX_Text(pDX, IDC_h, h); DDX_Text(pDX, IDC_hf, hf); DDX_Text(pDX, IDC_fc, fc); DDX_Text(pDX, IDC_fy, fy); DDX_Text(pDX, IDC_DiamAcero, DiamAcero); DDX_Text(pDX, IDC_DiamEstribo, DiamEstribo); DDX_Text(pDX, IDC_NumCapas, NumCapas); DDX_Text(pDX, IDC_d, d); DDX_Text(pDX, IDC_p, p); DDX_Text(pDX, IDC_pmin1, pmin1); DDX_Text(pDX, IDC_pmin2, pmin2); DDX_Text(pDX, IDC_pmin, pmin); DDX_Text(pDX, IDC_pmax, pmax); DDX_Text(pDX, IDC_a, a); DDX_Text(pDX, IDC_Mu, Mu); DDX_Text(pDX, IDC_Mensaje5, Mensaje5); DDX_Text(pDX, IDC_Mensaje6, Mensaje6); DDX_Text(pDX, IDC_Mensaje3, Mensaje3); DDX_Text(pDX, IDC_CantAceroN, CantAceroN); DDX_Text(pDX, IDC_Mensaje7, Mensaje7); DDX_Text(pDX, IDC_Mensaje8, Mensaje8); }

DDX_Text(pDX, IDC_Mensaje4, Mensaje4);

BEGIN_MESSAGE_MAP(CVIGASTANALISIS20151Dlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT()

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CVIGASTANALISIS20151Dlg::OnBnClickedButton1) END_MESSAGE_MAP() // CVIGASTANALISIS20151Dlg message handlers BOOL CVIGASTANALISIS20151Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } void CVIGASTANALISIS20151Dlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CVIGASTANALISIS20151Dlg::OnPaint()

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL {

if (IsIconic()) { CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { }

CDialogEx::OnPaint();

}

// The system calls this function to obtain the cursor to display while the user drags // the minimized window. HCURSOR CVIGASTANALISIS20151Dlg::OnQueryDragIcon() { return static_cast(m_hIcon); }

void CVIGASTANALISIS20151Dlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here UpdateData(true); float beta, As, Asf, As1; d = h * 100 - (4 + DiamEstribo + (DiamAcero * NumCapas + 2.54*(NumCapas - 1)) / 2);

beta = 0.85 - (0.05 * (fc - 280) / 70); if (beta < 0.65) { beta = 0.65; } if (beta > 0.85) { beta = 0.85; } As = CantAceroN * pow(DiamAcero, 2) * 3.141592653589793238 / 4; p = As / (b * 100 * d); pmin1 = 0.8 * sqrt(fc) / fy; pmin2 = 14 / fy; if (pmin1 < pmin2) {

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL } else {

pmin = pmin2;

pmin = pmin1; } Asf = (0.85*fc*(b * 100 - bw * 100)* hf * 100) / fy; pmax = 0.75*(bw / b)*((0.85*beta*(fc / fy)*(6000 / (6000 + fy))) + (Asf / (bw * 100 * d))); if (pmin < p) { Mensaje7 = ""; Mensaje3 = " NO CONFORME";

} if (pmax > p) { Mensaje8 Mensaje4 } else { Mensaje8 Mensaje4 }

= ">"; = "CONFORME";

= " hf "; Mensaje6 = "seccion T"; As1 = As - Asf; Mu = (0.9*As1*fy*1e-3*(d*pow(10.0, -2) - a*pow(10.0, -2) / 2)) + 0.9*Asf*fy*pow(10.0, -3)*(d*pow(10.0, -2) - hf / 2); } }

UpdateData(false);

VENTANA DEL PROGRAMA: ANALISIS DE VIGAS T PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL

INGRESO DE DATOS Y DATOS DE SALIDA: ANÁLISIS DE UNA SECCIÓN RECTANGULAR

PROGRAMACION DIGITAL APLICADA HERNAN FARIAS FEIJÓO

ING. JUAN