Programlama Temelleri

Benzer belgeler
Algoritma ve Programlamaya Giriş

4. Bölüm Programlamaya Giriş

Algoritmalar ve Programlama. Algoritma

Ö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.

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

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

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

1.1. Yazılım Geliştirme Süreci

İÇ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

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

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

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

ALGORİTMA VE PROGRAMLAMA I

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

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

C# nedir,.net Framework nedir?

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

Dr. Musa KILIÇ Öğretim Görevlisi

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

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

Bilgisayarda Programlama. Temel Kavramlar

İÇ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

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

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

Lambda İfadeleri (Lambda Expressions)

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

BÖLÜM 2: ALGORİTMALAR

BLG 1306 Temel Bilgisayar Programlama

BİLGİSAYAR PROGRAMLAMA MATLAB

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

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

Nesne Yönelimli Programlama

Algoritmanın Hazırlanması

C PROGRAMLAMA DİLİNE GİRİŞ

4- ALGORİTMA (ALGORITHM)

BİL1001 Bilgisayar Bilimlerine Giriş 1

Bilgisayar II Dersi. Bölüm-2

Java Temel Özellikleri

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

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

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

Algoritma ve Akış Diyagramları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

BLG 1306 Temel Bilgisayar Programlama

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

C++ Operatörler (Operators)

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

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

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Bilgisayar Programlama. 1.Hafta

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


Öğr. Gör. Serkan AKSU 1

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

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

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

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Đ

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

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

Bahar. BM 211 Programlama Dilleri 3 1

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

C++ Dilinde Bazı Temel Algoritmalar

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

YAZILIM VE PROGRAMLAMA DİLİ. Donanım ve yazılım nedir? Yazılım nedir? Yazılım çeşitleri nelerdir? Programlama dili nedir

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.

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

PROGRAMLAMAYA GİRİŞ DERS 2

C Programlama Dilininin Basit Yapıları

Ünite 01 Algoritma Geliştirme

Sunum İçeriği. Programlamaya Giriş

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

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

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

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

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN

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

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

C Dersi Bölüm 1. Bilgisayar Donanımı

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

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.

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

Transkript:

Gölhisar Meslek Yüksekokulu Programlama Temelleri Öğr. Gör. Gökhan TURAN www.gokhanturan.com.tr gokhanturan@gokhanturan.com Bilgisayar Nedir? Bilgisayar, girilen verileri alan ve yazılan programa göre çıktı elde eden makinedir. 1

Bilgisayarın Yapısı Bilgisayar Yazılım Donanım Sistem Yazılımı Uygulama Yazılımı Donanım: Bilgisayarı oluşturan elektronik ve mekanik aygıtlara donanım denir. Yazılımı: Bilgisayarın çalışması ve belli bir işi yapabilmesi için kullanılan programlara yazılım denir. Algoritma Nedir? Bir sorunu (problemi) çözmek için kullanılan yöntemdir. 2

Programlama Dilleri Belirli kurallara göre program yazmamızı sağlayan özel ifadeler semboller topluluğudur. Komut Nedir? Bilgisayara belli bir işi yaptırmaya yarayan emir sözcüğüdür. 3

Program Nedir? Belirli bir kurala göre bir araya gelen komutlar topluluğudur. Yaygın Programlama Dilleri C, C++, C#, Java, Visual Basic, Python vb. 4

Assembly Nedir? Mikroişlemcileri ve mikrodenetleyicileri programlamak için kullanılan programlama dilleridir. Her işlemcinin kendi assembly dili vardır ve sadece kendi dilinde yazılan programları çalıştırabilir. Örneğin Intel x86 için yazdığımız kodlar Motorola işlemcide çalışmaz. Makine Dili Nedir? Sadece 0 ve 1 lerden oluşan komutlarla yazılan programlama dilleridir. Aynı Assembly dillerinde olduğu gibi her işlemcinin kendine özel makine dili vardır ve sadece o işlemcilerde çalışır. 010011 000111 101010 5

