DERS NOTLARI. : Algoritma ve Programlamaya Giriş. Ders Adı

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "DERS NOTLARI. : Algoritma ve Programlamaya Giriş. Ders Adı"

Transkript

1 DERS NOTLARI Ders Adı : Algoritma ve Programlamaya Giriş Kısa Ders Özeti Bu dersin I. Bölümünde Programlama ile ilgili kavramlar problem çözme yöntemleri Algoritma, akış diyagramları anlatılıp diğer bölümlerde ise problemlerin çözümlerinin bir dil (Pascal) kullanılarak çözülmesi için gereken komutlar anlatılmıştır. Dersin Hedefleri Bu ders sonunda öğrenciler, programlama mantığı, problemlere çözüm yaklaşımı, bir dil kullanarak program yazma gibi becerileri kazanacaktır. Ayrıca Pascal programlama dilinin komutlarını ve bu dilde programlar geliştirmeyi öğreneceklerdir. Dersin Đşlenmesi Bu ders haftada 4 saat olup 3 saat teorik 1 saat uygulamadan oluşmaktadır. Teorik derslerde konular sınıfta anlatılıp uygulama saatinde ise bilgisayar laboratuarlarında uygulama yapılacaktır. Sınav ve derse devam Bu ders için bir vize ve bir final olmak üzere toplam iki teorik sınav yapılmaktadır. Ortalama hesaplanırken Vizenin %40 ı finalin %60 ı alınmaktadır. Derse her öğrenci %70 oranında devam etmek zorundadır. Yani 14 haftalık eğitim döneminde her öğrenci en az 10 hafta derslere katılmak zorundadır. Algoritma ve Programlamaya Giriş 1 Öğr. Gör. Mustafa AKSU

2 1. BĐLGĐSAYAR PROGRAMLAMAYA GĐRĐŞ Đnsanlar her zaman düşünür ve problem çözerler. Birçok problem, az ya da hiç düşünülmeden çözülebilir. Her gün evden çıkarken ne giyilmelidir? Bunun için muhtemelen pencereden dışarıya bakılır. Hava yağmurlu ise mevsim gereklerine göre giyinmenin yani sıra dışarıya çıkarken bir de semsiye alınması gerekir. Hava güneşli ve sıcak ise o takdirde daha ince giyinilerek dışarıya çıkılır. Böylece problemin çözümü kendiliğinden oluşturulan bir kararla sağlanır. Yukarıdaki basit örnekte yapılan is, önce problemin belirlenmesi ve sonra problemin tanımından yola çıkarak çözüm için değişik alternatiflerin değerlendirilmesidir. Bilgisayar programlaması sırasında izlenebilecek birçok yol ve yöntem vardır. Bilgisayar programcısının probleme ilişkin çözümü ortaya çıkarabilmesi için problem çözümü ile ilgili bilgileri bilmesi gerekir. Bilgisayar programlamasında genel olarak belirli kalıp ve kurallara uyulur. Bir bilgisayar yazılımının oluşturulması sırasında aşağıda sıralanan ana adımlara uyulur. * Problemin tanımı * Çözüm yönteminin belirlenmesi * Programın kodlanması * Programın çalışır duruma getirilmesi * Belgeleme ve güncelleştirme Problemin tanımı: Problemin normal yazı diliyle tanımlanması işlemlerini kapsamaktadır. Problem çözümüne ilişkin iyi bir program yapabilmek için, problemin iyi bir şekilde tanımlanması gerekir. Çözüm Yönteminin Belirlenmesi: Bu adımda çözümün genel yaklaşımı, temel giriş/çıkışlar belirlenir ve problem çözümü adim adım program akis diyagramlarıyla gösterilir. Programın kodlanması: Program ayrıntılı olarak tanımlanıp çözüm yolları açıkça belirtildikten sonra program kodlama çalışmalarına başlanabilir. Programın bastan sona yapısal bir düzende hazırlanması ve uygun bir programlama dili seçilmesi seçim işleminin ilk aşamasını oluşturur. Programın çalışır Hale Getirilmesi: Programın kodlanması sırasında yapılan imla hataları, kodlama ve mantık hatalarının giderilmesi işlemlerini kapsar. Đyi bir bilgisayar programının doğruluğundan emin olmak için defalarca test edilmiş olması gerekmektedir. Belgeleme ve güncelleştirme: Oluşturulan bir yazılımı, sadece o yazılımı geliştiren kişilerin kullanabilmesi gibi bir kısıtlamanın önüne geçmek için ayrıntılı referanslar hazırlanmalı ve programla ilgili bilgiler verilmelidir. Bir yazılımda, o yazılımı kullanan kişi veya kuruluşların yeni gereksinimleri ve değişen koşullar nedeniyle değişiklikler yapılması gerekli olabilir. Bu değişikliklere güncelleme adi verilir. Đyi bir programda bulunması gereken özellikler arasında güncelleşebilme ön sıralarda yer almaktadır. Algoritma ve Programlamaya Giriş 2 Öğr. Gör. Mustafa AKSU

3 Şekil 1.1. Yazılım oluşturma evrelerini şematik olarak özetlemektedir. Şekil 1.1 Yazılım oluşturma evreleri 1.1. Bilgisayar Programcılığı Nedir bu bilgisayar programcılığı? Evet birçok kişi bilgisayar programcılarının ne ile uğraştığını bilir fakat nasıl uğraşıp neler yaptığını pek bilmez... Önce bilgisayar dünyasında sıkça kullanılan bir kelimeden bahsedelim yazılım. Yazılım (software) kelimesi bilgisayar programlama dilleriyle oluşturulan dokümanları, dosyaları ifade eder. Yani bilgisayarınızda Algoritma ve Programlamaya Giriş 3 Öğr. Gör. Mustafa AKSU

4 işletilmek, çalıştırılmak üzere tasarımlanmış dosyalar yazılım kapsamına girer. Yazılım programlama dilleri ile tasarlanır ve yazılır. Programlama dilleri, bilgisayarınızın donanımını (ekran kartı,ses kartı,modem...) sizin en rahat biçimde kullanabileceğiniz düzeye getirmeye çalışır. Yani bilgisayarın o soğuk gibi rakamlarını sizin zevkle kullandığınız programlara, işletim sistemlerine, oyunlara çevirir. Örneğin kullanılmakta olan Windows işletim sistemi onbinlerce sayfadan, milyonlarca bilgisayar kodunun bir araya gelmesinden oluşur. Đşte işin tüm zorluğu, o kodların arasında dolaşan, hata mesajlarını günlerce o kodları gözden geçirerek arayan, sandalye tepesinde saatlerce aynı ekrana bakarak ilginç görüntüler sergileyen programcıların üzerindedir... Bilgisayar programcıları işini zevkle yapan ve işini bir hobi edinmiş insanlardan oluşur. Aksi halde yoğun konsantrasyon ve sabır isteyen bu işi yapmak aşırı zorlaşır. Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. Đnsanın en zor öğrenebileceği, anlayabileceği yani gibi makina kodlarına yakın diller en alt seviyeli programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli programlama dilleridir. Şimdi bu sınıflandırmaya örnekler verelim; 1 ) Çok yüksek seviyeli diller: VisualBasic, Acces, Foxpro... 2 ) Yüksek seviyeli diller: Pascal,Basic,Fortran... 3 ) Orta seviyeli diller: C,C++,ADA... 4 ) Düşük seviyeli diller: Assembly... 5 ) Makina dilleri: Bilgisayarın çalışma dilleri 1 ve 0'lardan oluşur... Bu dillerin kullanıldığı alanlara örnek verirsek; 1 ) Bilim ve Mühendislikte: Pascal,C,C++,Fortran... 2 ) Veritabanı Programcılığında: Dbase,Acces,Foxpro,Sql... 3 ) Yapay Zeka Kullanımında: Prolog,Lisp... 4 ) Sistem Programcılığında: C,C++ ve sembolik makina dilleri... Bir bilgisayar programı nasıl yazılır? Bir yazılım değişik dillerle oluşturulabilir fakat izlenen yöntemler genelde birbirine benzer. Örneğin Algoritma... Algoritma, elimizdeki sorunun çözümüne gidebilmek için tasarlanan yollar, yöntemlerdir. Örneğin bir arkadaşınıza daha önce gitmediği bir yerdeki bir postaneyi tarif edeceksiniz. Bunun için anlatımda genelden özele giden bir yol izlersiniz. Önce gideceği semti sonra caddeyi sonra postanenin olduğu yönü tarif eder son olarak da kolay bulması için postanenin çevresindeki göze batan özelliklerden bahsedersiniz. Đşte bu yaptıklarınız bir algoritmadır. Ve amacınız arkadaşınıza postaneyi bu algoritma yardımıyla tarif etmektir... Bilgisayar programlama dilleri de programcılıkta bunun gibi yöntemler kullanarak çözüme gider. Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılıdır. Yapılan algoritma ve tasarımdan sonra yazılım aşamasına gelinir ve bu aşamada yapılacak programın kullanım ömrü, programın kullanım düzeyi ve hangi amaçla kullanılacağı gibi soruların cevaplarına bakılarak programlama dili seçilir. Dil seçimi bazı kriterlere göre yapılmaktadır, örneğin kısa sürmesi ve görsel tasarım içermesi, veritabanı iletişimi yoğun kullanılması gereken bir program yapmamız gerekiyor olsun. Bu durumda Assembly dili ile yola çıktığımızda bahsedilen proje birkaç kişilik deneyimli bir programcı grubu ile birkaç yıl alır. C ile iki programcı aynı işi üç dört ayda VisualBasic veya Delphi ile bir programcı bahsedilen işi bir iki aya yakın bir sürede yapabilir. Başka bir açıdan örnek verirsek örneğin bir ekran kartı programlamamız gerekiyor ve bu kartın driver'ını ( sürücüsünü ) biz yazacağız. Bu durumda bu işi VB veya Delphi ile yapmamız imkansızdır, kullanmamız gereken diller öncelikle Assembly ve C/C++ olmalıdır. Evet, programlama dillerinin kendi alanları vardır ve her dil kendi alanında kullanıldığı sürece başarılı ve etkili kullanılmış olur. Buraya kadar anlatılanı özetlersek: Bir bilgisayar programı yazmak için belli aşamalar vardır ve bu aşamalar geçildiğinde kodlamaya başlanabilir. Algoritma ve Programlamaya Giriş 4 Öğr. Gör. Mustafa AKSU

5 Bunlar: 1 ) Analiz 2 ) Algoritma 3 ) Dil Seçimi 4 ) Kodlama Analiz ile gerçekleştirilmek istenen proje tasarımlanır ve parametreleri araştırılır. Algoritma ile adımlar tayin edilir. Dil seçimi ile en uygun programlama dili seçilir. Ve kodlamaya başlanır Problem Çözme ve Algoritmalar 1.1 Problem Çözme Problem çözmede, soruna hemen girişmek yerine, dikkatli ve sistematik yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar küçük parçalara ayrılmalıdır. Descartes in "Discourse on Method" isimli kitabında problem çözme teknikleri şu 4 madde ile özetlenir; 1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının. 2. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün. 3. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyiniz. 4. Olaya bakışınız çok genel, hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve eksiksiz olsun. 1.2 Algoritmalar Kısaca algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Geniş anlamda ise algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların hiç bir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde söz ve yazı ile ifadesidir. Algoritmayı oluşturan adımlar özellikle basit ve açık olarak sıralandırılmalıdır. M.S. 9.yy da Đranlı Musaoğlu Horzumlu Mehmet (Alharezmi adını araplar takmıştır) problemlerin çözümü için genel kurallar oluşturdu. Algoritma Alharezmi'nin Latince okunuşu. Her algoritma aşağıdaki kriterleri sağlamalıdır. 1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli. 2. Çıktı: En azından bir değer üretilmeli. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. 4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli. 5. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. Not: Bir program için 4. özellik geçerli değil. işletim sistemleri gibi program sonsuza dek çalışırlar PROGRAM YAZMA SÜRECĐ Problemin farkına varmak, Problemi analiz etmek, Çözüm yolları düşünmek, Đyi çözüm yolları seçip algoritma oluşturmak, Akış diyagramı çizmek, Uygun bir dilde kodlamak, Programı test etmek, Algoritma ve Programlamaya Giriş 5 Öğr. Gör. Mustafa AKSU

6 Programı dağıtmak. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Bir problemi bilgisayar ile çözmek için geliştireceğimiz programın yazımında izleyeceğimiz adımlar: i) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle. ii) Problemin girdilerini, çıktılarını ve diğer kısıtlama ve gereksinimleri belirle ( bilgilerin giriş ve çıkış biçimlerinin nasıl olacağına kadar). iii) Problemin çözümünü veren algoritmayı yaz. iv) Algoritmayı bir programla dili ile yaz. v) Programın doğru çalışıp çalışmadığını test et. Bu testi değişik veriler (girdiler) için tekrarla. Algoritmik çözüm yöntemlerine ilk örneği günlük yaşantımızdan verelim. Örnek 1: Örneğimiz bir insanin evden çıkıp ise giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını adım adım tanımlamaktadır. Çözüm 1: Evden dışarıya çık Otobüs durağına yürü Durakta gideceğin yöndeki otobüsü bekle Otobüsün geldiğinde otobüse bin Biletini bilet kumbarasına at Đneceğin yere yakınlaştığında arkaya yürü Đneceğini belirten ikaz lambasına bas Otobüs durunca in Đşyerine doğru yürü Is yeri giriş kapısından içeriye gir Mesai arkadaşlarınla selamlaş Is giysini giy Đsini yapmaya basla. Yukarıdaki örnekte görüldüğü gibi, evden ise gidişte yapılabilecek işlemler adım adım sırasıyla, kısa ve açık olarak tanımlanmaya çalışılmıştır. Yukarıdaki algoritma kişinin otobüsü kaçırma olasılığı düşünülmeden oluşturulmuştur. Kişi durağa geldiğinde bineceği otobüsü kaçırmış ise algoritmamız aşağıdaki şekilde değiştirilebilir. Çözüm 2: Evden dışarıya çık Otobüs durağına yürü Otobüsün saati geçmiş? Durakta gideceğin yöndeki bir sonraki otobüsü bekle Bir sonraki otobüs gelene kadar 4. adimi uygula Otobüsün geldiğinde otobüse bin Biletini bilet kumbarasına at Đneceğin yere yakınlaştığında arkaya yürü Đneceğini belirten ikaz lambasına bas Otobüs durunca in Đşyerine doğru yürü Is yeri giriş kapısından içeriye gir Mesai arkadaşlarınla selamlaş Is giysini giy Đsini yapmaya basla. Her iki örnekte görüldüğü gibi sorunu çözüme götürebilmek için gerekli olan adımlar sıralı ve açık bir biçimde belirlenmiştir. Algoritmanın herhangi bir adımındaki küçük bir yanlışlık doğru çözüme ulaşmayı engelleyebilir. Bu nedenle algoritma hazırlandıktan sonra dikkatle incelenmeli ve varsa adımlardaki yanlışlıklar düzeltilmelidir. Algoritma ve Programlamaya Giriş 6 Öğr. Gör. Mustafa AKSU

7 Programlamanın temeli olan algoritma hazırlanmasında dikkat çekici bir nokta, ayni sorunu çözmek için hazırlanabilecek olası algoritma şayisinin birden çok olmasıdır. Başka deyişle, bir sorunun çözümü için birbirinden farklı birden fazla sayıda algoritma hazırlanabilir. Bu da gösteriyor ki herhangi bir problemin çözümü için birbirinden farklı yüzlerce bilgisayar programı yazılabilir. Bir bilgisayar programı için hazırlanacak olan algoritma da ayni şekilde çözüm yolunu bilmeyen bir kişiye, çözüme ulaşmak için neler yapması gerektiği anlatılıyormuş gibi hazırlanmalı ve eksik bir nokta bırakmaksızın gerekli tüm adımları açık ve düzenli olarak içermelidir. Çözüm için kullanılacak bilgilerin nereden alınacağı, nerede saklanacağı ve çözümün program kullanıcısına nasıl ulaştırılacağı algoritma adımları arasında belirtilmelidir. Aşağıda değişik işlemlere ilişkin algoritma örnekleri verilmiştir. Örnek 2: Đki sayıyı toplamak için gerekli programa ait algoritmanın oluşturulması. Algoritma: 1. Birinci sayıyı gir 2. Đkinci sayıyı gir 3. Đki sayının toplamını yap 4. Toplamın değerini yaz 5. Bitir. Bu tam bir algoritmadır. Sözcüklerin ortaya çıkaracağı yanlış anlamaların ortadan kaldırmak amacıyla semboller ve matematik dilini gerektiren bazı kısaltmalar kullanmak daha uygun olacaktır. Bir algoritma yazılırken su metot izlenmelidir: Programda kullanılacak elemanları temsil etmek üzere uygun isimler Veya değişkenler seç. Bazı isimlere başlangıç değeri olarak çözümün gerektirdiği uygun değerler ver. Gerekirse programa girilecek verileri düzenle. Cebirsel notasyon ve kararlar kullanarak aritmetik işlemleri gerçekleştir. Çıkısı düzenle. Bitir. Yukarıda iki sayının toplanması için oluşturduğumuz algoritmayı bu yeni gereksinimlere uyarak yeniden yazalım. Toplam adi için Z, Birinci sayı için X, Đkinci sayı için Y değerleri kullanılırsa; Algoritma: 1. X değerini gir 2. Y değerini gir 3. Z? X+Y 4. Z' yi yaz 5. Bitir. Görüldüğü üzere bu şekilde bir algoritma ile çözüm yolunu izlemek daha kolaydır. Bundan sonra verilen örneklerde bu tip algoritma kullanılacaktır. Algoritma ve Programlamaya Giriş 7 Öğr. Gör. Mustafa AKSU

8 Örnek 3: Đki sayının ortalamasını bulan programa ait algoritmanın oluşturulması Algoritma: 1. X değerini gir 2. Y değerini gir 3. Z? X+Y 4. Ort? Z/2 5. Ort değerini yaz 6. Bitir. Bu örnekte Ort değeri ile iki sayının ortalaması temsil edilmiştir. Örnek 4: Beş sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulması Toplam adi için Top Ortalama adi için Ort Girilen sayılar için X Arttırma için Sayaç kullanılırsa Algoritma: 1. Top? 0, Sayaç? 0 2. X'i gir 3. Top? Top+X 4. Sayaç? Sayaç Eğer Sayaç <5 ise A2'ye git 6. Ort? Top/5 7. Top ve Ort değerlerini yaz 8. Bitir. Örnek 5: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır. Dikdörtgenin kısa kenarı : a Dikdörtgenin uzun kenarı : b Dikdörtgenin alanı: Alan Algoritma: 1. a değerini gir 2. a<0 ise 1. adimi tekrarla 3. b değerini gir 4. b<0 ise 3. adimi tekrarla 5. Alan? a*b 6. Alan değerini yaz 7. Bitir. Algoritma ve Programlamaya Giriş 8 Öğr. Gör. Mustafa AKSU

9 Örnek 6: Çapraz döviz kuru hesabi yapan programın algoritmasının oluşturulması. Bu algoritmanın oluşumunda veriler; 1 Amerikan dolarının TL karşılığı, hesaplanacak $ miktarı, çıkış ise verilen $'in TL karşılığı olacaktır. Doların değeri :Doldeg Girilen Dolar miktarı :Dolar TL karşılığı :Tlkar Algoritma: 1. Doldeg'i gir 2. Doldeg<0 ise 1. adimi tekrarla 3. Dolar'i gir 4. Dolar<0 ise 3.adimi tekrarla 5. Tlkar? Doldeg*Dolar 6. Tlkar değerini yaz 7. Bitir Örnek 7: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasının oluşturulması sayının faktöriyeli :Fak Faktöriyel değişkeni :X Faktöriyeli hesaplanacak sayi :Y Algoritma: 1. Fak? 1, X? 0 2. Y'i gir 3. Y<0 ise 2. adimi tekrarla 4. X? X+1 5. Fak? Fak*X 6. X<Y ise 4. adıma geri dön 7. Fak değerini yaz 8. Bitir. Bu algoritmada 1. adımda X 'e 0 ve Fak değişkenine 1 değeri atanıyor. 2. adımda Y değeri giriliyor ve 3. adımda Y değerinin 0 dan küçük bir değer olup olmadığı denetlenerek, sonuca göre gerekli komut veriliyor. 4. adımda X'in değeri 1 arttırılıyor ve 5. adımda X için Fak değeri hesaplanıyor. 6. adımda X in değerinin faktöriyeli hesaplanacak sayıdan küçük olması durumunda 4. adımdan itibaren işlemlerin tekrarlanması komutu veriliyor, X' in değerinin Yiye eşit olması durumunda işlemler tamamlanarak hesaplanan değerin yazdırılması işleminden sonra programın çalışması sona ermektedir Akış Diyagramları Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akis diyagramı adi verilir. Akis diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler. Bir bilgisayar programının oluşturulmasında akis diyagramlarının hazırlanması, algoritma oluşturma aşamasından sonra gelmektedir. Bilgisayar programının oluşturulması sırasında algoritma aşaması atlanarak, doğrudan akis diyagramlarının hazırlanmasına başlanabilir. Programlama tekniğinde önemli ölçüde yol almış kişiler bu aşamayı da atlayarak direkt olarak programın yazımına geçebilirler. Akis diyagramlarının algoritmadan farkı, adımların simgeler seklinde kutular içinde yazılmış olması ve adımlar arasındaki ilişkilerin (iş akışı) oklar ile gösterilmesidir. Algoritma ve Programlamaya Giriş 9 Öğr. Gör. Mustafa AKSU

10 Akis diyagramlarında kullanılan semboller, anlamları ve kullanış amaçları aşağıdaki tabloda verilmiştir. Tablo 1. Akış diyagramlarında kullanılan temel semboller ve anlamları Akis diyagramının başlangıç ve bitiş yerlerini gösterir. Başlangıç simgesinden çıkış oku vardır. Bitiş simgesinde giriş oku vardır. Dışardan veri girişi. Veri okutma işlemleri için. Aritmetik işlemler ve değişik atama işlemlerinin temsil edilmesi için kullanılır. Kontrol ve karar verme işlemlerini temsil eder. Oklar Diyagramın akis yönünü gösterir. Belgeye, yazıcıya, ekrana çıktı için kullanılır. Bu sembolleri daha da çoğaltmak mümkün fakat temel olarak akış diyagramlarında bu şekiller kullanılacaktır. Ayrıntılı bir akis diyagramı, yazılımı oluşturan işlemleri ve ilişkilerini en küçük detayına kadar belirler. Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun bu programların akis diyagramlarında genel olarak yalnız üç basit mantıksal yapı kullanılır. Bu mantıksal yapılardan en basiti sıralı yapıdır(şekil 1.2). Sıralı yapı, hazırlanacak programdaki her işlemin mantık sırasına göre nerede yer alması gerektiğini vurgular. Bu yapı sona erinceye kadar ikinci bir işlem başlayamaz. Algoritma ve Programlamaya Giriş 10 Öğr. Gör. Mustafa AKSU

11 Mantıksal yapılardan ikincisi Karar Verme yapısıdır (Şekil 1.3). Programlama sırasında If...Then... Else yapısı ile tanıyacağımız bu mantıksal yapılar, birden fazla sıralı yapı seçeneğini kapsayan modüllerde, hangi şartlarda hangi sıralı yapının seçileceğini belirler. Üçüncü mantıksal yapı çeşidini tekrarlı yapılar (Şekil 1.4) oluşturmaktadır. Bu yapılara Pascal programlama dilinde For (Şekil 1.4), While ve Repeat..Until yapısı adi da verilir. Şartlara göre değişik işlem gruplarının yapılmasını sağlar. Bu yapı yukarıda sözü edilen iki yapının çeşitli kombinezonların tekrarlanmasından oluşmuştur. Söz konusu üç değişik yapı, değişik kombinezonlarda kullanılarak istenilen işlevleri yerine getirecek programlar hazırlanabilir. Programların bu üç basit yapı ile sınırlandırılması program modüllerinin daha kolay tasarlanmasını sağlar. Şekil 1.4. Tekrarlı yapılar Algoritma ve Programlamaya Giriş 11 Öğr. Gör. Mustafa AKSU

12 Akis diyagramı Örnekleri Bu bölümde, sözlü veya yazılı olarak oluşturduğumuz algoritmanın programa dönüştürülmesi sırasında programın çalışma sırasını da gösteren akis diyagramlarıyla ilgili örnekler aşağıda verilmiştir. Örnek 1: Dışardan girilen bir sayıyı okuyup bu sayıyı tekrar yazdıran programın akış şemasını çiziniz. Başla Sayı yı oku Sayı yı Yazdır Bitir Örnek 2: Dışardan girilen iki sayıyı toplayıp sonucu ekrana yazdıran programın akış şemasını çiziniz. Başla X,Y oku Toplam=X+Y Toplam ı Yazdır Bitir Algoritma ve Programlamaya Giriş 12 Öğr. Gör. Mustafa AKSU

13 Örnek 3: Dışardan girilen iki sayıyı toplayıp bunların ortalamasını bulup toplam ve ortalama sonucunu ekrana yazdıran programın akış şemasını çiziniz. Başla X,Y oku Toplam=X+Y Ort=toplam/2 Toplam ve ort u Yazdır Bitir Algoritma ve Programlamaya Giriş 13 Öğr. Gör. Mustafa AKSU

14 Örnek 4: 1'den 100'e kadar olan sayıların toplamlarını ve ortalamalarını veren programın akış diyagramını çiziniz. Başla Ortalama, Toplam ı yazdır Bitir Algoritma ve Programlamaya Giriş 14 Öğr. Gör. Mustafa AKSU

15 Örnek 5: Dışardan girilen N sayısının faktöriyelini hesaplayan programın akış diyagramını çiziniz. Algoritma ve Programlamaya Giriş 15 Öğr. Gör. Mustafa AKSU

16 Soru : Bir sayıyı dışarıdan okuyup tekrar ekrana yazdıran problemi üç yöntemle de (Akış diyagramı, Algoritma, Pascal) çözünüz. Algoritma Akış Diyagramı Pascal Kodu 1. Başla 2. A sayısını oku 3. Sayıyı yazdır 4. Bitir. A:integer; Begin write ( Bir sayı girin ); readln (A); writeln( Girdiginiz sayı =, A); readln; Algoritma ve Programlamaya Giriş 16 Öğr. Gör. Mustafa AKSU

17 Soru: Dışarıdan iki sayı okuyup bunları toplayarak sonucu ekrana yazdıran problemi çözünüz. Algoritma Akış Diyagramı Pascal Kodu 1. Başla 2. X,Y sayısını oku 3. Toplam= X+Y al 4. Toplam ı yazdır 5. Bitir. X,Y,Toplam:integer; Begin write ( Đki sayı girin ); readln (X,Y); toplam:=x+y; writeln( Sayıların Toplamı =, toplam); readln; Algoritma ve Programlamaya Giriş 17 Öğr. Gör. Mustafa AKSU

18 Soru: Dışarıdan iki sayı okuyup bunların aritmetik ortalamasını bulun problemin çözümü. Algoritma Akış Diyagramı Pascal Kodu 1. Başla 2. X,Y sayısını oku 3. Toplam= X+Y al 4. ort=toplam / 2 al 5. Toplam ı ve ort u yazdır 6. Bitir. X,Y,Toplam:integer; Ort:real; Begin write ( Đki sayı girin ); readln (X,Y); toplam:=x+y; ort:=toplam / 2; writeln( Sayıların Toplamı =, toplam); writeln( Sayıların Ortalaması =, ort); readln; Algoritma ve Programlamaya Giriş 18 Öğr. Gör. Mustafa AKSU

19 Soru: Dışarıdan bir sayı okuyup bu sayının faktöriyelini hesaplayan problemin çözümü. Algoritma Akış Diyagramı Pascal Kodu 1. Başla 2. sayac=0, Faktor=1 al 3. Bir sayı oku (N) 4. sayac=sayac+1 al 5. faktor=faktor*sayac 6. Eğer sayac < N ise 4. adıma git 7. Faktor u yazdır 8. Bitir. N,sayac:integer; Faktor:longint; Begin write ( Bir sayı girin ); readln (N); for sayac:=1 to N do faktor:=faktor*sayac ; writeln( Faktöriyel =, faktor); readln; Algoritma ve Programlamaya Giriş 19 Öğr. Gör. Mustafa AKSU

20 Soru: aralığındaki çift sayıları toplayıp ekrana yazdıran problemin çözümü Algoritma Akış Diyagramı Pascal Kodu 1. Başla 2. i=0, top=0 al 3. top:=top+i al 4. i:=i+2 al ; 5. Eğer i>=100 ise 6. adıma değilse 3. adıma git 6. top değerini yaz 7. Bitir. var i,top:integer; top:=0; for i:=1 to 100 do if (i mod 2=0) then top:=top+i; writeln( sayilarin toplami = ',top); readln; Algoritma ve Programlamaya Giriş 20 Öğr. Gör. Mustafa AKSU

21 2. PASCAL PROGRAMLAMA DĐLĐ YAPISI 2.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; {Đsteğe bağlı} Tanımlama Bloğu; {Değişken sabit varsa} Begin End. Đcra Bloğu; {Yapılacak Đşlemler} Programların asıl icra bölümü son bölümüdür. Yukarıda icra bloğu olarak gösterilen bu bölüm, Pascal komut cümlelerinden oluşur. ICRA bloğu, "BEGIN" ile başlar "END." ile sona erer. Her program bloğu birden fazla "END" içerebilir. Ancak bu end deyimleri program içinde bulunan değişik blokların sonunu göstermek için kullanılır ve hiç birinin sonunda "." işareti bulunmaz. "." işareti sadece ana programın sonunu göstermek amacıyla kullanılabilir. Ana programın sonu haricindeki diğer "END" deyimlerinin sonunda ";" işareti kullanılır. Örnek Bir Program: Program Ilk; Const b =10; a : integer; c : real; Begin Write ('a sayısını giriniz : '); Readln(a); c := a + b; Writeln('a + b = ', c); Readln End. Program Başlığı, sonuna ; konulur. Sabit sayı tanımlama bölümü b sabitinin değeri 10 dur. Değişken tanımlama bölümü a sayısı tam sayıdır. c sayısı ondalıklı sayıdır. Ana program başladı. Ekrana '... ' arasındakileri yaz. a değişkenini (klavyeden) gir. Alt satıra geç. (ln) a değişkeni ile b sabitini topla, c'ye ata. '...' içindekileri yaz, sonucunu yaz (c'yi), alt satıra geç. Klavyeden herhangi bir karakter oku (Program çalıştırıldığında sonucu (c) ekranda bekletmek içindir. (yazılmasa da olur). Son satırdan bir onceki satıra ; yazılmasa da olur. Program sonu (Her Begin'in bir End'i vardır.programın sonundaki End'in sonuna nokta isareti konulur. Algoritma ve Programlamaya Giriş 21 Öğr. Gör. Mustafa AKSU

22 Program Başlığı: Bir Pascal programının ilk kısmı, kullanılması programcının seçimine bağlı olan "program başlığı'dır. Program başlığı, programa bir isim vermek için kullanılır ve program isimlerinde Đngiliz alfabesinde bulunmayan Türkçe karakterler kullanılmamalıdır. Programa uzun isimler verilebilir ancak sözcükler arasında boşluk bulunmamalıdır. Tanımlama Bloğu: Pascal programının bu bölümünde program icra bloğunda kullanılan sabitler ve değişkenlerin isimleri ve bunların ne tür sabit/değişken olduğu bildirilir. Bu blok Pascal programı içerisinde mutlaka belirtilmelidir. Örnek olarak, aşağıda değişik veri tiplerindeki değişkenlerin bir tanımlama bloğunda nasıl tanımlanabileceği gösterilmiştir. Tanım Veri Tipi ABS :REAL; A :STRING; B :INTEGER; C :LONGINT; F :SHORTINT H ;:BOOLEAN; J :BYTE; KL :WORD; 2.2. Özel Semboller ve Pascal Sözcükleri Özel Semboller Bir Pascal programında kullanılabilecek özel semboller A'dan Z'ye büyük ve a'dan z'ye küçük Đngiliz alfabesi harfleri, 0-9 arası rakamlardır. Pascal programlama dilinde kullanılan diğer bazı semboller ve anlamları aşağıda tanımlanmıştır. >, <, = Herhangi değişken ve sabitlerin karşılaştırılmasında kullanılır. [ ] Bu işaret içine diziye ait indis numarası yazılır. ( ) Veri okunması, yazılması, yazılacak/okunacak bilgilerin başlangıç ve bitişlerinde kullanılır. Đndisli değişken eleman tanım ayırıcı. ; Pascal komut ve deyimlerini birbirinden ayırmak için kullanılırlar. ' (Tek Tırnak) Alfasayısal bilgilerin tanımlanmasında kullanılır. Bilgilerin başlangıç ve bitişlerinde kullanılmaktadır., Değişken tanımlarında, okunacak yada yazdırılacak bilgiler arasında ayraç olarak kullanılır. : Bilgi karakter yapı tipi tanımlamalarında ve sayısal bilgilerin çıkış formatlarında kullanılır.. Bir gruba bağlı bir alt grup veya bir kayıt saha ismi tanımlarında elemanlandırma işareti olarak, sabit bilgilerdeki rakamların ondalık işareti olarak ve Pascal programlarının sonunu belirlemek amacıyla kullanılır. := Đşaretin solundaki değere sağındaki bilgiyi atama işlemini yapar. { } Açıklama ifadelerinin başlangıç ve bitimlerinde kullanılır. (* *) Açıklama ifadelerinin başlangıç ve bitimlerinde kullanılır Pascal Sözcükleri Turbo Pascalda kendi işlevleri dışında kullanılamayacak olan sözcükler vardır. Bu sözcükler ayrılmış sözcükler olarak tanımlanmakta olup programcı tarafından yeniden tanımlanamaz, bir değişken ismi olarak kullanılamaz veya değiştirilemezler. Bu sözcüklerin isimleri aşağıda verilmiştir: Algoritma ve Programlamaya Giriş 22 Öğr. Gör. Mustafa AKSU

23 And Asm Array Begin Case Const Constructor Destruct Div Do Downto Else End File For Function Goto If Implementation Đon Inline Interface Label Nil Not Of Mod Object Or Packed Procedure Program Record Repeat Set Shl Shr String Then To Type Unit Until Uses While With Xor 2.3. Değişken veya Sabitlerin Tanımlanması Bloğu: Pascalda değişken tanımlamak için VAR bloğu kullanılır. Bu blokta bir değişken tanımlamak için önce değişkenin adı, sonra : (iki nokta üstüste) ve son olarak da değişkenin tipi belirtilir. Aynı tipte olan değişkenleri virgülle ayırarak bir defada da tanımlayabilirsiniz. Değişken Tanımlamalarına Örnekler: Yas : shortint; BOY : byte; SAYI : integer; kisisayisi : integer; BuyukSayi : longint; Para : real; Pi : real; Sayac : word; Nufus : single; sayi2 : double; aralik : extended; SaYI3 : comp; Yeni : byte; harf : char; Sayi : integer; isim, Soyisim : string; bloğu başka bir bloğun başlaması ile biter. Programınızın daha okunaklı olması için : leri alt alta getirmeye özen gösterebilirsiniz. Unutmayın ki iyi bir programcı kodunun okunurluğundan belli olur. Const Bloğu: Pascalda sabit tanımları CONST bloğunda yapılır. Sabitlerin özelliği program içerisinde değerlerinin değiştirilememesidir. Bir sabitin tanımlanması için önce sabitin adı, sonra = ve sabit değeri yazılır. Algoritma ve Programlamaya Giriş 23 Öğr. Gör. Mustafa AKSU

24 Sabit Tanımlamalarına Örnekler : Const Pi = 3.14; Pi_Sayisi = ; Bu_yil = 1999; Tarih = '29/10/11999'; islemciler = '+ - * /'; isim = 'Kenan'; SOYAD = 'DEMĐR'; YAS =20; Mesaj = 'Devam etmek için bir tuşa basınız... '; Avagadro_Sayisi = 6.02E23; Cosinus_45_derece = ; TelefonNumarasi = ' '; Katsayi = 100; buyuk_mu = false; dogru = true; arti = ' + '; yanlis = 'false'; Bu blokta yapılabilecek diğer bir tanım ise değişkenlere tipi ile birlikte ilk değer verilmesidir. Bunun için önce değişkeninizin adını yazıyorsunuz sonra : koyup tipini belirliyorsunuz ve ilk değer vermek için = yazıp ilk değerini veriyorsunuz. Örnek: Const Sayac : byte = 0; Pascal programlama dilinde icra bloğu içinde kullanılan değişkenler VAR tanım bloğu içinde, sabitler ise CONST bloğu içinde tanımlanır. Örneğin A,B değerleri değişken ve C değeri sabit ise bu değerlerin programın tanım bloklarında ifade edilmesi aşağıdaki şekilde olacaktır. VAR CONST A,B:REAL; C=12:INTEGER; Burada, VAR'dan sonra gelen REAL ifadesi A ve B değişkenlerinin gerçel sayı veri tipinde olduğunu belirtirken CONST'dan sonra gelen INTEGER ifadesi C sayısının integer veri tipi olduğunu belirtmektedir. Değişkenlere Değer Atama Pascalda diğer programlama dillerinden farklı olarak değer ataması yapılırken ":=" (iki nokta üst üste ve eşittir işaret ikilisi kullanılır). Yani sayi diye bir integer tipindeki değişkene 20 değerini atamak istediğimizde yapmamız gerekenler şöyle olacaktır. Örnek: sayi : integer; { sayi adında integer tipinde bir değişken tanımladık }... Algoritma ve Programlamaya Giriş 24 Öğr. Gör. Mustafa AKSU

25 sayi := 20; (* sayi değişkenine 20 değerini atadık *) sayi := sayi + 1; (* sayi değişkeninin değerini 1 arttırdık *)... Pascalda değişkenlere değer atarken iki nokta üstüstü ve eşittir birlikte kullanılır. Eşittir tek başına kullanıldığında karşılaştırma operatörü olarak görev yapar. Değişken veya sabit tanımlarken şunlara dikkat etmek gerekmektedir: 1. Bir değişken veya sabit A..Z veya a..z arasındaki harflerle yada _ (alt çizgi) ile başlar. ADRES, isim, _faktor gibi. 2. Değişken veya sabitlerde ilk karakter rakam olamaz. 1a, 23B : integer gibi. {Bu tanımlama yanlış} a1, B23 : integer gibi. {Bu tanımlama doğru} 3. Değişken birden fazla kelimeden oluşuyorsa kelimeler arasına alt çizgi ( _ ) karekteri konulmalıdır. dairenin_alani : real; 4. Değişken içerisinde sadece Türk alfabesinde olup Đngiliz alfabesinde olmayan (ç,ç,ğ,ğ,ı,đ,ö,ö,ü,ü,ş,ş) karakterler kullanılamaz. maaş, sınıf: integer ; {Tanımlaması yanlış} 5. Değişken içerisinde noktalama işaretleri (,. ;? / { [ ( ), karşılaştırma operatörleri ( <,> =), boşluk kullanılamaz. sınıfın.mevcudu: integer; {Tanımlaması yanlış} 6. Tanımlanan değişken veya sabit programlama dilinin komutları olamaz. Örnek: Read, file : integer ; {Kullanımları yanlış} Not: integer ; {Kullanımı yanlış} 7. Tanımlanan değişken kullanılacak tipe ve kullanım amacına uygun tanımlanmalıdır. Programlara Açıklama Eklenmesi Program yazımı sırasında kodlarımıza çok sık ekleme ve çıkarmalar yaparız bunlar bazen programları içinden çıkılmaz hale getirebilir, bunu engellemek için Pascalda programlara açıklama satırları ekleyebilirsiniz. Açıklama satırları eklemeniz ileride programda yaptığınız değişiklikleri ve program akışını kolayca hatırlamanızı ve programınızı inceleyen diğer Algoritma ve Programlamaya Giriş 25 Öğr. Gör. Mustafa AKSU

26 kişilerin programı kolayca anlamalarını sağlayacaktır. Pascalda açıklama satırı yazımı için {,} sembolleri veya (*,*) ikilileri kullanılır bunlar açıklamanın nerede başlayıp nerede bittiklerini belirtir. Programın derlenmesi esnasında bu satırlar derleyici tarafından gözardı edilir, yani derlenmiş kodda açıklama satırları yer almaz. Açıklamalar birinci tipte { ile başlar } ile biter. Đkinci tipte ise (* ile başlar ve *) ile biter. Programlarınızda açıklama satırlarına sıkça yer vermeniz hem sizin hem de programı inceleyen diğer kişilerin programı rahat anlamalarını sağlayacaktır. Örnek: sayi:integer; {sayi değişkeni kaç kişinin adını gireceğimizi saymak için kullanıldı. Bu bir açıklama satırıdır ve derleyici tarafından gözardı edilir} adi:string[20]; (* Bu da bir açıklama satırıdır ve bu satır da derleyici tarafından gözardı edilir*) Pascalda değişken tanımlamalarının ve kod satırlarının sonuna noktalı virgül geldiği halde açıklama satırlarının sonuna noktalı virgül gelmediğine özellikle dikkat edin Pascalda Veri Tipleri Pascal programlama dilinde kullanılan değişik veri tiplerinin tanımları ve geçerli olduğu alanlar aşağıda tanımlanmıştır Tamsayı veri tipleri Integer Tipi Veriler Integer tipindeki veriler tamsayılardan oluşmuşlardır ve kayar nokta içermezler. Turbo Pascal'daki integer tipteki tamsayılar ile arasında sınırlandırılmışladır Word Tipi Veriler Word Tipi veriler, arasındaki tamsayılardan oluşmuşlardır Shortint Tipi Veriler -128 ile +127 arasındaki tamsayılardan oluşmuşlardır Byte Tipi Veriler Byte tipi veriler işaret ve desimal nokta içermeyen arasındaki değerlerden oluşan tamsayılardır. Programda, arasındaki tamsayılar için değişken veya sabitlerin Byte tipi olarak tanımlanması bellekten tasarruf sağlar Comp Tip Veriler Comp tip veriler çok uzun tamsayıların tanımlanması için kullanılır. Comp veri tipi ile basamaklı sayılar ifade edilir. Tanım aralığı; Longint Tipi Veriler ile arasında görev yaparlar ve tamsayıların menzil olarak en Algoritma ve Programlamaya Giriş 26 Öğr. Gör. Mustafa AKSU

27 kapsamlısıdır Ondalıklı Değişken Tipleri Real Tip Veriler Real tip veriler desimal nokta içeren ve üslü formda ifade edilebilen gerçel sayılardır. Üs ifadesi olarak "E" harfi kullanılmaktadır. Kullanımları ile ilgili örnekler aşağıda verilmiştir. Tanım aralığı;2.9e e38 'dir. Bellekte 6 byte yer kaplar E E E-12 Olağan koşullarda bir programlama hatası söz konusu değilse veya çok büyük sayılar ile çalışılmıyor ise REAL tip sayılarla çalışmada bir sorun ile karşılaşmayız. Kişisel bilgisayarların mikro işlemcileri 80x86 olarak isimlendirilir. Bu işlemci ailesinin yükünü hafifletmek için 80x87 olarak bilinen matematik işlemcisi kullanılır. Pascalda bu işlemci ile kullanılmak üzere dört tip tanımlanmıştır. Bunlar; Single, Double, Extended ve Comp 'tur Single Tip Veriler Single tip veriler, 1.5E E38 sayı kümesi aralığında tanımlanabilir. Bellekte 4 byte yer kaplar Double Tip Veriler Double tip veriler, 5.0E E38 sayı kümesi aralığında tanımlanabilir. Bellekte 8 byte yer kaplar Extended Tip Veriler Extended tip veriler, 3.4E E4932 sayı kümesi aralığında tanımlanabilir. Bellekte 10 byte yer kaplar. 80x87 sınıfındaki veri tiplerinin kullanılabilmesi için programın en başına {$N+} derleyici komutu verilmelidir. Bilgisayarda matematik işlemci yok ise {$E+} matematik işlemci emülasyonu da bu satıra eklenir. Günümüzün Pentium tabanlı bilgisayarlarında matematik işlemci bulunduğundan, matematik işlemcili bilgisayarlarda emülasyon direktifini kullanmaya gerek yoktur String (Metin veya karakter) veri Tipleri Char Tipi Veriler Char tipi veriler, ASCII karakter kümesinin 256 adet elemanından oluşurlar. Char tipi veriler bir sabit olarak ele alındığından ' ' içerisinde yazılır. Algoritma ve Programlamaya Giriş 27 Öğr. Gör. Mustafa AKSU

28 String Tipi Veriler Bu tip veriler, karakter kümesi şeklinde olup ' ' içerisinde yazılırlar. A:STRING[5]; B:STRING[16]; Burada A isimli karakter kümesi maksimum 5 karakterden, B isimli karakter dizisi ise maksimum 16 karakterden oluşmaktadır. Bu bilgiler ile ilk Pascal programımızı yazabiliriz. mesaj:string[7]; BEGIN mesaj :='merhaba' ; Write('Sayın bilgisayar kullanıcısı ',mesaj); END. Programımızın çalıştırılmasıyla ekran görüntüsü aşağıdaki gibi olacaktır. Sayın bilgisayar kullanıcısı merhaba Örnek : Klavyeden vize ve final notu girildiğinde o öğrencinin not ortalamasını bulan programı yazınız? var vize,final:shortint; write('vizeyi giriniz'); readln(vize); write('finali giriniz'); readln(final); write('ortalama',vize*0.4+final*0.6); readln; Boolean (Doğru, Yanlış) Tipi Veriler Mantıksal ifadeler olarak da isimlendirilebilen Boolean tipi veriler sadece iki değerden oluşurlar. Bunlar "FALSE" ve "TRUE" dir. Durum: Boolean; Hata: Boolean; Algoritma ve Programlamaya Giriş 28 Öğr. Gör. Mustafa AKSU

29 3. OPERATÖRLER 3.1. Aritmetik Operatörler Aritmetik operatörler dört işlem için kullandığımız (toplama, çıkartma, çarpma ve bölme) +, -, / ve * 'dan oluşmaktadırlar. Tam ve reel sayıların aritmetik işlemleri için kullanılan operatörlere ilişkin liste aşağıdaki tabloda verilmiştir. "+","-" ve "*" işlemlerinde işlem yapılan sayı cinsi reel ise sonuç ta reel'dir. Đşlem yapılan sayılar tamsayı ise sonuçta tamsayıdır. "/" işleminde ise sonuç her zaman reel sayıdır. Operatör Adı Anlamı + toplama Sol ve sağdaki değerleri birbirine ekler. - çıkarma Soldaki değerden sağdaki değerleri çıkarır. * çarpma Sol ve sağdaki değerleri birbiri ile çarpar. / bölme(reel) Soldaki değeri sağdaki değere böler. Div bölme(tamsayı) Soldaki değeri sağdaki değere böler. mod kalan Soldaki değerin soldaki değere bölünmesinden kalan Sık sık kullandığımız bu operatörlerin yanında iki sayının bölümünden kalanı veren MOD, iki tamsayının bölümünün sonucunda tamsayı üreten DIV programlarımızda sık kullandığımız aritmetik operatörlerdir Div Operatörü Đki tamsayının bölümünün tamsayı kısmını verir. 123/4= div 4= Mod Operatörü Tamsayı tipindeki operandların bölümünü yapar ve sonucun kalan kısmını bir tamsayı değer olarak üretir. 123/4= mod 4 =3 '/' operatörü operand olarak kullanılan değerlerin tipi ya da bölümün sonuç değeri ne olursa olsun real tipte sonuç üretir. Bu nedenle bir bölümün sonucunun bir tamsayı değişkene direkt olarak aktarılması söz konusu değildir. Mod ve Div işlemlerinin sonuçları her zaman tamsayıdır. 4 div 12 = 0, 13 div 4 = 3 3 mod 2 = 3, 4 mod 2 = 0 12 div 4 = 3, 16 div 4 = 4 5 mod 2 = 1, 4 mod 0 = (tanımsız) 3.2. Đlişkisel Operatörler Diğer programlama dillerinde de olduğu üzere, Pascal programlama dilinde iki veya daha fazla operand arasındaki ilişkilerin araştırılmasını yapan ilişkisel operatörler, toplu olarak aşağıdaki tabloda verilmiştir. Operatör Adı Anlamı Algoritma ve Programlamaya Giriş 29 Öğr. Gör. Mustafa AKSU

30 = Eşit Sol ve sağdaki değerler birbirlerine eşitse <> Eşit değil Sol ve sağdaki değerler birbirlerine eşit değilse < Küçük Soldaki değer sağdaki değerden küçükse > Büyük Soldaki değer sağdaki değerden büyükse <= Küçük yada eşit Soldaki değer sağdaki değere eşit yada küçükse >= Büyük yada eşit Soldaki değer sağdaki değere eşit yada büyükse 3.3. Aritmetik Đşlemlerde Đşlem Öncelik Sıraları Öncelik Sırası Aritmetik Đşlem ve bağıntılı tanımlar 1 işaretli sayısal bilgiler 2 Parantez içindeki işlemler 3 Aritmetik fonksiyonlar 4 Üs alma 5 Çarpma ve Bölme 6 DIV tam sayıya bölme deyimi 7 MOD (Bölme işleminde kalan bulma işlemi) 8 Toplama ve çıkarma 9 Mantıksal ilişki ifadeleri (=, >,<,) 10 Bağlantı ifadeleri (not,and,or,xor) Đşlem Önceliğinde Bazı Kurallar: Aynı öncelik sırasına sahip işlemlerde hangisi önce tanımlanmış ise önce onun işlemi gerçekleştirilir. Đşlem öncelik sırası küçük olan bir aritmetik işlemin önce yapılması isteniyorsa parantez içine alınmalıdır. Đç içe birden fazla parantez kullanılması durumunda, işlem öncelik sırası daima en içteki paranteze ait işleminindir Matematiksel Formüller Normal olarak elle yazılan formüllerin bir bilgisayar programına yazımı için belirli bazı kurallar vardır. Matematiksel ifadelerin bilgisayarın anlayacağı şekilde yazımı sırasında dikkat edilecek önemli bir nokta, matematik operatörleri arasındaki işlem önceliğine dikkat edilmesidir. Aşağıda verilen cebirsel ifadelerin Pascal programlama dilinde yazımlarını inceleyiniz. Cebirsel Đfade b 2-4.a.c Pascal'da Yazım Biçimi b*b-4*a*c (b 2-4.a.c) 1/2 sqrt(b*b-4*a*b) x + y x - y (x + y) / (x - y) Algoritma ve Programlamaya Giriş 30 Öğr. Gör. Mustafa AKSU

31 Yukarıdaki örnekte işlem sırası; 1. Z'nin karekökü alınır 2. 1 no.lu işlem 2 sabiti ile çarpılır 3. (2-x) değeri hesaplanır 4. 2 no.lu işten elde edilen sonuç 3 no.lu işlemin sonucuna bölünür. ============================================ Konu Sonu Çalışma Soruları Soru 1. Aşağıda verilen matematiksel eşitlikleri Pascal programlama dili kurallarına göre yazınız. Soru 2. Bir öğrencinin 1. Yazılı, 2.yazılı ve sözlü notlarının ortalamasını hesaplayan programı yazınız. Soru 3. Bir dik üçgende Hipotenüsü hesaplayan programı yazınız. Algoritma ve Programlamaya Giriş 31 Öğr. Gör. Mustafa AKSU

32 4. GĐRĐŞ/ÇIKIŞ DEYĐMLERĐ 4.1. Giriş Giriş/çıkış deyimleri bilgisayarın ana belleği ile çevre aygıtlar arasında bilgi transferi yaparlar. Herhangi bir çevre aygıtından (klavye gibi) bir verinin belleğe okutulması veya ana bellek üzerindeki bir verinin çevre aygıtlara (Ekrana) gönderilmesi giriş/çıkış deyimleri ile gerçekleştirilir. Genellikle giriş çıkış deyimi olarak aşağıda tanımlanan deyimler kullanılmaktadır. 4.2 Read-Readln Pascal 'da okuma işlemi için kullanılan komutlar READ ve READLN olup genel kullanım yapısı şu şekildedir; Read(A1,A2,A3,...,An); Readln(A1,A2,A3,...,An); Read ile Readln arasındaki fark: Read, okuma işlemi tamamlandıktan sonra aynı satırda kalınmasını, Readln ise yeni bir satıra gelinmesini sağlar. Bir Pascal programı içerisinde bu iki komutun kullanımı aşağıdaki program parçasında verilmiştir. s,a,n:real; Read(s,a,n); Okunacak değerlerin düzeni; Aynı değerleri Readln ile okutturmak istersek; s,a,n:real; Readln(s,a,n) ; Okunacak değerlerin düzeni yukarıdaki okuma düzeni ile aynı olabileceği gibi her değer ayrı bir satırda verilebilir, her hangi satırlarda verilebilir, örnek olarak s, a ve n değerleri aşağıdaki okuma düzeninde okutturulmuştur Algoritma ve Programlamaya Giriş 32 Öğr. Gör. Mustafa AKSU

33 4.3. Write-Writeln Pascal programlama dilinde yazma işlemi için WRITE ve WRITELN komutları kullanılmaktadır. Bu komutların genel kullanım yapısı şu şekildedir; Write(A1,A2,A3,...,An) Writeln(A1,A2,A3,...,An) Đki kullanım şekli arasındaki fark, Read ile Readln arasındaki fark gibidir. Đfadeler Write ile yazdırıldıktan sonra kursör aynı satırda bekleyecektir, Writeln ile yazdırılması durumunda ise kursör bir sonraki satıra geçecektir. s,a,n:integer; s:=3; a:=9; n:=5; Write(s); Write(a); Write(n); Programın çalıştırılmasıyla elde edilen sonuç; 395 olacaktır. Aynı değişkenleri Writeln ile yazdırdığımızda; s,a,n:integer; s:=3; a:=9; n:=5; Writeln(s); Writeln(a); Writeln(n); çıktısı elde edilecektir. Algoritma ve Programlamaya Giriş 33 Öğr. Gör. Mustafa AKSU

34 4.4. Yazım Đçin Format Belirleme Write ve Writeln deyimi ile yapılan bilgi çıkışlarını düzenlemek için yazım formatları kullanılır. Write yada WriteLn komutlarıyla ekrana " " gibi reel bir sayı yazdırılmak istendiğinde, ekranda E+02 gibi karmaşık bir değer görülür. Bu değeri anlaşılır bir şekle dönüştürmek için bir yazım formatı belirtilmesi gerekir. Örnek: var a:real; a:= ; write(a:6:2); Bu örnekte ekrana "510.45" şeklinde bir sayı yazar. Buradaki 6 nokta da dahil sayının karakter uzunluğunu, 2 ise virgülden sonraki kısmın uzunluğunu ifade eder Yazdırılmak istenilen değerin tipine bağlı olarak iki farklı yazım formatı kullanılır. 1. Yazım Formatı (X:n) :Tam sayı veya karakter tabanlı değerleri ekrana formatlı yazdırırken bu format kullanılır. Bu formata göre yazdırılmak istenilen X değeri n karakterlik alanda sağa dayalı olarak yazılır. X değerini oluşturan dijit veya karakterin uzunluğu n sayısından küçük ise, aradaki fark kadar sol tarafta boşluk bırakılır. X değerinin uzunluğu n sayısına eşit veya büyük ise yazdırma işlemi format belirtilmemiş gibi gerçekleştirilir. Örnek: Const i:integer=567; b:boolean=true; c:char='b'; h:string[6]='pascal'; Writeln( '); Writeln; Writeln(i:9); Writeln(b:9); Writeln(c:9); Writeln(h:9); Writeln(i:2); Writeln(h:5); 2. Yazım Formatı (X:n:k) : Bu yazım formatı real sayılar üzerinde çalışmaktadır. Bu yazım formatıyla reel sayılar üssüz notasyonda yazdırılır. Yazdırılacak X real değeri n karakterlik alanda sağa dayalı olarak üssüz yazdırılır, k ise n karakterin sonundaki kesirli kısmı göstermektedir. Örneğin A değeri, A:7:2 şeklinde yazdırılmak istenirse; program real sayı için 7 karakterlik yer ayırır. Bu alanın son iki hanesi ondalıklı kısım için sondan 3. hanesi ise desimal nokta için kullanılır. Sayının tamsayı kısmı ayrılan alanın uzunluğundan küçük ise, aradaki fark kadar sol tarafta boşluk bırakılır. Yazdırılacak sayının tam sayı kısmı bu alana sığmıyor ise, tamsayı için ayrılan alanın uzunluğu yazdırılan sayının tamsayı alan uzunluğuna eşit büyüklükte kabul edilir. Kesirli kısmı ayrılan alandan daha küçük ise aradaki fark kadar sağ tarafa 0 dijiti ilave edilir. Kesirli kısım alana sığmıyorsa yuvarlatılarak yazılır. Algoritma ve Programlamaya Giriş 34 Öğr. Gör. Mustafa AKSU

35 Yazım sırasında kesirli alanın yazılması istenmiyorsa k sayısının "0" yazılması gerekir. k sayısının sıfır olması desimal noktanın yok olmasını sağlar. Bu anlattığımız yazım formatlarını bir tablo halinde özetleyecek olursak: Tip Yazım Formatı Açıklama integer Real String Char şeklinde olur. Değişken : n Değişken:n:k Değişken:n Integer tipindeki bir değişkenin adının arkasına n gibi sayısal bir değer yazılırsa bu n karakterlik bir saha içinde bu sayının sağa doğru dayalı bir şekilde yazılmasını sağlar. Real tipinde bir değişkenin adının arkasına n ve k gibi sayısal değerler yazılırsa bunlar n karakterlik alan içinde ondalık kısmı noktadan sonra m tane karakter içermek üzere sağa dayalı olarak yazdırılır. String tipindeki bir değişkenin adının arkasına n gibi sayısal bir değer yazılırsa bu n karakterlik bir saha içinde bu karakter dizisinin sağa doğru dayalı bir şekilde yazılmasını sağlar. Örnek: Const a:real= ; Writeln(' ); Writeln('*********');; Writeln(a:9:4); Writeln(a:9:3); Writeln(a:9:2); Writeln(a:9:0); Writeln(a:7:2); Writeln(a:6:2); Writeln(a:5:2); Writeln(a:0:0); Programın çalışmasıyla elde edilen sonuç aşağıda verilmiştir. Program sonucuna göre sondan 2. ve 3. satırların aynı olduğuna dikkat ediniz ********* Algoritma ve Programlamaya Giriş 35 Öğr. Gör. Mustafa AKSU

36 5. Karşılaştırma Komutları Pascalda genel olarak kullanılan karşılaştırma deyimleri şunlardır: IF..THEN..ELSE CASE..OF 5.1. If...Then...Else Eğer ise değilse (If..then..else) Karar yapısı : Program yazarken en çok yapılan işlerin başında elinizdeki verilere bakarak bir karar vermek ve programın akışını bu karara göre yönlendirmek gelir. Đyi programda gerekli yerlerde doğru ve etkili karar yapıları oluşturmak çok önemlidir. Çünkü bir programda en yavaş işleyen komutlardan birisi karşılaştırma komutlarıdır. Pascalda en çok kullanılan karşılaştırma ve kontrol komutu If..then..else dir. If deyiminden sonra yapılacak karşılaştırmanın sonucu doğru (True) ise then deyiminden sonraki blok işler. Eğer karşılaştırmanın sonucu yanlış (False) ise bu sefer de else deyiminden sonraki blok işler. Else deyimi seçimlik bir deyimdir. Yani isterseniz, ya da gerekmezse bu kısmı kullanmayabilirsiniz. Bu durumda eğer karşılaştırma sonucu yanlış ise program bir sonraki komutla akışına devam eder. Genel kullanım kalıbı şu şekildedir: if (şart) then Yapılması istenen işlem veya işlemler Else Yapılması istenen işlem veya işlemler Eğer else kullanacaksanız else den önceki satırda noktalı virgül kullanmamalısınız.... If then komutlar [ else komutlar ] if veya Else den sonra 1 den fazla komut veya işlem varsa end bloğu kullanılmalıdır. Algoritma ve Programlamaya Giriş 36 Öğr. Gör. Mustafa AKSU

37 Eğer koşul doğru ise Đşlem 1'i ve Đşlem 2'yi yap değilse işlem3'ü ve işlem4 ü yap. Pascal'da yazımı: if Koşul Then Begin Đşlem1; Đşlem2; End Else Đşlem3; Đşlem4; End; Eğer isterseniz iç içe if kullanmaya devam edebilirsiniz. Bu oldukça karmaşık bir yapı oluşturabilir ancak bazı durumlarda böylesi uygulamalar zaruri olur. Örnek: Girilen bir sayının tek veya çift olduğunu bulan program. a : Integer; Begin Write('Bir sayı giriniz: '); Readln(a); If (a mod 2 = 1) Then Writeln ('Girdiğiniz Sayı Tekdir') Else Writeln ('Girdiğiniz Sayı Çifttir'); Readln; End. Örnek: Girilen üç sayıdan en büyüğünü bulan program. a, b, c, EnBuyuk : Integer; Begin Write('Üç Sayı giriniz: '); Readln(a, b, c); If (a>=b) and (a>=c) Then EnBuyuk:=a Else If (b>=a) and (b>=c) Then EnBuyuk:=b Else EnBuyuk := c; Writeln('En Büyük Sayı = ', EnBuyuk); Algoritma ve Programlamaya Giriş 37 Öğr. Gör. Mustafa AKSU

38 Readln; End. Örnek : Girilen bir sayının pozitif veya negatif olduğunu söyleyen program. Sayi : integer; write( Bir sayı girin : ); readln(sayi); if Sayi < 0 then writeln( Sayi negatiftir ) else writeln( Sayi Pozitiftir ); Örnek: Bir öğrencinin vize ve final notunu okuyup ortalamasını vizenin % 40 ve finalin %60 ını alarak hesaplayıp ortalama 60 dan büyük veya eşitse geçti değilse kaldı yazan progarmı yazınız. var vize,final:integer; ort:real; write('vize notunu girin'); readln(vize); write('final notunu girin'); readln(final); ort:=(vize*0.4+final*0.6); if (ort >= 60) then Writeln('Ortalama =',ort:6:2,' Gecti') else Writeln('Ortalama =',ort:6:2,' Kaldi'); readln; Algoritma ve Programlamaya Giriş 38 Öğr. Gör. Mustafa AKSU

39 Örnek: aralığındaki tek sayıları toplayan programı yazınız. var i,toplam:integer; toplam:=0; for i:=1 to 100 do if (i mod 2=1) then toplam:=toplam+i; writeln('tek sayılarin toplamı = ',toplam); readln; Örnek: Dışarıdan girilen rastgele 10 tane sayıdan kaç tane tek ve çift var ayrıca tekleri ayrı çiftleri ayrı toplayan programı yazınız. var i,tek,cif,tektop,ciftop,sayi:integer; tek:=0;cif:=0;tektop:=0;ciftop:=0; for i:=1 to 10 do write(i,'. sayiyi giriniz : ');readln(sayi); if sayi mod 2=0 then cif:=cif+1; ciftop:=ciftop+sayi; end else tek:=tek+1; tektop:=tektop+sayi; writeln(tek,' Adet tek sayı girdiniz bunların toplamı = ',tektop); writeln(cif,' Adet cift sayı girdiniz bunların toplamı = ',ciftop); readln; Algoritma ve Programlamaya Giriş 39 Öğr. Gör. Mustafa AKSU

40 Örnek : Öğrencinin Vize ve final notundan ortalamasını hesaplayıp geçti veya kaldı yazan program. Not1, Not2 : Integer; Ortalama: Real; Begin Write('Not 1 i giriniz : '); Readln(Not1); Write('Not 2 i giriniz : '); Readln(Not2); If (Not1 >=0) and (Not1<=100) and (Not2 >=0) and (Not2<=100) Then Begin Ortalama := (Not1+Not2)/2; End If Ortalama >= 50 Then Writeln('Geçtiniz Ortalamanız = ', Ortalama:4:2) Else Writeln('Kaldınız Ortalamanız = ', Ortalama:4:2); Else Writeln('Yanlış giriş yaptınız...'); Readln End. ============================================ Konu Sonu Çalışma Soruları Soru 1. Vergi iadesini hesaplayan programı yazınız. ( Emekli aylığı alanlar için: milyon arası %10, milyon arası %20, milyon arası %12, 600 milyon üzeri % 5) Soru 2. Üç kenarı girilen bir üçgenin eşkenar-çeşitkenar-ikiz kenar olup olmadığını bulan programı yazınız. Soru 3. Đki sayının Ortak Bölenlerinin En Büyüğünü (OBEB) ve Ortak Katlarının En Küçüğünü (OKEK=A'B/OBEB) bulan programı yazınız. Soru 4. Üç sayının en küçüğünü bulan programı yazınız. Soru 5. 4 işlem yapan basit bir hesap makinesi programı yazınız. Soru 6. Bir sayının tek mi çift mi olduğunu bulan programı yazınız. Soru 7. y=x2+ax+c denklemin köklerini bulan programı yazınız. Algoritma ve Programlamaya Giriş 40 Öğr. Gör. Mustafa AKSU

41 5.2. case...of Bir önceki konuda bahsedilen kontrol deyimi if..then..else genellikle az sayıda olan karşılaştırmalarda kullanılır. Ama eğer yapılan karşılaştırma çok karmaşıksa o zaman bu deyimi kullanmak oldukça zor olur ve çok fazla miktarda mantık hataları bulunur. Bunu engellemek için blok if deyimi diyebileceğimiz Case yapısını kullanırız. Case yapısında karşılaştırmanın yapılacağı değişkenin alabileceği değerler göre çeşitli işlemleri toplu olarak yapabiliriz. Case in genel kullanımı şöyledir: case degişken of durum-1 : işlem(ler);... durum-n : işlem(ler); Veya case değişken of else durum-1 : işlem(ler);... durum-n : işlem(ler); işlem(ler) Durum dediğimiz yerlerde bir yada daha fazla, virgülle ayrılmış, sabitler veya aralıklar olabilir. Mesela : case Ch of else End; 'A'..'Z', 'a'..'z' : WriteLn('Harf'); '0'..'9' : WriteLn('Rakam'); '+', '-', '*', '/' : WriteLn('Operator'); WriteLn('Özel karakter'); Algoritma ve Programlamaya Giriş 41 Öğr. Gör. Mustafa AKSU

42 Else kısmı ise tamamen seçimliktir. Đstemezseniz kullanmayabilirsiniz. Şimdi bir soruyu hem if-then else deyimi ile hem de case-of deyimi ile çözüp farkları zorlukları görelim. Soru: Başlangıç değeri I=500 olan I sayısı; dışarıdan girilen sayı 0 dan büyük ve 128 den küçükse I değişkenine 1 eklesin, arasında ise I ya 10 eklesin, 256 dan büyükse I ya 100 eklesin. Aynı zamanda eğer bu sayı 0 dan küçük ve 127 den büyükse I dan 1 eksiltsin, arasındaysa 10 eksiltsin ve 255 den de küçükse I dan 100 eksiltsin. if li çözüm I : integer = 500; Sayi : integer; Begin Write( Bir sayı girin : ); Readln(Sayi); If (sayi > 0) and (sayi < 128) then I := I+1; If (sayi >= 128) and (sayi <= 256) then I := I+10; If (sayi > 256) then I := I+100; If (sayi < 0) and (sayi > -127) then I := I-1; If (sayi <= -127) and (sayi >= -255) then I := I-10; If (sayi < -255) then I := I-100; Writeln( Đşlem sonucu I da kalan=, I); End. Bir if deyimi için oldukça karmaşık olan bu örneği bir de case-of ile çözelim. Case-of lu çözüm I : integer = 500; Sayi : integer; Begin Algoritma ve Programlamaya Giriş 42 Öğr. Gör. Mustafa AKSU

43 Write('Bir sayi girin : '); readln(sayi); case Sayi of : I:= I + 1; : I := I + 10 ; : I := I + 100; : I := I - 1; : I := I - 10; : I := I - 100; writeln('islem sonunda I değeri =',I); Örnek: Aşağıda kişinin yaşı girildiğinde, yaşına uygun mesajlar veren bir Pascal programı verilmiştir. Begin yas:integer; Write( Yaşınızı Giriniz : ); ReadLn(YAS); CASE yas OF 0..5:Writeln( Yaşınız 0-5 arasında ); 6..15:Writeln( Yaşınız 5-15 arasında ); :Writeln( Yaşınız arasında ); :Writeln( Yaşınız arasında ); :Writeln( Yaşınız arasında ); else Readln; End. Writeln( Çok Yaşayın ); Örnek: Girilen rakam notunu harf notuna dönüştüren programı yazınız. rnot:integer; Begin write('rakam notunu Giriniz'); readln(rnot); case rnot of 0..29:write('Notunuz FF'); Algoritma ve Programlamaya Giriş 43 Öğr. Gör. Mustafa AKSU

44 30..39:write('Notunuz FD'); :write('Notunuz DD'); :write('Notunuz DC'); :write('Notunuz CC'); :write('Notunuz CB'); :write('Notunuz BB'); :write('Notunuz BA'); :write('Notunuz AA'); else write('yanlış Not'); readln; Örnek : Dışardan iki sayı ve işlem okuyup işleme göre sonucu hesaplayıp yazdıran programı yazınız. var x,y:integer; a:char; sonuc: real; writeln('1.sayıyı giriniz..');readln(x); writeln('2.sayıyı giriniz...');readln(y); writeln('işlem seciniz...');readln(a); case a of '+':sonuc:=x+y; '-':sonuc:=x-y; '/':sonuc:=x/y; '*':sonuc:=x*y; else write('yanlış işlem yaptınız'); write('işlemim sonucu:',sonuc:4:2); readln; ============================================ Konu Sonu Çalışma Soruları Soru 1 : Yılın aylarını rakam olarak girdiğimizde bu ayın hangi mevsimde olduğunu ekrana yazan programı yazınız. Soru 2 : Bir - Milyar arasındaki girilen bir sayının kaç basamaklı olduğunu ekrana yazdıran pascal programını yazınız. Algoritma ve Programlamaya Giriş 44 Öğr. Gör. Mustafa AKSU

45 6. DÖNGÜ (TEKRARLAMA) DEYĐMLERĐ 6.1 Giriş Bu bölümde program içerisinde belirli blokların herhangi bir şarta bağlı olarak veya şarttan bağımsız bir şekilde ardışık olarak çalıştırılması için kullanılan deyimler üzerinde durulacaktır. Bu tekrarlama deyimleri FOR-DO, REPEAT-UNTIL, WHILE-DO şeklindedir. 6.2 For-Do For deyimi, bir program parçasının herhangi bir boolean şartına bağlı olmaksızın belirlenen sayıda üst üste çalıştırılması için kullanılır. For deyiminin genel kullanım şekilleri aşağıda verilmiştir. 1. FOR Döngü Değişkeni:=Döngü Başlangıcı to döngü sonu do Begin Yapılacak işlemler End; Bu kullanım şeklinde başlangıç değeri bitiş değerinden küçük olmak zorundadır. TO ifadesiyle başlangıçtan bitişe kadar artarak tekrar yapılacağını, DO ifadesi de tanımlanan işlemlerin tekrarlanacağını bildirir. 2. FOR Döngü Değişkeni := Döngü_Başlangıcı DOWNTO Döngü_sonu DO Begin Yapılacak işlemler End; For deyiminin bu kullanım şeklinde başlangıç değeri bitiş değerinden daima büyük olup DOWNTO ifadesi de döngü değişkeninin tekrarlama işleminde azalacağını belirtir. DO ifadesi ise belirtilen işlemlerin döngü sayısınca tekrarlanacağını bildirir. Pascal dilinde diğer programlama dillerinden farklı olarak başlangıç değerinden son değere artışlar/azalmalar birer birer olmaktadır. Aşağıdaki örnek programları inceleyiniz. Örnek : Dışardan girilen bir sayının karesini küpünü %18 ini ve faktöriyelini hesaplayan programı yazınız. var i,say,kare,kup,fak:integer; yuzde:real; write('sayi giriniz'); readln(say); kare:=say*say; kup:=say*kare; Algoritma ve Programlamaya Giriş 45 Öğr. Gör. Mustafa AKSU

46 yuzde:=say*0.18; fak:=1; for i:=1 to say do fak:=fak*i; writeln('sayi Karesi Kubu Yuzdesi Faktoriyeli'); write(' ',say,' ',kare,' ',kup,' ',yuzde:4:2,' ',fak); readln; Örnek : Bir den girilen N sayısına kadarki tam sayıları toplayan pascal programını yazınız i, N, Toplam : Integer; Begin Write('Son sayıyı gir: '); Readln (N); Toplam := 0; For i := 1 To N Do Toplam := Toplam + i; Writeln('1 den N e kadar sayıların toplamı = ', Toplam); Readln; End. Örnek: Dışardan girilen bir ismi yine dışardan girilen bir sayı kadar yazan programı yazınız. var i,x:integer; isim:string[20]; write('isim girin : '); readln(isim); write('isminiz kac defa yazılsın : '); readln(x); for i:=1 to x do writeln(isim); readln; Algoritma ve Programlamaya Giriş 46 Öğr. Gör. Mustafa AKSU

47 Örnek : Dışardan iki sayı okuyup 1. sayıyı taban 2. sayıyı üs kabul ederek üs alma işlemini yapan programı yazınız. var us,taban,sonuc:integer; i:integer; write('taban ve ussu girin..:'); readln(taban,us); sonuc:=1; for i:= 1 to us do sonuc:=sonuc*taban; write('sonuc...:',sonuc); readln; Örnek : arasındaki çift sayıları toplayan program. var i,toplam:integer; toplam:=0; for i:=1 to 100 do if (i mod 2=0) then toplam:=toplam+i; writeln('1-100 arasi cift sayilarin toplami = ',toplam); readln; Örnek: Dışardan okunan 10 tane rast gele sayıdan kaçının negatif kaçının pozitif olduğunu ve pozitifleri kendi arasında negatifleri kendi arasında toplayıp sonuçları ekrana yazan programı yazınız. var i,poz,neg,poztop,negtop,sayi:integer; poz:=0;neg:=0; poztop:=0;negtop:=0; Algoritma ve Programlamaya Giriş 47 Öğr. Gör. Mustafa AKSU

48 for i:=1 to 10 do write(i,'. sayiyi giriniz : '); readln(sayi); if sayi<0 then neg:=neg+1; negtop:=negtop+sayi; end else poz:=poz+1; poztop:=poztop+sayi; writeln(neg,' Adet negatif sayi girdiniz bunlarin toplami = ',negtop); writeln(poz,' Adet pozitif sayi girdiniz bunlarin toplami = ',poztop); readln; 6.3 Repeat-Until Bir program bloğunun belli bir şart sağlanıncaya kadar üst üste çalıştırılmasını sağlayan REPEAT deyiminin genel formu aşağıdaki şekildedir. Repeat Program Satırlar Until (Boolean şartı) Burada repeat, tekrar etme anlamında olup, tekrar etmesine UNTIL deyimindeki şart (boolean ifadesi) sağlanıncaya kadar devam eder. Bu deyim program satırları bölümüne herhangi bir şey yazılmaksızın kullanılabilir. Bu döngünün en büyük avantajı belirli bir sayı ile sınırlandırılmamış olmasıdır. Boolean ifadesindeki şart sağlanıncaya kadar işlemlere devam edilmektedir. Dikkat edilirse şart cümlesinin aldığı değer ne olursa olsun program bloğu bir kez çalışmaktadır. Örnek : Đsminizi dışardan okunan bir sayı kadar yazdıran programı yazınız. x,i:integer; write('sayi girin'); readln(x); Algoritma ve Programlamaya Giriş 48 Öğr. Gör. Mustafa AKSU

49 i:=0; repeat i:=i+1; writeln('m.aksu'); until i=x; readln; Örnek : Dışardan girilen bir ismi yine dışardan girilen bir sayı kadar yazan programı yazınız. x,i:integer; s:string; write('isim Girin'); readln(s); write('sayi girin'); readln(x); i:=0; repeat i:=i+1; writeln(s); until i=x; readln; Örnek : aralığındaki tek sayıları toplayan program. ttop,i:integer; i:=1; ttop:=0; repeat ttop:=ttop+i; i:=i+2; until i>=100; writeln(ttop); readln; Algoritma ve Programlamaya Giriş 49 Öğr. Gör. Mustafa AKSU

50 Örnek : Dışardan okunan 10 tane rastgele sayıyı toplayıp bunların ortalamasını hesaplayarak sonuçları ekrana yazan programı yazınız. 6.4 While-Do x,i:integer; top:longint; ort:real; top:=0; i:=0; repeat i:=i+1; write(i,'. Sayiyi girin'); readln(x); top:=top+x until i=10; ort:=top/i; writeln(i,' adet sayinin toplami',top); writeln(i,' adet sayinin ortalamasi',ort:5:2); readln; Bir program bloğunun belli bir şart sağlandığı sürece üst üste icrasını sağlayan WHILE deyiminin genel yazılış şekli aşağıdadır. While <şart cümlesi> Do BLOK {Yapılacak işlemler} Do kelimesini takip eden blok WHILE deyimi tarafından döngüye sokulacak komut cümlelerini kapsar. Komut cümlesi sayısı birden fazla ise, bu bloğun BEGIN...END deyimleri arasına alınması zorunludur. WHILE ile REPEAT arasındaki fark; Repeat döngüsü şart cümlesi yanlış olduğu sürece, While döngüsü ise şart cümlesi doğru olduğu sürece devam etmesidir. REPEAT döngüsünde şart sonda kontrol edildiği için doğruda olsa yanlışta olsa en az bir defa işlem yapılır. WHILE da ise şart döngüye girmeden kontrol edildiği için yanlışsa hiç işlem yapılmaz. Örnek : Đsminizi dışardan okunan bir sayı kadar yazdıran programı yazınız. x,i:integer; write('sayi girin'); readln(x); Algoritma ve Programlamaya Giriş 50 Öğr. Gör. Mustafa AKSU

51 i:=0; while i<10 do i:=i+1; writeln('isminiz'); readln; Örnek : Dışardan girilen bir ismi yine dışardan girilen bir sayı kadar yazan programı yazınız. x,i:integer; s:string; write('isim Girin'); readln(s); write('sayi girin'); readln(x); i:=0; while i<x do i:=i+1; writeln(s); readln; Örnek : aralığındaki çift sayıları toplayan program. ctop,i:integer; i:=0; ctop:=0; while i<=100 do ctop:=ctop+i; i:=i+2; writeln(ctop); readln; Algoritma ve Programlamaya Giriş 51 Öğr. Gör. Mustafa AKSU

52 Örnek : Dışardan okunan 10 tane rastgele sayıyı toplayıp bunların ortalamasını hesaplayarak sonuçları ekrana yazan programı yazınız. x,i:integer; top:longint; ort:real; top:=0; i:=0; while i<=10 do i:=i+1; write(i,'. Sayiyi girin'); readln(x); top:=top+x ort:=top/i; writeln(i,' adet sayinin toplami',top); writeln(i,' adet sayinin ortalamasi',ort:5:2); readln; 6.5. Blok ve Döngülerin Kırılması Döngülerin çalışması sırasında belirli koşulların sağlanması durumunda döngünün sona ermesini isteyebiliriz. Bunun için BREAK, CONTINUE, EXIT, HALT Pascal deyimlerinden yararlanmaktayız. Break Turbo Pascal 7.0 programlama dilinde bir döngüyü kırarak sona erdirmek amacıyla kullanılır. Program içinde BREAK deyimiyle karşılaşıldığında içinde bulunduğu döngüden sonraki program satırının işler hale getirir. BREAK komutu FOR-DO, REPEAT-UNTIL ve WHILE-DO döngülerinin içinde kullanılabilir. Konunun daha iyi anlaşılabilmesi için aşağıdaki örneği inceleyiniz. Örnek Programda i ve j gibi iki sayının çarpımı yapılmaktadır. i=j olduğu durumda içteki döngü BREAK deyimi ile kırılmakta ve i 'nin değeri bir üst değere arttırılarak programın çalışmasına devam edilmektedir. Continue Fortran programlama dilinde olduğu gibi tekrarlama çevrimini yeniden başlatır. Programcı, bilgi girişlerinde kullanıcının sayısal olmayan bir giriş yapacağını varsayarak önlem almak amacıyla tekrarlama işlemlerini yeniden başlatmak için CONTINUE komutu kullanılır. Bu deyim PASCAL 7.0 ' da geçerlidir. Algoritma ve Programlamaya Giriş 52 Öğr. Gör. Mustafa AKSU

53 Exit Program işlem bloklarında tanımlanan herhangi bir koşulun gerçekleşmesi halinde program bloğunun akışını durdurur. Halt Programın kararlaştırılan bir yerinde durdurulmasını sağlar. ENTER tuşuna basıldıktan sonra varsa HALT komutundan sonra tanımlanan program satırları çalıştırılır. ============================================ Konu Sonu Çalışma Soruları Soru 1: Sadece toplama işlemi kullanarak girilen iki sayıyı çarpan programı yazınız. Soru 2: Dışardan rast gele 10 tane sayı okuyup bunlardan kaçının tek kaçının çift olduğunu ve tekleri kendi çiftleri de kendi arasında toplayıp sonuçları ekrana yazan programı yazınız. Soru 3: Bir dik üçgenin iki dik kenarı dışardan giriliyor. Bu girilen değerlere göre üçgenin çevresini ve alanını bulan programı yazınız. Algoritma ve Programlamaya Giriş 53 Öğr. Gör. Mustafa AKSU

54 7. Pascalda bazı standart Prosedür ve Fonksiyonlar Pascalın kendi üzerinde tanımlanmış hazır prosedür ve fonksiyonları vardır. Bunların bazıları sayısal bazıları da stringler üzerinde işlem yapmaktadır. Bunların arasında Concat, Upcase, Length; abs, sqr, sqrt, round, random gibi birçok standart function veya procedure bulunmaktadır. Length Length fonksiyonu bir karakter dizisinin uzunluğunu hesaplamak amacıyla kullanılır. Hesaplama sırasında karakter dizisi arasında boşluklar var ise bunları da bir karakter olarak kabul edecektir. Örnek: var s:string[40]; s:='bilgisayar Teknolojisi ve Programlama'; WriteLn('Uzunluk = ', Length(s)); Concat Programın Çıktısı: Uzunluk = 37 şeklinde olacaktır. Bilgilerin birbirlerine eklenmelerini sağlayan, alfa sayısal fonksiyondur. Ekleme işlemleri CONCAT fonksiyonu ile veya alfa sayısal bilgiler arasına + işareti konarak sağlanır. Concat fonksiyonu ile istenilen sayıda string birbiri ardına eklenebilir. CONCAT fonksiyonunun kullanımı aşağıdaki örnek programda verilmiştir. Örnek: var x1,x2,x3,x4:string[20]; x5,x6:string[50]; x1:='bahkesir'; x2:='mühendisliği'; x3:='universitesi ';x4:='endüstri'; x5:=concat(x1,x3,x4,x2); Writeln('4 sözcüğün CONCAT ile birleştirilmesi'); Writeln(x5); x5:=x1+x3+x4+x2; Writeln('4 sözcüğün + ile birleştirilmesi'); Writeln(X5); Algoritma ve Programlamaya Giriş 54 Öğr. Gör. Mustafa AKSU

55 Örnek * : 10 luk tabandaki bir sayıyı diğer tabanlara dönüştüren program. var x,i,taban:integer; gecici,digertaban:string; write('onluk tabanda Sayı Griniz'); readln(x); write('tabanı Giriniz'); readln(taban); digertaban:=''; while x>taban do Str(x mod taban,gecici); digertaban:=digertaban+gecici; x:=x div taban; STR(x,gecici); digertaban:=digertaban+gecici; for i:=length(digertaban) downto 1 do write(digertaban[i]); readln(x); * Biraz zor bir örnektir. Anlaşılmıyorsa üzerinde çok durulmamalı. Upcase Pascal 'da okunan veya karşılaştırılması yapılan iki karakter dizisinde yazılan harflerin büyük veya küçük oluşu önemlidir. Upcase fonksiyonu küçük harfleri büyük harfe çevirir. Parametre olarak verilen karakterlerin alfabetik olmaması durumunda herhangi bir işlem yapılmaz. Örnek: var s : string; i : Integer; Write('Bir Karakter Dizisi Giriniz:'); ReadLn(s); for i := 1 to Length(s) do s[i] := UpCase(s[i]); WriteLn('KARAKTER DĐZĐSĐ BUYUK HARFE DÖNÜŞTÜ Readln; ',s); Aşağıda ise bazı sayısal fonksiyonlar anlatılmıştır. Algoritma ve Programlamaya Giriş 55 Öğr. Gör. Mustafa AKSU

56 Abs Herhangi bir sayısal sabit veya değişkenin mutlak (işaretsiz) değerini verir. Örnek: var Sqr r: Real; i: Integer; r := Abs(-4.3); i := Abs(-157); Writeln(r:4:l,i:8); Verilen bir parametrenin karesini verir. Genel kullanım şekli; Sqrt Kare:=sqr(sayi); Verilen bir parametrenin karekökünü verir. Genel kullanım şekli; Örnek: var Karekok:=sqrt(sayi); Round say: real; Write('Karesi alınacak sayıyı giriniz ='); Readln(say); Writeln(say:10:2,' in Karesi ', Sqr(say):10:2); Writeln(say:10:2,' nın karekökü',sqrt(say):10:2); Gerçel sayıların kurala uygun bir şekilde yuvarlatır ve yuvarlatılmış tamsayı olarak verir. Elde edilen yuvarlatılmış sayı yine real tipte saklanır. Örnek: Writeln( 1.499,, Round(1.499),' a yuvarlatıldı'); Writeln( 1.5',,Round(1.5),' a yuvarlatıldı'); Writeln( 1.499,,Round(-1.499),' a yuvarlatıldı'); Writeln( -1.5,' ',Round(-1.5),' a yuvarlatıldı'); Algoritma ve Programlamaya Giriş 56 Öğr. Gör. Mustafa AKSU

57 Random Rastgele bir sayı üretir. Üretilen rastgele sayı 0 ile random ile belirtilen sayı aralığında olmaktadır. Örnek: x:integer; Randomize; x:= Random(99); Writeln ( Rastgele üretilen sayi =,x); ============================================ Konu Sonu Çalışma Soruları Soru 1 : Bilgisayarda bir tahmin oyunu yazılacaktır. Oyun şöyledir bilgisayar rastgele bir sayı üretecek kullanıcı bu üretilen sayıyı bilmeye çalışacak. Kullanıcı kendi tahminlerini girdikçe bilgisayar kullanıcıyı küçük sayı girdiniz, büyük sayı girdiniz, Bildiniz şeklinde uyaracak. Sonuçta kullanıcı sayıyı kaç tahminde bilmişse ekrana yazılacak. Soru 2 : Dışarıdan girilen bir metni tersten büyüterek yazdıran programı yazınız. Algoritma ve Programlamaya Giriş 57 Öğr. Gör. Mustafa AKSU

58 8. DĐZĐLER Bir dizi, aynı tipteki elemanların yan yana sıralanışı ile elde edilen bir bilgi kümesidir. Matematikte kullanılan doğal sayılar (1,2,3,..), reel sayılar aslında birer dizidir. Ayrıca yılın ayları (Ocak, Şubat, Mart, ) haftanın günleri de birer dizidir. şeklinde tanımlanan bir X vektörü tek boyutlu bir dizi, şeklinde tanımlanan bir A matrisi iki boyutlu bir dizidir. Pascalda Dizi Kullanımı Hangi programlama dilini kullanıyor olursanız olun değişken tanımlamanın mantığı aynıdır. Saklanacak bilginin tipine göre bir tip seçilir buna bir isim verilir ve hafızada bu değişken için bellek ayrılır. Her değişken için durum aynıdır. Pascalda bu işlemi bloğunda yapıyoruz. Peki aynı özelliklere sahip birden fazla değişkene ihtiyaç duyarsak ne olacak. Mesela bir öğretmen düşünün. Değişik sayılarda öğrencisi olan sınıflara girsin ve bu öğrencilerin notlarını bilgisayarda tutmaya çalışsın. Eğer dizi değişkenleri kullanmayı bilmiyorsa en kalabalık sınıfındaki öğrenci sayısı kadar değişken tanımlayacak sonra da her öğrencinin notunu kendi değişkenine ayrı ayrı atamak zorunda kalacaktır. Oysa bunu halletmenin daha kolay bir yolu var. Dizileri kullanmak. Dizilerin en önemli özelliği aynı tipteki ve birbiri ile alakalı verileri toplu olarak tanımlamaya yaramasıdır. Bu durumda örneğimizdeki öğretmen en kalabalık sınıfındaki öğrenci sayısı kadar elemanı olan bir tek dizi değişkeni tanımlar ve bilgileri bir döngü içerisinde indis kullanarak dizinin uygun yerine yerleştirir. Bu iki durumu bir tablo içinde gösterelim. Algoritma ve Programlamaya Giriş 58 Öğr. Gör. Mustafa AKSU

59 Dizi kullanmayan öğretmen OgrenciNotu1 := integer; OgrenciNotu2 := integer; OgrenciNotu3 := integer; OgrenciNotu30 := integer; Begin Write( 1.Ogrencinin notu = ); Readln(OgrenciNotu1); Write( 2.Ogrencinin notu = ); Readln(OgrenciNotu2); write( 30.Ogrencinin notu = ); readln(ogrencinotu30); Dizi kullanan öğretmen OgrenciNotu : array[1..30] of integer; i: integer; Begin for i := 1 to 30 do write(i,'.ogrencinin notu = '); readln(ogrencinotu[i]); End. Artık dizi kullanmanın avantajlarını biliyoruz. Bize aynı türden ve birbiri ile ilişkili bilgilere kolay erişmemizi sağlıyor. Đsterseniz artık bir dizi tanımının nasıl yapıldığına bakabiliriz. Dizileri VAR bloğunda tanımlayabileceğimiz gibi, Type bloğunda da tanımlayabiliriz. Eğer TYPE bloğunu kullanırsak tanımlamış olduğumuz yeni tipi direkt değişken tipi olarak kullanabiliriz. değişken_ismi : array [boyut_büyüklüğü] of dizi_tipi Boyut büyüklüğü herhangi bir standart veri tipinde olabilir. Eğer çok boyutlu bir dizi ise bunlar birbirinden virgüllerle ayrılır. Dizi tipinde ise istediğimiz herhangi bir tipi kullanabiliriz. Yani hem standart tipleri hem TYPE bloğunda tanımladığımız kendi tiplerimizi kullanabiliriz. Dizinin elemanlarına köşeli parantez içerisinde verilen indis numarası ile erişiriz. Örnek tanımlamalar : IntList : array[1..100] of integer; {Đnteger tipinde bir boyutlu dizi} CharData : array['a'..'z'] of Byte; {Char tipinde bir boyutlu dizi} Eğer dizilerimiz çok boyutlu olacaksa Matris : array[0..9, 0..9] of real; {real tipinde 2 boyutlu dizi} MyStrArr : array[1..10] of Str20; {Yukarıda tanımladığım Str20 tipinde 10 elemanlı dizi} KupData : array[1..20,1..20,1..20] of Word {Word tipinde 3 boyutlu dizi} Bir çok bilim dalında çeşitli niceliklerin matematiksel gösterimi için yaygın olarak kullanılan vektör ve matrislerle ilgili bir program yapacağımızı düşünelim. Her X i (i=1,2,...n) ve A ij (i=1,2,..n, j=1,2,..n) elemanı için basit tipte bir değişken kullanacak olursak karşılaşacağımız güçlüğü görürüz. Örneğin 10 bileşenli bir vektör için 10 basit tip değişken kullanılması gerekirken, 10x10 boyutlarındaki matris için 100 basit tip değişken kullanılması gerekmektedir. Bizim için gerekli olan, aynı tipte elemanlardan oluşan bir veri kümesini tek bir değişken ismi kullanarak, küme içindeki yeri ile erişilmesini sağlayacak veri yapısıdır. Diziler, kullanım amacına göre tek veya çok boyutlu olabilir. Elemanlandırılmış dizi Algoritma ve Programlamaya Giriş 59 Öğr. Gör. Mustafa AKSU

60 değişkenlerinin boyut durumu ARRAY ifadesiyle köşeli parantez içinde yapılan tanımlamalarla belirtilir. Dizi karakter tipi "OF tip tanımı" ifadesi ile mutlaka verilmelidir. PASCAL programlama dilinde diziler, TYPE, VAR veya CONST tanım bloklarından birinde tanıtılır. Đşleme alınmaları işlemlerin çalışma durumlarına göre bir döngü ile gerçekleştirilir. Tüm elemanlar ilk elemandan başlayarak işleme alınacaksa FOR döngüsü, herhangi bir şarta bağlı olarak tekrar edilecekse WHILE veya REPEAT döngüleri ile kullanılır Dizilerin Tanıtılması Bir dizinin tanımı değişik şekillerde yapılabilmektedir. Bunlar aşağıda kısaca özetlenmiştir Dizilerin Type Bloğunda Tanıtılması Dizilerin type bloğunda tanıtılması işleminde örneğin; Tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin numaralarının programa tanıtımı: TYPE VAR Numara=ARRAY [1..30] of string[10]; ogr:numara; şeklinde yapılabilir. Örneğe dikkat edilirse NUMARA adı verilen bir dizi TYPE tanım bloğunda tanıtılmış VAR tanım bloğunda ise bu dizinin OGR adı altında değişken tipte olduğu belirtilmiştir. Aynı şekilde tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin isimlerin programa tanıtımı ise: TYPE VAR şeklindedir. isimler=array [1..30] of String[25]; Ogrisim:Isimler; Dizilerin VAR Bloğunda Tanımlanması Bir dizi diğer değişkenlerde olduğu gibi tanım bloğunda da tanıtılabilir. Bunun için dizinin boyutu belirtildikten sonra diziyi oluşturan elemanların hangi tipte olduğu belirtilmelidir. Aşağıdaki ifadeleri inceleyiniz. VAR X1:ARRAY [1..10] of Real; k2:array [1..35] of Đnteger; Dizilerin CONST (Sabit Bilgiler) Bloğunda Tanımlanması Algoritma ve Programlamaya Giriş 60 Öğr. Gör. Mustafa AKSU

61 Bir dizi diğer sabitlerde olduğu gibi CONST tanım bloğunda da tanıtılabilir. Aşağıdaki örnek programı inceleyiniz. Örnek: Program yeni_örnek; Const Aylar:Array[1..12] of string[7]= ('Ocak', Şubat, Mart', Nisan, Mayıs','Haziran', 'Temmuz', 'Ağustos','Eylül,'Ekim', Kasım', 'Aralık'); var k: integer ; Write ('kaçıncı ay:'); Readln(k); Writeln('Aranan Ay adı :',Aylar[k]); 7.2 Tek Boyutlu Diziler Tek boyutlu diziler aşağıda görülen genel formda ifade edilebilirler. Değişken = ARRAY [Başlangıç değeri..bitiş Değeri] OF tip tanımı; Örnek: Dizi1: array [1..20] of string[25] ; Dizi2: array [1..20] of integer; Buradaki ARRAY ve OF sözcükleri Pascal'ın anahtar sözcükleridir. Başlangıç değeri ve Bitiş Değeri ise sayılabilir özellikte değerlerdir. Tip tanımı ise hangi tip verileri içerdiğini belirtmektedir. Diziler değişik şekillerde tanımlanabilir. Bunlar ileride açıklanmıştır. Örnek: Dışarıdan okunan 10 tane sayıyı bir dizide saklayarak bunların toplamını ve ortalamasını bulan programı yazınız. var sayi:array[1..10]of integer; i,top:integer; ort:real; top:=0; for i:=1 to 10 do write(i,'. Sayıyı giriniz'); readln(sayi[i]); top:=top+sayi[i]; ort:=top/10; writeln('sayıların Toplami :', top); Algoritma ve Programlamaya Giriş 61 Öğr. Gör. Mustafa AKSU

62 writeln('sayıların Ortalamasi :', ort:4:2); readln; Örnek: Aşağıda verilen program tek boyutlu bir dizinin elamanlarını sondan başa doğru tersine çevirmektedir. program ters_cevirme; var dizi,tersdizi:array[1..10] of integer; i: integer ; for i:=1 to 10 do write('dizinin ',i,'. elemanını giriniz = '); readln(dizi[i]); for i:=10 downto 1 do tersdizi[10-i+1]:=dizi[i]; for i:=l to 10 do writeln(tersdizi[i]); Örnek: 10 tane öğrenciye ait ad,soyad,numara, vize ve final notlarını dışarıdan okuyup bu öğrencilerin ortalamalarını ort:=vize*0.4+final*0.6 formülü ile hesaplayıp eğer öğrencilerin ortalaması 60 dan büyük veya eşitse geçti değilse kaldı yazan programı yazınız. var Isim,no,soyad:Array[1..10] Of string [25]; vize,final:array[1..10] of byte; i:integer; ort:real; sonuc:string [10]; for i:=1 to 10 do writeln('isim giriniz');readln(isim[i]); writeln('soyadı giriniz');readln(soyad[i]); writeln('noyu giriniz'); readln(no[i]); writeln('finali giriniz');readln(final[i]); writeln('1.vizeyi giriniz');readln(vize[i]); Algoritma ve Programlamaya Giriş 62 Öğr. Gör. Mustafa AKSU

63 writeln(' isim Soyad No Vize Final Ortalam Durum'); writeln('===================================='); for I:= 1 TO 10 DO write(isim[i],' ',soyad[i],' ',no[i],' ', vize[i],' ',final[i]); ort:=(vize[i]*0.4)+(final[i]*0.6); If ort>=60 then sonuc:='geçti' else sonuc:='kaldı'; writeln(' ',ort:4:2, ' ',sonuc); readln; 7.3 Çok Boyutlu Diziler Đndisli değişkenler iki boyutlu veya daha fazla olduğunda boyut durumu, köşeli parantez içinde eleman tanımları arasında virgül verilerek belirtilir. Matematikte kullanılan matrisler iki boyutlu dizilere en güzel örnektir. Dizi değişkeni : array [1..n,1..n,,1..n] of tip adı Örneğin;Đki boyutlu ve 32 elemanlı dizi adı verilen indisli değişkenin programa tanıtımı; dizi:array[ 1..4,1..8] of Real; şeklinde yapılabilmektedir. Aynı şekilde; üç boyutlu ve 64 elemanlı dizi1 adı verilen indisli değişkenin programa tanıtımı; dizi1:array[1..4,1..8,1..2] OF Real; şeklinde yapılabilmektedir. B isimli iki boyutlu bu dizinin bellekteki yerleşme durumu aşağıdaki gibi olacaktır B(1,1) B(1,2) B(1,3) B(1,4) B(1,5) B(1,6) B(1,7) B(1,8) 2 B(2,1) B(2,2) B(2,3) B(2,4) B(2,7) B(2,6) B(2,7) B(2,8) 3 B(3,1) B(3,2) B(3,3) B(3,4) B(3,7) B(3,6) B(3,7) B(3,8) 4 B(4,1) B(4,2) B(4,3) B(4,3) B(4,7) B(4,6) B(4,7) B(4,8) Algoritma ve Programlamaya Giriş 63 Öğr. Gör. Mustafa AKSU

64 Örnek: Çarpım tablosu programını yazınız. i,j: integer; dizi: array[1..10,1..10] of integer; for i:=1to10 do for j:=1 to 10 do dizi[i,j]:=i*j; Write(Dizi[i,j]:4); End; Writeln; End; Örnek: 3*3 lük bir matrisi tanımlayıp değerlerini dışarıdan okutup bu matrisi ekrana matris görünümünde yazınız. var matris:array[1..3,1..3] of integer; i,j:integer; for i:=1 to 3 do for j:=1 to 3 do write(i,'.satir ',j,'.sutun elemani :'); readln(matris[i,j]); for i:=1 to 3 do for j:=1 to 3 do write(mat[i,j],' ' ); writeln; readln; Algoritma ve Programlamaya Giriş 64 Öğr. Gör. Mustafa AKSU

65 Örnek: 3*3 lük iki matrisi değerlerini dışarıdan okuyup bu matrisleri toplayarak ekrana matris görünümünde yazan programı yazınız. var mata,matb,matc:array[1..3,1..3] of integer; i,j:integer; for i:=1 to 3 do for j:=1 to 3 do write(i,'.satir ',j,'.sutun elemani :'); readln(mata[i,j]); write(i,'.satir ',j,'.sutun elemani :'); readln(matb[i,j]); for i:=1 to 3 do for j:=1 to 3 do matc[i,j]:=mata[i,j]+ matb[i,j]; for i:=1 to 3 do for j:=1 to 3 do write(matc[i,j],' ' ); writeln; readln; Soru: 4*4 lük bir matrisin asıl köşegeni üzerindeki elemanlarını sıfır ( 0 ) yapan programı yazınız. Cevap: var mat:array[1..4,1..4] of integer; i,j:integer; Algoritma ve Programlamaya Giriş 65 Öğr. Gör. Mustafa AKSU

66 for i:=1 to 4 do for j:=1 to 4 do write(i,'.satir ',j,'.sutun elemani :'); readln(mat[i,j]); if ( i=j ) then mat[i,j]:=0; for i:=1 to 4 do for j:=1 to 4 do write(mat[i,j],' '); writeln; readln; ============================================ Konu Sonu Çalışma Soruları Soru 1 : Dışarıdan 3*3 lük iki matris okuyup bunların farkını (çıkarma) bularak sonucu matris görünümünde ekrana yazan programı yazınız. Soru 2 : Dışardan okunan 4*4 lük bir matrisin negatif elemanları varsa bu elemanları pozitif yapan matrisi yazınız. Algoritma ve Programlamaya Giriş 66 Öğr. Gör. Mustafa AKSU

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. Algoritmalar Kısaca algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Geniş anlamda ise algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

ÖLÜM 1- GİRİŞ Visual Basic

ÖLÜM 1- GİRİŞ Visual Basic BÖLÜM 1 1- GİRİŞ Programcılık tarihinin başlangıcı 1940'lı yıllara uzanmaktadır. Bilgisayar olarak nitelendirilebilecek araçlar üzerinde yapılan çalışmaların sonucunda bu yıllardan itibaren artık programlama

Detaylı

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.) PROGRAM YAZMAK SÜRECİ 1. Problemin farkına varmak, 2. Problemi analiz etmek, 3. Çözüm yolları düşünmek, 4. İyi çözüm yolları seçip algoritma oluşturmak, 5. Akış diyagramı çizmek, 6. Uygun bir dilde kodlamak,

Detaylı

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. Örnek bir Algoritma Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. Çözüm 1: 1. Evden dışarıya çık 2. Otobüs durağına yürü 3. Durakta

Detaylı

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Programcının probleme ilişkin çözümü ortaya çıkarabilmesi için problem

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Programcının probleme ilişkin çözümü ortaya çıkarabilmesi için problem PROGRAMLAMA DİLLERİ Bilgisayarları Kullanabilmek için onlarla iletişim kurmak gerekir. Bu iletişimi kurabilmek programlamanın amacıdır. Program, bilgisayara bir dizi iş yaptıran komutlardan oluşur. Oluşturulan

Detaylı

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEK OKULU

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEK OKULU Programlamanın Temelleri ÖĞR. GÖR. RESUL TUNA SİNOP ÜNİVERSİTESİ MESLEK YÜKSEK OKULU SİNOP - 2008 PROGRAMLAMANIN TEMELLERİ 1. BİLGİSAYAR NEDİR? Bilgisayar; Giriş birimleri ile dış dünyadan aldıkları veriler

Detaylı

Genel Programlama I

Genel Programlama I Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve

Detaylı

[email protected] http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş [email protected] http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

Programlamanın Temelleri

Programlamanın Temelleri Programlamanın Temelleri ÖĞR. GÖR. RESUL TUNA SİNOP ÜNİVERSİTESİ MESLEK YÜKSEK OKULU SİNOP - 2008 1 PROGRAMLAMANIN TEMELLERİ 1. BİLGİSAYAR NEDİR? Bilgisayar; Giriş birimleri ile dış dünyadan aldıkları

Detaylı

Pascal Programlama Dili

Pascal Programlama Dili Pascal Programlama Dili Öğr. Gör. Özgür ZEYDAN Z.K.Ü. Çevre Müh. Bölümü Pascal Programlarının Yapısı Program program_adı; Uses unitler type Özel veri tipleri Const Sabitler Label etiketler var değişken

Detaylı

Algoritmanın Hazırlanması

Algoritmanın Hazırlanması Algoritmanın Hazırlanması Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAM Bilgisayar en basit olarak üç ana görevi yerine getiren bir makinedir. Girilen bilgiyi alır (INPUT), işler (PROCESSING) ve bu işlenmiş veriden bir sonuç (OUTPUT)

Detaylı

Bilgisayar Programlama. Giriş

Bilgisayar Programlama. Giriş Bilgisayar Programlama Giriş Bilgisayar, verileri saklayan, bunlar üzerinde çok hızlı işlem yapan ve istenen verileri sunan bir aygıttır. Donanım (hardware) ve yazılım(software) diye iki bölüme ayrlır.

Detaylı

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ PROGRAMLAMAYA GİRİŞ Bir program bilgisayara ne yapması gerektiğini söyleyen bir dizi komuttan oluşmaktadır. Bilgisayar yapılması istenilen komutları anlayabilmesi için, bu komutların bilgisayarın anlayacağı

Detaylı

BÖLÜM 2: ALGORİTMALAR

BÖLÜM 2: ALGORİTMALAR BÖLÜM 2: ALGORİTMALAR Algoritma bir problemin çözümünde (işlemin gerçekleşmesinde) izlenen adımlar dizisi olup, problemi çözmek için yürütülecek eylemlerin ve bu eylemlerin sırasını belirten bir talimattır,

Detaylı

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI DERS İÇERİĞİ Algoritma nedir? Akış Diyagramı nedir? Örnek Uygulama ALGORİTMA Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki

Detaylı

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan

Detaylı

ALGORİTMA VE AKIŞ ŞEMALARI

ALGORİTMA VE AKIŞ ŞEMALARI 1 ALGORİTMA VE AKIŞ ŞEMALARI İster bilgisayarla ister bilgisayarsız soru çözmek için belirli bir yol vardır. Ancak bu yol ile sağlıklı bir çözüme ulaşılabilir. Bilgisayar kullanarak soru çözmek için sonuca

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

BÖLÜM 3: AKIŞ DİYAGRAMLARI

BÖLÜM 3: AKIŞ DİYAGRAMLARI BÖLÜM 3: AKIŞ DİYAGRAMLARI Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akış diyagramı (flowchart) adı verilir. Akış diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

4- ALGORİTMA (ALGORITHM)

4- ALGORİTMA (ALGORITHM) (ALGORITHM) Algoritma: Bir Problemin çözümünün, günlük konuşma diliyle adım adım yazılmasıdır. Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki Türkistan'lı alimden kaynaklanır. Bu

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN [email protected] EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu

Detaylı

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Algoritma ve Programlamaya Giriş Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Güncellenme tarihi: 27.02.2017 Yazılım nedir? Donanım birimlerini istenen işleme

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Ders Bilgileri Dersin Hocası: Araş. Gör. Ahmet Ardahanlı E-posta: [email protected] Oda: DZ-33

Detaylı

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1 (ALGORITHM) M.İLKUÇAR - [email protected] 1 M.İLKUÇAR - [email protected] 2 Algoritma: Bir Problemin çözümünün, günlük konuşma diliyle adım adım yazılmasıdır. Algoritma sözcüğü Ebu Abdullah Muhammed

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR Bilgisayar Programı Nedir? Program, bilgisayarda belirli bir amacı gerçekleştirmek için geliştirilmiş yöntemlerin ve verilerin, bilgisayarın donanımının

Detaylı

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Algoritma ve Programlamaya Giriş Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Güncellenme tarihi: 13.03.2017 Yazılım nedir? Donanım birimlerini istenen işleme

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) Algoritma Geliştirme ve Akış Diyagramları BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI Analiz Algoritma Geliştirilmesi

Detaylı

PROGRAMLAMA TEMELLER. C Program Yap s

PROGRAMLAMA TEMELLER. C Program Yap s PROGRAMLAMA TEMELLER 1 C Program Yap s 2 Aç klama sat r Program kodlar n makine diline çeviren C dili derleyicisi /* ve */ karakterleri aras nda kalan bölümleri ihmal eder. /* Aç klama Sat r */ Sadece

Detaylı

Bilgisayar Programı Nedir?

Bilgisayar Programı Nedir? BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR Bilgisayar Programı Nedir? Program, bilgisayarda i belirli libir amacı gerçekleştirmek için geliştirilmiş yöntemlerin ve verilerin, bilgisayarındonanımınınyerine

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 4. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN [email protected] EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu 4- ALGORİTMA (ALGORITHM) 1 2 4- ALGORİTMA

Detaylı

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

BILGISAYAR PROGRAMLAMAYA GIRIS

BILGISAYAR PROGRAMLAMAYA GIRIS BÖLÜM 1 BILGISAYAR PROGRAMLAMAYA GIRIS Insanlar her zaman düsünür ve problem çözerler. Bir çok problem, az yada hiç düsünülmeden çözülebilir. Her gün evden çikarken ne giyilmelidir? Bunun için muhtemelen

Detaylı

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri 3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri 3.1 Turbo Pascal Bilgisayar Programına Veri Girişi Programlamanın en önemli kısımlarından birisi programa veri girişinin yapılmasıdır. Yazdığımız bir

Detaylı

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları 2. Veri Tipleri Turbo Pascal bilgisayar programlama dili ile programlama yapabilmek için bilgisayara işlem yapacağımız verilerin tiplerini bildirmemiz gereklidir. Veri tipleri değişken olabileceği gibi

Detaylı

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017 Programlama Temelleri Ders notları Öğr.Gör. Hüseyin Bilal MACİT 2017 Yazılımın yaşam döngüsü Algoritma sözcüğü; adını Ebu Abdullah Muhammed İbn Musa El Harezmi adındaki Müslüman Türk aliminden almıştır.

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. ÖDEV (Vize Dönemi) CEVAPLAR 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. PROGRAM Soru1 PRINT Merhaba Dünya! ; 2. Klavyeden girilen negatif bir sayıyı

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ

TEMEL BİLGİSAYAR BİLİMLERİ TEMEL BİLGİSAYAR BİLİMLERİ Doç. Dr. M.Ümit GÜMÜŞAY YTÜ - 2012 2 PROGRAMLAMA MANTIĞI Herhangi bir amaç için hazırlanan programın mantık hataları içermesi durumunda, alınacak sonucunda yanlış olacağı aşikardır.

Detaylı

KAYITLAR BÖLÜM 14. 14.1 Giriş

KAYITLAR BÖLÜM 14. 14.1 Giriş BÖLÜM 14 KAYITLAR 14.1 Giriş Bir kayıt, bir nesneyle ilgili verilerin bir araya getirilmesidir. Öğrenci kayıtları, taşıt kayıtları, stok kayıtları günlük yaşantımızda karşılaştığımız yaygın kayıtlardır.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 0 Algoritma ve Programlama I 2. Hafta Yük. Müh. Köksal GÜNDOĞDU Algoritma ve Programlama Yük. Müh. Köksal GÜNDOĞDU 2 Algoritma Kavramı Yük. Müh. Köksal GÜNDOĞDU 3 Algoritma ve Programlama Bilgisayardaki

Detaylı

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ BİLGİSAYAR PROGRAMLAMAYA GİRİŞ 5. ders notu Örnek program yazılımları İlişkisel operatörler Mantıksal operatörler Şartlı deyimler İf deyimi Kaynak: Dr.Deniz DAL ders sunumları Örnek : Dışarıdan girilen

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic BİLGİSAYAR DONANIM Donanım birimleri ekran, klavye, harddisk, ram YAZILIM Yazılımlar ise bilgisayarın donanım yapısını kullanılır hale

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Yazılım Nedir Algoritma Akış Seması Örnekler Yazılım Nedir? Çeşitli görevleri gerçekleştirmek amacıyla hazırlanmış programlara

Detaylı

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK Giriş-Tanımlamalar Program Nedir? Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir. Programlama Nedir? Tanımlanmış

Detaylı

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları) BLGM108 1. BÖLÜM Problem Çözme Kavramları (Algoritma ve Akış Şemaları) 1 Yazılım Geliştirme Adımları 1. Gereksinimlerin belirlenmesi Problemin ne olduğunu anlama: sorunu çözmek için ne gereklidir, çözüm

Detaylı

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. ALGORİTMA KAVRAMI Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Yazılım Nedir Algoritma Akış Seması Örnekler Yazılım Nedir? Çeşitli görevleri gerçekleştirmek amacıyla hazırlamış programlara yazılım adı verilir. Yazılımlar Her yazılım

Detaylı

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir.

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir. Algoritma 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir. Algoritma Problem çözmek için geliştirilen Adım adım çözüm yöntemidir. Verilen bir

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir. FORMAT deyimi Değişkenlere ait bilgilerin yazılması veya değişkenlere değer okunması sırasında, gerekli tür ve uzunlukların belirtildiği yani giriş ve çıkış işlemlerinin hangi düzende olması gerektiğini

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 5 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Çoklu Koşul Yapıları, Sözde Kod, Algoritmalar Arasında Dönüşüm) Yrd. Doç. Dr. İbrahim

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ PROGRAMLAMAYA GİRİŞ Herhangi bir program yazabilmemiz için öncelikle önümüzde bir problem, soru olması gerekir. Problemi belirledikten

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA UYGULAMA Örnek: Yandaki algoritmada; klavyeden 3 sayı

Detaylı

Bilgisayar II Dersi. Bölüm-2

Bilgisayar II Dersi. Bölüm-2 Bilgisayar II Dersi Bölüm-2 Bilgisayar dünyasında, insanın yaşamı boyunca yaptığı plan kavramına eşdeğer algoritma kavramı vardır. Bilgisayardaki işlemin/işlemlerin gerçekleştirilmesinde izlenecek adımlara

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır: ALGORİTMANIN HAZIRLANMASI, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir.

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ DERS 1 PROGRAM GELĐŞTĐRME PROGRAM GELĐŞTĐRME VERĐ ĐŞLEME(DATA

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 3. DERS NOTU Konu: MATLAB de Temel İşlemler Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 MATLAB (Matrix Laboratory) sayısal hesaplama dilidir. MathWorks firması tarafından geliştirilmiş

Detaylı