Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ClrHome
- Output(1,1,"/!/ATTENTION/!/
- Output(3,1,"AVANT UTILISATION
- Output(4,1,"MERCI DE LIRE
- Output(5,1,"LA DOCUMENTATION
- Pause
- ClrHome
- {0,0}->|LNQM
- {0,0}->|LNQA
- Lbl M
- 1->W
- ClrDraw:GridOff
- ~20->Xmin:20->Xmax
- ~20->Ymin:20->Ymax
- Menu("NYQUIST","SAISIR FACT",S,"TRACE LIEU",TL,"RESET",R
- Lbl R
- {0}->|LNQP
- {0,0}->|LNQA:{0,0}->|LNQM
- Goto M
- Lbl S
- |LNQP(1)+1->|LNQP(1
- Output(2,1,"XXXXXXXXXXXXXXXXX
- Output(3,1,"([i])INFO([i])
- Output(5,1,"FACTEUR Nplotsquare
- Output(6,5,|LNQP(1
- Output(7,1,"DE VOTRE FONCTION
- Input "?: ",Str1
- Str1->Str9
- If inString(Str1,"e^(":Then
- ClrHome:Disp "ATTENTION"
- Disp "FORME EXP DETECTEE
- Disp "CALCUL IMPOSSIBLE
- Disp "ARG(e^(WP))=W!
- Pause :Goto M
- End
- While inString(Str1,"P")
- length(Str1)->L
- For(theta,1,L
- If sub(Str1,theta,1)="P":Then
- If theta!=1:Then
- sub(Str1,1,theta-1)+"([i]W)->Str2
- Else
- "([i]W)->Str2
- End
- If theta!=L:Then
- sub(Str1,theta+1,length(Str1)-theta)->Str3
- Str2+Str3->Str2
- End
- Str2->Str1
- End
- End
- End
- ClrHome:ClrDraw:AxesOff
- 1*10^(~20)->W
- DelVar {Y1}
- Horizontal 15.6
- Line(~10,15.4,~10,~20
- Horizontal ~2
- Text(0,0,Str9
- Text(13,4,"MODULE
- Text(46,4,"PHASE
- Text(21,7,"(*)
- Text(54,7,"(+)
- Line(~10,7,20,7
- Line(~10,~11,20,~11
- Text(11,27,"W = 0
- Text(25,27,"W = INF
- Text(39,27,"W = 0
- Text(52,27,"W = INF
- Line(~1.21,15.6,~1.21,~20
- abs(expr(Str1->D
- angle(expr(Str1->E
- D->|LNQM(1:E->|LNQA(1
- If D>500:Text(11,46,"INFINI"
- If round(D,3)=0:Text(11,46,"0"
- If round(D,3)!=0 and D<500:Text(11,46,D
- If E>500:Text(39,46,"INFINI
- If round(E,3)=0:Text(39,46,"0"
- StorePic 1
- {0,1->L1
- {0,E->L2
- LinReg(ax+b) {Y1}
- Equ>String({Y1},Str6
- sub(Str6,1,length(Str6)-3->Str6
- DelVar {Y1}
- ClrDraw:RecallPic 1
- If round(E,3)!=0 and E<500:Text(39,46,Str6
- 10^20->W
- If inString(Str1,"e^("):10^10->W
- abs(expr(Str1->F
- angle(expr(Str1->G
- F->|LNQM(2:G->|LNQA(2
- If F>500:Text(25,46,"INFINI
- If round(F,3)=0:Text(25,46,"0"
- If F<500 and round(F,3)!=0:Text(25,46,F
- If G>500:Text(52,46,"INFINI
- If round(G,3)=0:Text(52,46,"0
- StorePic 1
- {0,1->L1
- {0,angle(expr(Str1))->L2
- LinReg(ax+b) {Y1}
- Equ>String({Y1},Str7
- sub(Str7,1,length(Str7)-3->Str7
- DelVar {Y1}
- ClrDraw:RecallPic 1
- If G<500 and round(G,3)!=0:Text(52,46,Str7
- Pause
- Goto M
- Lbl TL:ClrHome
- Output(7,1,"W=0
- Input "MODULE?: ",H
- H->|LNQM(1
- Output(7,1,"W=INF"
- Input "MODULE?: ",H
- H->|LNQM(2
- ClrHome
- Output(7,1,"W=0"
- Input "ARG?: ",H
- H->|LNQA(1
- Output(7,2,"W=INF
- Input "ARG?: ",H
- H->|LNQA(2
- If |LNQM(1)>20:20->|LNQM(1
- If |LNQM(2)>20:20->|LNQM(2
- If |LNQM(1)<~20:~20->|LNQM(1
- If |LNQM(2)<~20:~20->|LNQM(2
- max(|LNQM(2),|LNQM(1)->U
- U->Xmax:U->Ymax
- ~U->Xmin:~U->Ymin
- AxesOn
- |LNQM(1)->B
- 0->M:0.05->T
- If |LNQA(1)<|LNQA(2):Then
- For(A,|LNQA(1),|LNQA(2),T
- M+1->M
- End
- For(A,|LNQA(1),|LNQA(2),T
- If |LNQM(1)>|LNQM(2):B-((|LNQM(1)-|LNQM(2))/M)->B
- If |LNQM(1)<|LNQM(2):B+((|LNQM(2)-|LNQM(1))/M->B
- Pt-On(P>Rx(B,A),P>Ry(B,A)
- Pt-On(P>Rx(B,A),~P>Ry(B,A)
- End
- End
- If |LNQA(1)>|LNQA(2):Then
- For(A,|LNQA(2),|LNQA(1),T
- M+1->M
- End
- For(A,|LNQA(2),|LNQA(1),T
- If |LNQM(1)>|LNQM(2):B-((|LNQM(1)-|LNQM(2))/M)->B
- If |LNQM(1)<|LNQM(2):B+((|LNQM(2)-|LNQM(1))/M)->B
- Pt-On(P>Rx(B,A),P>Ry(B,A)
- Pt-On(P>Rx(B,A),~P>Ry(B,A)
- End
- End
- If |LNQA(1)=|LNQA(2:Then
- If |LNQM(1)<|LNQM(2):Then
- For(A,|LNQM(1),|LNQM(2),T
- Pt-On(P>Rx(A,|LNQA(1)),P>Ry(A,|LNQA(1))
- Pt-On(P>Rx(A,|LNQA(1)),~P>Ry(A,|LNQA(1))
- End
- End
- If |LNQM(1)>|LNQM(2):Then
- For(A,|LNQM(2),|LNQM(1),T
- Pt-On(P>Rx(A,|LNQA(1)),P>Ry(A,|LNQA(1))
- Pt-On(P>Rx(A,|LNQA(1)),~P>Ry(A,|LNQA(1))
- End
- End
- End
- Text(0,0,"MOD: ",|LNQM(1),"---",|LNQM(2
- Text(7,0,"ARG: ",|LNQA(1),"---",|LNQA(2
- Pause
- Goto M
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement