%%HP: T(1)A(D)F(.);
DIR
  DADOS
     AUX CLLCD
"DADOS" { "VIGAT"
"RETANGULAR " }  P
       P 1 CHOOSE
DROP P SWAP POS 
TES
        
          CASE 'TES
==1'
            THEN
READVIGAT
            END '
TES==2'
            THEN
RETAG
            END
          END
        
      
    
  VRETA
     STD AUX CAk
      IF 'kkl'
      THEN .85 fck
* 1.4 / 10 * b * d
* fyk 1.15 / 100 *
/ 1 1 2 k * -  - *
3 RND 'As1' STO 0
'As2' STO As1 'As'
STO k 'k' STO
"Inexiste" 'd' STO
CLLCD MOSTRA2
"No h ARMADURA DUPLA"
"As = As: " As +
" cm" +
      ELSE
" k > kl 

ENTRE COM d "
"" INPUT 'd' STO
d STR d / 'd\d'
STO CAs1 CAs2 +
'As' STO kl 'k'
STO MOSTRA2 "As:"
As + "cm" +
"As: " As1 + "cm"
+ "  " + "As: "
As2 + "cm      " +
+ SWAP
      END SAI UPDIR
'PPAR' PURGE
    
  VIGT
     STD AUX bw
'b' STO CAk k bf
bw / 1 - hf d / * 1
hf 2 d * / - * - 3
RND 'k' STO
      IF 'k<0'
      THEN bf 'b'
STO "k: " k +
"
A LINHA NEUTRA CORTA A MESA RECALCULE COMO VIGA RETANGULAR
"
+ CLLCD MSGBOX
      ELSE "k: " k
+ CLLCD 3 DISP 3
FREEZE
      END UPDIR
    
  LM
     AUX 'M' STO
UPDIR
    
  AUX
    DIR
      PPAR {
(-6.5,-3.1)
(6.5,3.2) X 0 (0,0)
FUNCTION Y }
      LEACO
         {
"CA50-A" "CA50-B"
"CA60-A" "CA60-B"
"CA40-A" "CA40-B" }
AUX  LISTA
          
"TIPO DE AO" LISTA
1 CLLCD CHOOSE SWAP
'ACO' STO  TESTE
            
              IF '
TESTE==1'
              THEN
LISTA ACO POS  OPC

  CASE 'OPC==1'
    THEN OP1
    END 'OPC==2'
    THEN OP2
    END 'OPC==3'
    THEN OP3
    END 'OPC==4'
    THEN OP4
    END 'OPC==5'
    THEN OP5
    END 'OPC==6'
    THEN OP6
    END
  END

              END
UPDIR
            
          
        
      RETAG
         LEACO
AUX READ2 UPDIR
        
      READVIGAT
         LEACO
AUX
"DADOS P/ VIGAT" {
"fck:" "bf: "
"bw: " "hf: "
"d:  " "Mmax" } { 2
3 } { } { } INFORM
DROP OBJ DROP 'M'
STO 'd' STO 'hf'
STO 'bw' STO bw 'b'
STO 'bf' STO 'fck'
STO UPDIR
        
      hf NOVAL
      bf NOVAL
      bw NOVAL
      d\d
.111111111111
      d "Inexiste"
      k .266
      As 5.029
      As2 0
      As1 5.029
      k .266
      fyk 50
      kl .376
      fck 15
      b 20
      d 38
      M 5000
      ACO "CA50-A"
      SAI
         ERASE 0
48
          FOR C 1
GROB PICT SWAP 0 C
2 LIST RB SWAP
GOR 8
          STEP { }
PVIEW
        
      MOSTRA2
         "Mmax:" M
+ "kgf.m" + "AO:"
ACO + " " + "fck:"
fck + "MPa" + +
"b:" b + "cm" +
" d:" d + "cm" + +
" " + "d:" d + d
"Inexiste"   op
          
            IF 'op
==1'
            THEN
"cm" +
            END
           +
"kl:0" kl + " k:0"
k + + "k:0" k +
        
      READ2
         AUX
"DADOS" {
"fck (MPa):  "
"base (cm):  "
"d (cm):     "
"Mmax (kgfm)" } {
1 4 } { } { }
INFORM DROP OBJ
DROP 'M' STO 'd'
STO 'b' STO 'fck'
STO
        
      WRIT
        
"ARMADURA DUPLA
As: "
As + "cm " +
"As: " As1 +
"cm " + + "As: "
As2 + "cm " + +
        
      OP6
         .315 'kl'
STO 40 'fyk' STO
        
      OP5
         .396 'kl'
STO 40 'fyk' STO
        
      OP4
         .289 'kl'
STO 60 'fyk' STO
        
      OP3
         .358 'kl'
STO 60 'fyk' STO
        
      OP2
         .301 'kl'
STO 50 'fyk' STO
        
      OP1
         .376 'kl'
STO 50 'fyk' STO
        
      CAk
         1.4 M *
100 * .85 fck * 10
* 1.4 / / b / d SQ
/ 3 RND 'k' STO
        
      CAs2
         fck .85 *
1.4 / 10 * b * d *
fyk 100 * 1.15 / /
k kl - 1 d\d - / *
2 RND 'As2' STO As2
        
      CAs1
         fck .85 *
1.4 / 10 * b * d *
fyk 100 * 1.15 / /
1 1 2 kl * -  - *
2 RND 'As1' STO As1
        
    END
END
