Bu sayfadaki yazılar
Sayfanın metni
Sayfa 10
Bu ayki yazımızda son birkaç aydır devam ettiğimiz şekil tanıma programını noktalıyoruz. Programa son olarak menü komutlarını ilave ettim. Bu komutu daha önce hiç kullanmamıştık. Program listesinde de göreceğiniz gibi, kullanımı oldukça basit bir komut. MENU komutunu kullanarak, menüler hazırlanıyor. Daha sonra 'MENU ON' komutuyla bunlar kullanılabilir hale getiriliyor. Menülerin okunması ise, 'CHOICE' komutu ile yapılıyor. Daha ileriki programlarımızda, menüleri daha detaylı olarak göreceğiz. Şimdi sizlere, programın son halini veriyorum. Program üzerinde daha fazla değişiklik yapmayacağım. Artık gerisi size kalmış...
Rem ************************************** * Rem Burak OZDEMIR 20 October 1991 Rem Name:Hopfield network Rem Version:2 Rem ************************************** * Rem Set Buffer 30 INITSCRN Rem
CLMNS=8 RWS=8 N_NODES=CLMNS*RWS N_SMPLRS=3 UNKNOWN=N_SMPLRS RESULT=N_SMPLRS+1 MXT=20 Rem Dim SMPLR(N_SMPLRS+2,N_NODES) Dim W_MATRIX(N_NODES,N_NODES) Rem Rem
Global SMPLR(),W_MATRIX() Global CLMNS,RWS,N_NODES,N_SMPLRS,UNKNOWN, RESULT, MXT, TST1, TST2/TST3 Rem
Screen Close 0 Screen Open 0,640,200,4,Hires Cls(0) Rem MEN Rem Rem Do
Cls(0) TST1=Choice Rem herhangi bir menunu seçildiği zaman -1 olur
TST2=Choice(l) ' Rem seçilen menunun numarası TST3=Choice(2) Rem o menu'ye ait eleman numarası If TST1=-1 Then FMEN Loop Rem Rem Procedure AD_NOISE
Print "Hata yüzdesini ver " Input P For I=0 To N_NODES-l
T=Rnd(100) If(T<P)
SMPLR(UNKNOWN,I)=-SMPLR(UNKNOWN,I) Print "Altered bit ",I End If Next I Wait Key End Proc Rem Rem Procedure INP_UNKNOWN
Cls Print "Bilinmeyen sekli gir " INP_SAMPLE[UNKNOWN] SHW_SMPLR[UNKNOWN] End Proc Rem Rem Procedure SV_SMPLRS
Cls Print "Örnek numarasini ver Input N N=N-1 Print "Isim ? Input NAMES Open Out 1,NAMES For I=0 To N_NODES-l
Print #1,SMPLR(N,I) Next I Close 1 End Proc Rem Rem Procedure LD_SMPLRS
Cls
Print "Ornek numarasi " Input N N=N-1 Print "Isim ? Input NAMES Open In 1,NAMES For I=0 To N_NODES-l
Input #1,SMPLR(N,I) Next I
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 11
Close 1 End Proc Rem Rem Procedure LD_UNKNOWN.
Cls Print "Isim ? Input NAME$ Open In 1,NAME$ For I=0 To N_NODES-l
Input #l,SMPLR(UNKNOWN,I) Next I Close 1 End Proc Rem Rem Procedure SV_UNKNOWN
Cls Print "Isim ? Input NAME$ Open Out 1,NAME$ For I=0 To N_NODES-l
Print #1,SMPLR(N,I) Next I Close 1 End Proc Rem Rem Procedure GT_SMPLRS
Cls Print" Ornek numarasi Max ",N_SMPLRS Input S If((S>0) and(S<=N_SMPLRS))
INP_SAMPLE[S-1] Else
ILLEGAL End If End Proc Rem Rem Procedure INP_SAMPLE[S]
Cls Locate 0,22 Print "Ornek verilerini gir " Reserve Zone 64 Ink 0 For 1=0 To 7
For F=0 To 7 Set Zone I+8*F+1 ,I*20,F*20 To(I+1 )*20,(F+1 )*20 Box I*20,F*20To(I+l)*20,(F+l)*20 Next F Next I Do
Flash Off Curs Off T=Zone(X Screen(X Mouse),Y Screen(Y Mouse)) R=Int((T-l)/8) C=T-8*R-1 If(Mouse Key>0 and T<>0) Then SETPIX[S,R,C] If(Mouse Key>0 and T=0) Then Exit Loop End Proc Rem Rem Procedure SETPIX[S,R,C] If Mouse Key=l Ink 2 iiDc SMPLR(S,R*CLMNS+C)= 1 End If If Mouse Key=2
Ink 1
SMPLR(S,R*CLMNS+C)=0 End If X=X Screen(X Mouse) Y=Y Screen(Y Mouse) Paint X,Y,0 End Proc Rem Rem Procedure PRT_SMPLRS
Cls Print" Ornek numarasini ver Max ",N_SMPLRS Input S If((S>0) and(S<=N_SMPLRS))
SHW_SMPLR[S-1] Else
ILLEGAL End If End Proc Rem Rem Procedure SHW_SMPLR[S]
Cls Locate 0,22 Print "Ornek ",S+1 InkO For I=0 To 7
For F=0 To 7 Set Zone I+8*F+l,I*20,F*20To(I+l)*20,(F+l)*20 Box I*20,F*20To(I+l)*20,(F+l)*20 Next F Next I Rem
For R=0 To 7
For C=0 To 7
PRTPIX[S,R,C] Next C NextR Wait Key End Proc Rem Rem Procedure PRTPIX[S,R,C] If SMPLR(S,R*CLMNS+C)=1 Then Ink 2 IfSMPLR(S,R*CLMNS+C)=0 Then Ink 1 X=C*20+10 Y=R*20+10 Paint X,Y,0 End Proc Rem Rem Procedure SHWJJNKNOWN
SHW_SMPLR[UNKNOWN] End Proc Rem Rem Procedure SET_WEIGHTS
Cls