Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trDiğer Nostaljik BilgisayarlarSinclairSinclair - YazılımZX Spectrum BASIC ile anagram cozucu yazabilecek olan var mi? Ben basaramadim.
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: ZX Spectrum BASIC ile anagram cozucu yazabilecek olan var mi? Ben basaramadim.  (Okunma Sayısı 6624 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
мemrah
Uzman
*****
Mesaj Sayısı: 1.363



Üyelik Bilgileri
« : Temmuz 23, 2007, 20:41:12 ÖS »

Evet, gecen gun oturmus can skntisindan sudoku cozecektim ki laf olsun diye ZX-Spectrum BASIC ile anagram cozucu yazmaya calistim, ve basaramadim. Bunu daha once yapan var mi? Bir kitapta buldum o da tamamen random calisiyormus. Benim istedigim bir kelimenin her sekilde harf siralamasi kombinasyonunu bulan ve her sonucu bir kez bulan bir programdi.
Ognegin kelimemiz : KAN olsun. Bunun anagramlari:

KAN
KNA
ANK
AKN
NAK
NKA

olur. Tabi harf sayisi aritmetik artarken anagram sayisi geometrik artiyor ama harf sayisini cok arttirmadikca bunu cozebilen bir BASIC program yazilabilmeli. Sudoku cozmekten daha eglenceliydi yine de....
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.464


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #1 : Temmuz 23, 2007, 23:05:23 ÖS »

bu iki şekilde çözülür.

1) karakter sayısı kadar iç içe loop
2) düzgün yazılmış bir recursive fonksiyon

ama bu konularda gerçekten eğlence istiyorsanız bir ara takıldığım bir site var. sudoku solver gibi sorular da var çözerken çok eğlendiğim. matematiğine güvenenler buyursun.

http://www.projecteuler.net/

edit: ben c++ ve php kullandım soruları çözerken. kağıt kalem kullananlar bile var. isterseniz siz de spectrum ile deneyin. kağıt kalemden daha yavaş olmayacağı kesin. mantığı iyi oturttuktan sonra spectrum da yeterli bu soruları çözmek için. çok tembelseniz kurun mathematica, o soruların yarısını sizin yerinize çözsün

p.s: 64 bit integer işlem yapmak için spectrumu tavsiye etmem. yerinizde olsam o tür istisnai durumlarda Python falan kullanırdım.
« Son Düzenleme: Temmuz 23, 2007, 23:08:34 ÖS Gönderen: Skate » Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #2 : Temmuz 24, 2007, 01:46:44 ÖÖ »

Umarım bi bug yoktur. Buyrun:

(Basin kullananlar direk copy-paste yapabilirler.)

Kod:
5 REM Anagram bulan hede, c=.gen.tr icun arda'dan
10 INPUT "HARFLERI ALAYIM CANIM";a$
20 LET l=LEN a$
25 LET hs=l: REM (hs) bU degeri degistirince harf sayisi degisir
30 LET m$=""
40 DIM b$(l): DIM c$(l): DIM z(l): LET b=0
50 FOR n=1 TO l: LET b$(n)=a$(n): LET m$=m$+"-": NEXT n
100 FOR j=hs TO l
110 LET k=1
120 LET z(k)=1
130 IF b$(z(k))=" " THEN GO TO 240
140 LET c$(k)=b$(z(k)): LET b$(z(k))=""
150 LET k=k+1
160 IF k<=j THEN GO TO 120
170 LET a=1
180 FOR s=1 TO LEN m$
190 PRINT c$(a);: LET a=a+1: GO TO 210
200 PRINT m$(s);
210 NEXT s: PRINT : LET b=b+1
220 LET k=j
230 LET b$(z(k))=a$(z(k))
240 LET z(k)=z(k)+1
250 IF z(k)<=l THEN GO TO 130
260 LET k=k-1
270 IF k>=1 THEN GO TO 230
280 NEXT j
290 PRINT '"Hepsi bitti guselim."'b;" anagram bulduk."


Arada HS diye bir değişken var, bu harf sayısını belirliyor. Eğer hs=2 ise ve kelime KAN ise, KN,KA gibi 2 hafliler de bulunur. default değer verilen kelime sayısıyla aynı. Elbette biraz daha derlenip toparlanabilir bu kod. Şimdilik iş görüyor...

edit: ayrıca http://www.worldofspectrum.org/infoseek.cgi adresine anagram yazın, çıkan programları inceleyin.
« Son Düzenleme: Temmuz 24, 2007, 01:54:35 ÖÖ Gönderen: Arda » Logged

мemrah
Uzman
*****
Mesaj Sayısı: 1.363



Üyelik Bilgileri
« Yanıtla #3 : Temmuz 24, 2007, 01:56:31 ÖÖ »

Hemen BASin'e paste edip deneyeyim. 
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #4 : Temmuz 24, 2007, 02:31:39 ÖÖ »

basin için, eğer

1 REM fast

eklerseniz program spectrum hızına indirgenmez, bilgisayarınızın elverdiğince en yüksek hızda çalışır.
Logged

мemrah
Uzman
*****
Mesaj Sayısı: 1.363



Üyelik Bilgileri
« Yanıtla #5 : Temmuz 24, 2007, 21:07:22 ÖS »

Bravo. Gayet guzel olmus. Bunu yapan programi yazamamam benim 1 aksamimi aldi
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #6 : Temmuz 24, 2007, 23:57:21 ÖS »

ben eskiden antremanlıyım Kahkaha
Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: