Trigonometri Açı Modülleri Programı

Trigonometri Açı Modülleri Programı, özellikle öğretmenlere trigonometri alanında çeşitli etkinlikler ve uygulamalar hazırlamada kolaylık sağlamak amacıyla geliştirilmiştir. Açı birimlerinin dönüşümleri, toplama-çıkarma işlemleri ve çarpma işlemleri gibi temel trigonometri konularını kapsayan modüller sayesinde, öğretmenler hızlıca soru ve cevap PDF dosyaları oluşturabilirler. Böylece sınıf içi etkinlikler, bireysel çalışmalar ve sınav hazırlıkları için pratik materyaller oluşturmak çok daha kolay hale gelir.

Trigonometri Açı Modülleri Programı, Python programlama dili ve Tkinter kütüphanesi kullanılarak geliştirilmiştir. Tkinter, Python’un standart GUI (grafik kullanıcı arayüzü) kütüphanesi olup, platformlar arası uyumluluk sağlar ve kolay arayüz tasarımı yapmaya olanak tanır. PDF dosyalarının oluşturulması için ise ReportLab kütüphanesi kullanılmıştır. Program, Windows, macOS ve Linux gibi farklı işletim sistemlerinde çalışabilir. Python’un esnekliği sayesinde hem eğitim hem de profesyonel amaçlarla rahatlıkla kullanılabilecek bir araç olarak tasarlanmıştır. 

| | | | Devamı... 0 yorum

Ebob-Ekok Oluşturucu (Python Kod)

"Ebob-Ekok Oluşturucu" Python programı, özellikle ortaokul seviyesindeki öğrenciler için matematiksel kavramların daha iyi anlaşılmasına yardımcı olmak amacıyla geliştirilmiştir. Bu yazılım, rastgele seçilen sayılarla EBOB (En Büyük Ortak Bölen) ve EKOK (En Küçük Ortak Kat) hesaplamalarını otomatikleştirerek, öğretmenlerin ve öğrencilerin alıştırma yapmalarını kolaylaştırır. Bu programın temel amacı, öğrencilerin EBOB ve EKOK kavramlarını uygulamalı bir şekilde öğrenmelerini sağlamaktır. Öğrenciler, rastgele oluşturulan sayı gruplarının asal çarpanlarını ayırarak bu değerleri hesaplamayı öğrenirler. Ayrıca, programın çıktısı olan PDF dosyaları, öğretmenlerin sınıf içi etkinliklerde veya ödevlerde kullanabileceği alıştırma sayfaları sunar. 
Çarpan ve Katlar konusunda EBOB ve EKOK işlemleinin daha iyi anlaşılması için 300 den küçük sayılar arasından rasgele sayılar seçerek, ikili ya da üçlü sayı grupları oluşturup, bunların EBOB - EKOK değerlerinin bulunması şeklinde alıştırma sayfasını oluşturan PYTHON kodlaması aşağıda verilmiştir. Program arayüzü aşağıdaki gibidir: 
Kodlamada istediğiniz şekilde özelleştirmelerde bulunabilir, yeni özellikler ve iyileştirmeler yapabilirsiniz. Programda en fazla 100 kadar işlem oluşturulabilmekte ve sayı grupları 2'li veya 3'lü grup olarak seçilebilmektedir. 
Program çıktısı A4 sayfa düzenine göre hazırlanmıştır. Programın Python kodu aşağıdaki gibidir. Aşağıdaki kod düzenini kopyalayarak üzerinde istediğiniz gibi değişikliklikler yapabilirsiniz. Özellikle ortaokul kademesinde alıştırma yaprakları oluşturmada program büyük kolaylık sağlayacaktır. Program sayesinde hazırlanan etkinlikler yardımıyla öğrenciler, öğretmen rehberliğinde sınıf içi etkinliklerde alıştırmalarla EBOB ve EKOK hesaplamalarını öğrenebilirler. Ayrıca evde yapacakları ödevlerle konuyu pekiştirme imkânı bulurlar. Sınav hazırlığı sürecinde de bu pratik alıştırmalar sayesinde konuyu daha iyi anlama fırsatı yakalarlar. Öğretmenler ise sınıf seviyesine uygun zorlukta, özelleştirilmiş alıştırmalar hazırlayarak öğrencilerin ihtiyaçlarına yönelik destek sağlayabilirler. Kadir PANCAR
| | | | | Devamı... 0 yorum

Trigonometri Açı İşlemleri Modülü

Trigonometri Açı İşlemleri modülü, ihtiyaca binaen yazılmış küçük bir modüldür. Temel trigonometrik açı işlemlerini kolay ve hızlı bir şekilde gerçekleştirmek amacıyla geliştirilmiş kapsamlı bir araçtır. Kullanıcı dostu arayüzü sayesinde, trigonometrik hesaplamalarla uğraşan öğrencilerden mühendis ve matematikçilere kadar herkes için basit hesaplamaları zorlanmadan yapar. Açıyı saniyeden dereceye dönüştürme, girilen açının trigonometrik fonksiyon değerlerini hesaplama, girilen iki açı için açılar üzerinde toplama, çıkarma ve çarpma işlemleri yapma ve basit trigonometrik fonksiyon grafik çizimleri gibi işlemleri kolayca yapabilir. Program, trigonometrik fonksiyonların grafiklerini görsel olarak çizme imkânı da sunarak, matematiksel kavramların görselleştirilmesini sağlar. Trigonometri Hesaplama Aracı

Trigonometri Hesaplama Aracı

Trigonometri Açı İşlemleri Modülü, kullanıcıların açılarla ilgili temel trigonometrik hesaplamaları hızlı ve doğru bir şekilde yapmasını sağlayan pratik bir araçtır. Öğrencilerden mühendis ve matematik uzmanlarına kadar geniş bir kullanıcı kitlesine hitap eder. Modül, açıları toplama, çıkarma, dereceden radyana veya radyandan dereceye dönüştürme gibi işlemleri kolaylaştırır ve karmaşık trigonometrik hesaplamaları basitleştirir. Kullanıcı dostu tasarımı sayesinde, işlemler birkaç adımda tamamlanabilir ve hata yapma riski minimuma indirilir.

Modül 1: Saniyeyi Derece/Dakika/Saniyeye Çevir

Saniye:

Modül 2: Açıdan Sin, Cos, Tan, Cot Hesapla

Açı:

Modül 3: Açının Esas Ölçüsü

Açı (°):

Modül 4: DMS Açı Toplama / Çıkarma / Çarpma

1. Açı
D: M: S:

2. Açı
D: M: S:

| | | Devamı... 0 yorum

Açı İşlemleri ve Grafik Çizimi Programı (Kod)

Trigonometri Açı İşlemleri ve Grafik Çizimi  programı, ihtiyaca binaen yazılmış küçük bir modüldür. Temel trigonometrik açı işlemlerini kolay ve hızlı bir şekilde gerçekleştirmek amacıyla geliştirilmiş kapsamlı bir araçtır. Kullanıcı dostu arayüzü sayesinde, trigonometrik hesaplamalarla uğraşan öğrencilerden mühendis ve matematikçilere kadar herkes için basit hesaplamaları zorlanmadan yapar. Açıyı saniyeden dereceye dönüştürme, girilen açının trigonometrik fonksiyon değerlerini hesaplama, girilen iki açı için açılar üzerinde toplama, çıkarma ve çarpma işlemleri yapma ve basit  trigonometrik fonksiyon grafik çizimleri gibi işlemleri kolayca yapabilir. Program, trigonometrik fonksiyonların grafiklerini görsel olarak çizme imkânı da sunarak, matematiksel kavramların görselleştirilmesini sağlar.

 

| | | | Devamı... 0 yorum

Asal Çarpan Hesaplama Modülü

“Asal Çarpan Hesaplama Modülü” adlı Python uygulaması, öğrencilerin ve matematik meraklılarının bir sayının özelliklerini detaylı biçimde inceleyebilecekleri çok işlevli bir modül olarak tasarlanmıştır. Bu programın odak noktası, kullanıcı tarafından girilen pozitif bir tam sayının asal çarpanlarını ve daha birçok matematiksel niteliğini hesaplamak ve göstermek, böylece sayılarla ilgili kavrayışı derinleştirmektir. 
Programın işlevleri arasında şunlar yer alır: Verilen sayının asal olup olmadığını belirleme, Sayının asal çarpanlarını bulma, Sayının pozitif ve negatif tüm bölenlerini listeleme, Asal olmayan pozitif bölenleri ayırma, Tek ve çift pozitif bölenleri tespit etme, Pozitif bölenlerin toplamını hesaplama, Pozitif bölenlerin çarpımını bulma, Sayının Fibonacci dizisinde olup olmadığını kontrol etme, Sayının “mükemmel sayı” olup olmadığını belirleme, Sayının palindrom (tersiyle aynı) olup olmadığına bakma, Sayının karekök değerini hesaplama, Sayının asal çarpanlarının üs gösterimli biçimini hazırlama.  
Aşağıdaki sayı kutusu bölümüne herhangi bir sayı giriniz. Bu sayı ile ilgili çeşitli özellikleri, sonuç ekranından görebilirsiniz.
Sayı Çarpan ve Bölen Hesaplayıcı

Sayının Çarpanları ve Bölen Hesaplayıcı



Asal çarpan Hesaplama Modülü (Python Kod)

Asal sayı, yalnızca 1 ve kendisi olmak üzere iki pozitif böleni olan bir doğal sayıdır. Bir sayının asal sayı olabilmesi için 1’den büyük olması ve kendisinden başka hiçbir sayıya tam bölünmemesi gerekir. En küçük asal sayı 2’dir ve aynı zamanda tek çift asal sayıdır. 1 asal sayı olarak kabul edilmez, çünkü yalnızca bir pozitif böleni vardır. Asal sayılar, matematikte sayıların yapı taşları olarak kabul edilir ve diğer doğal sayılar bu asal sayıların çarpımıyla elde edilebilir. Asal çarpan, bir sayının asal olan çarpanlarına denir. Örnek olarak 20 sayısının asal çarpanları 2 ve 5 tir. 1, 4, 10, ve 20 ise 20 sayısını tam olarak böldüğü halde asal çarpan değildir. 
Fibonacci sayısı, Fibonacci dizisinde yer alan bir sayıdır. Bu dizi, 1 ile başlar ve her sayı kendisinden önce gelen iki sayının toplamı olarak elde edilir. Yani dizinin ilk terimi 1 sonraki terim 1’in toplamı olan 1, üçüncü terimi 1 ile 1’in toplamı olan 2, dördüncü terimi 1 ile 2’nin toplamı olan 3 şeklinde devam eder. Bu şekilde oluşan sayı dizisi 1, 1, 2, 3, 5, 8, 13, 21, 34, 55... şeklindedir. Fibonacci sayıları hem matematikte hem de doğada sıkça karşımıza çıkar. Bitkilerin yaprak dizilimleri, çiçeklerin yapısı ve bazı hayvanların büyüme düzenleri gibi doğal örneklerde bu sayıların izine rastlanabilir. Ayrıca bilgisayar bilimleri ve algoritmalar gibi teknik alanlarda da kullanılır. 
Yukarıda anlatılan matematiksel tanımlara benzer şekilde, sayı özelliklerini görmek amacıyla bir program hazırlama gereği duyduk. Buna göre “Asal Çarpan Hesaplama Modülü” adlı Python uygulaması, öğrencilerin ve matematik meraklılarının bir sayının özelliklerini detaylı biçimde inceleyebilecekleri çok işlevli bir modül olarak tasarlanmıştır. Bu programın odak noktası, kullanıcı tarafından girilen pozitif bir tam sayının asal çarpanlarını ve daha birçok matematiksel niteliğini hesaplamak ve göstermek, böylece sayılarla ilgili kavrayışı derinleştirmektir. Programın işlevleri arasında şunlar yer alır: Verilen sayının asal olup olmadığını belirleme, Sayının asal çarpanlarını bulma, Sayının pozitif ve negatif tüm bölenlerini listeleme, Asal olmayan pozitif bölenleri ayırma, Tek ve çift pozitif bölenleri tespit etme, Pozitif bölenlerin toplamını hesaplama, Pozitif bölenlerin çarpımını bulma, Sayının Fibonacci dizisinde olup olmadığını kontrol etme, Sayının “mükemmel sayı” olup olmadığını belirleme, Sayının palindrom (tersiyle aynı) olup olmadığına bakma, Sayının karekök değerini hesaplama, Sayının asal çarpanlarının üs gösterimli biçimini hazırlama  
Teknik yapısı bakımından program, Python’un standart ve yaygın kütüphanelerini kullanır. Örneğin math kütüphanesi karekök işlemleri ve sayısal hesaplamalar için kullanılırken, tkinter kütüphanesi grafiksel kullanıcı arayüzünü (GUI) oluşturmak için devreye girer. Burada program kodlarını kullanarak gerekli arayüz iyileştirmelerini yapabilirsiniz. Arayüz penceresi kullanıcıdan bir sayı girişi alır ve “Hesapla” düğmesine basıldığında tüm bu özellikleri hesaplayıp ekranda uygun metin kutularında gösterir. Program ayrıca girilen sayının asal çarpanlarını üs gösterimiyle biçimlendirir. Bu, öğrencilerin asal çarpanlara ayırma işlemini hem sayı düzeyinde görmelerine hem de sembolik olarak kavramalarına yardımcı olur.  
Amaç açısından bu modülün temel hedefi, sayılarla ilgili birçok kavramı tek bir uygulamada kapsayarak, kullanıcıların asal çarpanlara ayırma, bölenler, mükemmel sayı, Fibonacci, palindrom gibi kavramları bir bütünlük içinde öğrenmesini sağlamaktır. Öğrencilerin soyut kavramları somut örneklerle görerek pekiştirmesini, sayısal düşünme becerilerini geliştirmesini destekler. Aynı zamanda öğretmenler için de derste anlatılan teoriyi uygulamaya dönüştürecek bir yardımcı rol üstlenir. Kullanım açısından uygulama oldukça kullanıcı dostudur. Kullanıcı, arayüzde bir sayı girer, “Hesapla” butonuna basar; program da anında sayının tüm yukarıda sayılan özelliklerini hesaplayıp ekranda gösterir. Hatalı ya da negatif giriş yapıldığında uygun uyarılar verilir. Böylece hem öğretmen tarafından ders materyali olarak hem de öğrencilerin bireysel alıştırmaları için kullanışlı bir araç haline gelir.  
Anlatılan sayı özelliklerini hesaplayan Python kodlu matematik programı, görseli aşağıda verilmiştir. Resmi büyütüp yazılımın özelliklerini inceleyebilirsiniz. Programın "exe" formatlı hali ve açık kaynak kodu da ekli dosyada ilave edilmiştir. Derslerinizde kullanabilirsiniz. Kadir PANCAR
 

Taban Aritmetiği ve ASCII kodları

ASCII (American Standard Code for Information Interchange), bilgisayarlarda ve internette metin verileri için en yaygın karakter kodlama biçimidir. ASCII, siber güvenlik sistemlerinde şifreleme ve veri güvenliğini sağlayan temel araçlardan biridir. Bütün metin karakterleri, sosyal ağlarda kullanılan şifreler, ASCII (Amerikan Bilgi Değişimi İçin Standart Kod) karakter kümesinden seçilen harfler, sayılar ve sembollerle oluşturulur.  
Metin ve şifrelerde girilen her bir karakter ASCII karakter kümesinde belirli bir sayısal değere karşılık gelir. Standart ASCII kodlu verilerde, 128 alfabetik, sayısal veya özel ek karakter ve kontrol kodu için benzersiz değerler vardır. Yıllar içinde, orijinal 128 karakter kümesini ek semboller ve karakterlerle genişleten birkaç ASCII genişletilmiş küme ortaya çıkmıştır. (Resim: En sık kullanılan büyük ve küçük harf latin alfabesi karakterleri ve bazı sembollerin ASCII kodları)
 
| | | | Devamı... 0 yorum

Kadane Algoritması

