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 then
karesec =karesec +1
if karesec >12 then karesec =12
gosub kareata
endif
if buton2 =0 then
karesec =karesec -1
if karesec <1 then karesec =1
gosub kareata
endif

goto main

kareata:
select case karesec
case 1
kare =1
case 2
kare =2
case 3
kare =4
case 4
kare =8
case 5
kare =10
case 6
kare =20
case 7
kare =30
case 8
kare =50
case 9
kare =90
case 10
kare =120
case 11
kare =150
case 12
kare =200
endselect case
return

end




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 then
karesec =karesec +1
if karesec >12 then karesec =12
gosub kareata
endif
if buton2 =0 then
karesec =karesec -1
if karesec <1 then karesec =1
gosub kareata
endif

goto main

kareata:
kare =lookup karesec,[1,2,4,8,10,12,20,30,40,50,100,120,150,200]
return

end



Elektronikprojem

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

Powered by EzPortal