Merhabalar,
Python ve Qt kullanarak, şanzıman iletim hesabında kullanılacak bir
program yazıyorum. Belli dişlilerden hareket aktarılıyor. Ancak duruma
göre dişliler farklı yedek dişliler ile değiştirilebiliyor. tek olarak
hesaplamada sorun yok ama bu değişkenlerin tamamını da hesaplarken
ortaya çıkacak kkombinasyonların içinden çıkamadım.
İki adet tablom var. Birinci tabloda dişli diş sayıları ve ikinci
tabloda da değişken dişlilerin diş sayıları var. İşin tuhafı değişken
olabilecek dişlilerin sayısı ve hangi dişli grubuna takılabilecekleri
kesin değil. Yazacağımız algoritma her durumda çalışmlalı. Tablolar şöyle:
Ana Dişli Tablosu
*Sıra No
* *Diş Sayısı
*
10
15
20
22
30
0
40
10
50
12
60
18
70
0
80
21
90
50
Yukarıda görüldüğü gibi dişlilerinbulunduğu bir şanzıman düşünün. Ancak
"0" (Sıfır) ile belirtilen yerlere değişken dişliler takılabiliyor.
Değişken Dişliler tablosu da şöyle:
*Kaynak Sıra No
* *Grup Diş Sayısı
*
30
15
30
20
30
25
70
25
70
30
70 35
70 40
70 45
70 50
30 sıra numarası ile gele dişliler sıra ile takıldığında bundan sonra
gelen 70 numaralı dişli grupları da sıra ile takılmalıdır. Kombinasyona
göre mesela 30. dişli her değişmesinde 70 sıra numaralı gruplar da
değişmelidir. Yani 30. grup bir kere değişdiğinde 70. grup sıra ile
değişmeli ve 70. grupda son dişliye ulaştığında 30. dişli grubu ikinci
dişlisine geçmelidir. Böyle bir akış ile tüm dişli gruplarının en az bir
kere yazıldığı bir sıralamanın oluşması gerekiyor. Şanzımandaki grup
dişliler her zamanaynı olmayabilir. yerleri ve grup sayıları
değişebilir. Yani "0" (sıfır) ile ifade edlen grup birden fazla ve
herhangi bir adımda olabilir.
Çıkamadım içinden... Her türlü öneriye açığım. Merak eden arkadaşlara
yaptığım kodu ve veritabanını da gönderebilirim... Program sorunsuz
olarak tek hesaplama yapıyor. Yani "grupdaki şu dişliyi kullanacaksın"
dediğinde sorunsuz hesaplıyor. Ama kombinasyon ile tüm dişilileri sıra
ile hesapla dediğimizde içinden çıkamadım... :(
--
Kolay gelsin,
Mucip:)
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php