Kadane Algoritması, belirli bir sayı dizisi içindeki maksimum alt dizi toplamını bulmak için kullanılan dinamik bir programlama tekniğidir. Dinamik Programlama, karmaşık bir problemi daha basit alt problemlerden oluşan bir koleksiyona bölerek, bu alt problemlerin her birini yalnızca bir kez çözerek ve çözümlerini bellek tabanlı bir veri yapısı (dizi, harita vb.) kullanarak saklayarak çözme yöntemidir. Yani bir dahaki sefere aynı alt problem ortaya çıktığında, çözümünü yeniden hesaplamak yerine, daha önce hesaplanan çözüme bakılır ve böylece hesaplama süresinden tasarruf edilir. Adını mucidi Jay Kadane'den alan algoritma; bilgisayar bilimi ve veri analizinden finans ve görüntü işlemeye kadar çeşitli alanlarda uygulamalara sahiptir. Algoritma 1984 yılında Jay Kadane tarafından önerilmiştir ve O(n) zaman karmaşıklığına sahiptir. 
Kadane Algoritması, belirli bir dizideki maksimum alt dizi toplamını bulmak için kullanılan doğrusal bir zaman algoritmasıdır. Bir alt dizi, dizi içindeki öğelerin bitişik bir alt kümesi olarak tanımlanır. Algoritma, pozitif ve negatif sayıları çok verimli bir şekilde ele alır, bu da onu alt dizileri içeren birçok sorunu çözmek yerine daha pratik çok yönlü bir çözüm aracı haline getirir.Kadane'nin algoritmasından önce, maksimum alt dizi problemini çözmek için tüm olası alt dizileri kontrol eden kaba kuvvet yaklaşımı ve böl ve yönet algoritması gibi başka algoritmalar önerilmişti. Ancak bu algoritmalar daha yüksek zaman karmaşıklığına sahiptir ve Kadane'nin algoritmasından daha az verimlidir. Kadane'nin Algoritmasının altında yatan mekanizmaları, Java kodu uygulamalarını, adım adım süreci, Kadane'nin algoritma leetcode'unu, C, C++'yi, zaman karmaşıklığını, avantajlarını ve dezavantajlarını, pratik uygulamaları ve daha fazlasını anlamanız sizin için faydalı olacaktır.

Kadane Algoritması, dizi üzerinde yineleme yaparak ve her konumda biten alt dizinin maksimum toplamını takip ederek çalışır. Her i konumunda, iki seçeneğimiz vardır: ya i konumundaki elemanı geçerli maksimum alt diziye ekleyin ya da i konumunda yeni bir alt dizi başlatın. Bu iki seçeneğin maksimumu i konumunda biten maksimum altdizidir.
Yazılım dilinde bu algoritma şu şekilde işler: Başlangıç toplamı max_so_far ve max_ending_here değerleri 0 olarak alınıp dizi öğeleri tek tek incelenir. Sırasıyla şu ana kadar görülen maksimum toplamı ve geçerli konumda biten maksimum toplamı takip etmek için max_so_far ve max_ending_here olmak üzere iki değişkeni her dizi elemanında korunur. Algoritma, her iki değişkeni de dizinin ilk öğesinden başlayarak sırasıyla değiştirir. Daha sonra dizinin elemanlarını aldıktan sonra geçerli toplamı maksimum toplamla kıyaslayarak ikinci öğeden dizinin sonuna kadar aynı işlemler tekrarlanır. Her i konumunda, geçerli öğenin maksimumunu ve önceki maksimum alt diziye eklenen geçerli öğeyi alarak max_ending_here'i güncellenir. Daha sonra max_so_far'ı max_so_far ve max_ending_here'nin maksimumu olacak şekilde güncelleme işlemine devam edilir. Geçerli toplam maksimum toplamdan büyük ise artık yeni maksimum toplam değeri buna göre güncellenir aksi halde önceki maksimum toplam aynı kalır. Algoritma, dizideki herhangi bir alt dizinin maksimum toplamı olan max_so_far değerini sürekli olarak döndürür. Dizinin son terimine gelince işlem biter ve maksimum toplamı veren alt dizi elde edilir.
Kadane Algoritmasını şöyle bir sayı dizisi örneğiyle gösterelim:
Giriş Dizisi: [-2, 1, 6, -3, 4, -1, -7, -3, 5] Bu dizinin maksimum altdizi toplamını bulmak istiyoruz. Bu sorunu çözmek için Kadane'nin algoritmasını uygulayabiliriz.
İki değişkeni başlatarak algoritmayı başlatıyoruz:
1) max_so_far: Bu değişken şu ana kadar gördüğümüz maksimum alt dizi toplamını takip edecektir. (Geçerli Toplam)
2) max_ending_here: Bu değişken mevcut endekste biten maksimum toplamı takip edecektir. (Max Toplam)
3) İlk başlangıç toplamı max_so_far ve  max_ending_here=0 olur. Daha sonra ikinci elemandan başlayarak dizi boyunca toplamları yineliyoruz: Öğe -2 ye gidip yeni toplam -2 olur. (0+(-2)=-2) [Sub:-2]
4) Geçerli öğeyi önceki toplama ekleyerek geçerli toplamı güncelleyin: Geçerli Toplam=0+(-2)=-2 [Sub:-2]
5) Şu ana kadar görülen maksimum toplamı güncelleyin: 0+(-2)=-2 olur.(Maksimum Toplam=-2) [Sub:-2, Max:-2]
6) Dizi boyunca ilerleyerek yerel toplam (Geçerli toplam) ve maksimum toplam sonuçlarını yinelemeye başlayalım.
Dizide öğe 1 elemanına gelince: Geçerli toplam -1 olur. (-2+1=-1)  [Sub:-1]
Maksimum toplam, geçerli toplam olan -1, max toplam -2 yi geçtiği için -1 olarak güncellenir. [Sub:-1, Max:-1]
7) Öğe 6 elemanına gidelim: Yeni geçerli toplamı 5 olur. ((-1)+6=5) Maksimum toplamı ise 5 toplamı önceki maksimum toplam olan -1 sayısını geçtiği için güncellenir ve maksimum toplam 5 olur.  [Sub:5, Max:5]
8) Öğe -3'e gelince:Yeni geçerli toplamı 2 olur. (5+(-3)=2) Maksimum toplamı ise 2 toplamı önceki maksimum toplam olan 5 sayısını  sayısını geçemediği için aynı kalır. Yeni maksimum toplam halen 5'tir. [Sub:2, Max:5]
9)Öğe 4'e gelince:Yeni geçerli toplamı 6 olur. (2+4=6) Maksimum toplamı 6 ise önceki max toplam 5'i geçtiği için yeniden güncellenir ve yeni maksimum toplam 6 olur. [Sub:6, Max:6]
10)Öğe -1'e gelince:Yeni geçerli toplamı 5 olur. (6+(-1)=5) Maksimum toplamı ise 5 toplamı önceki maksimum toplam olan 6 sayısını geçemediği için halen aynı kalır ve 6 olur. [Sub:5, Max:6]
11)Öğe -7'e gelince:Yeni geçerli toplamı -6 olur. (5+(-7)=-2) Maksimum toplamı ise -2 önceki maksimum toplam olan 6 sayısını geçemediği için aynı kalır. [Sub:-2, Max:6]
12)Öğe -3'e gelince:Yeni geçerli toplamı -5 olur. ((-2)+(-3)=-5) Maksimum toplamı ise -5 önceki maksimum toplam olan 6 sayısını geçemediği için aynı kalır. [Sub:-5, Max:6]
13)Öğe 5'e gelince:Yeni geçerli toplamı 0 olur. ((-5)+5=0) Maksimum toplamı ise 0 toplamı önceki maksimum toplam olan 6 sayısını artık geçemediği için aynı kalır. [Sub:0, Max:6]
Tüm dizi için bu işleme devam edip en son öğeye gelindiği için işlem biter. Bu örnekteki maksimum alt dizi, toplamının en büyük olduğu değer 6 olduğundan buna uygun bir alt dizi [-2, 1, 6, -3, 4] olur.
Java ve C++ programlamada Kadane Algoritması şöyle çalışır:
1)İki değişkeni, max_so_far ve max_ending_here'i 0'a başlatın.
2)Diziyi soldan sağa doğru yineleyin ve her öğeyi tek tek inceleyin.
3)Her öğe için, maksimum değer ya geçerli öğe ya da geçerli öğe ile max_ending_here'in toplamı olduğundan max_ending_here'i güncelleyin.
4)Max_so_far'ı mevcut max_so_far veya max_ending_here'in maksimumu kadar güncelleyin.
5)Dizideki tüm öğeler için 3. ve 4. adımları tekrarlayın.
6)Yinelemenin sonundaki max_so_far değeri maksimum altdizi toplamı olacaktır.
#include <iostream>
using namespace std;
int maxSubarraySum(int arr[], int size) {
  int maxEndingHere = arr[0];
  int maxSoFar = arr[0];
  for (int i = 1; i < size; i++) {
      maxEndingHere = max(arr[i], maxEndingHere + arr[i]);
      maxSoFar = max(maxSoFar, maxEndingHere);
  }
  return maxSoFar;
}
int main() {
  int nums[] = {-2, -1, -3, 4, -1, 2, 1, -5, 4};
  int size = sizeof(nums) / sizeof(nums[0]);
  int maxSum = maxSubarraySum(nums, size);
  cout << "Maximum subarray sum: " << maxSum << endl;
  return 0;
}
Kaynakça:
https://www.tpointtech.com/kadanes-algorithm
https://www.simplilearn.com/kadanes-algorithm-article
https://www.interviewbit.com/blog/maximum-subarray-sum/
https://www.guru99.com/tr/largest-sum-contiguous-subarray.html
https://www.codecademy.com/resources/docs/general/algorithm/kadanes-algorithm
 

Eratosthenes Kalburu

