Ahmet Yesevi Üniversitesi Programlama 1 Ödevi
Ahmet Yesevi Üniversitesi Programlama 1 dersinde C programlama dili öğretiliyor. Bu dersin hocası Yrd. Doç. Dr. Şeyhmus AYDOĞDU idi. Oldukça ayrıntılı ve zorlayıcı bir ödev vermişti. Ödevi ve çözüm programını paylaşacağım.
OBEB VE OKEK HESAPLAMA UYGULAMASI
Ortak bölenlerin en büyüğü (OBEB) belirlenen birden fazla pozitif tamsayıya tam olarak bölünebilen en büyük değerdir. Ortak katların en küçüğü (OKEK) ise belirlenen birden fazla pozitif tamsayıyı tam olarak bölen en küçük değerdir. OBEB ve OKEK değerlerinin hesaplanmasında izlenen işlem basamakları aşağıdaki gibidir:
1. Öncelikle OBEB ve OKEK değerleri hesaplanacak sayılar yan yana yazılır.
2. Bu sayılardan herhangi birini tam olarak bölen en küçük asal sayı, OBEB ve OKEK değeri hesaplanacak sayıların sağ tarafına yazılır.
3. Bir alt satıra geçilir.
4. Üst satırda olup en küçük asal sayıya tam bölünen sayılardan elde edilen bölüm değeri alt satıra yazılır. Eğer satırda bulunan değer, en küçük asal sayıya tam olarak bölünmüyorsa sayının kendisi doğrudan alt satıra yazdırılır.
5. Satırda bulunan değerlerin tamamı 1 olana kadar 2. Adıma gidilir.
6. Tüm sayılardan elde edilen bölümlerin tamamı 1 olduğunda işlem tamamlanmış olur.
7. 4. Adımda belirtilen bölüm işlemleri sırasında var olan en küçük asal sayı tüm sayıları tam olarak bölüyorsa bu değer OBEB sonucunun bir çarpanı olarak ele alınır.
8. Adımlarda hesaplanan her değer OKEK sonucunun bir çarpanı olarak ele alınır.
12, 18 ve 42 sayıları için OBEB ve OKEK yukarıdaki adımlar göz önünde bulundurularak soldaki gibi bir hesaplama süreci gerçekleştirilir. Tabloda görüldüğü gibi her satırda bulunan sayıları bölen en küçük asal sayıya bölüm işlemi yapılmaktadır. Eğer satırda bulunan değerler bölünecek değere tam bölünüyorsa bu durumda bölüm işlemi gerçekleşmekte aksi halde sayı doğrudan alt satıra yazılmaktadır. Belirtilen işlemler satırda bulunan değerler 1 olana kadar tekrarlanır. Eğer satırda bulunan bölünecek asal sayı değeri tüm sayılara tam bölünüyorsa OBEB bölüm çarpımına eklenir. OKEK hesaplaması için ise bölünen tüm değerler çarpılır ve OKEK sonucu hesaplanır. Bundan dolayı, bu örnekte OBEB(12,18,42)=2*3=6 olarak OKEK(12,18,42)=2*2*3*3*7=252 olarak hesaplanır. Uygulamanın farklı sayılarda nasıl sonuçlar ürettiğini incelemek için http://convedu.com/obeb_okek.php sayfasındaki aracı kullanabilirsiniz.
Sizden istenen, kullanıcının girdiği n tane sayı için yukarıdaki gibi işlem basamaklarını listeleyen ve listeleme sonucunda girilen sayıların EBOB ve EKOK değerlerini yazdıran uygulamayı geliştirmenizdir. Örnek uygulama ekran çıktıları aşağıda verilmiştir. Uygulamada aşağıdaki hususlara dikkat edilmesi gerekmektedir:
Uygulama geliştirirken uyulması gereken kurallar ve sınırlılıklar:
1. Uygulamayı her şeyden önce kendi geliştirmeniz gerekmektedir. Gönderilen dosyalar incelenecek ve aralarında yüksek düzeyde benzerlik gösteren veya internet alınan ödevler değerlendirmeye alınmayacaktır.
2. Uygulama C programlama dili ile geliştirilecektir, diğer programlama dili ile geliştirilen uygulamalar dikkate alınmayacaktır.
3. Satırda bulunan tüm sayılara bölünen değer aşağıdaki örnek çıktıda görüldüğü gibi + işareti ile işaretlenmelidir.
4. Kullanıcı tarafından girilecek n değeri 2<=n<=10 olmalıdır.
5. En küçük asal sayı bulunurken sayıların asal olup olmadığı asalmi adında bir fonksiyon ile kontrol edilmelidir.
6. Bölüm listesinin sıralanmasının ardından girilen sayıların OBEB ve OKEK değerleri ekrana yazdırılmalıdır.
7. Sadece çalıştırılabilir exe uzantılı gönderilen dosyalar değerlendirilmeyecektir. Ödev dizininde uygulamanın kaynak kodlarının bulunduğuna dikkat ediniz.
Programın exe ve kaynak dosyaları için yorum bölümünden iletişime geçebilirsiniz.