Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2. Hafta TEMEL KAVRAMLAR 1 PROGRAMLAMA.

Benzer bir sunumlar


... konulu sunumlar: "PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2. Hafta TEMEL KAVRAMLAR 1 PROGRAMLAMA."— Sunum transkripti:

1 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2. Hafta TEMEL KAVRAMLAR 1 PROGRAMLAMA

2 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2 Temel Kavramlar  Program  Basit olarak bilgisayar ile kullanıcı arasındaki iletişim aracıdır.  Giriş değerlerini kullanarak, çıkış değerlerinin elde edilmesi için bilgisayara iletilen komutlar dizisidir.  Belirli bir görevi yerine getiren algoritmik ifadedir.  Yazılım  Bir yada birden fazla programın bir araya gelmesinden oluşur.  Programlama Dilleri  Programcı ile bilgisayar arasındaki iletişimi sağlayan bir araçtır (komut kümesidir).

3 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 3 İŞLEMLER  Matematiksel (Aritmetik) İşlemler  Karşılaştırma (Karar) İşlemleri  Mantıksal (Lojik) İşlemler

4 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 4 MATEMATİKSEL İŞLEMLER  Matematiksel İşlemlerin Bilgisayar Dilindeki Karşılıkları İşlemMatematikBilgisayar Toplamaa + b Çıkarmaa - b Çarpmaa. ba * b Bölmea ÷ ba / b Üs Almaabab a ^ b

5 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 5 MATEMATİKSEL İŞLEMLER  Matematiksel İşlemlerde Öncelik Sıraları SıraİşlemBilgisayar 1Sayıların Negatifliği-… 2Parantezler( ….. ) 3Matematiksel Fonksiyonlarcos, sin, log, … 4Üs almaa ^ b, pow, … 5Çarpma ve Bölmea * b ve a/b 6Toplama ve Çıkarmaa + b ve a - b

6 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 6 MATEMATİKSEL İŞLEMLER  Örnek:  Matematiksel ifade : x = a. b / c + d. e f - g  Bilgisayar ifadesi: x = a * b / c + d * e ^ f - g  Not: İşlem önceliklerine dikkat edilmez ise aynı gibi görünen ifadeler, farklı sonuçlar verebilir.

7 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 7 KARŞILAŞTIRMA İŞLEMLERİ  Karşılaştırma İşlemlerinin Bilgisayar Dilindeki Karşılıkları SembolAnlamı = veya ==Eşittir <> Veya !=Eşit Değildir >Büyüktür = veya =>Büyük eşittir <= veya = B ise Yaz “ A sayısı B’den büyüktür ” Eğer A > B ise Yaz “ A sayısı B’den büyüktür ”

8 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 8 KARŞILAŞTIRMA İŞLEMLERİ  Sayısal karşılaştırmalarda doğrudan değerler karşılaştırılır.  Örnek: 25 > 15 “25 sayısı 15 ten büyüktür”  Karakter olarak karşılaştırmalarda ise karşılaştırma işlemine ilk karakterlerden başlanılarak sıra ile karşılaştırılır.  Örnek: a > c “1. karakter alfabetik olarak daha önde”  Not: Karakter karşılaştırma işlemlerinde, karşılaştırma karakterler arasında değil, karakterlerin ASCII kodları arasında yapılır. Örneğin, A nın ASCII kod karşılığı 65 tir. a nın ise ASCII kod karşılığı 97 tir. Büyük ve küçük harfler arasındaki ASCII kod farkı ise 32’dir.

9 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 9 MANTIKSAL İŞLEMLER  Temel Mantıksal İşlem Karşılıkları İşlemKomutMatematiksel SembolAnlamı VEAND. Koşulların hepsi doğru ise sonuç doğrudur VEYAOR+ Koşullardan en az biri doğru ise sonuç doğrudur DEĞİLNOT’ Sonuç koşulun tersidir. 1 ise 0 dır

10 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 10 MANTIKSAL İŞLEMLER  Mantıksal İşlemlerde Öncelik Sıraları SıraİşlemKomut 1Parantez İçindeki İşlemler( ….. ) 2DEĞİLNOT 3VEAND 4VEYAOR

11 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU ALGORİTMA TASARIMI 11 PROGRAMLAMA

12 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 12 Algoritma Nedir?  Algoritma  Gerçek hayattaki plan kelimesinin karşılığı olarak düşünülebilir.  Bilgisayardaki bir işlemin/işlemlerin gerçekleştirilmesinde izlenilecek adımlar dizisidir.  Bir problemin bilgisayar ortamında çözülecek biçimde adım adım ortaya koyarak bir programlama dili ile kodlama sürecine Algoritma Tasarımı denir.  Akış Diyagramı  Algoritmaların özel geometrik şekiller ile çizilmiş halidir.  Algoritma ya da akış diyagramının hazırlanması programlamanın temelidir.

13 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 13 İyi Bir Algoritmada Neler Olmalıdır?  Etkinlik  Gereksiz tekrarlarda bulunmayan diğer algoritmalar içerisinde de kullanılabilir olmalıdır.  Sonluluk  Her algoritmanın bir başlangıçtan oluşmalı, belirli işlem adımı içermeli ve bir bitiş noktasına sahip olmalıdır. Kısır bir döngüye girmemelidir.  Kesinlik  İşlem sonucu kesin olmalı, her yeni çalıştırmada aynı sonucu üretmelidir.  Giriş/Çıkış  Algoritma giriş (üzerinde işlem yapılacak değerler) ve çıkış (yapılan işlemler neticesinde üretilen sonuç değerler) değerlerine sahip olmalıdır.  Başarım/Performans  Amaç donanım gereksinimi (bellek kullanımı gibi), çalışma süresi gibi performans kriterlerini dikkate alarak yüksek başarımlı programlar yazmak olmalıdır.

14 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 14 Algoritmalar Kaç Farklı Şekilde İfade Edilir?  Algoritmanın metin olarak yazılması Algoritma  Çözülecek problem, adım adım metin olarak yazılır.  Pseudo Code (Kaba Kod) Pseudo Code Pseudo Code  Algoritmanın sözde kodlarla yazılmasıdır.  Problemin çözüm adımları komut benzeri anlaşılır metinlerle ifade edilir.  Yarı kod yarı metin olarak ta adlandırılır.  Akış Diyagramı Akış Diyagramı Akış Diyagramı  Problemin çözüm adımları geometrik şekiller ile ifade edilir.

15 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 15 Örnek Algoritma  Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran programın algoritmasını yazınız?  Başla  Sayıyı (A) gir  Sayının karesini hesapla (Kare = A*A işlemini yap)  Sonucu (Kare) yaz  Dur

16 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 16 Örnek Pseudo Code  Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran programın pseudo code’nu yazınız?  /* Kare alma programı */  Scanf(“ Sayıyı (A) : %d”, &A)  Kare=A*A  Printf (“Sonuç: %d”, Kare)  End

17 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 17 Örnek Akış Diyagramı  Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran programın akış diyagramını çiziniz? Başla Sayı Kare=Sayı*Sayı Kare Dur Klavyeden Okuma İşlem Ekrana Yazdırma

18 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 18 Program Yazarken Nasıl Bir Yol İzlenmeli  Problem/işlem iyice irdelenir  Çözüm yolları ortaya konularak en uygun yol belirlenir  En az komut, en kısa işlem süresi, doğru sonuçlar  Çözüm yolunun (programın) algoritması ya da akış diyagramı hazırlanır  Algoritma ya da akış diyagramı, programcının bildiği/tercih ettiği bir programlama diliyle kodlanır.  Program, kodlandığı editörde çalıştırılarak yazım hataları düzeltilir.  Program test edilir.  Bilinen giriş/çıkış değerleri ile  Farklı değerler ile

19 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU ALGORİTMALARDA KULLANILAN TERİMLER 19 PROGRAMLAMA

20 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 20 ALGORİTMALARDA KULLANILAN TERİMLER  Operatör  İşlemleri belirten yani veriler üzerinde işlem yapmayı özelliği olan simgelerdir.  Örnek: + = >

21 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 21 ALGORİTMALARDA KULLANILAN TERİMLER  Tanımlayıcı  Programcı tarafından oluşturulan/verilen ve programdaki değişkenleri, sabitleri, paragrafları, kayıt alanlarını, özel bilgi tiplerini, alt programları vb. adlandırmak için kullanılan kelimelerdir.  Tanımlayıcı, yerini tutacağı ifadeye çağrışım yapmalıdır.  Tanımlayıcı kelimeler oluşturulurken uyulması gereken kurallar  İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir  0-9 arası rakamlar kullanılabilir  Simgelerden sadece alt çizgi ( _ ) kullanılabilir  Tanımlayıcı isimleri, harf veya alt çizgi ile başlayabilir  Rakam ile başlayamaz veya sadece rakamlardan oluşamaz  Kullanılan programlama dilinin komutu ya da saklı kelimelerinden olamaz

22 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 22 ALGORİTMALARDA KULLANILAN TERİMLER  Değişken  Verilerin saklandığı bellek alanlarına verilen simgesel isimlerdir.  Programın her çalıştırılmasında, farklı değerler alabilen/aktarılabilen bilgi/bellek alanlarıdır.  Bir programda birbirinden farklı kaç tane veri tutulacak ise o kadar değişken tanımlanmalıdır.  Değişkenleri adlandırma, tamamen programcının isteğine bağlıdır.  Değişken adlandırmada tanımlayıcı isimlendirme kuralları geçerlidir.  Değişken adının, yerini aldığı ifadeyi çağrışım yapması programın anlaşılırlığı açısından önemlidir.  Örnek: Bir kişinin adını tutmak için Ad, telefonunu tutmak için Tel Örnek

23 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 23 ALGORİTMALARDA KULLANILAN TERİMLER  Sabit  Programlardaki değeri değişmeyen ifadelere sabit denir.  Sabit adlandırmalarında da tanımlayıcı kuralları geçerlidir.  Sabitlere değer aktarma  Sayısal veriler doğrudan aktarılır.  Örnek: SabitKomutu pi = 3.14  Alfasayısal (karakter) veriler ise tek/çift tırnak içerisinde aktarılır.  Örnek: SabitKomutu ilkharf = ‘A’  Örnek: SabitKomutu OkulAdi = “Sakarya”

24 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 24 ALGORİTMALARDA KULLANILAN TERİMLER  Aktarma  Bir bilgi alanına, veri yazma;  Bir ifadenin sonucunu başka bir değişkende gösterme vb. görevlerde “aktarma = ” operatörü kullanılır.  Kullanım şekli;  değişken = ifade/işlem Aktar Sabit ya da değişken Sayısal ya da Alfasayısal Örnek:  Matematiksel ifade olarak  A= 2, B= 3  C=A+B C=5  Alfasayısal ifade olarak  A= “Sak”, B= “arya”  C=A+B C=Sakarya

25 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 25 ALGORİTMALARDA KULLANILAN TERİMLER  Sayaç ya da Sayıcı  Belirli sayıda yapılması istenen işlemleri takip etmek için;  İşlenen ya da üretilen değerlerin sayılması gerektiği durumlarda kullanılır.  Örnek: Rasgele oluşturulmuş bir dizideki tek sayıların tespitinde “tek sayıların adedini belirlemek için sayaç kullanılır.  Kullanım şekli;  sayaç değişkeni = sayaç değişkeni ± adım Artma ya da Azalma Miktarı Sayacın Yeni Değeri Örnek:  Say= Say + 1 Sayacın Eski/Mevcut Değeri

26 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU ALGORİTMA TASARIMINDA TEMEL YAPILAR 26 PROGRAMLAMA

27 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 27 ALGORİTMALARDA KULLANILAN TEMEL YAPILAR  DÖNGÜ  Bazı işlemleri belirli sayıda tekrar etmede,  Belirli bir aralıktaki ardışık değerler ile işlem yapmada döngü kullanılır.  Diğer bir deyişle, programdaki belirli işlem bloklarını, verilen sayıda gerçekleştiren işlem akış çevrimlerine DÖNGÜ denir.  Örnek:  1’den 5’e kadar sayıların toplamı  Ard arda ekrana 4 defa SAKARYA yazdırma  1 ile 100 arasındaki çift sayıların ya da tek sayıların toplamı

28 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 28 Döngü Oluşturma Kuralları  Döngü değişkenine başlangıç değeri verilir  Döngünün artma ya da azalma miktarı belirlenir  Döngünün bitiş değeri belirlenir  Eğer Döngü karar ifadeleriyle oluşturulduysa; döngü değişkeni, döngü içinde adım miktarı kadar arttırılmalı/azaltılmalıdır. Örnek: 1-10 arası tek sayıların toplamı hesaplayan programın algoritmasını çıkarınız?  Başla  T = 0  J = 1  Eğer J > 10 ise Git 8  T = T + J  J = J + 2  Git 4  Yaz T  Dur

29 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 29 SIK KULLANILAN ARDIŞIK DÖNGÜ YAPILARI  Ardışık Toplama  Toplam değişkeni = Toplam değişkeni + Sayı  Ardışık Çarpma  Çarpım değişkeni = Çarpım değişkeni * Sayı

30 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 30 ÖZET  Algoritma Hazırlama Kuralları  Yapılacak iş/çözülecek problem iyice irdelenir. Tüm ihtimaller gözden geçirilir  En az komutla, en kısa sürede, en doğru-hassas sonuca ulaştıracak çözüm yolu/yöntem belirlenir  Tanımlayıcı isimleri belirlenir  Algoritmada her işlem adımına bir numara verilir  Problem çözümü için gerekli olan veriler/işlenecek veriler girilir ya da başka ortamlardan alınır  Yapılacak işlemler/kullanılacak yöntemler açık şekilde verilir  Bulunan sonuçlar görüntülenir ya da belirli ortamlarda saklanır

31 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 31 ÖZET  Algoritmanın /Akış Diyagramının Avantajları  Program yazmayı kolaylaştırır  Hatalı kodlama oranını azaltır  Program yazımı için geçen süreyi kısaltır  İşlem akışını açık bir şekilde gösterdiğinden program kontrolünü kolaylaştırır  Sonradan yapılacak düzenlemelerde kolaylıklar sağlar

32 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU AKIŞ DİYAGRAMLARI 32 PROGRAMLAMA

33 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 33 Akış Diyagramı Nedir?  Akış Diyagramı  Algoritmaların özel geometrik şekiller ile çizilmiş halidir.  Akış diyagramındaki her geometrik şekil, yapılacak bir işi ya da komutu gösterir.  Bir problem bilgisayar ortamında kodlanmadan önce algoritması yazılabilir ya da akış diyagramı çizilebilir

34 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 34 Akış Diyagramında Kullanılan Şekiller Nelerdir? Başla Bilgi/Veri Girişi İşlem Bilgi/Veri Yazma Dur Karar/ Karşılaştırma Fonksiyon (önceden tanımlı işlem) çağırma DÖNGÜ Bağlantı İşlem Akış Yönü

35 PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 35 Örnek Akış Diyagramı  Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran programın akış diyagramını çiziniz? Başla Sayı Kare=Sayı*Sayı Kare Dur Klavyeden Okuma İşlem Ekrana Yazdırma


"PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2. Hafta TEMEL KAVRAMLAR 1 PROGRAMLAMA." indir ppt

Benzer bir sunumlar


Google Reklamları