Kaynak Kod Nedir? Herhangi bir programlama dili kullanılarak yazılmış metinlere kaynak kod denir. Kaynak kodları, Not Defteri veya NotePad++ gibi basit editörlerle yazabileceğimiz gibi Visual Studio gibi daha gelişmiş editörlerle de yazabiliriz. Editör Nedir? Kaynak kodları oluşturmak için yani kod yazmak için veya düzenlemek için kullanılan yazılımlardır. Editör not defteri gibi basit yazılımda olabilir, Visual Studio gibi çok daha gelişmiş de olabilir. 6

IDE Nedir? IDE, Integrated Development Enviroment yani Tümleşik Geliştirme Ortamı kelimelerinin kısaltılmasıdır. IDE ler yazılım geliştirmek için kullanılan ve editörlere göre nispeten daha gelişmiş yazılımlardır. Örnek: Visual Studio, NetBeans. Derleyici (Assembler) Nedir? Belli bir programlama diliyle yazılan kaynak kodların, işlemcinin anladığı makine koduna çevrilmesini sağlayan yazılımdır. Kaynak kod, derleyici ve makine kodu arasındaki ilişki aşağıda görülmektedir. Yazılan kaynak kodlar uygun bir derleyici ile bilgisayarın anladığı dil olan makine diline çevrilmektedir. Yüksek Seviye Dili Kaynak Kod Derleyici Düşük Seviye Dili Makine Kodu 7

Yorumlayıcı (Interpreter) Nedir? Derlenen kodlar makine diline çevrilir ve bilgisayar tarafından çalıştırabilir hale gelir. Bir kod derlendiği zaman artık çalışır hale gelmiştir ve bir daha üzerinde değişiklik yapılmadığı sürece derlenmesi gerekmeden çalışır. Yorumlanan kodlar ise, satır satır makine diline çevrilir ve öyle çalışır. Bu kodlar her çalıştırıldığında tekrar derlenir. Bu nedenle çalışması derlemeye göre biraz yavaştır. Problem Çözme Aşamaları İster günlük hayatta, ister matematikte, ister bilgisayarda olsun her problemin çözüm aşaması vardır. Problemin Tanımlanması Algoritmanın Oluşturulması Deneme ve Düzeltme 8

Yazılım Geliştirme Süreci Ciddi bir yazılım geliştirmenin değişik aşamaları vardır. Bu aşamaların neredeyse her biri ayrı uzmanlık alanıdır. Bir yazılım projesinde temel olarak aşağıdaki aşamalar bulunmaktadır. Analiz Tasarım Kodlama Test Kurulum Destek ve Bakım Güncelleme Akış Diyagramları 9

Kod Yazma ve Editörler Algoritmayı oluşturduktan sonra sıra kod yazmaya gelir. Kod yazmak için Visual Studio gibi gelişmiş editör kullanılacaktır. Neden Visual Studio? Microsoft tarafından üretilir, günceldir. Farklı komutları farklı renkte gösterir ve kod yazmayı kolaylaştırır. Otomatik kod tamamlama özelliği sayesinde daha hızlı uygulama geliştirmemizi sağlar. C#, C++, VB.Net, HTML, CSS, Javascript ve diğer birçok dili destekler. Debugger özelliği sayesinde, yazılan hatalı kodları gösterir, hatalarla ilgili bilgi verir ve düzeltilmesini sağlar. C#, VB.Net ve C++ gibi yaygın kullanılan dillerin derleyicileri hazır olarak geldiği için ekstra bir program kullanılmasına gerek kalmaz. Sadece masaüstü uygulamalarının değil, konsol ve web uygulamalarının da geliştirilmesine olanak sağlar. 10

Onluk ve İkilik(Dijital) Sayı Sistemi İnsanlar günlük hayatlarında 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rakamlarından oluşan Onluk Sayı Sistemini kullanırlar. İyi bir programcı olabilmek için ikilik, onluk hatta onaltılık sayı sistemlerini ve bunların birbirlerine çevrilmesini iyi bilmek gerekmektedir. Temel Algoritma Bilgisi Algoritma Nedir? Algoritma, bir sorunu (problemi) çözmek için kullanılan yöntemdir. Algoritmayı düz yazı ile (Pseudo Code, Sahte Kod) oluşturabileceğimiz gibi akış diyagramları da kullanabiliriz. 11