Eratosthenes MÖ. 276-194 yılları arasında yaşamış bir Yunan bilgindir ve bilim tarihi boyunca pek çok alana önemli katkılar yapmıştır. En önemli buluşlarından biri, dünyanın çevresini etkin bir şekilde hesaplama yöntemidir. Bu yöntem kendi adıyla anılan "Eratosthenes kalburu" (veya Eratosthenes Gözü) olarak bilinir. 
Eratosthenes kalburu, antik dönemde yaşamış, matematik ve coğrafya alanlarında çalışmalarda bulunmuş Eratosthenes tarafından geliştirilmiş bir usturlab türüdür. Bir usturlab, genellikle gökyüzündeki cisimlerin yüksekliğini veya konumunu belirlemek için kullanılan bir astronomik alet türüdür. Usturlabın temel bileşenleri arasında genellikle bir halka şeklindeki ölçek, eğik bir iğne (çubuk) ve bir gözlem düzlemi yer alır. Gözlem düşey açıları ölçerken usturlabın halkasındaki ölçek ile referans alınarak gökyüzündeki nesnelerin konumları belirlenebilir. Geleneksel olarak denizcilikte de kullanılan usturlaplar, gökyüzündeki yıldızlar ve Güneş'in konumunu belirlemek için önemli bir araçtır. Eski zamanlarda oluşturulan usturlab modeli, Anadolu'da eş-benzerlik anlamına gelen "delik deseni" olarak da bilinir. Üzerinde çeşitli geometrik desenler bulunan bu modellerin genellikle astronomi bilimine ve çeşitli dini inanışlara hizmet ettiği düşünülmektedir. Anadolu'da bu delik deseni, seramiklerde, halı ve dokumalarda yaşatılarak, geometrik motiflerin kullanıldığı Anadolu çini sanatının özgün ve dikkat çekici bir özelliği haline gelmiştir. Dünyanın en eski tapınağı olarak kabul edilen, devasa taş sütunların bulunduğu dairesel yapısıyla tanınan Göbekli Tepe  de halk arasında "delik deseni" olarak da bilinir. Göbekli Tepe'deki delik desenleri, genellikle T şeklini temsil eder. Bazı araştırmacılar, bu delik desenlerinin astronomik gözlemlerle bağlantılı olduğunu düşünmektedir.
Eratosthenes kalburu, bir çeşit usturlab tekniğine dayanan dünyanın çevresini ve çapını yaklaşık olarak hesaplamak için kullanılan bir yöntemdir. Esas amacı güneş ışınlarının dik geldiği noktayı belirlemek ve mesafe ölçmek içindir. Bu yöntemde, aynı anda güneşin ışınlarına maruz kalan iki farklı noktadaki gölgelerin oluşturduğu açıya dayanarak yeryüzündeki bir noktanın enlemini hesaplamak mümkündür. Bu sayede, dünyanın çevresi ve çapı hakkında önemli bilgiler elde edilir. 
Eratosthenes, icat ettiği bu kalbur yardımıyla güneş ışınlarının dünya üzerinde dik geldiği noktayı ölçerek yaptığı hesaplamalarla dünya yüzeyinin çevresini günümüz dünyasındaki verilere göre kısmen doğru bir şekilde hesaplamış ve bugünkü coğrafyanın gelişimine önemli katkılarda bulunmuştur.
Eratosthenes'in bu kalbur yöntemini kullanması, Asvan ve İskenderiye gibi iki farklı yerleşim yerinin güneş ışınlarından nasıl etkilendiğini gözlemleyerek oldu. Raweh'deki (günümüzde Asvan) yaz günlerinde güneşin tam bir kuyu dibine düşmek suretiyle kuyunun dibini aydınlattığını gözlemledi. Ancak İskenderiye’de aynı tarihlerde güneş tam tepeden gelmediğini ve yer ile bir açı yaptığını gördü. Buna dayanarak Eratosthenes, yeryüzündeki Mesir (Assuan) şehrine dik bir kuyu (direnge) açarak, o kuyunun dibindeki çubuğa (dikme) dolan güneşin gölgesini ölçerek Güneş’in o yerden yüksekliğini hesapladı. Bu ölçüm sonucunu, yanındaki kentin gölgesiyle karşılaştırarak, kentin Güneş'e olan mesafesini hesapladı. Eratosthenes, daha sonra bu iki yerleşim yeri arasındaki mesafeyi hesapladı. Bu yöntemlere aynı şekilde devam ederek dünyanın çapını hesapladı Eratosthenes, dünyanın çevresini bulmak için bugünün biliminde bilinen trigonometrik hesaplamaların benzerlerini kullandı. Böylece dünyanın çevresini yaklaşık olarak 40000 km (39,375 km) olarak hesaplamış oldu ki bu ölçüm sonucu güncel bilgilere göre yaklaşık olarak doğrudur. 
Eratosthenes, Mısır'da gerçekleştirdiği ölçümlerde kullandığı yöntem, Firavun Ptolemy III tarafından desteklenmiştir. Eratosthenes Kalaburu, dünyanın çevresini doğru bir şekilde hesapladığı için yaşadığı dönem açısından önemli bir buluş olarak kabul edilir.
Eratosthenes'in yöntemini günümüzde kullanmak istediğimizde bu yöntem şöyle işler: İlk olarak, aynı anda güneş ışınlarının dik olarak düştüğü iki farklı konum veya noktada  (örneğin, bugün Türkiye ve Mısır arasında aynı anda iki çubuk dikilir) birer çubuk dikilir. Ardından, bu çubuklara göre güneş ışınlarından çubuğun gölgesinin uzunluğu tam olarak ölçülür. Aynı anda diğer yerde bulunan çubuğun gölgesinin uzunluğu da ölçülür. Bu sayede, iki gölge uzunluğu arasındaki farktan hareketle güneş ışınlarının bu iki noktaya geliş açıları bulunur. Bugün bildiğimiz trigonometrik toplam ve fark formülleri kullanılarak bu yerlerin güneşe uzaklıkları ve dünyanın şekli baz alınarak da dünyanın çapını ve çevresini hesaplamak mümkün hale gelir. 
Eratosthenes, asal sayıları hızlı bir şekilde belirlemek için de bir algoritma oluşturmuştur. "Eratosthenes kalburu" adı verilen yöntem ve asal sayıların tespitinde kullandığı algoritma, yazılım dünyası için bir döngü oluşturması açısından önemli bir buluştur. Bu yöntemde, bir sayı kümesindeki asal olmayan sayılar eleme yoluyla belirlenir. İlk adımda 2'den başlayarak sırasıyla tüm katları çıkarılarak elenir ve kalan sayılar asal olarak kabul edilir. Bu basit ve etkili yöntem, asal sayıları belirlemede yaygın olarak kullanılmaktadır. Eratosthenes'in keşfi, asal sayıları hızlı ve verimli bir şekilde belirlemede oldukça kullanışlıdır. Bu algoritma, bilgisayar biliminde ve kriptografi gibi alanlarda da yaygın olarak uygulanmaktadır. Eratosthenes kalburu, asal olmayan sayıları hızla eleme yöntemiyle çalışır ve büyük sayılar üzerinde de etkili bir şekilde işlev görür. 
Eratosthenes kalburu yoluyla asal sayıları bulmak için aşağıdaki adımlar sırayla izlenir:
1. İlk olarak, istenen belirli bir aralık içindeki sayıları bir liste şeklinde sıralarsınız. Örneğin 1 den 100'e kadar olan sayılardan asal olanları bulmak istiyorsak bütün bu sayılar sıralanır.
2. Listenin ikinci elemanından itibaren başlayarak, her bir sayının katlarından başlayarak listeden çıkartırsınız. Örneğin, listemizde ikinci sayı 2 olduğundan tüm 2'nin katı olan sayıları listeden çıkarırsınız. Geriye sadece tek sayılar ve 2 elemanı kalır.
3. Her seferinde bir sonraki elemandan başlayarak işlemi tekrar ederek, liste üzerinde ilerlersiniz. Her adımda yeni bir asal sayı ortaya çıkar. Listede 3 sayısına geçirip bunun katları tek tek elenir. Sonra 5 sayısına geçilip bunun katları elenir. Bu şekilde devam edilir.
4. İşlem sonucunda listenin son elemanına ulaşıncaya kadar devam edersiniz. Elenmeden kalan sayılar asal sayılardır.
Yazılım algoritması yardımıyla aşağıdaki işlem adımları ile elde edilir. 
1. adım: 2’den belirlenen bir n tamsayı değerine kadar ardışık tamsayılardan bir liste oluşturun. (n=100 olsun)
2. adım: Başlangıçta en küçük asalsayı olan 2’yi alarak işleme başlayın. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,... Oluşturulan listeden 2’nin tüm tam katlarını bulup (4,6,8,10,12,…) işaretleyerek listeden çıkarın.
3. adım: İşaretlenmemiş bir sonraki sayıyı alın, örneğin 3 ve tüm tam katlarını (6,9,12,15,18,....) işaretleyip bunları listeden çıkarın. 
4. adım: Aynı işlemlere 3.adımı algoritma sonlanana kadar tekrarlayarak devam edin. Tümsayılar işaretlenmişse veya bir sonraki işaretlenmemiş sayı artık bulunamıyorsa durun. 
5.adım: Listede işaretlenmemiş olarak kalan sayılar, n=100 tamsayısına kadar olan tüm asal sayılar bulunmuş olur. Artık İşlem tamamlanmıştır. Kalan asal sayıları yazarak işlemi bitirin.
Bu eleme yöntemi, asal sayıları belirlemek için oldukça etkili ve hızlı bir yöntemdir. Eratosthenes kalburu, küçük aralıklardaki asal sayıları bulmak için yaygın olarak kullanılan bir algoritmadır.Büyük aralıklarda bu yöntem, matematik ve bilgisayar bilimlerinde temel bir konsept olup, bugün bile önemini korumaktadır. Eratosthenes'in bu akıllıca icadı, sayı teorisindeki gelişmelere büyük katkı sağlamıştır.

