Diagrama de Flujo y Codigo

12
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ESCUELA PROFESIONAL DE INGENIERIA CIVIL DIAGRAMA DE FLUJO – ANÁLISIS DE VIGAS T PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO ANALISIS DE VIGAS T V2015.1 - b - CantAceroN - bw - DiamAcero - h - DiamEstribo - hf - NumCapas 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 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) INICIO

description

diagrama de flujo y codigo - método pseudo tridimensional

Transcript of Diagrama de Flujo y Codigo

Page 1: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

DIAGRAMA DE FLUJO – ANÁLISIS DE VIGAS T

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

ANALISIS DE VIGAS T V2015.1

- b - CantAceroN

- bw - DiamAcero

- h - DiamEstribo

- hf - NumCapas

- fc

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

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)

INICIO

Page 2: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

beta < 0.65

no

beta = 0.65

si

beta > 0.85

beta = 0.65

si

no

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”

Page 3: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

pmin1 < pmin2

verdadera falsa

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)))

<

pmin < p

CONFORME

>

NO CONFORME

>

pmax > p

<

verdadera falsa

verdadera falsa

Page 4: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

V

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

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)

a < hf

a < hf * 100

verdadera

seccion rectangula

r

Muestra el valor de “Mu”

falsa

As1 = As - Asf

a > hf

seccion T

Muestra el valor de “Mu”

FIN

CONFORME

NO CONFORME

a = (As*fy) / (0.85*fc*b * 100)

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)

Page 5: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

CODIGO DEL PROGRAMA – ANÁLISIS DE VIGAS T

// VIGAS T ANALISIS 2015.1Dlg.cpp : implementation file//

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

#ifdef _DEBUG#define new DEBUG_NEW#endif

// CAboutDlg dialog used for App About

class CAboutDlg : public CDialogEx{public:

CAboutDlg();

// Dialog Dataenum { IDD = IDD_ABOUTBOX };

protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

// Implementationprotected:

DECLARE_MESSAGE_MAP()};

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD){}

void CAboutDlg::DoDataExchange(CDataExchange* pDX){

CDialogEx::DoDataExchange(pDX);}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)

END_MESSAGE_MAP()

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

Page 6: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

// CVIGASTANALISIS20151Dlg dialog

CVIGASTANALISIS20151Dlg::CVIGASTANALISIS20151Dlg(CWnd* pParent /*=NULL*/): CDialogEx(CVIGASTANALISIS20151Dlg::IDD, pParent), b(0), 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);

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

Page 7: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

}

BEGIN_MESSAGE_MAP(CVIGASTANALISIS20151Dlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()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 dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(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);}

}

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

Page 8: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

// 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(){

if (IsIconic()){

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

// Center icon in client rectangleint 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 icondc.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<HCURSOR>(m_hIcon);}

void CVIGASTANALISIS20151Dlg::OnBnClickedButton1(){

// TODO: Add your control notification handler code hereUpdateData(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;

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

Page 9: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

p = As / (b * 100 * d);pmin1 = 0.8 * sqrt(fc) / fy;pmin2 = 14 / fy;if (pmin1 < pmin2){

pmin = pmin2;}else{

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 = "CONFORME";

}else{

Mensaje7 = ">";Mensaje3 = " NO CONFORME";

}if (pmax > p){

Mensaje8 = ">";Mensaje4 = "CONFORME";

}else{

Mensaje8 = "<";Mensaje4 = "NO CONFORME";

}

a = (As*fy) / (0.85*fc*b * 100);

if (a < hf * 100){

Mensaje5 = " a < hf ";Mensaje6 = "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);

}else{

Mensaje5 = " a > 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);}

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO

Page 10: Diagrama de Flujo y Codigo

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLOESCUELA PROFESIONAL DE INGENIERIA CIVIL

VENTANA DEL PROGRAMA: ANALISIS DE VIGAS T

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

PROGRAMACION DIGITAL APLICADA ING. JUAN HERNAN FARIAS FEIJÓO