Temel Algoritma Bilgisi Algoritma Nedir? Sözde,Sahte (Pseudo) Kod İstenilen programın Pseudo Kodu: 1. Program açıklama mesajı yaz. 2. Kullanıcın sıcaklığı girmesi için bir uyarı mesajı yaz. 3. Girilen Sıcaklığı Oku. 5. Eğer Sıcaklık < 0 ise Durum= Buz 6. Eğer Sıcaklık>= 100 ise Durum= Buhar 7. Değilse Durum = Su 8. Sonucu Yaz. Temel Algoritma Bilgisi Algoritma Nedir? Başla Klavyeden girilen İki sayının toplamını hesaplayıp yazan pseudo kod ve akış şemasını hazırlayınız. (X: Birinci sayı, Y: İkinci sayı, Z: toplam) 1)Başla 2)Klavyeden X Oku 3)Klavyeden Y Oku 4)Hesapla Z = X + Y 5)Ekrana Z Yaz 6)Dur Klavyeden X Oku Klavyeden Y Oku Hesapla Z=X+Y Ekrana Z Yaz Dur 12

Algoritma Nasıl Olmalıdır? Büyük ve karmaşık işlemler, küçük ve daha basit, kolay anlaşılabilir parçalara bölünmelidir. Böl ve yönet mantığı Her adım son derece belirleyici olmalıdır. Algoritmanın adımlarını oluştururken belirsizlikler olmamalı, her şey açık açık yazılmalıdır. Tüm işlemler yapılma sırasına göre baştan sona doğru gösterilmelidir. Karşılaşılabilecek tüm ihtimaller düşünülerek hazırlanmalıdır. Algoritma sonlu olmalıdır. Yani belli bir adım sonunda algoritma sona ermelidir. Algoritmanın Faydaları Program yazmadan önce algoritmasını oluşturmak ve algoritmayı test etmek çok önemli bir alışkanlıktır ve bazı alışkanlıklar sağlar. Algoritmanın faydaları aşağıdaki gibidir. Programın kodlanmasını kolaylaştırır; algoritmaya bakarak daha kolay kod yazabiliriz. Algoritması belli olan bir programı sadece siz değil, başkaları da yazabilir. Böylece takım çalışması sağlanmış olur ve kodlama daha hızlı ilerler. Özellikle mantıksal hata yapma ihtimali azalır. Eğer algoritmayı daha önce yapmış ve doğruluğunu test etmişseniz, programın hatalı sonuçlar vermesi zorlaşır. Algoritmayı hazırlarken konu hakkındaki uzmanlığınızı da test etmiş olursunuz. Eğer konu hakkında yeterli bilgiye sahip değilseniz bilgi eksikliğinizi gidermeli ya da dışarıdan destek almalısınız. 13

Bazı Terim ve Kavramlar Değişken Değişkenler, dışarıdan alınan veya bir işlem sonucunda elde edilen verilerin saklandığı belleklerdir. Bu belleklere belli bir isim verilir ve daha sonra bu isimle bellek içinde bulunan değer tekrar tekrar kullanılır. Örneğin bir sayının karesini hesaplayan bir program yazacaksınız. Önce bu sayıyı alıp, SAYI veya belli bir isme sahip bir değişkene aktarmak/atamak zorundayız. Eğer 5 değerini dışarıdan alır ve SAYI isimli belleğe (değişkene) atarsak, aşağıdaki gibi bir sonuç elde ederiz. Burada dışarıdan alınan eğer artık SAYI isimli belleğin içindedir. Değişkenler tanımlanırken veri tipi belirtilir ve sadece ilgili tipte değerleri saklayabilir. Örneğin tam sayı olarak bir değişkende ondalıklı sayı veya metin tipinde veriler saklanamaz. Genel olarak programcılıkta kullanılan veri tipleri şöyledir: Bazı Terim ve Kavramlar Değişken Veri Tipleri Veri Tipleri Sayısal Sözel (Alfa Sayısal) Tamsayı Ondalıklı Sayı Karakter Karakter Dizisi 14

Bazı Terim ve Kavramlar Atama Atama işleminde, eşitliğin sağındaki ifade soldaki değişkene aktarılır. Aşağıdaki şekle dikkat edilirse, sağdaki 5 değeri atama (=) ifadesi ile soldaki değişkene aktarılmaktadır. Bu işlem sonucunda artık SAYI değişkeninin içinde 5 değeri vardır. SAYI = 5 Değişken Atama Değer SAYI 5 Bazı Terim ve Kavramlar Atama A = 15 X = 3 Değişken Değer X = 3+5 Ad = Gökhan Değişken Değer 15

Bazı Terim ve Kavramlar Atama SAYI= 15 (SAYI değişkeninin içine 15 değerini koy) SAYI= 32 (SAYI değişkeninin içine 32 değeri atandı ve önceki değer olan 15 silindi) SAYI = SAYI + 1 (SAYI değişkenini 1 arttır ve sonucu yine SAYI değişkeninde sakla. Bu işlem ile 32 olan SAYI değişkenine 1 eklendi ve elde edilen 33 değeri soldaki SAYI değişkenine atandı. Sonuçta SAYI değişkeninin değeri 1 arttırılmış oldu ) TOPLAM=SAYI+5 (SAYI değişkenine 5 ekle ve sonucu TOPLAM değişkeninde sakla. Sonuçta TOPLAM değişkenin içindeki değer 33+5=38 olur.) TOPLAM=TOPLAM-3 (TOPLAM değişkeninden 3 çıkar ve sonucu yine TOPLAM değişkeninde sakla. Bu durumda TOPLAM değişkenin son durumu 35 olur.) Bazı Terim ve Kavramlar Sorgu Program içinde dışarıdan alınan değerlerin veya program içinde üretilen bazı değer ve değişkenlerin durumunun kontrol edilmesi işlemine sorgu denir. Yapılan sorgu sonucunda duruma göre farklı işlemler yapılabilir. Aşağıdaki akış diyagramında X ile Y arasındaki durum sorgulanmaktadır. Eğer X<Y şartı sağlanırsa (Evet) İşlem2, sağlanmazsa (Hayır) İşlem1 yapılacaktır. X<Y E H İşlem1 İşlem2 16

Bazı Terim ve Kavramlar Dallanma Sorgu işlemi sonucunda algoritmanın iki veya daha fazla dala yada yöne ayrılmasına dallanma denir. X<Y E H İşlem1 İşlem2 Dallanma Bazı Terim ve Kavramlar Sayaç Başla Sayaçlar, bir işlemin kaç defa yapılacağını sayan değişkenlerdir. Eğer belirli sayıda bir işlem yapılacaksa veya bir işlemin kaç defa yapılacağını öğrenmek istiyorsak sayaç kullanılır. Örnek: Ekrana 5 defa Merhaba yazdırılacaksa bir sayaç değişkeni tanımlanır ve sayaç 5 oluncaya kadar ekrana Merhaba yazar. SAYAC=0 SAYAC<5 H Son E Merhaba Yaz SAYAC=SAYAC+1 17

Döngü İçin Değişkenlerin Durumu 16.02.2017 Başla Bazı Terim ve Kavramlar Döngü X=0, TOP=0 Belli bir sağladığı sürece veya sağlanana kadar, belirli işlemlerin defalarca yapılasını sağlayan algoritmalardır. X=X+1 Örneğin 1 den 5 e kadar olan sayıların toplamı bulunacaksa, burada 5 defa toplama işleminin tekrar edilmesi gerekmektedir. Bunun içinde döngüler kullanılmalıdır. X X<=5 TOP=TOP+X 1 EVET 1 2 EVET 3 3 EVET 6 4 EVET 10 5 EVET 15 6 HAYIR İşlem Yok H X=<5 TOP Yaz Son E TOP=TOP + X Bazı Terim ve Kavramlar Metot / Fonksiyon Belli bir işi yapmaya yarayan (hazır veya kullanıcı tarafından oluşturulan) kodlara metot, fonksiyon ya da fonksiyon denir. İster metot denilsin ister fonksiyon aynı şey kastedilir. Metotlar program içinde kullanıcı tarafından oluşturulabilirler. Bu tür metotlara kullanıcı tanımlı metot denir. Kullanıcı bazı kodlar yazar ve bu kodları belli bir isimle kaydeder. Daha sonra program içinde eğer ihtiyacı varsa bu kodları çağırır ve çalıştırır. 18

Günlük Program Algoritması Başla 1) Başla 2) 7 de Uyan 3) 08:30 da Okulda Ol 4) Okul Çıkışı Eve Git 5) Ders Çalış 6) 11 de Yat 7) Son 7 de Uyan 08:30 da Okulda Ol Okul Çıkışı Eve Git Ders Çalış 11 de Yat Son Hava Durumu Algoritması Başla Dışarıya Bak SICAK MI? H Kazak Giy E Gömlek Giy Son 19

Microsoft.Net Framework Nedir? Doğrudan algoritma konusuyla ilgili olmasa da.net Framework ve ilgili kavramlar medyada, basında ve kitaplarda oldukça fazla kullanılmaktadır. Eğer bu kavramları en azından temel düzeyde bilmezsek, bundan sonraki konularda veya programlama ile ilgili diğer kitaplarda sorun yaşanılacağı düşünülerek.net Framework hakkında kısa bilgi vermek gerekir. Microsoft.Net Framework Nedir? Microsoft.Net Framework Windows, Windows Phone, Windows Store, Windows Server ve Azure uygulamaları geliştirmek için kullanılan bir alt yapı yazılımıdır..net Framework içinde yazdığımız kodları makine diline çevirmeye yarayan derleyiciler, program yazarken bazı işlerin otomatik yapılmasını sağlayan metotlar ve yardım dokümanları bulunmaktadır..net Framework, Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş bir "uygulama" geliştirme platformudur. Daha önce Sun Microsystems tarafından geliştirilmiş olan Java platformuna önemli benzerlikler göstermektedir. Buradaki uygulama kavramının kapsamı çok geniştir. Bir masaüstü uygulamasından bir web tarayıcı uygulamasına kadar her şey bu platform içinde düşünülmüştür ve desteklenmiştir. Bu uygulamaların birbirleriyle ve geliştirildiği ortam farketmeksizin dünyadaki tüm uygulamalarla iletişimi için kolayca web servisleri oluşturulmasına imkân verilmiştir. Bu platform, işletim sisteminden ve donanımdan daha üst seviyede taşınabilir olarak tasarlanmıştır. 20

Microsoft.Net Framework Nedir? Microsoft.Net Framework Nedir? Sürümler ve IDE Yıl.NET Framework sürümü IDE ile tanıtıldı 2013 4.5.1 Visual Studio 2013 2012 4.5 Visual Studio 2012 2010 4 Visual Studio 2010 2007 3.5 Visual Studio 2008 2006 3.0 Visual Studio 2005 2005 2.0 Visual Studio 2005 2003 1.1 Visual Studio.NET 2003 2002 1.0 Visual Studio.NET 21

Microsoft.Net Framework Nedir? İşletim Sistemi Desteği İstemci işletim sistemleri Dahil Eder Windows 8.1.NET Framework 4.5.1 Windows 8.NET Framework 4.5 Windows 7 SP1.NET Framework 3.5 SP1 Windows Vista SP2.NET Framework 3.0 SP2 Windows XP Professional ve Windows XP Home Edition Ekrana «Merhaba Dünya» Yazan Algoritma Ekrana «Merhaba Dünya» yazdıran sahte kod ve akış şeması. 1) Başla 2) «Merhaba Dünya» Yaz 3) Bitir Başla «Merhaba Dünya» Bitir 22

3 Sayının Toplamını Bulan Algoritma Klavyeden girilen 3 sayının toplamını bulup ekrana yazdıran sahte kod ve akış şeması. 1) Başla 2) Sayı1, Sayı2, Sayı3 Oku 3) Toplam= Sayı1 + Sayı2 + Sayı3 4) «Toplam» Ekrana Yaz 5) Bitir Başla Sayı1, Sayı2, Sayı3 Oku Toplam=Sayı1+Sayı2+Sayı3 Toplam Bitir Girilen Sayının Karesini Bulan Algoritma Klavyeden girilen sayının karesini bulup ekrana yazdıran sahte kod ve akış şeması. 1) Başla 2) Sayı Oku 3) Kare=Sayı * Sayı 4) «Kare» Ekrana Yaz 5) Bitir Başla Sayı Oku Kare= Sayı * Sayı Kare Bitir 23

Yükseklik(Y) 16.02.2017 İki Sayısının Toplamı ve Ortalaması Klavyeden girilen 2 sayının toplamını ve ortalamasını bulup ekrana yazdıran sahte kod ve akış şeması. Başla 1) Başla 2) Sayi1, Sayi2 Değerlerini Oku 3) Toplam=Sayi1+Sayi2 4) Ortalama=Toplam/2 5) «Toplam, Ortalama» Ekrana Yaz 6) Bitir Sayi1, Sayi2 Oku Toplam=Sayi1+Sayi2 Ortalama=Toplam/2 Toplam, Ortalama Bitir Dikdörtgenin Alanını ve Çevresini Bulan Algoritma Dikdörtgenin genişliği ve yüksekliği klavyeden girilip dikdörtgenin alan ve çevresini bulup ekrana yazdıran sahte kod ve akış şeması. 1) Başla 2) Genişlik (G), Yükseklik (Y) Değerlerini Oku 3) Alan = G * Y 4) Çevre= 2*(G+Y) 5) «Alan, Çevre» Ekrana Yaz 6) Bitir Genişlik (G) Başla G, Y Oku Alan= G*Y Çevre= 2*(G+Y) Alan Çevre Alan= G * Y Çevre= 2Y + 2G = 2*(G+Y) Bitir 24

Dairenin Alanını ve Çevresini Bulan Algoritma Dairenin yarıçapı klavyeden girilip dairenin alan ve çevresini bulup ekrana yazdıran sahte kod ve akış şeması. Başla 1) Başla 2) Yarıçapını (R) Oku 3) Pi=3.14 4) Alan = Pi * R * R 5) Çevre= 2 * Pi * R 6) «Alan, Çevre» Ekrana Yaz 7) Bitir R Oku Pi=3.14 Alan= Pi * R *R Çevre= 2* Pi * R Yarıçap(R) Alan Çevre Alan= Pi * R * R Çevre= 2 * Pi * R Bitir İki Sayısı Karşılaştıran Algoritma Klavyeden girilen 2 sayıyı karşılaştırıp sonucu ekrana yazdıran sahte kod ve akış şeması. 1) Başla 2) Sayi1, Sayi2 Değerlerini Oku 3) Eğer Sayi1>Sayi2 ise Ekrana «Sayi1, Sayi2 den Büyüktür» Yaz 4) Eğer Sayi2>Sayi1 ise Ekrana «Sayi2, Sayi1 den Büyüktür» Yaz 5) Değilse Ekrana «Sayi1, Sayi2 ye eşittir» Yaz 6) Bitir Sayi1, Sayi2 den Büyüktür Sayi2, Sayi1 den Büyüktür E E Başla Sayi1, Sayi2 Oku Sayi1>Sayi2 mi? H Sayi2>Sayi1 mi? H Sayi1 Eşittir Sayi2 Bitir 25

1 den 100 e Toplam ve Ortalama 1 den 100 e kadar olan sayıların toplamlarını ve ortalamalarını ekrana yazdıran sahte kod ve akış şeması. Başla Say=0 Toplam=0 1) Başla 2) Say=0, Toplam=0 3) Say ı 1 arttır, Say=Say+1 4) Toplam a Say ı Ekle, Toplam=Toplam+Say 5) Eğer Say 100 se Devam Et, Değilse Adım 3 e Git 6) Ortalama=Toplam+Say 7) «Toplam, Ortalama» Ekrana Yaz 8) Bitir Say=Say+1 Toplam=Toplam+Say Say=100 E Ortalama=Toplam/Say Toplam Ortalama H Bitir Operatörler Matematiksel Operatörler Operatör Açıklama Örnek Anlamı + Toplama x+y x ve y nin toplamı - Çıkarma x-y x ve y nin farkı * Çarpma x*y x ve y nin çarpımı / Bölme x/y x ve y nin oranı % Artık Bölme (Mod Alma) x%y x/y den kalan sayı ^ Üs Alma x^y x üzeri y 26

Operatörler İşlem Önceliği Matematikte olduğu gibi programlama dillerinde de işlem önceliği aynıdır. 1. Parantez İçi 2. Çarpma İşlemi 3. Bölme İşlemi 4. Toplama İşlemi 5. Çıkarma İşlemi Not: İşlemler soldan sağa doğru yapılır. Operatörler Matematiksel İfadelerin Yazılması Matematiksel İfade A = πr 2 15 + 32 x = 3 x = a 2 + b 2 4+ ac x = 2a x = 3(a+b) + 5b c Programlama Dili Karşılığı A = π * r^2 x = (15+32) / 3 x = a^2 + b^2 x = (4 + (a*c) ^ (1/2) ) / (2*a) x = 3*(a+b) + (5*b)/(c^ (1/4)) 27

Operatörler Matematiksel İfadelerin Yazılması Örneklerle Algoritma ve C# Programlama kitabında sayfa 27 deki çalışma sorusunu kitap üzerindeki boşluğa çözümleyiniz. Örneklerle Algoritma ve C# Programlama, Erhan Arı, Seçkin Yayıncılık. Operatörler Atama Operatörleri Operatör Açıklama Örnek Anlamı = Atama x=7; x=7; += Ekleyerek Atama x+=3; x=x+3; -= Eksilterek Atama x-=5; x=x-5; *= Çarparak Atama x*=4; x=x*4; /= Bölerek Atama x/=2; x=x/2; %= Bölüp, Kalanını Atama x%=9; x=x%9; ++ Bir Arrtırma x++; veya ++x; x=x+1; - - Bir Azaltma x--; veya --x; x=x-1; 28

Operatörler Karşılaştırma Operatörleri ve Mantıksal Operatörler Operatör Açıklama Örnek Anlamı > Büyüktür x>y X, Y Den Büyük Mü? < Küçüktür x<y X, Y Den Küçük Mü? == Eşittir x==y X, Y Ye Eşit Mi? >= Büyük-eşittir x>=y <= Küçük-eşittir x<=y X, Y Den Büyük Yada Eşit Mi? X, Y Den Küçük Yada Eşit Mi?!= Eşit Değil x!=y X, Y Den Farklı Mı? && Mantıksal VE x>2 && x<y X 2 Den Büyük VE Y Den Küçük Mü? Mantıksal VEYA x>2 x<y X 2 Den Büyük VEYA Y Den Küçük Mü? Operatörler Bit Düzeyinde İşlem Yapan Operatörler Operatör Açıklama Örnek Sonucu & Ve 10 & 25 (00001010 & 00011001) 8 (00001000) Veya 10 25 (00001010 00011001) 27 (00011011) ^ Özel Veya 10 ^ 25 (00001010 ^ 00011001) 19 (00010011) ~ Değil ~10 (00001010) 245 (11110101) >> << Sağa Kaydırma Sola Kaydırma 12 >> 3 (00001100 >> 3) 1 (00000001) 12 << 3 (00001100 << 3) 96 (01100000) 29

C# İle Programlama Giriş Visual Studio Microsoft firması tarafından geliştirilmiştir. Visual Studio, yazılım geliştiricileri tarafından kullanılan birçok programlama dilini barındıran bir platformdur. C# İle Programlama C# Dilinin Yapısı C# programlama dilinde kod yapısı aşağıdaki gibidir. using System; namespace OrnekProgram { class Program { static void Main(string[] args) { } } } 30

C# İle Programlama C# Dilinin Yapısı C# programlama dilinde kodlar bloklar halinde yazılır. Bloklar { } parantezleri arasında kalan kısımdır. Geliştirilen programlarda.net Framework içerisinde sınıf kütüphaneleri ya da daha önce başka bir proje için geliştirdiğimiz kütüphaneleri kullanmak istediğimizde bunları projeye eklemek gerekir. Bu işlem using anahtar sözcüğü ile yapılır. using System; Sistem Kütüphanesinin Adı C# İle Programlama C# Dilinin Yapısı namespace isim alanı ya da isim uzayı olarak adlandırılabilir. Visual Studio ile proje oluşturulduğunda proje ismiyle varsayılan olarak eklenir. Yazılan bir program çalıştırıldığında ilk çalıştırılan metot Main() metodudur. Kod Blokları static void Main(string[] args) { // yapılacak işlemler } 31

C# İle Programlama C# Dilinin Yapısı Ana metot dışında metot tanımlamaları yapılabilir. Bu metotlar Class ları meydana getirir. Class lar ise namespace leri oluşturur. Not: İlerleyen haftalarda bu konulara değinilecektir. C# programlama dilinde büyük harf küçük harf duyarlılığı vardır. Ayrıca satır sonları noktalı virgül (;) ile belirtilir. C# İle Programlama Proje Oluşturma 32

C# İle Programlama Proje Oluşturma C# İle Programlama Proje Oluşturma 33

C# İle Programlama Proje Oluşturma Konsol Uygulamaları Projenin Adı Projenin Kaydedileceği Konum Programlama Dili C# İle Programlama İlk Proje: Ekrana Merhaba Dünya Yazan Program using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Merhaba_Dünya { class Program { static void Main(string[] args) { Console.Write("Merhaba Dünya"); Console.ReadKey(); } } } 34

C# İle Programlama Değişken ve Temel Veri Türleri Değişkenler Program yazarken klavyeden, dosyadan, ağ ortamından veri girişi yapılabilir ya da bir hesaplama sonucunun program içerisinde kullanılması gerekebilir. Örneğin iki sayının toplanması işleminde klavyeden girilecek sayıların tutulacağı nesne de gerekebilir. Program içerisinde kullanılan verilerin bir yerlerde saklanması gerekir. Verilerin saklanacağı yer bilgisayardaki bellek bölgeleridir. Veri türüne göre farklı boyutlarda bellekte yer açılarak veri saklanması için yer ayrılır. Bu bellek bölgelerinin program içerisinde kullanılması ise değişken ile olur. Bellek bölgesinde saklanacak veri; sayı (tam sayı, ondalıklı sayı vb.), metin gibi farklı türlerde olabilir. Bu farklılıktan dolayı C# da farklı veri türleri vardır. C# İle Programlama Değişken ve Temel Veri Türleri Değişkenleri İsimlendirme C# programlama dilinde değişkenlere isim verilirken uyulması gereken kurallar vardır. Bunlar; 1. C# da Türkçe karakter kullanılabilir. (Ancak başka diller Türkçe karakterlere destek vermediği için kullanılması tavsiye edilmez.) 2. Değişkenler rakam ile başlamaz. Fakat değişken isimleri içerisinde rakam kullanılabilir. 3. _ karakteri dışında hiçbir özel karakter ya da sembol kullanılmaz. 4. Boşluk karakteri kullanılamaz. 5. Programlama diline ait komutlar, ifadeler değişken ismi olarak verilemez. 6. Büyük-Küçük harf duyarlılığı vardır. 7. Aynı isimli değişkenler aynı blok içerisinde kullanılmaz. 35