Qbasic Programlama Yardım.
-
klavyeden girilen 10 sayıdan kaç tanesi tek kaç tanesi çift sayıdır?(not:2 ye tam bölünüyorsa .)bunu program haline getirmenin en azından kodu veya mantığını verebilirseniz sevinirim biraz uğraştım kendim "if ...then.else " ve go to komutlarını mantıgını peq fazla anlayamadm ...
-
mod islemi yapacan hoca sayinin 2ye bolumunden kalan 0 ise cift degil ise tek
if (sayi mod 2=0) then WriteLine("Girilen sayi cift")
else
WriteLine("Girilen sayi tek");
programinin kilit noktasi burasi.Girilen on sayi dedigi icin ve sende baslangic seviye bir programcisin galiba ders falan vermis hocan.10 tane degisken tanimla sayi1 saiy2 sayi3 diye bunlarin mod 2 = 0 sonucuna gore tekmi ciftmi yazdir.Ilerledikce procedure -function ile 10 defa islem yaptirmamayi fonksiyon kavramini ogrenirsin.Sen once algoritmani cikar.
Kilit nokta bir sayinin tekmi ciftmi olup olmadigini anlamak. mod foksiyonu bolumden kalani verir. mod 2 = 0 ilede bolumden kalan 0 ise cift sayidir.Cift degilse tek sayidir.Istisna yonetimi mevzusu girilen sayi 0 ise var onuda dallandiracaksin ayri bir ifadede. -
sorması ayıpta ,diyelimli Qbasic programı yazacağız , windowsun neresinden giriyorsunuz program yazmak için ve nasıl kaydedip çalıştır yapıyoruz ? :S
-
zigana bunu yazdı:
-----------------------------sorması ayıpta ,diyelimli Qbasic programı yazacağız , windowsun neresinden giriyorsunuz program yazmak için ve nasıl kaydedip çalıştır yapıyoruz ? :S
-----------------------------
burda tüm basic derleyicileri var.. -
ComputerWolf hocam ben yeniyim programda yeni yeni öğreniyorum .algoritmanın mantığını kurarken zorlandım sayılır mod sistemini sölemesen heralde bu programa baya bir zaman harcıyacaktım.
"Ilerledikce procedure -function ile 10 defa islem yaptirmamayi fonksiyon kavramini ogrenirsin" ewet daha if then elsedeyiz daha henüz başındayım herşeyin yavaş yavaş olacak inş. sizlerde ayrıca bana yardımcı olduğunuz için çok tşk ederim.
algoritma şu şekilde yaptım
başla->t : ç : ks ->eğer sayi 2 ye bölündügünde kalan 0 evet ->sayi tektir->hayır >sayı çifttir->peqi burda 10 tane sayıdan fazla verecegimiz her sayı kısıtlaması yapamıyormuyz? bunu şu şkişde kodladım denemedm qb de
bu programı istedigimiz zaman sona erdirsek dallanma mı yapmamz lazım ? (t=tek : c=cift ks = kalansayı)
t=0 : c=0 : ks=0
if (sayi mod 2= 0 ) then print "girilen sayı çift=" ,cift else print "girilen sayı tek=" ,tek
end
bir deniyem tekrar hatamı sölerim sana .belkide hatayı nerde yapacagımı tahmin ediyorsundur ... :) hocam klawyeden istendigi için inputları unutmuşum devam ediyorum komut yazmaya uğraşyorum
-
hocam
tek, cift
diye iki değişken tanımla
başta
tek = 0
cift = 0
her sayı girildiğinde :
if (sayi mod 2=0) then
cift = cift + 1
writeln("Girilen sayı çift");
else
tek = tek + 1
writeln("Girilen sayı tek");
end if
writeln("Toplam çift sayısı:", cift)
writeln("Toplam tek sayısı:", tek) -
Simdi basit yaklasmaya calisiyorum ilk temel birisi olsam ne yapardim ?
1-sayi1 sayi2 diye 10 a kadar degisken tanimlardim en sonunda okunan degisken sayi10 ise programi sonlandirirdim
...
qbasicte nedir bilmem ama sayi10 u okudugunda break; ile kirabilirsin veya baslangic seviyede oldugun icin goto kullanabilirsin.
yani 10.sayiyida hafizaya aldin hemen alt satira goto:sonlandir; gibi bir etiket blogu yaparsin.
sonlandir :
Write("sayi giriniz :")
Readln(sayi10);
if sayi10 mod 2=0 then Writeline("sayi cift") else "(sayi tek);
goto sonlandir; //program alta ziplar
sonlandir;
WriteLine("Toplamda 10 sayi girdiniz tesekkurler)";
---
bu sekilde yapabilirsin.
Zaten ilerledikce cok basit yontemlerle cozeceksin.Sen simdi bol bol algoritma kurmaya calis.Bir problemin cozumunu kagit uzerine sozlu olarak dokebiliyorsun emin ol kodunu yazmak cok daha basittir.
-
en son şunu yaptım
cls
mod2 =0 : sayi=0
10 input "sayı giriniz=", sayi
if sayi<=10 then goto 20
20 if (sayi mod2 =0) then print " girilen sayı çift=", cift else print "girilen sayı tek= ", tek
end
gördüm şimdi sizin yazdıklarınızı ben eklemeleri tammlayım hocam.
-
Sayi girdikten hemen sonra isleme sokman gerekiyor.
Yani ya tek tek satir satir tekrar ettire ettire yaptiracaksin.
Yada donguye sokacaksin :)
-
alp bunu yazdı:
-----------------------------hocam
tek, cift (integer değerinde tanımla)
diye iki değişken tanımla
başta
tek = 0
cift = 0
her sayı girildiğinde :
if (sayi mod 2=0) then
cift = cift + 1
writeln("Girilen sayı çift");
else
tek = tek + 1
writeln("Girilen sayı tek");
end if
writeln("Toplam çift sayısı:", cift)
writeln("Toplam tek sayısı:", tek)-----------------------------
10. sayıda programı sonlandırmak için
yukardaki kodların sonundaif cift + tek = 10 then
end
end if
yazmayı dene -
tek = 0
cift = 0
her sayı girildiğinde :
if (sayi mod 2=0) then
cift = cift + 1
writeln("Girilen sayı çift");
else
tek = tek + 1
writeln("Girilen sayı tek");
end if
writeln("Toplam çift sayısı:", cift)
writeln("Toplam tek sayısı:", tek)-----------------------------
10. sayıda programı sonlandırmak için
yukardaki kodların sonundaif cift + tek = 10 then
end
end if
alp hocam şuan kodla ilgili bir hata veriyor
cls
tek = 0 : cift = 0
if (sayi mod 2 = 0 ) then ---> (burada bir hata bildiriyor ben input ta ekledim ama iş karıştı.şuan arkadaşın cafesindeyim birazdan programa tekrar bakacağım size haberdar ederim.) cift= cift +1 print "girilen sayı çift =", cift else tek = tek +1 print " girilen sayı tek = ", tek
end
print " toplam çift sayı =", cift print "toplam tek sayı = ",tek
wolf hocam ben sayi1 = 0 : sayi= 0 : sayi2= 0 ... : sayi10 = 0 bu şekilde bir değişken tanımlarımda siz pascal cinsinden mi yazıyorsunuz komutları ? "readline ve writhline komutları içeriyorda " birazdan tekrar hata olan kod yerini komple size aktaracam ...