Şifreleme Çeşitleri (Kriptografi)

Değişen Matematik müfredatı (2025) ile birlikte 9.sınıf matematik derslerinde şifreleme, siber güvenlik, kodlama ve algoritma dili gibi yazılım ağırlıklı yeni üniteler eklenmiştir. Bu konulardan biri şifrelemedir. Bu yazıda şifreleme hakkında kısa bir derleme yaparak günümüzde mevcut şifreleme tekniklerinden bazılarına değinilmiştir. Konunun uzmanlarından daha detaylı bilgiler elde etmek mümkündür. Burada kısaca şifreleme nedir? Şifreleme çeşitleri nelerdir? Örnek bir şifre nasıl oluşturulur? gibi sorulara karşılık kısa bir anlatım söz konusudur. 
Şifreleme yani Kriptografi (encryption); kişisel verileri korumak için kullanılan bir kodlama ve gizleme tekniğidir. Bilgilerin gizli kalmasını sağlamak amacıyla, görünen veriler gizlenerek bunların yerine yeni harfler, sayılar ve özel karakterler kullanılarak bir şifreleme belirlenir. Bu sayede kişisel bilgilere ulaşım teorik olarak engellenmiş olur. Şifreleme işlemi, kriptografik bir anahtar kullanarak düz metni şifreli metne dönüştürür. Kriptografik anahtar, hem gönderici hem de alıcı tarafından bilinen ve kabul edilen bir dizi matematiksel değerdir. Şifreleme ve şifre çözme amacıyla kriptografi algoritmasının kullandığı sayı dizisine “anahtar” denir. Anahtar ne kadar uzunsa şifrenin kırılması da o kadar zor olur. Bir algoritmanın “n” sayısının uzunluğu kriptografik güvenliği ile doğru orantılıdır. Anahtar uzunluğu “n” sayısının bit uzunluğu olarak tanımlanır. 
Doğru anahtara sahip olan herkes, şifrelenmiş verinin şifresini çözebilir veya verileri dönüştürebilir. Bu nedenle kriptografi uzmanları sürekli olarak daha gelişmiş ve karmaşık anahtarlar geliştirmektedir. Veriler 'depolamada' (saklama alanında) veya 'aktarılırken' (iletilirken) şifrelenebilir. İki ana şifreleme sınıflandırması vardır: 
Simetrik şifrelemenin yalnızca bir anahtarı vardır ve tüm taraflar aynı gizli anahtarı kullanır. Asimetrik şifreleme adını birden fazla anahtara sahip olmasından alır: biri şifreleme, diğeri şifre çözme içindir. Şifreleme anahtarı herkese açıkken, şifre çözme anahtarı özeldir. 
| | | Devamı... 0 yorum

