¤ XBASIC%¤ ***** START MAIN PROGRAM *****! 120:¤ PROCEDURE GET CHOICE1(“ CHOICE~1 s  220:¤ PROCEDURE GET PRINCIPAL02“ CHOICE~2 s  360:¤ PROCEDURE GET INTEREST,<“ CHOICE~3 s  540:¤ PROCEDURE GET TERM1F“ CHOICE~4 s  680:¤ PROCEDURE GET REPAYMENT P‘ 30#Z¤ ***** END MAIN PROGRAM *****d¤n¤x¤!‚¤ ** PROCEDURE GET CHOICE **Œ„–˘ "1 - PRINCIPAL" ˘ "2 - INTEREST RATE"Ş˘ "3 - TERM"´˘ "4 - REPAYMENT"ž˘%Ȕ"ENTER UNKNOWN 1-4 ";CHOICEҨܤ$㤠** PROCEDURE GET PRINCIPAL **đ„(ú˘ q10)"CALCULATING PRINCIPAL":˘:˘:˘!”"INTEREST RATE ";I:I~Ix100/”"TERM IN YEARS, MONTHS ";Y,M:TERM~YtMx12$”"MONTHLY REPAYMENT ";R:R~Rw12" ŕ ‘ 330,P~Rx(It(Ix((1tI)vTERMu1))) 6° 6,2=@˘:˘:˘:˘"PRINCIPAL AMOUNT ";P:‘ 340:¤ SKIP ERROR MESSAGEJ˘:˘:˘"OUT OF RANGE":œ ŕ0T˘ @ 0,20,"PRESS ANY KEY TO CONTINUE";:A$~ä$^¨h¤#r¤ ** PROCEDURE GET INTEREST **|„+†˘ q8)"CALCULATING INTEREST RATE":˘:˘:˘”"PRINCIPAL ";P/š”"TERM IN YEARS, MONTHS ";Y,M:TERM~YtMx12$¤”"MONTHLY REPAYMENT ";R:R~Rw12 ŽTEMP~.1 ¸¤ LOOP ÂI~TEMP̝ ŕ ‘ 510 ÖTEMP~RxPu(Ix((1tI)vTERMu1)) ŕ“ Ä(TEMPuI)}.000001 s ‘ 440 ę° 2,3@ô˘:˘:˘:˘"INTEREST RATE ";(Iw100):‘ 520:¤ SKIP ERROR MESSAGEţ˘:˘:˘"OUT OF RANGE":œ ŕ0˘ @ 0,20,"PRESS ANY KEY TO CONTINUE";:A$~ä$¨¤&¤ ** PROCEDURE GET TERM **0„#:˘ q12)"CALCULATING TERM":˘:˘:˘D”"PRINCIPAL ";P!N”"INTEREST RATE ";I:I~Ix100$X”"MONTHLY REPAYMENT ";R:R~Rw12b ŕ ‘ 650&lTERM~Đ(PwIx(RuPwI)t1)xĐ(1tI)t1x24+vY~Î(TERM):M~Î((TERMuÎ(TERM))w12):° 2,0G€˘:˘:˘:˘"TERM IS "Y" YEARS, "M" MONTHS":‘ 660:¤ SKIP ERROR MESSAGEŠ˘:˘:˘"OUT OF RANGE":œ ŕ0”˘ @ 0,20,"PRESS ANY KEY TO CONTINUE";:A$~ä$ž¨¨¤$˛¤ ** PROCEDURE GET REPAYMENT **ź„/Ƣ q6)"CALCULATING MONTHLY REPAYMENT":˘:˘:˘Đ”"PRINCIPAL ";P!Ú”"INTEREST RATE ";I:I~Ix100.ä”"TERM IN YEARS,MONTHS ";Y,M:TERM~YtMx12î ŕ ‘ 790"řR~Pw(It(Ix((1tI)vTERMu1)))x12 ° 4,2@ ˘:˘:˘:˘"MONTHLY REPAYMENT IS "R:‘ 800:¤ SKIP ERROR MESSAGE˘:˘:˘"OUT OF RANGE":œ ŕ0 ˘ @ 0,20,"PRESS ANY KEY TO CONTINUE";:A$~ä$*¨ŔSSŔSSˆˆŢh˜”˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