arkadaslar ben bu yıl vb.neT qöruyorum ve gercektende cok acemıyım bir sorum olucak ki yanıtlarsanız sevirim.
sorum:
boylamları verilen 2 kentten biriinde zaman belliyken diğerindeki zamanı bulan vb.nET programı ?
simdiden teskkurler !!
lütfen yardım edermisiniz
forumda ALLAH rızası için kübra094 de yardım edecek yazılımcı yokmu?
ben gw basicte yazmayı denedim ama uzun zaman oldu programcılıkla uğraşmayalı.eskiden assemblerla uğraşırdım.
önce böyle başladım gw basicde;
10 rem boylamlar arası yerel zaman hesaplama programı
20 print " lütfen ilk boylamdaki saati dakika cinsinden giriniz"
30 input a
60 ( bundan sonrası nı mantıki olarak yazayım programcılığı unutmuşum.(bu satırdaki mantık şayet birinci boylam doğu boylamıysa ikincisi daha ileri doğu boylamıysa b-a olacak.sonra çıkan değer 4 dakika ile çarpılacak.(2 boylam arası 4 dakika zaman farkı var.).4 dakika ile çarpıldıktan sonra ilk boylamın dakikasına çıkan dakika eklenecek.böylelikle aynı boylam arasında daha doğudaki boylamın saatini bulmuş olduk.
doğu boylamı verilip daha aşağı doğu boylam dereceyi varsa bu sefer (iki boylam arası fark* 4) hesaplanıp ilerdeki doğu boylamın zamanından bu sonuç çıkarılacak.
yukardaki 2 durum batı boylamları arasındada geçerli.aslında programı yazarken bu 2 durum için 2 defa bu durumu yazmak yerine tek taşla 2 kuş vurmak daha mantıklı.çünkü hem batı hem doğu boylamlarının kendi arasındaki hesaplama mantığı aynı.
verilen batı diğeri doğu boylamı olursa bu sefer doğu+batı dereceleri toplanıp 4 dakika ile çarpılıp sonra ilk derece batıysa sonraki doğuysa batının zamanına çarpılan değer eklenir.ilki doğu sonraki batıysa aynı çarpılan değer doğundakinden çıkarılır.
şimdi yapabilecekmiyiz bakalım.
60 print "2 boylamıda giriniz"
70 input c,d
80 print "şayet boylamların ilki batı ikincisi ileri batı yada ilki doğu ikincisi ileri doğu ise"
90 print ((d-c)*4)+a
100 print "şayet boylamların ilki batı diğeri batı geri yada doğu-doğu geri ise"
110 print a-((c-d)*4)
111 print "ilki doğu istenen batıysa"
112 print (a-((c+d)*4))
113 print "ilki batı istenen doğu boylamı ise "
114 print ((c+d)*4)+a
yanlız bu program hatalı gözüküyor mutlaka arada koşullu dallanma (if ) gibi komutlar kullanmak gerekiyor.programdaki sorun zaman olayını bilgisayara doğru ifade etmekten geçiyor. 24 saatlik dilim varya
işte o sorun algoritmayı yazarken dikkat etmek gerek.
bu programda matematiksel hatalar mevcuttur. aklımdan hesaplamak bile bundan 100 bin kat daha kolay yahu.iş pogramcılığa dökülünce chip duayenlerinden vasat olduğumuz ortaya çıkmakta.
çıkan sonuçu saate çevirmeyi unutmayın.aslında if else and or not gibi komutlarla daha basite indirgenebilir.(koşul komutları)
visial basictede aynı komutların geçerli olması lazım.ama kurallar farklı olabilir.
yanlışım varsa düzeltin.programdaki hataları düzeltip gerekli eklemeleri bir bilen yapıp visual basice uyarlanırsa program sevinirim.
aslında biraz uğraşılırsa print input if else komutları kullanılark program yazılabilir.
konuyu yanlış yere açmış arkadaşımız.