algoritma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
algoritma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

23 Aralık 2024 Pazartesi

Akış Şemaları

 

Akış Şemaları 

 Problem çözme sürecimiz, bilgisayarın iletişim kurma yöntemi ile şekillenir. Algoritma, bilgisayara hangi işlemi hangi sırada yapması gerektiğini söyleyen yönergeler bütünüdür. Akış şeması ise algoritmanın görsel gösterimidir. Programcı, oluşturulan algoritmadan grafiksel gösterimler oluşturur. Akış şeması, program geliştirmeye başlamadan önceki son adımdır. Akış şemasında hatalar rahatlıkla görülüp düzeltilebilir. Akış şemalarını oluşturmak için kullanılan evrensel simgeler ve bu her bir simgenin anlamı vardır

Algoritma Yönergeleri ve Akış Şeması Sembolleri

Akış şeması, bir problem çözümünün başlangıcından bitişine kadar olan süreci gösterir. Akış şeması içerisindeki her bir simge, algoritmadaki bir işlemi ifade eder. Genellikle işlemler tek yönlü olmasına rağmen karar kutularından iki farklı ok çıkar. Bir karar simgesinden çıkan ok, bazı işlemlerin tekrarlanmasını sağlayabilir; böylece bir “döngü” oluşur.


Akış şemalarını oluştururken dikkat edilmesi gereken bazı noktalar şunlardır: 

  1. Yönergeler, simgelerin içine yazılmalıdır. 

 2. Hatırlatıcı bilgiler simgenin yanına yazılabilir. Böylece akış şeması ek açıklamalı bir şemaya dönüşür. 

 3. Bir akış şeması her zaman sayfanın başından başlar ve sonuna doğru gider. Eğer bir sayfaya sığmazsa bir ya da daha fazla bağlantı simgesi kullanılarak diğer sayfaya geçilebilir. 

 4. Akış şemasını çizmek için uygun yazılımlar kullanılırsa daha standart bir görünüm elde edilir. 

 5. Simgeler, içeriğindeki yazının rahatça okunabileceği kadar büyük yapılmalıdır

SABİT VE DEĞİŞKENLER

 

Sabit ve Değişkenler 

 Bilgisayarlar problemleri çözmek için süreç boyunca sabit ve değişken olarak adlandırılan verileri kullanır. “Sabit” olarak tanımlanan veriler problemin çözüm süreci boyunca asla değişmeyen değer lerdir. Sabit değerler sayısal, karakter ya da özel semboller olabilir. Bu durumda bu değere bilgisayarın hafızasında bir yer ayrılır ve bir isim verilir. Program çalıştığı sürece bu değer kendisine verilen isim ile çağrılır ve değeri asla değiştirilemez. Örneğin, pi değeri değişmeyen bir değer olacağı için sabit olarak tanımlanmalıdır
 Bu durumun tam tersi şekilde bir “değişken” tanımlandığında değeri, program çalıştığı sürece deği şebilir (Şekil 1.8). Değişkenlere taşıdığı değerleri ifade eden isimler verilir, bu şekilde belirleyici özellik leri de oluşur. Programcılar çözüm sürecinde ihtiyaç duyulan her bir değişkene ayrı bir isim vermelidir. Böylece bilgisayar bu ismi, ilgili değeri hafızada bulmak için kullanır. Değişken, farklı veri türlerinde olabilir ancak ismi, içerdiği değer ile tutarlı olmalıdır. Örneğin fiyat isimli bir değişenin içerisinde 50 değeri atanmış olabilir, program çalıştığı süre içerisinde bu değer değişebilir ancak değişkenin ismi hiçbir zaman değişmez. 

 Değişkenlere isim verirken ve bunları kullanırken dikkat edilmesi gereken kurallar şunlardır: 

 1. Değişkene içerdiği değer ile tutarlı isimler veriniz.
 2. Değişkenlere isim verirken boşluk kullanmayınız.
 3. Değişkenlere isim verirken bir karakter ile başlayınız.
 4. Matematiksel semboller kullanmamaya dikkat ediniz.
 Değişken isimleri konusunda aşağıdaki noktalara dikkat edilmelidir.
- Bazı platformlar desteklemediği için Türkçe karakter kullanımı tavsiye edilmez.
- Programlama dillerinde kullanılan komut isimleri değişken olarak kullanılamaz. Çok bilinenleri; if, for, while, else, do, int, vb.
- Değişken isimlendirmelerinde boşluk karakteri yerine alt çizgi ( _ ) karakteri kullanılabilir ancak değişken isimlendirmede genellikle küçük harfle başlanır ve ikinci bir kelime yazılacaksa ilk kelimenin hemen ardından büyük harfle devam edilir. Buna “Camel Karakter” kullanımı denir. Örnek: tcKimlikNo
- Özel karakterler değişken isimlerinde kullanılamaz (*,/, -,+, #,%,&,(,=,?,$,[,{ gibi…)

VERİ

 

Veri Türleri 

 Çevremizdeki kavram ve nesneleri farklı şekiller de anlamlandırmak için farklı veri türleri kullanırız. Çözümler üretebilmek için bilgisayarlar “veri”ye gerek sinim duyar. Ham veriler, bilgisayar tarafından “girdi” olarak algılanır ve program aracılığı ile işlenir. Kulla nıcıya geri dönen değer, iş lenmiş veridir; “çıktı” ya da “bilgi” olarak adlandırılır. Bilgisayara hangi veri türüyle çalışıyor olduğu mutlaka belirtilmelidir. Bir programda farklı veri türleriyle işlem yapılabilir. Örneğin tam sayılar, kesirli sayılar, karakterler, simge ler, metinler ve mantıksal değerler, veri türlerini oluşturur.

1. Sayısal Veri 

Sayısal veriler tüm sayı tiplerini içerir. Sayısal veri, hesaplama işlemlerinde kullanılabilen tek veri türüdür. Pozitif ya da negatif tam sayılar ve reel sayılar kullanılabilir. Sayısal veriler; açılar, uzaklık, nüfus, ücret, yarıçap gibi hesaplama sürecinde gerekli değerler için tanımlanır. Banka hesap numarası ya da posta kodu gibi sayısal ama hesaplama için kullanılmayan veriler de vardır. Bu tür veriler sayısal olarak tanımlanmaz. Her bir veri türünün bir veri seti vardır. Sayısal veri için tanımlanmış veri seti 0-9 arasındaki sayılar ve “+” ile “–” işaretlerini kapsar. Örneğin 66578 ve -2356 tam sayı örnekleridir. Reel sayılar, tüm reel ve ondalık sayıları kapsar. Örneğin -56.23, 8695.235 ya da 0.005 reel sayı için örneklerdir. Sayıların alabileceği en küçük ve en büyük değerler kullanılan bilgisayar ve programlama diline göre değişebilir.

2. Alfanümerik/Karakter Veri

 Karakter veri seti; tüm tek haneli sayılar (“0”.. “9”), harfler (“a”..“z”, “A”..“Z”) ve özel karakterleri (“#”, “&”, “*”, ..) kapsar. Bu veri setinden oluşturulan değer, tırnak içinde belirtilir. Büyük ve küçük harf duyarlıdır yani “a” ile “A” farklı algılanır. ASCII (American Standard Codefor Information Interchange) olarak adlandırılan karakter seti 256 karakterden oluşur. Karakterler sadece sayıdan oluşsa bile hesaplama işlemlerinde kullanılamaz. Birden fazla karakter bir araya getirilirse bilgisayar, bu yapıyı “dizi” olarak adlandırır. Karakter ve dizi verileri karşılaştırılabilir ve alfabetik sıraya göre sıralanabilir. Bilgisayar her karaktere bir numara verir ve işlemi bu şekilde gerçekleştirir çünkü bil gisayarlar sayısal işlem yapabilen cihazlardır. Veriler birbirleri ile karşılaştırılır ve azalan ya da artan şekilde sıralanır. Örneğin Muz ile Elma karşılaştırıldığında M harfi E harfinden daha büyük bir sayıya sahip olduğu için Muz dizisinin değeri daha büyüktür. Elif ile Esra karşılaştırıldığında ise Esra daha büyük değer alır çünkü s harfi l harfinden daha sonra gelir. Büyük harflerin küçük harflerden daha düşük sayısal değerleri vardır. 
 Karakterler ve diziler + operatörü kullanarak birbirine bağlanabilir. Birleştirme olarak adlandırılan bu işlem, iki karakter parçasını yan yana getirir. Örneğin “6”+“6” = “66” olur. Genellikle matematiksel işlem gerektirmeyen verilerin, dizi şeklinde tanımlanması önerilir

3. Mantıksal Veri 

 Mantıksal veri, veri setinde yalnızca iki kelime barındırır: doğru ve yanlış. Bu veri evet ya da hayır şeklindeki karar verme süreçlerinde kullanılır. Örneğin elde edilen değer, beklenen değer mi, evli mi, arabası var mı, öğrenci lise mezunu mu gibi sonucu kesin doğru ya da yanlış olan durumlarda mantıksal veri tanımlaması yapılır. Bu kelimeler ayrılmış özel kelimelerdir ve dizi olarak algılanmaz. 

Veri Türleri İçin Kurallar 

1. Tanımladığınız veri genellikle sayısal, karakter, dizi ya da mantıksal olmalıdır. 
 2. Programcı programlama sürecinde verinin adını ve türünü belirtir. Bilgisayar çalışmaya başladığında verinin adı ile türünü eşleştirir. 
 3. Veri türleri karışık kullanılamaz. Örneğin sayısal olarak tanımlanmış bir veri, dizi olarak algıla namaz. Bu durumda bilgisayar, beklediği veri türü ile karşılamaz ve hata verir. 
 4. Her bir veri türü kendisi için tanımlı veri setini kullanır. 
 5. Matematiksel işlemlerde kullanılacak tüm veriler sayısal olarak, diğerleri karakter ya da dizi olarak tanımlanmalıdır. 
 6. Programcılar kendi tanımladıkları veri türlerini de oluşturabilirler. Kullanıcı-tanımlı olarak adlandırılan bu veri türleri, bugünün tarihi, hedef, varılacak süre gibi hem dizi hem de sayısal veriler içeren yapılar oluşturulabilir.


Bilgisayar Veriyi Nasıl Saklar? 

 Bilgisayar veriyi hafızada saklar. Her bir değişken için hafızada belirli bir alan ayrılır ve bu alan her seferinde tek bir değer saklayabilir. Kullanıcı, var olan değer yerine yeni bir değer atadığında eski değer silinir. Hafızada bu konumlar geçicidir. Programın çalışması bittiğinde ya da bilgisayar kapatıldığında bu veriler silinir. Verilerin daha sonra tekrar kullanılması gerekiyorsa sabit disk gibi kalıcı bir konu ma kaydedilmeleri gerekir. Bu şekilde kaydedilen verilere “dosya” adı verilir. Temel anlamda program dosyaları ve veri dosyaları olmak üzere iki dosya türü vardır. Program dosyaları, bilgisayarın yapması istenen komutları ve işlemleri içerir. Veri dosyaları ise programlar çalışırken gereken verileri kapsar.

22 Aralık 2024 Pazar

OPERATÖRLER

OPERATÖRLER

Operatörler önceden tanımlanmış birtakım matematiksel ya da mantıksal işlemleri yapmak için kullanılan özel karakter ya da karakterler topluluğudur. İşlem basamaklarımızın oluşturulmasında yeri geldikçe bazı temel operatörlerden yararlanmamız gerecektir. Örneğin iki sayının toplamını almak için, bölümden kalanını bulmak için veya üssünü hesaplamak için… Ya da iki sayıdan büyük olana karar vermek, aralarındaki eşitliği bulmak için gibi...

Operatörler gerekli işleri yapmaları için birtakım malzemeye ihtiyaç duyarlar. 

Örneğin “+” operatörünün toplama yapabilmesi için iki tane sayıya ihtiyacı olduğu gibi. Bu sayılara operand denilmektedir. (Algan, 2008)

Her operatörün farklı sayıda operandları olabilmektedir. Operand, ilgili operatör tarafından işleme katılan değerlerdir.

Programlama dillerinin destekledikleri operatörlerin değişiklik göstermesine rağmen programlama dillerinden bağımsız olarak hazırlayacağımız algoritmalarımız da kullanabileceğimiz temel operatörleri işlevlerine göre aşağıdaki gibi gruplandırabiliriz.

1. Matematiksel Operatörler

Operandları arasında temel bazı matematiksel işlemleri yerine getirebilen operatörlerdir.

a) “+” Toplama operatörü: 

Matematikteki bildiğimiz toplama işlemidir. Normalde iki operand arasında toplama yapar (işleme katılan operandlar sayısal türden iseler)

*3+5 =8,

 x=4 => x+1= 5 gibi…

!İşleme katılan operandlar alfasayısal (sayısal olmayan, yazı türünden) tipli değerler ise “+” operatörü birleştirme işlemi yapar.

*“Ali” + “Veli” = “AliVeli” gibi…

 b)“-“ Çıkartma operatörü: 

