Anasayfa İletişim RSS
Burada reklam vermek için tıklayın!
 
Şimdi Üye Ol | Şifremi Unuttum
 
Anasayfa » C / C++ (27 ders)
 
C'de Akrep ile Yelkovan Arasındaki Açıyı Bulmak

Yazar: Emre Çamalan  
Eklenme: 16.06.2008   Okunma: 609    Puan: 3   Seviyesi:  Orta
C programlama dilinde bol miktarda algoritma öğrenmek bol miktarda alıştırma yapmak bu programlama dilini en iyi şekilde öğrenmenizi sağlayacaktır. Bu örneğimizde analog bir saatte Akrep ile yelkovan arasındaki açıyı bulan bir program yazacağız. Bunu sizlere 2 farklı yoldan çözen 2 farklı programla göstermek istiyorum, çünkü programcı demek bir programı birden fazla yoldan çözmeye çalışan, daha çok algoritma geliştirebilen demektir. Siz farklı bir yol bulduysanız lütfen bizimle paylaşın.

İlk yolumuz matematiksel formülü kullanmak olacaktır. Gayet basit bir formül ve algoritma.

Aradaki açı = Saat x 30 - Dakika x 11/2 aslında bölü 2 hepsinin altındadır ancak 60/2 yaparak o kısmı 30 diye direk aldım..

 #include<stdio.h>
      int main()
      {
      double saat,dakika,aci;
      printf("Acisini bulmak istediginiz Saat(0-12) ve Dakikayi giriniz: ");
      scanf("%lf%lf",&saat,&dakika);

      aci = (saat*30)-(dakika*5.5);  /*bu kısımda aciyi az önce verdiğimiz formule göre hesaplattık*/
      if(aci<0)  /*aradaki açının negatif çıkma olasılıgını burada engellemiş olduk*/
      {
      aci = (dakika*5.5)-(saat*30);
      }

      printf("Saat %2.f : %2.f iken akrep ile yelkovan arasindaki aci %2.f'dir",saat,dakika,aci);


      getchar();getchar();
      return 0;
      }




İkinci yolumuza gelince, ikinci yol tamamen mantık üzerine kurulmuştur.

Mantığımız tam olarak şöyle olmalıdır. Bir analog saatin tümü 360 derecedir. Ve 12 parçaya ayrılmıştır. 12 saat olduğu için ve her bir saat arasında 30 derecelik parçalar vardır. Bundan yararlanarak saatin kaç derece ilerleyeceğini bulduktan sonra bir de yelkovanın ne kadar ilerleyeceğini bulup ekleyerek ikisi arasındaki açıyı bulabiliriz..

#include<stdio.h>

int main()
{
int saat,dakika;
int x,y,akrep,yelkovan;
double sonuc;

printf("Saat ve dakika degerlerini giriniz:\n");
scanf("%d %d",&saat,&dakika);

x=saat*30;
y=30*dakika/60;
akrep=x+y;
yelkovan=6*dakika;
if(akrep>yelkovan)
{
sonuc=akrep-yelkovan;

}
else {
sonuc=yelkovan-akrep;

}
printf("Saat %d : %d iken akrep ile yelkovan arasindaki aci %2.f'dir",saat,dakika,sonuc);
getchar();getchar();
return 0;
}
 
  • Currently 3.00/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
C'de Akrep ile Yelkovan Arasındaki Açıyı Bulmak Dersini Yazdırın

"C'de Akrep ile Yelkovan Arasındaki Açıyı Bulmak" dersi için 1 yorum var

17.06.2008 oglebeli78 diyor ki:
Selamlar bır program yazıcam ama tıkanıp kaldıgım yer var yardımcı olabılırmısınız acaba.programı yazdım ama sorunum su bı serverdan il içindeki bayılerı knotrol edecek program yazdım karşı taraftakı yanı bayılerde LCD ekran olacak server guncelleme yaptıgında otomatık olarak butun ekranlar depişecek. bu programı yazdım ama ınternetten yapacagım için bu bılgı gonderme işini programdan nasıl nete bılıglerı atıcam nete nasıl baglıcam yolu nedır. Delpi yada c++ dışında hangı programda yazabılırım

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 204 Ziyaretçi, 24 Üye
@_NİGHT_@, tuba anlar, by_enes, eagleemre92, drkfear, graphart, fbli69, fatih, Umutweb, osvaldoperez7, esesli44, turkalone, kaptan_maras, ACYN, EKOEKO, oguzhan1, nimfe, serdal5nt, mert okur, hoshcocuK, maystro805, cmlyvr, süvari, erguvan4545
BUGÜN DOĞUM GÜNÜ OLAN ÜYELERİMİZ:
aliucar (23), Mc_NefreT (21),
Bugün: 1567, Dün: 4305, Bu Ay: 115780, Toplam Ziyaret: 1814059, Toplam Üye: 130830, Son Üye: tuba anlar
Toplam Ders: 1989, Toplam Yazar: 44, Toplam Dosya: 34, Toplam Link: 54
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz