diff --git a/.DS_Store b/.DS_Store index 9fda3d1d4..19eae11bd 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..30bc16279 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/index.js b/index.js index abe2b8bea..b53066be1 100644 --- a/index.js +++ b/index.js @@ -14,12 +14,12 @@ var sayilar = [45,856,12.5,63,0.02,154,2,54,78,61.7,654,26,12.5,63,969,152,32,31 //Örneğin çözümü: function KareninAlani(kenaruzunlugu){ - return kenaruzunlugu*kenaruzunlugu; + return Math.pow(kenaruzunlugu, 2); } /* (Oto test yok) Yukarıdaki KareninAlani fonksiyonunu kenar uzunluğu = 10 vererek aşağıda çalıştırıp, sonucu konsolda gözlemleyin (console.log) */ - +console.log(KareninAlani(10)); /* GÖREV 1: - CemberinCevresi fonksiyonunu kullanarak aşağıdaki yönergeleri uygulayın: @@ -29,14 +29,14 @@ function KareninAlani(kenaruzunlugu){ 4. Hesaplanan çemberin çevresi döndürülecektir. */ -function CemberinCevresi(/* kodlar buraya */){ - /* kodlar buraya */ +function CemberinCevresi(radius){ + return 2 * pi * radius; } /* (Oto test yok) Yukarıdaki CemberinCevresi fonksiyonunu yarıçap = 5 vererek aşağıda çalıştırıp, sonucu konsolda gözlemleyin (console.log) */ - +console.log(CemberinCevresi(5)); /* GÖREV 2: @@ -47,14 +47,14 @@ function CemberinCevresi(/* kodlar buraya */){ 4. Hesaplanan çemberin alanı döndürülecektir. */ -function CemberinAlani(/* kodlar buraya */){ - /* kodlar buraya */ +function CemberinAlani(radius){ + return pi * Math.pow(radius, 2); } /* (Oto test yok) Yukarıdaki CemberinAlani fonksiyonunu yarıçap = 15 vererek aşağıda çalıştırıp, sonucu konsolda gözlemleyin (console.log) */ - +console.log(CemberinAlani(15)); /* GÖREV 3: - Sayfanın en üstünde global değişken olarak tanımlanmış bir sayilar dizisi bulunmaktadır. Bu dizi içinde 0 ile 1000 arasında rasgele oluşturulmuş tam sayılar ve ondalıklı sayılar bulunmaktadır. Bu diziyi kullanarak aşağıdakileri uygulayın: @@ -63,7 +63,7 @@ function CemberinAlani(/* kodlar buraya */){ 3c. `ucetambolunenler` dizisindeki sayıların toplamını .reduce metoduyla bulup, sonucu `ucebolunenlerintoplami` değişkenine yazdırın (.reduce metodunu kullanın) 3d. `besyuzdenkucuksayilar` adında bir dizi oluşturarak, sayilar dizisinin içindeki 500'den küçük sayıları bu diziye atayın (.filter metodunu kullanın) 3e. besyuzdenkucuksayilar dizisindeki sayıları küçükten büyüğe sıralayıp `siralisayilar` adındaki bir diziye aktarın (.sort metodunu kullanın) - 3f. `tekraredensayilar` adında bir dizi oluşturun. sayilar dizisi içerisindeki bazı sayılar birden fazla kere yazılmış. sayilar dizisi içerisinde birden fazla kez yazılmış sayıları tespit ederek kaç kere tekrar edildiğini belirten bir string oluşturulup `tekraredensayilar` dizisine aktarılmasını istiyoruz. Örnek string: "{sayı} sayısı {kere} tekrar edilmiştir" + 3f. `tekraredensayilar` adında bir dizi oluşturun. sayilar dizisi içerisindeki bazı sayılar birden fazla kere yazılmış. sayilar dizisi içerisinde birden fazla kez yazılmış sayıları tespit ederek kaç kere tekrar edildiğini belirten bir string oluşturulup `tekraredensayilar` dizisine aktarılmasını istiyoruz. Örnek string: "{sayı} sayısı {tekrarSayisi} kere tekrar edilmiştir" ÖRNEK: sayilar dizisi içerisinde 45 sayısı 3 kere yazılmış. "45 sayısı 3 tekrar edilmiştir" stringini `tekraredensayilar` dizisine aktaracağız. 💡 İPUCU: Tekrar edilen sayıları ve kaç kere tekrar edildiğini kaydetmek için bir nesne tanımlamalısınız, bu görevi yapabilmek için en az 2 kere döngü yazmalısınız. Birinci döngüde hangi sayının kaç kere tekrar edildiğini tespit edip, 2. döngüde stringi oluşturup verilen diziye aktarmalısınız. */ @@ -76,37 +76,77 @@ function CemberinAlani(/* kodlar buraya */){ var ucetambolunenler, enkucuk, enbuyuk, ucebolunenlerintoplami, besyuzdenkucuksayilar, siralisayilar, tekraredensayilar; //3a çözümü - - /* kodlar buraya */ + enbuyuk = sayilar[0]; + enkucuk = sayilar[0]; + for(let i = 0; i < sayilar.length; i++){ + if(sayilar[i] > enbuyuk){ + enbuyuk = sayilar[i]; + } + if(sayilar[i] < enkucuk){ + enkucuk = sayilar[i]; + } + } + console.log(enbuyuk); + console.log(enkucuk); // 3b çözümü: - /* kodlar buraya */ - - - + ucetambolunenler = []; + sayilar.forEach((item) => { + if(item % 3 === 0) + ucetambolunenler.push(item); + }); + + console.log(ucetambolunenler); + //3c çözümü: - /* kodlar buraya */ + ucebolunenlerintoplami = sayilar.reduce((total, item) => { + /* if(item % 3 === 0){ + return total + item + } else{ + return total + } */ + let value = (item % 3 === 0 ? item : 0); + return total + value; + }) + console.log(ucebolunenlerintoplami); //3d çözümü - /* kodlar buraya */ + besyuzdenkucuksayilar = sayilar.filter(i => i < 500) + console.log(besyuzdenkucuksayilar); //3e çözümü - /* kodlar buraya */ - + siralisayilar = besyuzdenkucuksayilar.sort((a, b) => { + return a - b; + }) + console.log(siralisayilar); //3f çözümü - /* kodlar buraya */ + let tekrarEdenSayilar = {}; + sayilar.forEach(item => { + if(tekrarEdenSayilar[item] === undefined){ + tekrarEdenSayilar[item] = 1 + } else{ + tekrarEdenSayilar[item]++ + } + }) + tekraredensayilar = []; + for(let key in tekrarEdenSayilar){ + if(tekrarEdenSayilar[key] > 1){ + tekraredensayilar.push(`${key} sayısı ${tekrarEdenSayilar[key]} kere tekrar edilmiştir`) + } + } + console.log(tekraredensayilar); diff --git a/not_test.js b/index.test.js similarity index 100% rename from not_test.js rename to index.test.js