Matematikteki bildiğimiz çıkartma işlemidir İki operand arasında çıkartma yapar.

*5-3 = 2, x=4 => x-1 =3

 c)“*“ Çarpma operatörü: 

Matematikteki bildiğimiz çarpma işlemidir İki sayı arasında çarpma yapar.

*5*3 = 15, 

z=2 => z*3 = 6

!Bilgisayar dünyasında kullanılan programların çoğunda; (Programlama Dilleri, Hesap Makinesi, Excel vb.) çarpma işlemi matematikteki gibi “.” veya “x” ile ifade edilmemektedir. Onların yerine “*” kullanılmaktadır.

d)“/“ Bölme operatörü: 

Matematikteki bildiğimiz bölme işlemidir İki sayı arasında bölme yapar.

*12/3 = 4, x=4 => 12/x = 3

!Bölme işleminde dikkat etmemiz gereken nokta, ikinci sayının bir şekilde “0 (Sıfır)” olmaması gerektiğidir. Çünkü “sayı/0” ifadesi anlamsız bir sonuç üreteceğinden programımız da kararsız duruma düşebilir.

e)“^” Üs operatörü: 

Üs alma işlemidir. Taban bu operatörün soluna yazılırken üs ise sağ tarafına yazılır.

*2^3 = 8

