Picbasic te değişkeni belirsiz şekilde arttırmak

Başlatan Elektronikprojem, 23 Mayıs 2017, 12:00:48

Elektronikprojem

Merhabalar.
Şu anda bir programda çalışma yapıyorum. "Kare" isminde bir değişken var. Ben bu değişkenin alacağı değerleri 1,2,4,5,8,10,20,25,40,50,100,200 olarak belirledim . Butona her basılışta bu değerin sırayla artıp farklı bir butona basılışta ise sırayla azalmasını istiyorum. Benim yaptığım şey 1.8 derece step motoru bu belirlediğim sayılar kadar adım attırıp gerekli işlemi yaptırmak.. Bunun kısa bir yolu var mıdır?

İlginize teşekkürler.

dnaci

Yapmanız gereken 1den 12ye kadar ileri geri sayan bir sayıcı yapmak. Sayıcı içinde bir sayı değişkeni kullanırsınız. Sayı=1 ise kare=1 ve sayı=12 ise kare=200 gibi. Daha basit bir şey olurmu düşünmek lazım.

Elektronikprojem

Teşekkür ederim bu aklıma gelmemişti. Bunu bir deneyeyim.

Hattuşa

şu şekilde bir algoritma olabilirmi?
Main:if buton1 =0 thenkaresec =karesec +1if karesec >12 then karesec =12gosub kareataendifif buton2 =0 thenkaresec =karesec -1if karesec <1 then karesec =1gosub kareataendifgoto mainkareata:select case kareseccase 1kare =1case 2kare =2case 3kare =4case 4kare =8case 5kare =10case 6kare =20case 7kare =30case 8kare =50case 9kare =90case 10kare =120case 11kare =150case 12kare =200endselect casereturnend



ete

Benim iki tane. Birinde dizi kullanmak diğerinde ise lookup tablosu kullanmak.
Ete

Hattuşa

Alıntı yapılan: ete - 23 Mayıs 2017, 15:18:50
Benim iki tane. Birinde dizi kullanmak diğerinde ise lookup tablosu kullanmak.
Ete


evet ETE hocamın önerisine göre lookup tablosu kullanmak kodu dahada kısa tutar
Main:if buton1 =0 thenkaresec =karesec +1if karesec >12 then karesec =12gosub kareataendifif buton2 =0 thenkaresec =karesec -1if karesec <1 then karesec =1gosub kareataendifgoto mainkareata:kare =lookup karesec,[1,2,4,8,10,12,20,30,40,50,100,120,150,200]returnend


Elektronikprojem

Evet Ete Hocamınki daha az yer kapladı. Hepinize çok teşekkür ederim.

Powered by EzPortal