Algoritma Örnekleri

Bir problemin çözümüne dair işlem basamakları oluşturulabiliyorsa, o problem çözülmüş demektir. Herhangi bir programlama dilinde, işlem basamaklarını bilgisayarın anlayabileceği şekle dönüştürme yardımıyla problem çözüm işlemi başlamış olur. Bu dönüştürme işlemini kolaylaştırmak için, işlem basamaklarımızı oluştururken bilgisayar diline yakın bir dille yazmak önemlidir. Öyle ki; bilgisayara verilecek iki sayıyı toplayıp, sonucu ekrana yazacak bir program için oluşturulan işlem basamakları, 
1. Sayıları oku 
2. Sayıların toplamlarını hesapla 
3. Toplamlarını ekrana yaz şeklinde olduğunda, bu işlem basamaklarını herhangi bir programlama dilini kullanarak bilgisayara aktarmak, yeterli değişken kullanımı olmadığında daha zor olacaktır. 
Aynı işlem basamakları aşağıdaki gibi yazıldığında programlama açısından daha kolay bir durum verir.
1. Başla 
2. A sayısını oku 
3. B sayısını oku 
4. C = A + B 
5. C sayısını yaz (ekrana yaz) 
6. Dur 
 
Örneğin bir pozitif tamsayının 5 ile tam bölünüp bölünmediği belirlemek için aşağıdaki gibi bir adımlama yapılabilir. 
1. Başla
2. Pozitif bir tamsayı gir
3. sayının birler basamağını bul b=x%10
4. eğer b=5 veya b=0 ise "x, 5 ile tam bölünür" değilse "x , 5 ile tam bölünmez"
5. bitir
 
| | | | Devamı... 0 yorum

Algoritmada akış diyagramları

Algoritmada akış diyagramlarından yararlanılarak çözüm basamakları adımlandırılır. Akış diyagramı, algoritmaların şekil ve sembollerle ifade edilmesidir. Akış şemasında her adım birbirinden farklı anlamlar taşıyan şekillerden oluşur ve adımlar arasındaki ilişki oklar ile gösterilir. Kodlanacak programın akış şemasının oluşturulması, sürecin daha kolay çözümlenmesine yardımcı olur. 
| | | | Devamı... 0 yorum

Algoritma ve Özellikleri

Algoritma, belirli bir problemi çözmek veya belirli bir amaca ulaşmak için çözüm yolunun adım adım tasarlanmasıdır. Bir problemi tanımlama, nedenini açıklama, çözümü için alternatif yolları belirleme ve bu yollar arasından en uygun olanı uygulama süreçlerinin tamamı “problem çözme” olarak adlandırılır. Algoritma, bir problemi çözmek için gerekli yolun basit, net ve belirli bir sıraya göre tasarlanmış hâlidir. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesi algoritma içinde yer alır. Genellikle bilgisayar programlamada algoritma sıklıkla kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralaması algoritmada oldukça önemlidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bir programlama dili vasıtasıyla bilgisayarlar tarafından işletilebilirler. 
| | | | | Devamı... 0 yorum

Çokgenden Pi Sayısına

Pi sayısı, matematikte ilginç bir sayıdır. Herhangi iki sayının birbirine bölümü olarak ifade edilemeyen yani Rasyonel olmayan iraasyonel bir matematik sabitidir. Kısaca tanımlamak gerekirse bir pi sayısı; çemberin çevre uzunluğunun çapına bölümü olarak ifade edebiliriz. 
Pi sayısı için çokgenlerden yola çıkılarak sezgisel olarak yaklaşık bir değere ulaşılabilir. Düzgün çokgenler kullanılarak çevre uzunlukları çap diyebileceğimiz ağırlık merkezlerini herhangi bir köşeye birleştiren doğru parçasına bölerek işlemi sonsuza kadar devam ettiğimizde pi sayısının bilinen 3.14159265359.... değerine yaklaştığını görebiliriz. Bu işlem defalarca çeşitli çokgenler için denendiğinde pi'nin değeri ortaya çıkar. 

Hesaplama Araçları

Hesaplama girişlerinde hesaplamaların sağlıklı olabilmesi için lütfen tamsayı {-3, 0, 5...gibi) veya {1,7 gibi} şeklinde ondalıklı sayıları giriniz. Harf veya sembol girişi yapmayınız.

 

Sayı İşlemleri Hesaplama

Tek/Çift/Asal
sayının

Ortalama Hesaplama

Rastgele Sayı Üretme

Bölünebilme Kalan Bulma

sayısının ile kalanı

Denklem Kök Hesaplama (ax²+bx+c=0)

Trigonometrik Değer Hesaplama

Logaritma Değeri Hesaplama

Kombinasyon ve Permütasyon Hesaplama

1. Sayı 2. Sayı

Dairenin Çevresi ve Alanı

Yarıçap

Düzgün Çokgen Alan ve Çevre Hesaplama

Çokgen Kenarı

Birim Dönüşümleri

Uzunluk (metre)
Ağırlık (gram)
Hacim (litre)
Sıcaklık (Derece)
Mesafe

Yaşınız?

Doğum Tarihiniz

Tarih Gün Hesaplama

Tarih (GG-AA-YYYY)

Tarih Kalan / Geçen Gün

Tarih (GG-AA-YYYY)

Boy-Kütle İndeksi

Kilo (kg) Boy (cm) Yaş Cinsiyet
| | | | Devamı... 0 yorum

Aşağıdaki Yazılar İlginizi Çekebilir!!!