- Loop Problems
- 12 Sep 2006 03:08:01 pm
- Last edited by b-flat on 12 Sep 2006 03:16:14 pm; edited 1 time in total
This is the code for my mathprogram (I didn't intend to release the code, but I am having problems )
The part that needs work is not quite half way through the code.
Also, program math1 is just a subprogram that repeats until left, right, enter, 2ND, or clear is pressed.
Code:
Code:
Code:
I know this is long, but I can't find where it is messing up. If I take out the part inside the **s, then the program runs correctly and allows me to move between pages. However, when that part is put in, it does not run correctly and generates ERR:SYNTAX at the last end statement. I am having a similar problem with one of my games (the loading screen).
I hope someone knows what is wrong, because I sure don't.
The part that needs work is not quite half way through the code.
Also, program math1 is just a subprogram that repeats until left, right, enter, 2ND, or clear is pressed.
Code:
:SetUpEditor∟MATH
:2→dim(∟MATH
:ClrHome
:AxesOff
:FnOff
:PlotsOff
:ZStandard
:Disp "Math Program"," v2.1","","Penguin Studios","","Main Programmer:"," Bryce Taylor
:Output(8,4,"(C) 6-17-2006
:Pause
:ClrHome
:DelVar θ
:2→dim(∟MATH
:1+∟MATH(1→∟MATH(1
:∟MATH(2→Z
:If not(Z
:1→Z
:While θ≠45
:¦ ClrHome
:¦ Disp "Math Program 2.1
:¦ Output(8,1,"[CLEAR] to Exit
:¦ If Z=1
:¦ Then
:¦ ¦ Output(2,2,"Prime Factor Test Prime
:¦ ¦ Output(4,2,"Radical Simp
:¦ ¦ Output(5,2,"Euclid's
:¦ ¦ Output(6,2,"LCM
:¦ ¦ Output(7,2,"Geometric Mean
:¦ ¦ prgmMATH1
:¦ ¦ If (X=5 or X=6) and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Input "1st?",A
:¦ ¦ ¦ Input "2nd?",B
:¦ ¦ ¦ AB→D
:¦ ¦ ¦ Repeat A=B or not(fPart(A/B
:¦ ¦ ¦ ¦ If A<B
:¦ ¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ ¦ A→C
:¦ ¦ ¦ ¦ ¦ B→A
:¦ ¦ ¦ ¦ ¦ C→B
:¦ ¦ ¦ ¦ End
:¦ ¦ ¦ ¦ A-BiPart(A/B→A
:¦ ¦ ¦ End
:¦ ¦ ¦ If not(fPart(A/B
:¦ ¦ ¦ B→A
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ If X=5
:¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ Output(1,1,"GCD:
:¦ ¦ ¦ ¦ Else
:¦ ¦ ¦ ¦ D/A→A
:¦ ¦ ¦ ¦ Output(1,1,"LCM:
:¦ ¦ ¦ End
:¦ ¦ ¦ Output(1,5,A
:¦ ¦ ¦ Pause
:¦ ¦ End
:¦ ¦ If (X=4 or X=7)(θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ Unarchive∟PRIME
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ If X=7
:¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ Input "1st?",A
:¦ ¦ ¦ ¦ Input "2nd?",B
:¦ ¦ ¦ ¦ AB→A
:¦ ¦ ¦ ¦ Else
:¦ ¦ ¦ ¦ Input "RADICAND?",A
:¦ ¦ ¦ End
:¦ ¦ ¦ 1→C
:¦ ¦ ¦ 1→Y
:¦ ¦ ¦ Repeat A=1 or A<∟PRIME(Y)2
:¦ ¦ ¦ ¦ If not(fPart(A/∟PRIME(Y)2
:¦ ¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ ¦ A/∟PRIME(Y)2→A
:¦ ¦ ¦ ¦ ¦ C∟PRIME(Y→C
:¦ ¦ ¦ ¦ ¦ Else
:¦ ¦ ¦ ¦ ¦ Y+1→Y
:¦ ¦ ¦ ¦ End
:¦ ¦ ¦ End
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Output(1,1,C
:¦ ¦ ¦ If A>1
:¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ Output(1,8,"√(
:¦ ¦ ¦ ¦ Output(1,9,A
:¦ ¦ ¦ End
:¦ ¦ ¦ Pause
:¦ ¦ ¦ Archive∟PRIME
:¦ ¦ End
:¦ ¦ If X=3 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Unarchive∟PRIME
:¦ ¦ ¦ Input "NUMBER?",A
:¦ ¦ ¦ 1→Y
:¦ ¦ ¦ Repeat A<∟PRIME(Y)2 or not(fPart(A/∟PRIME(Y
:¦ ¦ ¦ ¦ 1+Y→Y
:¦ ¦ ¦ End
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ If not(fPart(A/∟PRIME(Y)2
:¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ Output(1,1,"NOT PRIME
:¦ ¦ ¦ ¦ Else
:¦ ¦ ¦ ¦ Output(1,1,"PRIME
:¦ ¦ ¦ End
:¦ ¦ ¦ Pause
:¦ ¦ ¦ Archive∟PRIME
:¦ ¦ End
:¦ ¦ If X=2 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Unarchive∟PRIME
:¦ ¦ ¦ Input "Number? ",A
:¦ ¦ ¦ ∟MATH(1→V
:¦ ¦ ¦ ∟MATH(2→U
:¦ ¦ ¦ ClrList∟MATH
:¦ ¦ ¦ A→B
:¦ ¦ ¦ 1→Y
:¦ ¦ ¦ 1→W
:¦ ¦ ¦ Repeat A=1 or A<∟PRIME(Y)2
:¦ ¦ ¦ ¦ If not(fPart(A/∟PRIME(Y
:¦ ¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ ¦ ∟PRIME(Y→∟MATH(W
:¦ ¦ ¦ ¦ ¦ A/∟PRIME(Y→A
:¦ ¦ ¦ ¦ ¦ 1+W→W
:¦ ¦ ¦ ¦ ¦ Y-1→Y
:¦ ¦ ¦ ¦ ¦ 1+dim(∟MATH→dim(∟MATH
:¦ ¦ ¦ ¦ End
:¦ ¦ ¦ ¦ Y+1→Y
:¦ ¦ ¦ End
:¦ ¦ ¦ If A<∟PRIME(Y)2
:¦ ¦ ¦ A→∟MATH(W
:¦ ¦ ¦ Pause ∟MATH
:¦ ¦ ¦ Archive∟PRIME
:¦ ¦ ¦ ClrList∟MATH
:¦ ¦ ¦ 2→dim(∟MATH
:¦ ¦ ¦ V→∟MATH(1
:¦ ¦ ¦ U→∟MATH(2
:¦ ¦ End
:¦ End
:¦ If Z=2
:¦ Then
:¦ ¦ Output(2,2,"Average
:¦ ¦ Output(3,2,"Information
:¦ ¦ Output(4,2,"Roman Numeral Clock
:¦ ¦ Output(6,2,"Area
:¦ ¦ prgmMATH1
Code:
:¦ ¦ If X=6 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ Input " Coordinates?",A
:¦ ¦ ¦ A+1→dim(∟X
:¦ ¦ ¦ A+1→dim(∟Y
:¦ ¦ ¦ For(I,1,A
:¦ ¦ ¦ ¦ Prompt X,Y
:¦ ¦ ¦ ¦ X→∟X(I
:¦ ¦ ¦ ¦ Y→∟Y(I
:¦ ¦ ¦ End
:¦ ¦ ¦ ∟X(1→∟X(A+1
:¦ ¦ ¦ ∟Y(1→∟Y(A+1
:¦ ¦ ¦ DelVar BFor(I,1,A
:¦ ¦ ¦ ¦ B+∟X(I)∟Y(I+1)-∟X(I+1)∟Y(I→B
:¦ ¦ ¦ End
:¦ ¦ ¦ Disp abs(B/2
:¦ ¦ ¦ Pause
:¦ ¦ End
Code:
:¦ ¦ If X=5 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Input "HOUR?",H
:¦ ¦ ¦ Input "MINUTE?",M
:¦ ¦ ¦ 90-30H-M/2→θ
:¦ ¦ ¦ ClrDraw
:¦ ¦ ¦ ZSquare
:¦ ¦ ¦ Degree
:¦ ¦ ¦ Circle(0,0,6
:¦ ¦ ¦ Line(0,0,3.5cos(θ),3.5sin(θ
:¦ ¦ ¦ 90-6M→θ
:¦ ¦ ¦ Line(0,0,5cos(θ),5sin(θ
:¦ ¦ ¦ Pt-On(0,0,2
:¦ ¦ ¦ Text(55,5,abs(30H-5.5M),"o
:¦ ¦ ¦ Pause
:¦ ¦ ¦ ZStandard
:¦ ¦ End
:¦ ¦ If X=3 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrDraw
:¦ ¦ ¦ Text(‾1,1,15,"Information
:¦ ¦ ¦ Line(‾10,7,10,7
:¦ ¦ ¦ Line(‾9,‾10,‾9,10
:¦ ¦ ¦ Line(9,‾10,9,10
:¦ ¦ ¦ Text(10,10,"USED ",∟MATH(1)," TIMES
:¦ ¦ ¦ getTime→L0.7em">1
:¦ ¦ ¦ →L0.7em">2
:¦ ¦ ¦ Text(17,10,L0.7em">1(1)," : ",L0.7em">1(2)," : ",L0.7em">1(3)," ",L0.7em">2(2),"-",L0.7em">2(3),"-",L0.7em">2(1
:¦ ¦ ¦ DelVar L0.7em">1
:¦ ¦ ¦ DelVar L0.7em">2
:¦ ¦ ¦ Pause
:¦ ¦ End
:¦ ¦ If X=4 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Input "ROMAN? ",Str1
:¦ ¦ ¦ Str1+" →Str1
:¦ ¦ ¦ DelVar V
:¦ ¦ ¦ For(I,1,length(Str1)-1
:¦ ¦ ¦ ¦ sub(Str1,I,1→Str2
:¦ ¦ ¦ ¦ If Str2="I
:¦ ¦ ¦ ¦ 1→Y
:¦ ¦ ¦ ¦ If Str2="V
:¦ ¦ ¦ ¦ 5→Y
:¦ ¦ ¦ ¦ If Str2="X
:¦ ¦ ¦ ¦ 10→Y
:¦ ¦ ¦ ¦ If Str2="L
:¦ ¦ ¦ ¦ 50→Y
:¦ ¦ ¦ ¦ If Str2="C
:¦ ¦ ¦ ¦ 100→Y
:¦ ¦ ¦ ¦ If Str2="D
:¦ ¦ ¦ ¦ 500→Y
:¦ ¦ ¦ ¦ If Str2="M
:¦ ¦ ¦ ¦ 1000→Y
:¦ ¦ ¦ ¦ sub(Str1,I+1,1→Str2
:¦ ¦ ¦ ¦ If Str2="I
:¦ ¦ ¦ ¦ 1→W
:¦ ¦ ¦ ¦ If Str2="V
:¦ ¦ ¦ ¦ 5→W
:¦ ¦ ¦ ¦ If Str2="X
:¦ ¦ ¦ ¦ 10→W
:¦ ¦ ¦ ¦ If Str2="L
:¦ ¦ ¦ ¦ 50→W
:¦ ¦ ¦ ¦ If Str2="C
:¦ ¦ ¦ ¦ 100→W
:¦ ¦ ¦ ¦ If Str2="D
:¦ ¦ ¦ ¦ 500→W
:¦ ¦ ¦ ¦ If Str2="M
:¦ ¦ ¦ ¦ 1000→W
:¦ ¦ ¦ ¦ If Y≥W
:¦ ¦ ¦ ¦ Y+V→V
:¦ ¦ ¦ ¦ If Y<W
:¦ ¦ ¦ ¦ V-Y→V
:¦ ¦ ¦ End
:¦ ¦ ¦ Disp V
:¦ ¦ ¦ Pause
:¦ ¦ End
:¦ ¦ If X=2 and (θ=21 or θ=105
:¦ ¦ Then
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ Disp "√(2)-1 TO STOP
:¦ ¦ ¦ DelVar B
:¦ ¦ ¦ DelVar C
:¦ ¦ ¦ DelVar D
:¦ ¦ ¦ While B≠√(2)-1
:¦ ¦ ¦ ¦ Input "NUMBER?",B
:¦ ¦ ¦ ¦ B+C→C
:¦ ¦ ¦ ¦ 1+D→D
:¦ ¦ ¦ End
:¦ ¦ ¦ D-1→D
:¦ ¦ ¦ C-√(2)+1→C
:¦ ¦ ¦ ClrHome
:¦ ¦ ¦ If not(fPart(C/D
:¦ ¦ ¦ Then
:¦ ¦ ¦ ¦ Output(1,1,C/D
:¦ ¦ ¦ ¦ Else
:¦ ¦ ¦ ¦ Input "PLACES?",A
:¦ ¦ ¦ ¦ round(C/D,A→B
:¦ ¦ ¦ ¦ ClrHome
:¦ ¦ ¦ ¦ Output(1,1,B
:¦ ¦ ¦ End
:¦ ¦ ¦ Pause
:¦ ¦ End
:¦ End
:¦ Z+(θ=26 and Z<2)-(θ=24 and Z>1→Z
:End
:ClrHome
:Disp "Thanks for","using!
:Z→∟MATH(2
:AxesOn
:FnOn
:ClrDraw
:DelVar ADelVar BDelVar CDelVar DDelVar EDelVar FDelVar GDelVar HDelVar IDelVar JDelVar KDelVar LDelVar MDelVar NDelVar ODelVar PDelVar QDelVar RDelVar SDelVar TDelVar UDelVar VDelVar WDelVar XDelVar YDelVar ZDelVar θDelVar Str1DelVar Str2Archive∟MATH
I know this is long, but I can't find where it is messing up. If I take out the part inside the **s, then the program runs correctly and allows me to move between pages. However, when that part is put in, it does not run correctly and generates ERR:SYNTAX at the last end statement. I am having a similar problem with one of my games (the loading screen).
I hope someone knows what is wrong, because I sure don't.