!Bir programcının 2’nin kuvvetlerini ezbere bilmesi gerekmez fakat bir süre sonra

“2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768…” diyerek seri bir

şekilde sayabildiğinizi göreceksiniz. Bu da bilgisayar mimarisinin 2’lik sayılar üzerine

kurulmuş ve dolayısıyla da bu sayılara sıkça işimizin düşüyor olmasından kaynaklanmaktadır.

f) "%" Mod Alma Operatörü:

 Mod alma; bir sayının başka bir sayıya bölümünden kalan sayıdır
 Örneğin; 6%3=0 iken 5%3=2 sonucunu verir.

2. Karşılaştırma Operatörleri

Operandları arasında büyüklük, küçüklük, eşitlik gibi karşılaştırma işlemleri yapabilen operatörlerdir.

!Karşılaştırma işlemlerinde sonuç, ya doğrudur ya da değildir. Az doğru ya da çok yanlış gibi bir şey söz konusu değildir. Aslına bakılırsa bilgisayar dediğimiz bu çok akıllı gibi görünen alet hep bu mantık üzerine inşa edilmiştir. Doğru ya da yanlış, evet ya da hayır, “1” ya da “0” gibi…

Bilgisayar sistemlerinde ikilik sayı sisteminin kullanılıyor olması da buradan gelmektedir. Sonuçta bilginin ifade edilmesi ve bir yerden bir yere de taşınması gerekecektir.

Bilgisayar sistemlerinde bu işlem elektrik vasıtasıyla yapılmaktadır. Yine yukarıdaki mantıkla kablonun ucunda elektrik (+5 Volt) varsa “1” yoksa “0” kabul edilmesi gibi. Üçüncü bir ihtimal kullanılmamaktadır. Bu iki sayı da (“1” ve “0”) ikilik sayı sistemini oluşturmaktadır.

 “>” Büyüktür operatörü: 

Operandları arasında ki büyüklük ilişkisini yakalamaya çalışır.

! Yakalamaktan kasıt doğru sonucunu üretmesidir. Eğer ki solundaki operandın sağındakinden büyük olduğunu tespit ederse “evet, doğrudur” sonucunu üretir, aksi halde “hayır, yanlıştır” sonucunu üretir.

*5>3  Evet, doğrudur (5, 3’den büyüktür), 

x=4 ve y=8 => x>y  Hayır, yanlıştır (bu değerlere göre x, y’den büyük değildir) gibi…

 “<” Küçüktür operatörü: 

Operandları arasında ki küçüklük ilişkisini yakalamaya çalışır.

