FINITE ELEMENTS - 50G to Prime
|
06-05-2014, 11:06 AM
(This post was last modified: 06-05-2014 11:17 AM by VitorMT.)
Post: #1
|
|||
|
|||
FINITE ELEMENTS - 50G to Prime
Hi everyone
I´m having some issues transfering my 50G programs to Prime, and i need some help to understand better how to program in this case. It´s a program to help solving structures using Finite Elements method. On 50G the program works on CHDIR>INFO>ENTER, so i dont know how to make it work on a Prime App. Folder - FIN - With 2 files Assemb~1 and INFO Filecodes Assemb~1 « 1. 'N' STO [[ 0. ]] DO [[ 0. ]] 1. COL+ N 1. + 'N' STO UNTIL 'N==Œ+ß' END 1. 'N' STO DO DUP N 1. + 'N' STO UNTIL 'N==Œ+ß' END 1. 'N' STO DO 1. ROW+ N 1. + 'N' STO UNTIL 'N==Œ+ß' END 1. 'N' STO DO DUP N 1. + 'N' STO UNTIL 'N==ELEM' END CASE 'EL1==M OR EL1==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+1.' NUM GET 'Y' STO LM '0.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H GET PUT LM '1.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 1. + GET PUT LM '2.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 2. + GET PUT LM '3.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS1' STO END 'EL1==V OR EL1==P OR EL1==TT OR EL1==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+1.' NUM GET 'Y' STO LM '0.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H GET PUT LM '1.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 1. + GET PUT LM '2.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 2. + GET PUT LM '3.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 3. + GET PUT LM '4.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 4. + GET PUT LM '5.*ELEM+1.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR1 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS1' STO END END CASE 'EL2==M OR EL2==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+2.' NUM GET 'Y' STO LM '0.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H GET PUT LM '1.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 1. + GET PUT LM '2.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 2. + GET PUT LM '3.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS2' STO END 'EL2==V OR EL2==P OR EL2==TT OR EL2==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+2.' NUM GET 'Y' STO LM '0.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H GET PUT LM '1.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 1. + GET PUT LM '2.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 2. + GET PUT LM '3.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 3. + GET PUT LM '4.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 4. + GET PUT LM '5.*ELEM+2.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR2 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS2' STO END END CASE 'EL3==M OR EL3==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+3.' NUM GET 'Y' STO LM '0.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H GET PUT LM '1.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 1. + GET PUT LM '2.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 2. + GET PUT LM '3.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS3' STO END 'EL3==V OR EL3==P OR EL3==TT OR EL3==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+3.' NUM GET 'Y' STO LM '0.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H GET PUT LM '1.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 1. + GET PUT LM '2.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 2. + GET PUT LM '3.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 3. + GET PUT LM '4.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 4. + GET PUT LM '5.*ELEM+3.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR3 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS3' STO END END CASE 'EL4==M OR EL4==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+4.' NUM GET 'Y' STO LM '0.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H GET PUT LM '1.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 1. + GET PUT LM '2.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 2. + GET PUT LM '3.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS4' STO END 'EL4==V OR EL4==P OR EL4==TT OR EL4==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+4.' NUM GET 'Y' STO LM '0.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H GET PUT LM '1.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 1. + GET PUT LM '2.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 2. + GET PUT LM '3.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 3. + GET PUT LM '4.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 4. + GET PUT LM '5.*ELEM+4.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR4 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS4' STO END END CASE 'EL5==M OR EL5==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+5.' NUM GET 'Y' STO LM '0.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H GET PUT LM '1.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 1. + GET PUT LM '2.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 2. + GET PUT LM '3.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS5' STO END 'EL5==V OR EL5==P OR EL5==TT OR EL5==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+5.' NUM GET 'Y' STO LM '0.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H GET PUT LM '1.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 1. + GET PUT LM '2.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 2. + GET PUT LM '3.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 3. + GET PUT LM '4.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 4. + GET PUT LM '5.*ELEM+5.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR5 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS5' STO END END CASE 'EL6==M OR EL6==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+6.' NUM GET 'Y' STO LM '0.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H GET PUT LM '1.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 1. + GET PUT LM '2.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 2. + GET PUT LM '3.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS6' STO END 'EL6==V OR EL6==P OR EL6==TT OR EL6==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+6.' NUM GET 'Y' STO LM '0.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H GET PUT LM '1.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 1. + GET PUT LM '2.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 2. + GET PUT LM '3.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 3. + GET PUT LM '4.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 4. + GET PUT LM '5.*ELEM+6.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR6 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS6' STO END END CASE 'EL7==M OR EL7==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+7.' NUM GET 'Y' STO LM '0.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H GET PUT LM '1.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 1. + GET PUT LM '2.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 2. + GET PUT LM '3.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS7' STO END 'EL7==V OR EL7==P OR EL7==TT OR EL7==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+7.' NUM GET 'Y' STO LM '0.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H GET PUT LM '1.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 1. + GET PUT LM '2.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 2. + GET PUT LM '3.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 3. + GET PUT LM '4.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 4. + GET PUT LM '5.*ELEM+7.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR7 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS7' STO END END CASE 'EL8==M OR EL8==B' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+8.' NUM GET 'Y' STO LM '0.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H GET PUT LM '1.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 1. + GET PUT LM '2.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 2. + GET PUT LM '3.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 3. + GET PUT W 1. + 'W' STO H 4. + 'H' STO UNTIL 'W==4.' END 'W' PURGE 'H' PURGE 'ASS8' STO END 'EL8==V OR EL8==P OR EL8==TT OR EL8==TD' THEN 0. 'W' STO 1. 'H' STO DO LM 'W*ELEM+8.' NUM GET 'Y' STO LM '0.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H GET PUT LM '1.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 1. + GET PUT LM '2.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 2. + GET PUT LM '3.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 3. + GET PUT LM '4.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 4. + GET PUT LM '5.*ELEM+8.' NUM GET 'Z' STO '(Y-1.)*(Œ+ß)+Z' NUM MR8 H 5. + GET PUT W 1. + 'W' STO H 6. + 'H' STO UNTIL 'W==6.' END 'W' PURGE 'H' PURGE 'ASS8' STO END END CASE 'ELEM==1.' THEN ASS1 'ASS' STO END 'ELEM==2.' THEN 'ASS1+ASS2' NUM 'ASS' STO END 'ELEM==3.' THEN 'ASS1+ASS2+ASS3' NUM 'ASS' STO END 'ELEM==4.' THEN 'ASS1+ASS2+ASS3+ASS4' NUM 'ASS' STO END 'ELEM==5.' THEN 'ASS1+ASS2+ASS3+ASS4+ASS5' NUM 'ASS' STO END 'ELEM==6.' THEN 'ASS1+ASS2+ASS3+ASS4+ASS5+ASS6' NUM 'ASS' STO END 'ELEM==7.' THEN 'ASS1+ASS2+ASS3+ASS4+ASS5+ASS6+ASS7' NUM 'ASS' STO END 'ELEM==8.' THEN 'ASS1+ASS2+ASS3+ASS4+ASS5+ASS6+ASS7+ASS8' NUM 'ASS' STO END END 'Z' PURGE 'Y' PURGE Œ ß + 'N' STO ASS DO N COL- DROP N ROW- DROP N 1. - 'N' STO UNTIL 'N==Œ' END 'KŒŒ' STO ASS 1. 'N' STO DO 1. COL- DROP 1. ROW- DROP N 1. + 'N' STO UNTIL 'N==Œ+1.' END 'Kßß' STO Œ ß + 'N' STO 1. 'S' STO ASS DO N ROW- DROP N 1. - 'N' STO UNTIL 'N==Œ' END DO 1. COL- DROP S 1. + 'S' STO UNTIL 'S==Œ+1.' END 'KŒß' STO KŒß TRN 'Kߌ' STO 'N' PURGE 'S' PURGE » -------------------------------------------------------------------------------- INFO « "INF. INICIAIS" { "Œ:" "ß:" { "ELEM:" "NÚMERO DE ELEMENTOS " } { "E1:" "TIPO DO ELEM. 1 (M,B,V,P,TT,TD)" } { "E2:" "TIPO DO ELEM. 2 (M,B,V,P,TT,TD)" } { "E3:" "TIPO DO ELEM. 3 (M,B,V,P,TT,TD)" } { "E4:" "TIPO DO ELEM. 4 (M,B,V,P,TT,TD)" } { "E5:" "TIPO DO ELEM. 5 (M,B,V,P,TT,TD)" } { "E6:" "TIPO DO ELEM. 6 (M,B,V,P,TT,TD)" } { "E7:" "TIPO DO ELEM. 7 (M,B,V,P,TT,TD)" } { "E8:" "TIPO DO ELEM. 8 (M,B,V,P,TT,TD)" } } { 3. 0. } { } { 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. } INFORM IF THEN ELSE END OBJ DROP 'EL8' STO 'EL7' STO 'EL6' STO 'EL5' STO 'EL4' STO 'EL3' STO 'EL2' STO 'EL1' STO 'ELEM' STO 'ß' STO 'Œ' STO 1. 'M' STO 2. 'B' STO 3. 'V' STO 4. 'P' STO 5. 'TT' STO 6. 'TD' STO CASE 'EL1==M' THEN « "MOLA(1)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K1' STO 2. GET NUM '•1' STO 'COS(•1)' NUM 'M1' STO 'SIN(•1)' NUM 'N1' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M1^2.' NUM PUTI 'N1*M1' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N1^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K1 * » EVAL 'MR1' STO 'M1' PURGE 'N1' PURGE '•1' PURGE 'K1' PURGE END 'EL1==B' THEN « "BARRA(1)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E1' STO DUP 2. GET NUM 'A1' STO DUP 3. GET NUM 'L1' STO 4. GET NUM '•1' STO 'COS(•1)' NUM 'M1' STO 'SIN(•1)' NUM 'N1' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M1^2.' NUM PUTI 'N1*M1' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N1^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A1 E1 * L1 / * » EVAL 'MR1' STO 'N1' PURGE 'M1' PURGE '•1' PURGE 'E1' PURGE 'A1' PURGE 'L1' PURGE END 'EL1==V' THEN « "VIGA(1)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E1' STO DUP 2. GET NUM 'I1' STO DUP 3. GET NUM 'L1' STO 4. GET NUM '•1' STO '12.*E1*I1/L1^3.' NUM 'ø1' STO '6.*E1*I1/L1^2.' NUM '–1' STO '2.*E1*I1/L1' NUM '—1' STO 'COS(•1)' NUM 'M1' STO 'SIN(•1)' NUM 'N1' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø1*N1^2.' NUM PUTI '-ø1*M1*N1' NUM PUTI '-–1*N1' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø1*M1^2.' NUM PUTI '–1*M1' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—1' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—1' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR1' STO 'M1' PURGE 'N1' PURGE '•1' PURGE 'E1' PURGE 'I1' PURGE 'L1' PURGE END 'EL1==P' THEN « "PÓRTICO(1)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E1' STO DUP 2. GET NUM 'I1' STO DUP 3. GET NUM 'L1' STO DUP 4. GET NUM 'A1' STO 5. GET NUM '•1' STO '12.*E1*I1/L1^3.' NUM 'ø1' STO '6.*E1*I1/L1^2.' NUM '–1' STO '2.*E1*I1/L1' NUM '—1' STO 'A1*E1/L1' NUM 'ß1' STO 'SIN(•1)' NUM 'N1' STO 'COS(•1)' NUM 'M1' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø1*N1^2.+ß1*M1^2.' NUM PUTI '(ß1-ø1)*M1*N1' NUM PUTI '-–1*N1' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø1*M1^2.+ß1*N1^2.' NUM PUTI '–1*M1' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—1' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—1' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—1' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—1' NUM PUT » EVAL 'MR1' STO 'M1' PURGE 'N1' PURGE '•1' PURGE 'E1' PURGE 'I1' PURGE 'L1' PURGE 'A1' PURGE END 'EL1==TT OR EL1==TD' THEN « "TRIANGULO(1)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X11' STO DUP 2. GET NUM 'Y11' STO DUP 3. GET NUM 'X21' STO DUP 4. GET NUM 'Y21' STO DUP 5. GET NUM 'X31' STO DUP 6. GET NUM 'Y31' STO DUP 7. GET NUM 'E1' STO DUP 8. GET NUM 't1' STO 9. GET NUM 'v1' STO '(X11*Y21+Y11*X31+X21*Y31-Y21*X31-Y11*X21-X11*Y31)/2.' NUM 'A1' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y21-Y31' NUM PUT 3. 'Y31-Y11' NUM PUT 5. 'Y11-Y21' NUM PUT 8. 'X31-X21' NUM PUT 10. 'X11-X31' NUM PUT 12. 'X21-X11' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A1)' NUM * 'B1' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL1==TT' THEN 1. 1. PUT 2. 'v1' NUM PUT 4. 'v1' NUM PUT 5. 1. PUT 9. '(1.-v1)/2.' NUM PUT 'E1/(1.-v1^2.)' NUM * 'D1' STO END 'EL1==TD' THEN 1. '1.-v1' NUM PUT 2. 'v1' NUM PUT 4. 'v1' NUM PUT 5. '1.-v1' NUM PUT 9. '.5-v1' NUM PUT 'E1/((1.+v1)*(1.-2.*v1))' NUM * 'D1' STO END END B1 TRN D1 * B1 * t1 * A1 * » EVAL 'MR1' STO 'X11' PURGE 'Y11' PURGE 'X21' PURGE 'Y21' PURGE 'X31' PURGE 'Y31' PURGE 'E1' PURGE 't1' PURGE 'v1' PURGE END END CASE 'EL2==M' THEN « "MOLA(2)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K2' STO 2. GET NUM '•2' STO 'COS(•2)' NUM 'M2' STO 'SIN(•2)' NUM 'N2' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M2^2.' NUM PUTI 'N2*M2' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N2^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K2 * » EVAL 'MR2' STO 'M2' PURGE 'N2' PURGE '•2' PURGE 'K2' PURGE END 'EL2==B' THEN « "BARRA(2)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E2' STO DUP 2. GET NUM 'A2' STO DUP 3. GET NUM 'L2' STO 4. GET NUM '•2' STO 'COS(•2)' NUM 'M2' STO 'SIN(•2)' NUM 'N2' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M2^2.' NUM PUTI 'N2*M2' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N2^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A2 E2 * L2 / * » EVAL 'MR2' STO 'N2' PURGE 'M2' PURGE '•2' PURGE 'E2' PURGE 'A2' PURGE 'L2' PURGE END 'EL2==V' THEN « "VIGA(2)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E2' STO DUP 2. GET NUM 'I2' STO DUP 3. GET NUM 'L2' STO 4. GET NUM '•2' STO '12.*E2*I2/L2^3.' NUM 'ø2' STO '6.*E2*I2/L2^2.' NUM '–2' STO '2.*E2*I2/L2' NUM '—2' STO 'COS(•2)' NUM 'M2' STO 'SIN(•2)' NUM 'N2' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø2*N2^2.' NUM PUTI '-ø2*M2*N2' NUM PUTI '-–2*N2' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø2*M2^2.' NUM PUTI '–2*M2' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—2' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—2' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR2' STO 'M2' PURGE 'N2' PURGE '•2' PURGE 'E2' PURGE 'I2' PURGE 'L2' PURGE END 'EL2==P' THEN « "PÓRTICO(2)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E2' STO DUP 2. GET NUM 'I2' STO DUP 3. GET NUM 'L2' STO DUP 4. GET NUM 'A2' STO 5. GET NUM '•2' STO '12.*E2*I2/L2^3.' NUM 'ø2' STO '6.*E2*I2/L2^2.' NUM '–2' STO '2.*E2*I2/L2' NUM '—2' STO 'A2*E2/L2' NUM 'ß2' STO 'SIN(•2)' NUM 'N2' STO 'COS(•2)' NUM 'M2' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø2*N2^2.+ß2*M2^2.' NUM PUTI '(ß2-ø2)*M2*N2' NUM PUTI '-–2*N2' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø2*M2^2.+ß2*N2^2.' NUM PUTI '–2*M2' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—2' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—2' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—2' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—2' NUM PUT » EVAL 'MR2' STO 'M2' PURGE 'N2' PURGE '•2' PURGE 'E2' PURGE 'I2' PURGE 'L2' PURGE 'A2' PURGE END 'EL2==TT OR EL2==TD' THEN « "TRIANGULO(2)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X12' STO DUP 2. GET NUM 'Y12' STO DUP 3. GET NUM 'X22' STO DUP 4. GET NUM 'Y22' STO DUP 5. GET NUM 'X32' STO DUP 6. GET NUM 'Y32' STO DUP 7. GET NUM 'E2' STO DUP 8. GET NUM 't2' STO 9. GET NUM 'v2' STO '(X12*Y22+Y12*X32+X22*Y32-Y22*X32-Y12*X22-X12*Y32)/2.' NUM 'A2' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y22-Y32' NUM PUT 3. 'Y32-Y12' NUM PUT 5. 'Y12-Y22' NUM PUT 8. 'X32-X22' NUM PUT 10. 'X12-X32' NUM PUT 12. 'X22-X12' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A2)' NUM * 'B2' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL2==TT' THEN 1. 1. PUT 2. 'v2' NUM PUT 4. 'v2' NUM PUT 5. 1. PUT 9. '(1.-v2)/2.' NUM PUT 'E2/(1.-v2^2.)' NUM * 'D2' STO END 'EL2==TD' THEN 1. '1.-v2' NUM PUT 2. 'v2' NUM PUT 4. 'v2' NUM PUT 5. '1.-v2' NUM PUT 9. '.5-v2' NUM PUT 'E2/((1.+v2)*(1.-2.*v2))' NUM * 'D2' STO END END B2 TRN D2 * B2 * t2 * A2 * » EVAL 'MR2' STO 'X12' PURGE 'Y12' PURGE 'X22' PURGE 'Y22' PURGE 'X32' PURGE 'Y32' PURGE 'E2' PURGE 't2' PURGE 'v2' PURGE END END CASE 'EL3==M' THEN « "MOLA(3)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K3' STO 2. GET NUM '•3' STO 'COS(•3)' NUM 'M3' STO 'SIN(•3)' NUM 'N3' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M3^2.' NUM PUTI 'N3*M3' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N3^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K3 * » EVAL 'MR3' STO 'M3' PURGE 'N3' PURGE '•3' PURGE 'K3' PURGE END 'EL3==B' THEN « "BARRA(3)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E3' STO DUP 2. GET NUM 'A3' STO DUP 3. GET NUM 'L3' STO 4. GET NUM '•3' STO 'COS(•3)' NUM 'M3' STO 'SIN(•3)' NUM 'N3' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M3^2.' NUM PUTI 'N3*M3' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N3^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A3 E3 * L3 / * » EVAL 'MR3' STO 'N3' PURGE 'M3' PURGE '•3' PURGE 'E3' PURGE 'A3' PURGE 'L3' PURGE END 'EL3==V' THEN « "VIGA(3)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E3' STO DUP 2. GET NUM 'I3' STO DUP 3. GET NUM 'L3' STO 4. GET NUM '•3' STO '12.*E3*I3/L3^3.' NUM 'ø3' STO '6.*E3*I3/L3^2.' NUM '–3' STO '2.*E3*I3/L3' NUM '—3' STO 'COS(•3)' NUM 'M3' STO 'SIN(•3)' NUM 'N3' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø3*N3^2.' NUM PUTI '-ø3*M3*N3' NUM PUTI '-–3*N3' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø3*M3^2.' NUM PUTI '–3*M3' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—3' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—3' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR3' STO 'M3' PURGE 'N3' PURGE '•3' PURGE 'E3' PURGE 'I3' PURGE 'L3' PURGE END 'EL3==P' THEN « "PÓRTICO(3)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E3' STO DUP 2. GET NUM 'I3' STO DUP 3. GET NUM 'L3' STO DUP 4. GET NUM 'A3' STO 5. GET NUM '•3' STO '12.*E3*I3/L3^3.' NUM 'ø3' STO '6.*E3*I3/L3^2.' NUM '–3' STO '2.*E3*I3/L3' NUM '—3' STO 'A3*E3/L3' NUM 'ß3' STO 'SIN(•3)' NUM 'N3' STO 'COS(•3)' NUM 'M3' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø3*N3^2.+ß3*M3^2.' NUM PUTI '(ß3-ø3)*M3*N3' NUM PUTI '-–3*N3' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø3*M3^2.+ß3*N3^2.' NUM PUTI '–3*M3' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—3' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—3' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—3' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—3' NUM PUT » EVAL 'MR3' STO 'M3' PURGE 'N3' PURGE '•3' PURGE 'E3' PURGE 'I3' PURGE 'L3' PURGE 'A3' PURGE END 'EL3==TT OR EL3==TD' THEN « "TRIANGULO(3)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X13' STO DUP 2. GET NUM 'Y13' STO DUP 3. GET NUM 'X23' STO DUP 4. GET NUM 'Y23' STO DUP 5. GET NUM 'X33' STO DUP 6. GET NUM 'Y33' STO DUP 7. GET NUM 'E3' STO DUP 8. GET NUM 't3' STO 9. GET NUM 'v3' STO '(X13*Y23+Y13*X33+X23*Y33-Y23*X33-Y13*X23-X13*Y33)/2.' NUM 'A3' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y23-Y33' NUM PUT 3. 'Y33-Y13' NUM PUT 5. 'Y13-Y23' NUM PUT 8. 'X33-X23' NUM PUT 10. 'X13-X33' NUM PUT 12. 'X23-X13' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A3)' NUM * 'B3' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL3==TT' THEN 1. 1. PUT 2. 'v3' NUM PUT 4. 'v3' NUM PUT 5. 1. PUT 9. '(1.-v3)/2.' NUM PUT 'E3/(1.-v3^2.)' NUM * 'D3' STO END 'EL3==TD' THEN 1. '1.-v3' NUM PUT 2. 'v3' NUM PUT 4. 'v3' NUM PUT 5. '1.-v3' NUM PUT 9. '.5-v3' NUM PUT 'E3/((1.+v3)*(1.-2.*v3))' NUM * 'D3' STO END END B3 TRN D3 * B3 * t3 * A3 * » EVAL 'MR3' STO 'X13' PURGE 'Y13' PURGE 'X23' PURGE 'Y23' PURGE 'X33' PURGE 'Y33' PURGE 'E3' PURGE 't3' PURGE 'v3' PURGE END END CASE 'EL4==M' THEN « "MOLA(4)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K4' STO 2. GET NUM '•4' STO 'COS(•4)' NUM 'M4' STO 'SIN(•4)' NUM 'N4' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M4^2.' NUM PUTI 'N4*M4' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N4^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K4 * » EVAL 'MR4' STO 'M4' PURGE 'N4' PURGE '•4' PURGE 'K4' PURGE END 'EL4==B' THEN « "BARRA(4)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E4' STO DUP 2. GET NUM 'A4' STO DUP 3. GET NUM 'L4' STO 4. GET NUM '•4' STO 'COS(•4)' NUM 'M4' STO 'SIN(•4)' NUM 'N4' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M4^2.' NUM PUTI 'N4*M4' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N4^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A4 E4 * L4 / * » EVAL 'MR4' STO 'N4' PURGE 'M4' PURGE '•4' PURGE 'E4' PURGE 'A4' PURGE 'L4' PURGE END 'EL4==V' THEN « "VIGA(4)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E4' STO DUP 2. GET NUM 'I4' STO DUP 3. GET NUM 'L4' STO 4. GET NUM '•4' STO '12.*E4*I4/L4^3.' NUM 'ø4' STO '6.*E4*I4/L4^2.' NUM '–4' STO '2.*E4*I4/L4' NUM '—4' STO 'COS(•4)' NUM 'M4' STO 'SIN(•4)' NUM 'N4' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø4*N4^2.' NUM PUTI '-ø4*M4*N4' NUM PUTI '-–4*N4' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø4*M4^2.' NUM PUTI '–4*M4' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—4' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—4' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR4' STO 'M4' PURGE 'N4' PURGE '•4' PURGE 'E4' PURGE 'I4' PURGE 'L4' PURGE END 'EL4==P' THEN « "PÓRTICO(4)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E4' STO DUP 2. GET NUM 'I4' STO DUP 3. GET NUM 'L4' STO DUP 4. GET NUM 'A4' STO 5. GET NUM '•4' STO '12.*E4*I4/L4^3.' NUM 'ø4' STO '6.*E4*I4/L4^2.' NUM '–4' STO '2.*E4*I4/L4' NUM '—4' STO 'A4*E4/L4' NUM 'ß4' STO 'SIN(•4)' NUM 'N4' STO 'COS(•4)' NUM 'M4' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø4*N4^2.+ß4*M4^2.' NUM PUTI '(ß4-ø4)*M4*N4' NUM PUTI '-–4*N4' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø4*M4^2.+ß4*N4^2.' NUM PUTI '–4*M4' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—4' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—4' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—4' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—4' NUM PUT » EVAL 'MR4' STO 'M4' PURGE 'N4' PURGE '•4' PURGE 'E4' PURGE 'I4' PURGE 'L4' PURGE 'A4' PURGE END 'EL4==TT OR EL4==TD' THEN « "TRIANGULO(4)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X14' STO DUP 2. GET NUM 'Y14' STO DUP 3. GET NUM 'X24' STO DUP 4. GET NUM 'Y24' STO DUP 5. GET NUM 'X34' STO DUP 6. GET NUM 'Y34' STO DUP 7. GET NUM 'E4' STO DUP 8. GET NUM 't4' STO 9. GET NUM 'v4' STO '(X14*Y24+Y14*X34+X24*Y34-Y24*X34-Y14*X24-X14*Y34)/2.' NUM 'A4' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y24-Y34' NUM PUT 3. 'Y34-Y14' NUM PUT 5. 'Y14-Y24' NUM PUT 8. 'X34-X24' NUM PUT 10. 'X14-X34' NUM PUT 12. 'X24-X14' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A4)' NUM * 'B4' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL4==TT' THEN 1. 1. PUT 2. 'v4' NUM PUT 4. 'v4' NUM PUT 5. 1. PUT 9. '(1.-v4)/2.' NUM PUT 'E4/(1.-v4^2.)' NUM * 'D4' STO END 'EL4==TD' THEN 1. '1.-v4' NUM PUT 2. 'v4' NUM PUT 4. 'v4' NUM PUT 5. '1.-v4' NUM PUT 9. '.5-v4' NUM PUT 'E4/((1.+v4)*(1.-2.*v4))' NUM * 'D4' STO END END B4 TRN D4 * B4 * t4 * A4 * » EVAL 'MR4' STO 'X14' PURGE 'Y14' PURGE 'X24' PURGE 'Y24' PURGE 'X34' PURGE 'Y34' PURGE 'E4' PURGE 't4' PURGE 'v4' PURGE END END CASE 'EL5==M' THEN « "MOLA(5)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K5' STO 2. GET NUM '•5' STO 'COS(•5)' NUM 'M5' STO 'SIN(•5)' NUM 'N5' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M5^2.' NUM PUTI 'N5*M5' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N5^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K5 * » EVAL 'MR5' STO 'M5' PURGE 'N5' PURGE '•5' PURGE 'K5' PURGE END 'EL5==B' THEN « "BARRA(5)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E5' STO DUP 2. GET NUM 'A5' STO DUP 3. GET NUM 'L5' STO 4. GET NUM '•5' STO 'COS(•5)' NUM 'M5' STO 'SIN(•5)' NUM 'N5' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M5^2.' NUM PUTI 'N5*M5' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N5^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A5 E5 * L5 / * » EVAL 'MR5' STO 'N5' PURGE 'M5' PURGE '•5' PURGE 'E5' PURGE 'A5' PURGE 'L5' PURGE END 'EL5==V' THEN « "VIGA(5)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E5' STO DUP 2. GET NUM 'I5' STO DUP 3. GET NUM 'L5' STO 4. GET NUM '•5' STO '12.*E5*I5/L5^3.' NUM 'ø5' STO '6.*E5*I5/L5^2.' NUM '–5' STO '2.*E5*I5/L5' NUM '—5' STO 'COS(•5)' NUM 'M5' STO 'SIN(•5)' NUM 'N5' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø5*N5^2.' NUM PUTI '-ø5*M5*N5' NUM PUTI '-–5*N5' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø5*M5^2.' NUM PUTI '–5*M5' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—5' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—5' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR5' STO 'M5' PURGE 'N5' PURGE '•5' PURGE 'E5' PURGE 'I5' PURGE 'L5' PURGE END 'EL5==P' THEN « "PÓRTICO(5)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E5' STO DUP 2. GET NUM 'I5' STO DUP 3. GET NUM 'L5' STO DUP 4. GET NUM 'A5' STO 5. GET NUM '•5' STO '12.*E5*I5/L5^3.' NUM 'ø5' STO '6.*E5*I5/L5^2.' NUM '–5' STO '2.*E5*I5/L5' NUM '—5' STO 'A5*E5/L5' NUM 'ß5' STO 'SIN(•5)' NUM 'N5' STO 'COS(•5)' NUM 'M5' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø5*N5^2.+ß5*M5^2.' NUM PUTI '(ß5-ø5)*M5*N5' NUM PUTI '-–5*N5' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø5*M5^2.+ß5*N5^2.' NUM PUTI '–5*M5' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—5' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—5' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—5' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—5' NUM PUT » EVAL 'MR5' STO 'M5' PURGE 'N5' PURGE '•5' PURGE 'E5' PURGE 'I5' PURGE 'L5' PURGE 'A5' PURGE END 'EL5==TT OR EL5==TD' THEN « "TRIANGULO(5)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X15' STO DUP 2. GET NUM 'Y15' STO DUP 3. GET NUM 'X25' STO DUP 4. GET NUM 'Y25' STO DUP 5. GET NUM 'X35' STO DUP 6. GET NUM 'Y35' STO DUP 7. GET NUM 'E5' STO DUP 8. GET NUM 't5' STO 9. GET NUM 'v5' STO '(X15*Y25+Y15*X35+X25*Y35-Y25*X35-Y15*X25-X15*Y35)/2.' NUM 'A5' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y25-Y35' NUM PUT 3. 'Y35-Y15' NUM PUT 5. 'Y15-Y25' NUM PUT 8. 'X35-X25' NUM PUT 10. 'X15-X35' NUM PUT 12. 'X25-X15' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A5)' NUM * 'B5' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL5==TT' THEN 1. 1. PUT 2. 'v5' NUM PUT 4. 'v5' NUM PUT 5. 1. PUT 9. '(1.-v5)/2.' NUM PUT 'E5/(1.-v5^2.)' NUM * 'D5' STO END 'EL5==TD' THEN 1. '1.-v5' NUM PUT 2. 'v5' NUM PUT 4. 'v5' NUM PUT 5. '1.-v5' NUM PUT 9. '.5-v5' NUM PUT 'E5/((1.+v5)*(1.-2.*v5))' NUM * 'D5' STO END END B5 TRN D5 * B5 * t5 * A5 * » EVAL 'MR5' STO 'X15' PURGE 'Y15' PURGE 'X25' PURGE 'Y25' PURGE 'X35' PURGE 'Y35' PURGE 'E5' PURGE 't5' PURGE 'v5' PURGE END END CASE 'EL6==M' THEN « "MOLA(6)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K6' STO 2. GET NUM '•6' STO 'COS(•6)' NUM 'M6' STO 'SIN(•6)' NUM 'N6' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M6^2.' NUM PUTI 'N6*M6' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N6^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K6 * » EVAL 'MR6' STO 'M6' PURGE 'N6' PURGE '•6' PURGE 'K6' PURGE END 'EL6==B' THEN « "BARRA(6)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E6' STO DUP 2. GET NUM 'A6' STO DUP 3. GET NUM 'L6' STO 4. GET NUM '•6' STO 'COS(•6)' NUM 'M6' STO 'SIN(•6)' NUM 'N6' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M6^2.' NUM PUTI 'N6*M6' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N6^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A6 E6 * L6 / * » EVAL 'MR6' STO 'N6' PURGE 'M6' PURGE '•6' PURGE 'E6' PURGE 'A6' PURGE 'L6' PURGE END 'EL6==V' THEN « "VIGA(6)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E6' STO DUP 2. GET NUM 'I6' STO DUP 3. GET NUM 'L6' STO 4. GET NUM '•6' STO '12.*E6*I6/L6^3.' NUM 'ø6' STO '6.*E6*I6/L6^2.' NUM '–6' STO '2.*E6*I6/L6' NUM '—6' STO 'COS(•6)' NUM 'M6' STO 'SIN(•6)' NUM 'N6' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø6*N6^2.' NUM PUTI '-ø6*M6*N6' NUM PUTI '-–6*N6' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø6*M6^2.' NUM PUTI '–6*M6' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—6' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—6' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR6' STO 'M6' PURGE 'N6' PURGE '•6' PURGE 'E6' PURGE 'I6' PURGE 'L6' PURGE END 'EL6==P' THEN « "PÓRTICO(6)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E6' STO DUP 2. GET NUM 'I6' STO DUP 3. GET NUM 'L6' STO DUP 4. GET NUM 'A6' STO 5. GET NUM '•6' STO '12.*E6*I6/L6^3.' NUM 'ø6' STO '6.*E6*I6/L6^2.' NUM '–6' STO '2.*E6*I6/L6' NUM '—6' STO 'A6*E6/L6' NUM 'ß6' STO 'SIN(•6)' NUM 'N6' STO 'COS(•6)' NUM 'M6' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø6*N6^2.+ß6*M6^2.' NUM PUTI '(ß6-ø6)*M6*N6' NUM PUTI '-–6*N6' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø6*M6^2.+ß6*N6^2.' NUM PUTI '–6*M6' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—6' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—6' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—6' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—6' NUM PUT » EVAL 'MR6' STO 'M6' PURGE 'N6' PURGE '•6' PURGE 'E6' PURGE 'I6' PURGE 'L6' PURGE 'A6' PURGE END 'EL6==TT OR EL6==TD' THEN « "TRIANGULO(6)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X16' STO DUP 2. GET NUM 'Y16' STO DUP 3. GET NUM 'X26' STO DUP 4. GET NUM 'Y26' STO DUP 5. GET NUM 'X36' STO DUP 6. GET NUM 'Y36' STO DUP 7. GET NUM 'E6' STO DUP 8. GET NUM 't6' STO 9. GET NUM 'v6' STO '(X16*Y26+Y16*X36+X26*Y36-Y26*X36-Y16*X26-X16*Y36)/2.' NUM 'A6' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y26-Y36' NUM PUT 3. 'Y36-Y16' NUM PUT 5. 'Y16-Y26' NUM PUT 8. 'X36-X26' NUM PUT 10. 'X16-X36' NUM PUT 12. 'X26-X16' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A6)' NUM * 'B6' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL6==TT' THEN 1. 1. PUT 2. 'v6' NUM PUT 4. 'v6' NUM PUT 5. 1. PUT 9. '(1.-v6)/2.' NUM PUT 'E6/(1.-v6^2.)' NUM * 'D6' STO END 'EL6==TD' THEN 1. '1.-v6' NUM PUT 2. 'v6' NUM PUT 4. 'v6' NUM PUT 5. '1.-v6' NUM PUT 9. '.5-v6' NUM PUT 'E6/((1.+v6)*(1.-2.*v6))' NUM * 'D6' STO END END B6 TRN D6 * B6 * t6 * A6 * » EVAL 'MR6' STO 'X16' PURGE 'Y16' PURGE 'X26' PURGE 'Y26' PURGE 'X36' PURGE 'Y36' PURGE 'E6' PURGE 't6' PURGE 'v6' PURGE END END CASE 'EL7==M' THEN « "MOLA(7)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K7' STO 2. GET NUM '•7' STO 'COS(•7)' NUM 'M7' STO 'SIN(•7)' NUM 'N7' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M7^2.' NUM PUTI 'N7*M7' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N7^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K7 * » EVAL 'MR7' STO 'M7' PURGE 'N7' PURGE '•7' PURGE 'K7' PURGE END 'EL7==B' THEN « "BARRA(7)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E7' STO DUP 2. GET NUM 'A7' STO DUP 3. GET NUM 'L7' STO 4. GET NUM '•7' STO 'COS(•7)' NUM 'M7' STO 'SIN(•7)' NUM 'N7' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M7^2.' NUM PUTI 'N7*M7' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N7^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A7 E7 * L7 / * » EVAL 'MR7' STO 'N7' PURGE 'M7' PURGE '•7' PURGE 'E7' PURGE 'A7' PURGE 'L7' PURGE END 'EL7==V' THEN « "VIGA(7)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E7' STO DUP 2. GET NUM 'I7' STO DUP 3. GET NUM 'L7' STO 4. GET NUM '•7' STO '12.*E7*I7/L7^3.' NUM 'ø7' STO '6.*E7*I7/L7^2.' NUM '–7' STO '2.*E7*I7/L7' NUM '—7' STO 'COS(•7)' NUM 'M7' STO 'SIN(•7)' NUM 'N7' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø7*N7^2.' NUM PUTI '-ø7*M7*N7' NUM PUTI '-–7*N7' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø7*M7^2.' NUM PUTI '–7*M7' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—7' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—7' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR7' STO 'M7' PURGE 'N7' PURGE '•7' PURGE 'E7' PURGE 'I7' PURGE 'L7' PURGE END 'EL7==P' THEN « "PÓRTICO(7)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E7' STO DUP 2. GET NUM 'I7' STO DUP 3. GET NUM 'L7' STO DUP 4. GET NUM 'A7' STO 5. GET NUM '•7' STO '12.*E7*I7/L7^3.' NUM 'ø7' STO '6.*E7*I7/L7^2.' NUM '–7' STO '2.*E7*I7/L7' NUM '—7' STO 'A7*E7/L7' NUM 'ß7' STO 'SIN(•7)' NUM 'N7' STO 'COS(•7)' NUM 'M7' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø7*N7^2.+ß7*M7^2.' NUM PUTI '(ß7-ø7)*M7*N7' NUM PUTI '-–7*N7' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø7*M7^2.+ß7*N7^2.' NUM PUTI '–7*M7' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—7' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—7' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—7' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—7' NUM PUT » EVAL 'MR7' STO 'M7' PURGE 'N7' PURGE '•7' PURGE 'E7' PURGE 'I7' PURGE 'L7' PURGE 'A7' PURGE END 'EL7==TT OR EL7==TD' THEN « "TRIANGULO(7)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X17' STO DUP 2. GET NUM 'Y17' STO DUP 3. GET NUM 'X27' STO DUP 4. GET NUM 'Y27' STO DUP 5. GET NUM 'X37' STO DUP 6. GET NUM 'Y37' STO DUP 7. GET NUM 'E7' STO DUP 8. GET NUM 't7' STO 9. GET NUM 'v7' STO '(X17*Y27+Y17*X37+X27*Y37-Y27*X37-Y17*X27-X17*Y37)/2.' NUM 'A7' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y27-Y37' NUM PUT 3. 'Y37-Y17' NUM PUT 5. 'Y17-Y27' NUM PUT 8. 'X37-X27' NUM PUT 10. 'X17-X37' NUM PUT 12. 'X27-X17' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A7)' NUM * 'B7' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL7==TT' THEN 1. 1. PUT 2. 'v7' NUM PUT 4. 'v7' NUM PUT 5. 1. PUT 9. '(1.-v7)/2.' NUM PUT 'E7/(1.-v7^2.)' NUM * 'D7' STO END 'EL7==TD' THEN 1. '1.-v7' NUM PUT 2. 'v7' NUM PUT 4. 'v7' NUM PUT 5. '1.-v7' NUM PUT 9. '.5-v7' NUM PUT 'E7/((1.+v7)*(1.-2.*v7))' NUM * 'D7' STO END END B7 TRN D7 * B7 * t7 * A7 * » EVAL 'MR7' STO 'X17' PURGE 'Y17' PURGE 'X27' PURGE 'Y27' PURGE 'X37' PURGE 'Y37' PURGE 'E7' PURGE 't7' PURGE 'v7' PURGE END END CASE 'EL8==M' THEN « "MOLA(8)" { "K:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'K8' STO 2. GET NUM '•8' STO 'COS(•8)' NUM 'M8' STO 'SIN(•8)' NUM 'N8' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M8^2.' NUM PUTI 'N8*M8' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N8^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT K8 * » EVAL 'MR8' STO 'M8' PURGE 'N8' PURGE '•8' PURGE 'K8' PURGE END 'EL8==B' THEN « "BARRA(8)" { "E:" "A:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E8' STO DUP 2. GET NUM 'A8' STO DUP 3. GET NUM 'L8' STO 4. GET NUM '•8' STO 'COS(•8)' NUM 'M8' STO 'SIN(•8)' NUM 'N8' STO [[ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ] [ 0. 0. 0. 0. ]] 1. 'M8^2.' NUM PUTI 'N8*M8' NUM PUT DUP 1. GET NEG 3. SWAP PUT DUP 2. GET NEG 4. SWAP PUT DUP 2. GET 5. SWAP PUTI 'N8^2.' NUM PUT DUP 5. GET NEG 7. SWAP PUT DUP 6. GET NEG 8. SWAP PUT DUP 3. GET 9. SWAP PUT DUP 4. GET 10. SWAP PUT DUP 1. GET 11. SWAP PUT DUP 2. GET 12. SWAP PUT DUP 7. GET 13. SWAP PUT DUP 8. GET 14. SWAP PUT DUP 5. GET 15. SWAP PUT DUP 6. GET 16. SWAP PUT A8 E8 * L8 / * » EVAL 'MR8' STO 'N8' PURGE 'M8' PURGE '•8' PURGE 'E8' PURGE 'A8' PURGE 'L8' PURGE END 'EL8==V' THEN « "VIGA(8)" { "E:" "I:" "L:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E8' STO DUP 2. GET NUM 'I8' STO DUP 3. GET NUM 'L8' STO 4. GET NUM '•8' STO '12.*E8*I8/L8^3.' NUM 'ø8' STO '6.*E8*I8/L8^2.' NUM '–8' STO '2.*E8*I8/L8' NUM '—8' STO 'COS(•8)' NUM 'M8' STO 'SIN(•8)' NUM 'N8' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø8*N8^2.' NUM PUTI '-ø8*M8*N8' NUM PUTI '-–8*N8' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø8*M8^2.' NUM PUTI '–8*M8' NUM PUT DUP 7. GET NEG 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—8' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 9. GET NEG 17. SWAP PUTI '—8' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 16. GET 24. SWAP PUT DUP 20. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 7. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 13. GET 31. SWAP PUT DUP 14. GET 32. SWAP PUT DUP 18. GET 33. SWAP PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUT DUP 15. GET 36. SWAP PUT » EVAL 'MR8' STO 'M8' PURGE 'N8' PURGE '•8' PURGE 'E8' PURGE 'I8' PURGE 'L8' PURGE END 'EL8==P' THEN « "PÓRTICO(8)" { "E:" "I:" "L:" "A:" "•:" } { 2. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'E8' STO DUP 2. GET NUM 'I8' STO DUP 3. GET NUM 'L8' STO DUP 4. GET NUM 'A8' STO 5. GET NUM '•8' STO '12.*E8*I8/L8^3.' NUM 'ø8' STO '6.*E8*I8/L8^2.' NUM '–8' STO '2.*E8*I8/L8' NUM '—8' STO 'A8*E8/L8' NUM 'ß8' STO 'SIN(•8)' NUM 'N8' STO 'COS(•8)' NUM 'M8' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'ø8*N8^2.+ß8*M8^2.' NUM PUTI '(ß8-ø8)*M8*N8' NUM PUTI '-–8*N8' NUM PUT DUP 1. GET NEG 4. SWAP PUT DUP 2. GET NEG 5. SWAP PUT DUP 3. GET 6. SWAP PUT DUP 2. GET 7. SWAP PUTI 'ø8*M8^2.+ß8*N8^2.' NUM PUTI '–8*M8' NUM PUT DUP 5. GET 10. SWAP PUT DUP 8. GET NEG 11. SWAP PUT DUP 9. GET 12. SWAP PUT DUP 3. GET 13. SWAP PUT DUP 9. GET 14. SWAP PUTI '2.*—8' NUM PUT DUP 3. GET NEG 16. SWAP PUT DUP 14. GET NEG 17. SWAP PUTI '—8' NUM PUT DUP 4. GET 19. SWAP PUT DUP 5. GET 20. SWAP PUT DUP 16. GET 21. SWAP PUT DUP 1. GET 22. SWAP PUT DUP 2. GET 23. SWAP PUT DUP 21. GET 24. SWAP PUT DUP 5. GET 25. SWAP PUT DUP 11. GET 26. SWAP PUT DUP 17. GET 27. SWAP PUT DUP 2. GET 28. SWAP PUT DUP 8. GET 29. SWAP PUT DUP 27. GET 30. SWAP PUT DUP 3. GET 31. SWAP PUT DUP 9. GET 32. SWAP PUTI '—8' NUM PUT DUP 16. GET 34. SWAP PUT DUP 17. GET 35. SWAP PUTI '2.*—8' NUM PUT » EVAL 'MR8' STO 'M8' PURGE 'N8' PURGE '•8' PURGE 'E8' PURGE 'I8' PURGE 'L8' PURGE 'A8' PURGE END 'EL8==TT OR EL8==TD' THEN « "TRIANGULO(8)" { "X1:" "Y1:" "X2:" "Y2:" "X3:" "Y3:" "E:" "t:" "v:" } { 3. 0. } { } { } INFORM IF THEN ELSE END DUP 1. GET NUM 'X18' STO DUP 2. GET NUM 'Y18' STO DUP 3. GET NUM 'X28' STO DUP 4. GET NUM 'Y28' STO DUP 5. GET NUM 'X38' STO DUP 6. GET NUM 'Y38' STO DUP 7. GET NUM 'E8' STO DUP 8. GET NUM 't8' STO 9. GET NUM 'v8' STO '(X18*Y28+Y18*X38+X28*Y38-Y28*X38-Y18*X28-X18*Y38)/2.' NUM 'A8' STO [[ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. 0. ]] 1. 'Y28-Y38' NUM PUT 3. 'Y38-Y18' NUM PUT 5. 'Y18-Y28' NUM PUT 8. 'X38-X28' NUM PUT 10. 'X18-X38' NUM PUT 12. 'X28-X18' NUM PUT DUP 1. GET 14. SWAP PUT DUP 3. GET 16. SWAP PUT DUP 5. GET 18. SWAP PUT DUP 8. GET 13. SWAP PUT DUP 10. GET 15. SWAP PUT DUP 12. GET 17. SWAP PUT '1./(2.*A8)' NUM * 'B8' STO [[ 0. 0. 0. ] [ 0. 0. 0. ] [ 0. 0. 0. ]] CASE 'EL8==TT' THEN 1. 1. PUT 2. 'v8' NUM PUT 4. 'v8' NUM PUT 5. 1. PUT 9. '(1.-v8)/2.' NUM PUT 'E8/(1.-v8^2.)' NUM * 'D8' STO END 'EL8==TD' THEN 1. '1.-v8' NUM PUT 2. 'v8' NUM PUT 4. 'v8' NUM PUT 5. '1.-v8' NUM PUT 9. '.5-v8' NUM PUT 'E8/((1.+v8)*(1.-2.*v8))' NUM * 'D8' STO END END B8 TRN D8 * B8 * t8 * A8 * » EVAL 'MR8' STO 'X18' PURGE 'Y18' PURGE 'X28' PURGE 'Y28' PURGE 'X38' PURGE 'Y38' PURGE 'E8' PURGE 't8' PURGE 'v8' PURGE END END » I´m new to "prime",have just bought it. So i really appreciate any help to make the code work. Thank you! Ps.Sorry about the bad english, not my primary language. |
|||
06-05-2014, 12:02 PM
Post: #2
|
|||
|
|||
RE: FINITE ELEMENTS - 50G to Prime
The Prime can't run RPL so code from the 50g cannot be made to work on the Prime without a complete rewrite. Since the Prime isn't a stack machine you wouldn't even want to convert the code, because how you take advantage of the RPL VM on a 50g doesn't make any sense on the Prime. You need to completely rewrite the code.
It ain't OVER 'till it's 2 PICK |
|||
06-05-2014, 05:46 PM
Post: #3
|
|||
|
|||
RE: FINITE ELEMENTS - 50G to Prime
Ty for the quick response HP67, well, I can´t understand why HP didn´t do a conversion path for these files, I hope there's a good reason, but it is very frustrating to realize that they do not make their systems compatible between each other, or an easiest way to make the transition, a lot of people depends on these old programs and just want to use a better calc(no offenses to HP50G, i love it, but the prime touch screen is perfect to work with matrix systems). I will learn more about my HPprime and try to create a new code.
And ty again for the response. Cheers. |
|||
06-05-2014, 06:00 PM
Post: #4
|
|||
|
|||
RE: FINITE ELEMENTS - 50G to Prime
The Prime isn't a 50g successor, it is said that is a successor of the 'defunct' 39gII.
RPL was nice as hacky lang but prime language is nice and fast. Related with your issue, you will have to find an alternative way, maybe a popup menu or drawing custom buttons for your app. My website: ried.cl |
|||
06-05-2014, 06:01 PM
Post: #5
|
|||
|
|||
RE: FINITE ELEMENTS - 50G to Prime
(06-05-2014 05:46 PM)VitorMT Wrote: Ty for the quick response HP67, well, I can´t understand why HP didn´t do a conversion path for these files, I hope there's a good reason, but it is very frustrating to realize that they do not make their systems compatible between each other, or an easiest way to make the transition, a lot of people depends on these old programs and just want to use a better calc(no offenses to HP50G, i love it, but the prime touch screen is perfect to work with matrix systems). As you must know, RPL is an ingenious and very powerful system but it's more than most people can tolerate when it comes to writing code when people seem too lazy and resistant to even give RPN a serious look. With RAM so cheap nowadays it's going to be hard to justify to continue spending money on new RPL devices. Many of us fear the 50g will be the last one and have bought a few to keep around. You found the right place because several of the Prime developers participate in this forum. I'm sure they, along with some of the power users, can answer any questions you have on how to get the most out of your Prime. So, welcome to the forums. It ain't OVER 'till it's 2 PICK |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)