Evet uzun bir süredir bloga yazmadığımın farkına varmıs bulunmaktayım bu sırada ikinci dönem basladı ve ilk vizelerim bitti hatta C dili yerıne JAVA öğrenmeye başladık.Tabi ki ufak farklılıklar olsada önemli olan her zaman algoritma ve programlama mantığı yanı hemen hemen hepsı bır bırıne benzer fazla uzatmadan ilköğretim 4 .sınıftan beri gördüğümüz matematiğin vazgeçilmezi olan ASAL SAYILAR a değinelim bugün :) Hem basit bir konu hemde programlama mantığı C & JAVA arasındaki farklılıkları görelim C dilinide unutmayalım :)
1 ile 10000 arasındaki asalsayıları ekrana yazdıran ve toplam kaç tane asal sayının olduğunu gösteren programı C & JAVA dilinde kodlarını yazalım.
Asal sayılar dendiğinde sadece 1 e ve kendisine bölünen sayılar olarak tanımlanmakta bunu programlama diline aktarırken nasıl bulucaz nasıl bır mantığı olacak algoritmadaki sayac programlama dilindeki döngü baya bir işimize yarayacak diye düşünüyorum :) Sonuçta 1 ve kendısıne bölünüyor 2 tane böleni var ise bu iki böleni sayıp bir koşula baglarsak 2 böleni var ise asal sayi bölen sayısı 2 den farklı ise asal değil gibi bir mantık izleyeceğiz tabi ki asal sayıyı bulduk fakat 1 ile 10000 arasında kac tane asal sayının oldugunu bulmamız için bunları bir sayaç ile saymamız gerekiyor asalsayi adında bir sayac tanımlayıp bölen=2 koşulunda onuda bir artırarak bu işlemi yapmış olacağız bu sefer kodları 2 dilde yazacağım C ve JAVA da iki dilin arasındaki farklılarıda görelim ama programlama mantığının aynı olduğunuda gösterelim istiyorum.
C DİLİNDE
/* Ahmet GÜREL
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll
ahmetgurel.yazilim@gmail.com */
#include<stdio.h>
#include<conio.h>
main(){
int bolen=0,asalsayi=0,i,j;
for( i=1;i<=10000;i++){
bolen=0;
for(j=1;j<=i;j++){
if(i%j==0)
bolen+=1;
}
if(bolen==2){
printf("Asalsayi: %d \n", i);
asalsayi+=1;
}
}
printf("1 ile 10000 arasinda %d asal sayi vardir \n", asalsayi);
getch();
}
JAVA DİLİNDE
/* Ahmet GÜREL
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll
ahmetgurel.yazilim@gmail.com */
public class asalsayi {
public static void main(String[] args) {
int bolen=0,asalsayi=0,i,j;
for( i=1;i<=10000;i++){
bolen=0;
for(j=1;j<=i;j++){
if(i%j==0)
bolen+=1;
}
if(bolen==2)
{
System.out.println("Asalsayi:" +i);
asalsayi+=1;
}
}
System.out.println("1 ile 10000 arasında " +asalsayi+ " asal sayi vardır");
}