*4<5  Doğru, 

10<5  Yanlış

“==” Eşittir operatörü: 

Operandları arasında ki eşitlik ilişkisini yakalamaya çalışır.

*5==5  Doğru, 

3==6     Yanlış

!Operatörler programlama dillerinde farklı sembollerle gösterilebilmektedir. İleriki konularımızda göreceğimiz Pascal programlama dilindeki “eşittir” operatörü de mantık olarak yukarıda açıklanan “==” eşittir operatörüyle aynı işi yapmasına rağmen “=” tek eşittir işaretiyle gösterilmektedir. Bu durum diğer bazı operatörlerde de geçerlidir.

 “>=” Büyük Eşit operatörü: 

Operandları arasında ki büyüklük veya eşitlik ilişkisini yakalamaya çalışır.

*5>=4     Doğru, 

5>=10     Yanlış, 

8>=8       Doğru

“<=” Küçük Eşit operatörü: 

Operandları arasında ki küçüklük veya eşitlik ilişkisini yakalamaya çalışır.

*4<=5   Doğru, 

10<=5  Yanlış, 

8<=8    Doğru

“<>”  veya "!=" Eşit Değildir operatörü: 

Operandları arasında ki eşit olmama durumunu yakalamaya çalışır.

*5<>4  Doğru (Evet, doğru. 5, 4’e eşit değildir gibi…), 3<>3 Yanlış

3.Mantıksal Operatörler

• Programlarda, birden fazla karşılaştırma ifadesi bir anda kullanılmak istenebilir. Bu gibi durumlarda mantıksal ifadeler kullanılması zorunludur.

 • VE(AND) ( && )  “Ve” operatörü, iki veya daha fazla koşulun tümünün doğru olduğu durumlarda “doğru” sonucunu veren operatördür. Günlük hayattaki kullanımıyla aynıdır. 

 Örneğin makarna yapmak için su, tuz ve makarna gerekir. Bunlardan herhangi biri olmadan makarna yapıla maz.

 • VEYA(OR) ( || )  “Veya” operatöründe, iki veya daha fazla koşuldan en az birinin doğru olması durumunda sonuç “doğru” olur. Bu da günlük hayatta kullandığımız gibidir. 

 Örneğin bir havuzu boşaltmak için kırmızı, yeşil ve mavi renkte üç farklı musluğumuz olsun. Havuzun boşal ması için kırmızı musluğu veya yeşil musluğu veya mavi musluğu açmamız yeterli olacaktır. Dilersek iki ya da üç musluğu aynı anda açarak da havuzu boşaltabiliriz.

 • DEĞİL(NOT) “Değil” operatörü ise mantıksal bir durumu tersine çevirir. Sonucu “doğru” olan bir mantıksal sınamayı “yanlış”a, sonucu “yanlış” olan bir mantıksal sınamayı ise “doğru”ya çevirir. Günlük hayattaki olumsuzluk ifadelerine karşılık gelir. 

 Örneğin annelerimiz meyve alırken pazarcıya “Sağlamlarından ver.” diyebilir. “Çürüklerinden verme.” deseler de pazarcı yine aynı şeyi anlayacaktır. Çünkü bir meyve ya çürük ya da sağlam olur. İkinci ifadede kullanılan olum suzluk ekinin koşulu tersine çevirdiğine dikkat ediniz.

! Ve operatöründe sonucun doğru çıkması ancak bütün durumların sağlanması ile mümkündür. Günlük hayatta da aslında bu ifadeyi kullanmaktayız. Örneğin bir grup öğrenci arasından “sarışın ve gözlüklü olanları seçmeye çalıştığınızı düşünün. Seçtiğiniz öğrencilerin aynı anda iki özelliği taşımasını istediğiniz içindir ki bu iki özelliği “ve operatörüyle birbirine bağlamışsınızdır”. Bu durumda seçilen öğrenciler hem sarışındırlar hem de gözlük kullanmaktadırlar. Sarışın olup ta gözlük kullanmayan ya da gözlük kullanıp ta sarışın olmayan öğrenciler bu ifadeye göre seçilememektedir. Çünkü bütün durumların aynı anda gerçeklenmesi istenmektedir.

!Mantıksal operatörlerin sonuçları da “doğru” ya da “yanlıştır”. Üçüncü bir ihtimal söz konusu değildir.

b. “OR” Veya operatörü: ( || )

Birbirine bağladığı operandların en az bir tanesinin “doğru” olması durumunu yakalamaya çalışır. Operandlardan bir veya birden fazlası ya da hepsinin doğru olması durumunda veya operatörü “doğru” sonucunu üretir.

Diğer bir ifadeyle “veya operatörü”nde “ve” operatörünün aksine “doğru” sonucunun üretilebilmesi için şartlardan bir tanesinin bile gerçekleştirilmiş (sağlanmış) olması yeterlidir.

*(4==4) OR (1>5)  Doğru, 

Çünkü “1’in 5’ten büyük olmamasına rağmen sonucun doğru çıkması için 4’ün 4’e eşit olması yeterli olmuştur”.

*(4==4) OR (2>1)  Doğru, 

Çünkü hem “4, 4’e eşittir hem de 2, 1’den büyüktür”. Aslında bir tanesinin bile doğru olması yeterliyken bütün şartlar sağlanmıştır.

*VE ile birleştirilmiş ifadelerde eğer bütün ifadelerden ayrı ayrı 1 değeri dönüyorsa birleştirilmiş ifadeden de 1 değeri döner. Geri kalan durumlarda 0 sıfır değeri döner. 
*VEYA ile birleştirilmiş ifadelerde en az bir ifadeden 1 değeri dönüyorsa birleştirilmiş ifadeden de 1 değeri döner. Bütün ifadelerden 0 değeri dönüyorsa birleştirilmiş ifadeden de 0 değeri döner.

Örneğin: ( 5>6 &&2<=7) ifadesini incelersek 
 && →VE anlamına gelir 
 5>6 →Bu ifadeden yanlış sonucu döner 
 2<=7 →Buifadeden doğru sonucu döner 
Sonuç olarak bu ifade (yanlış VE doğru) ya da ( 0 VE 1) halini alır. Daha önce verilen doğruluk tablosuna göre bu ifadeden 0 (yanlış) sonucu döner. 

Örneğin : 
  A=5, B=18 olsun    
 (A != B &&B>5)   → 1(doğru)
 (5 == A||B<15)       → 1(doğru) 
 (4 > 6||B!=18||A>3) → 1(doğru) 
 (A == 5&&B>=18&&5%2==1) → 1(doğru)
 (B < 20&&A<6&&2%2==1) → 0(yanlış) 
 (A == B||B<5) → 0(yanlış) 

c. “NOT” Değil operatörü: 

Operandının durumunu tersine çevirir. Yani durum doğruysa sonuç “yanlış” olarak, yanlış ise de sonucun doğru olarak üretilmesini sağlar.

*NOT(1==1)  Yanlış, 

Çünkü “1’in 1’e eşit olmasına rağmen, sonuç değil operatörüyle tersine çevrilmiştir”.



KAYNAKÇA:

MEB, Bilgisayar Bilimi Kur1 Kitabı
Öğr. Gör. Erkan HÜRNALI, Algoritmalarda Kullanılan Temel Operatörler
 


28 Kasım 2024 Perşembe

Algoritma

 Algoritma

Bir problemi çözmek için atılan adımlardan oluşan yapıya algoritma denir. Algoritma , bir programı yazmadan önce izlenmesi gereken yol, rota olarak da kabul edilir. 

Algoritma sözcüğü, 9. yüzyılda yaşamış ünlü matematikçi el Harezmi'nin adından gelmektedir. Cebir ve algoritmalarla ilgili dünyanın ilk kitabını yazan el Harezmi (Al Khwārizmī)'nin adı, Batılılar tarafından algorizma şeklinde telaffuz edilmiş ve daha sonra bu kavrama isim olarak verilmiştir. Bir algoritma, içinde bulunduğumuz başlangıç durumundan hedefimiz olan bitiş durumuna ulaşmamız için kullanılır. Algorizmanın bize ne yapılması gerektiğini adım adım ve açık bir biçimde anlatması gerekir ve çeşitli yöntemlerle ifade edilebilir. Bu yöntemler iki grupta incelenebilir: 

    Birincisi yapılacak işlemin adımlar halinde, gündelik dil kullanılarak ifade edildiği yöntemdir

    İkincisi, grafiksel olarak ifade edilen yöntemdir. Görsel olarak anlamayı kolaylaştırmayı sağlayan bu grafiklere akış diyagramı ya da akış şeması adı verilir. Gündelik dil kullanılarak bir problemi çözerken analiz safhasından sonra numaralanmış satırlar halinde işlemler oluşturulur.

    Algoritma, belirli bir mantığı olan, farklı düşünebilmeyi ve problem çözmeyi öğretmek için tasarlanan bir yoldur. Başka bir ifadeyle bir problemi çözmeye giden yolun basit, net ve belirli bir sıraya göre tasarlanmış hâlidir. 
 Algoritmalar; 
 ࡟ Açık ve net olmalıdır. 
 ࡟ Kullanılacak olan girdiler iyi tanımlanmış olmalıdır. 
 ࡟ Çıktılar açık ve anlaşılır olmalıdır. 
 ࡟ Algoritmalar hızlı olmalıdır. 
 ࡟ Sonlu ve uygulanabilir olmalıdır

1.Doğrusal(Sıralı) Algoritmalar: 

Örnek : İki sayının toplamı 

 1- Başla                                                            

 2- Birinci sayıyı gir (A olsun) 

 3- İkinci sayıyı gir (B olsun) 

 4- Toplam=A+B 

 5- Sonucu(Toplam) göster 

 6- Bitir

Bir algoritmada; 

 • Her adım mutlaka belirleyici olmalıdır. Hiçbir şey şansa bağlı olmamalıdır. 

 • Belirli bir sayıda adım sonunda algoritma sonlanmalıdır. 

 • Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek şekilde genel olmalıdır

2.Mantıksal(seçmeli) algoritmalar: 

 Algoritma içinde karşılaştırma yapma veya karar vermeyi gerektiren durumlar için kullanılır.

ÖR: Suyun sıcaklığına göre maddenin katı, sıvı veya gaz olma durumunu gösteren algoritmayı hazırlayınız. 

 Adım 1- Başla 

 Adım 2- Oku sicaklik 

 Adım 3- Eğer sicaklik<=0 ise “katı” yaz 

 Adım 4- Eğer sicaklik>0 ve sicaklik<100 ise “sıvı” yaz 

 Adım 5- Eğer sicaklik >=100 ise “gaz” yaz 

 Adım 6- Bitir


3.Döngüsel algoritmalar: 

 Algoritma içinde tekrar eden işlemler(döngü) için kullanılır

ÖR: Klavyeden girilen yaş değeri 18’den büyük ve eşitse “Reşittir”, aksi hâlde “Reşit değildir” yazan algoritmayı hazırlayınız. (siz yapınız)

****Sayaç: Bir işlemin belli bir sayıda artması veya azalması şeklindeki sayma işlemlerinde kullanılan değişkendir.

 Örnek 6: Ekrana 5 defa “merhaba” yazdıran algoritmayı yazınız. 

 Adım 1- Başla 

 Adım 2- sayac=0 

 Adım 3- yaz “merhaba” 

 Adım 4- sayac=sayac+1 

 Adım 5- Eğer sayac<5 ise git Adım 3  

Adım 6- Bitir

Değişken 

 • Dışarıdan alınan veya bir işlem sonucunda elde edilen verilerin saklandığı bellek (hafıza) birimlerine değişken denilir. 

 • Bu bellek birimlerine (değişkenlere) belirli bir isim verilir ve daha sonra bu isimle bellek birimi (değişken) içinde bulunan değer tekrar tekrar kullanılabilir. 

 • Değişken isimleri verilirken şu kurallara dikkat edilmelidir: 

 ▪ İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir. 

 ▪ 0-9 rakamları kullanılabilir. 

 ▪ Sembollerden alt çizgi kullanılabilir. ( _ ) 

 ▪ Değişken isimleri harf veya altçizgi ile başlayabilir ama rakamla başlamaz. 

 ▪ İsimler oluşturulurken boşluk kullanılmamalıdır. Örneğin “ogenci no” değil “ogrenci_no" şeklinde olmalıdır.

2. Dönem 2. Yazılı Çalışma Soruları

 1. Ekrana 10 defa programcının adını yazan programın algoritma ve akış şemasını hazırlayınız. 2.Klavyeden bir not girilmesini isteyen ve bu...