BÖLÜM 5 AKIŞ DİYAGRAMLARINDAN PROGRAM KODLAMAYA GEÇİŞ

Slides:



Advertisements
Benzer bir sunumlar
STRİNG FONKSİYONLARI.
Advertisements

Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
JavaScript Birinci Hafta.
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
C Programlama Diline Giriş
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
AKIŞ DİYAGRAMLARI Yard.Doç.Dr. Cihad DEMİRLİ
SQL de Değişken Tanımlama
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 3 – Yapısal Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Yapısal Program Geliştirme – if, if-else
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Döngü ve Koşul Komutları
Görsel C# ile Windows Programlama
Bilgisayar Programlama
C++ Yapısı Giriş-Çıkış Komutları Döngü Komutları
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel tanımlar ve işleyiş
C ile Programlamaya Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bölüm 2 – Kontrol Yapıları
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
MESAJ KUTUSU.
Kontrol Yapıları ve Döngüler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Çoklu dallanma seçimi: switch
Algoritma & Programlama
Temel Giriş/Çıkış Fonksiyonları
PROGRAM DENETİM DEYİMLERİ
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
STRING‘LER Karakter Kütüphanesi Fonksiyonları
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
İnternet Programlama-I
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
BÖLÜM 3 AKIŞ DİYAGRAMI.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
C Programlama Dili Bilgisayar Mühendisliği.
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bölüm 2 C Dilinin Temelleri
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
BİLGİSAYAR programlama II
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bölüm 2: Program Denetimi
Discussion: comp.soft-sys.matlab
Akis diyagramı Örnekleri
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Döngüler.
Bölüm 2 C Dilinin Temelleri
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

BÖLÜM 5 AKIŞ DİYAGRAMLARINDAN PROGRAM KODLAMAYA GEÇİŞ

Not: Programlama dilleri arasında fark olsa da, problemin çözümünde izlenen algoritma ve algoritmaya göre çizilen akış diyagramı hep aynı kalır.

Kodlar yazılırken, farklı kullanım şekilleri ve farklı programlama teknikleri sunulmaya çalışılacaktır. Bir problemin birden fazla çözüm yolu olduğu gibi bir programın da çok farklı kodlama şekilleri olabilmektedir.

C ve C++’daki operatörlerin karşılıkları Tablo 5 C ve C++’daki operatörlerin karşılıkları Tablo 5.1’de, akı diyagramı şekillerine karşılık gelen genel komutları ise toplu halde Tablo 5.2’de verilmektedir. Programlama dillerinde, bunlara karşılık kullanılabilecek başka komutlar mevcuttur. Yazılımcının tecrübesi arttıkça; en uygun komutları, en uygun yerlerde en verimli şekilde kullanabilecektir.

Not: Her programlama dilinin yapısında fazladan operatörler bulunabilir. Her programlama dilinde; benzer veya birbirine yakın görevlerde birçok komut bulunabilir.

Veri Giriş Komutları – ‘’Gir/Oku’’ Bilgisayar, işlemleri gerçekleştirebilmek için bilgilere/verilere ihtiyaç duyar. Bilgilerin/verilerin dışardan (klavye, port, dosya vb.) alınmasını sağlayan komutlar, ‘veri giriş komutları’ olarak adlandırılır.

C’deki Veri Giriş Komutları 1. scanf C programlama dilindeki temel veri giriş komutudur. Klavyeden; belirtilen değişkene, veri aktarılmasını sağlar.

Kullanım şekli: scanf (“ biçim ifadesi “,& değişkenler listesi );

% ∗ 𝑛 𝐹 𝑁 ℎ 𝑙 𝐿 𝑑 𝐷 𝑖 𝐼 𝑢 𝑈 𝑜 𝑂 𝑥 𝑋 𝑒 𝐸 𝑔 𝐺 𝑓 𝑠 𝑐 % 𝑛 𝑝 Buradaki ‘’biçim ifadesi’’, veri girişinin hangi biçimde olacağını; ‘’değişkenler (adres) listesi’’ de verilerin aktarılacağı değişkenleri belirtir. Biçim ifadesinin gelen şekli yandaki gibi olup iki kısımdan oluşur: Biçim kısmı ve tip belirtme kısmı.

Daha kısa olarak biçim ifadesi % 𝑏𝑖ç𝑖𝑚 𝑡𝑖𝑝 şeklinde de gösterilebilir. Görüldüğü gibi biçim ifadesi; çift tırnak içinde, % karakteriyle (sembolüyle) başlamaktadır. Biçim ve tip karakterlerinin anlamları ise Tablo 5.3 ile Tablo 5.4’te verilmektedir.

C

Bir pozitif tamsayı giriniz: 5 Bir boşluk bırakarak iki tamsayı giriniz: 4 3 Araya virgül koyarak iki tamsayı giriniz: 2,1 Girilen sayıların toplamı 15 dir.

Yukarıdaki programda beş tane tamsayı, değişik biçimlerde girilmekte ve toplanarak ekrana yazdırılmaktadır.

C

Bir ondalıklı sayı giriniz: 100.125 Bir başka ondalıklı sayı giriniz: 123456789.125 Girilen sayıların toplamı 223.125 dir.

Yukarıdaki örnekte görüldüğü gibi belirtilen uzunluğu aşan bir giriş yapılırsa; girilen değerin, fazla olan kısmı atılır. Ondalıklı sayılarda “ . ” da bir basamak/hane (dijit) olarak kabul edilir.

Eğer ikinci ondalıklı sayı, biçimli giriş ile alınmasaydı; sonuç,123456889.25 şeklinde doğru olarak hesaplanacaktı. Ancak “%3f” biçimiyle girilen 123456789.125 sayısının sadece 13 kısmı (üç haneli/basamaklı kısım) alınabildiğinden sonuç da 100.125+123=223.125 olarak bulunur. Biçim ifadesi, alfasayısal veriler üzerinde de aynı etkiyi yapar.

C

Bir kelime giriniz => Elektrik Bir başka kelime giriniz => Elektronik Alınan birinci kelime: Elektrik Alınan ikinci kelime: Elekt

2. gets Klavyeden, alfasayısal veri (karakter, kelime, cümle vb.) girilmesini sağlar. Kullanım şekli: gets (değişken);

C

Cümleyi giriniz: 17 Ağustos 1999, Adapazarı Depremi Cümleyi tekrar giriniz: 17 Ağustos 1999, Adapazarı Depremi gets ile alınan cümle: 17 Ağustos 1999, Adapazarı Depremi scanf ile alınan cümle: 17

Örnek programdan da görüldüğü gibi “gets” komutu, ‘Enter’ tuşuna basılıncaya kadar girilen karakter/karakter grubunun tamamını alırken; “scanf” komutu, ilk özel karaktere kadar olan kısmı alabilmektedir/okuyabilmektedir.

3. getch Ekranda görülmeden, klavyeden tek karakterin girilmesini sağlar. Kullanım şekli: değişken = getch() ;

4. getche Ekranda görünerek, klavyeden tek karakterin girilmesini sağlar. Kullanım şekli: değişken = getche() ;

5. getchar Klavyeden veya dosyadan tek karakterin okunmasını/alınmasını sağlar. Kullanım şekli: değişken = getchar() ;

6. kbhit Klavyede, herhangi bir tuşa basılıp basılmadığını verir. Basılması durumunda “True” (1) üretir (sonucunu verir). Kullanım şekli: kbhit() ;

C++’daki Veri Giriş Komutları 1. cin C++ programlama dilindeki temel veri giriş komutudur. Kullanım şekli: cin >> değişken ; cin >> değişken1 >> değişken2 >> değişkenN ; cin >> biçimleyici >> değişken ; cin.biçim ayarı;

Bu komutla alfasayısal veriler girilirken, ilk özel karaktere (boşluk) kadar olan kısmı alınır. Araya boşluk koyularak, birden fazla değişkene de tek komutla değer aktarılabilir.

“biçimleyici”, veri girişinin biçimini belirtir ve alabileceği bazı değerler Tablo 5.5’te verilmektedir. Karakter sayısı (genişliği) gibi ayarlamaların yapıldığı “biçim ayarı” ise “biçimleyici” gibi “cout” kısmında daha ayrıntılı olarak anlatılacaktır.

C++

Not: C++ programlama dilinde; C dilinde anlatılan veri giriş komutları, ilgili kütüphaneler çağırılarak kullanılabilir.

2. get Klavyeden tek karakter okuyarak ilgili değişkene aktarır. Kullanım şekli: cin.get(değişken) ;

3. getline Klavyeden belirtilen uzunluğa kadar karakter dizisi okur. Kullanım şekli: cin.getline(değişken , uzunluk) ; getline(cin , değişken) ;

C++

Veri Çıkış Komutları – “Yaz” Bilgisayarda; işlemleri gerçekleştirdikten sonra bulunan sonuçları, ekranda görüntülemek, yazıcıdan çıktı almak veya bellekteki dosyalara kaydetmek için kullanılan komutlardır.

C’deki Veri Çıkış Komutları C programlarıyla elde edilen sonuçları, ekrana yazdırmak için kullanılan temel komut/fonksiyon ”printf” dir.

1. printf Sonuçları, ekrana yazdırmayı sağlar. Kullanım şekli: printf (“ biçim ifadesi “, değişkenler) ;

Çift tırnak arasında yer alan ‘biçim ifadesi’ genel olarak üç kısımdan oluşur. Açıklama kısmı Biçim kısmı Kontrol/çıkış kısmı

a. Açıklama: Çift tırnak arasında verilip ekrana doğrudan yazılır.

C

Ankara

b. Biçim: % sembolüyle başlayan ve çıkış biçiminin belirlendiği kısımdır. Genel şekli aşağıdaki gibidir.

% − + ′ ′ # 𝑛 0𝑛 ∗ .0 .𝑛 .∗ 𝐹 𝑁 ℎ 𝑙 𝐿 𝑑 𝑖 𝑜 𝑢 𝑥 𝑋 𝑒 𝐸 𝑓 𝑔 𝐺 𝑐 𝑠 𝑛 𝑝

Bu kısım daha kısa olarak; % 𝐵𝑎𝑦𝑟𝑎𝑘 𝑏𝑒𝑙𝑖𝑟𝑡𝑒𝑐𝑖 𝐺𝑒𝑛𝑖ş𝑙𝑖𝑘 𝑏𝑒𝑙𝑖𝑟𝑡𝑒𝑐𝑖 𝐻𝑎𝑠𝑠𝑎𝑠𝑖𝑦𝑒𝑡 𝑏𝑒𝑙𝑖𝑟𝑡𝑒𝑐𝑖 𝑇𝑖𝑝 𝑛𝑖𝑡𝑒𝑙𝑒𝑦𝑖𝑐𝑖 𝑇𝑖𝑝 𝑘𝑎𝑟𝑎𝑘𝑡𝑒𝑟𝑙𝑒𝑟𝑖 şeklinde de gösterilebilir.

“Tip karakterleri” hariç diğerlerinin kullanımı zorunlu değildir. Bu alt kısımlardaki karakterlerin anlamları Tablo 5.9 – 5.13 arasında verilmektedir.

c. Kontrol/çıkış: “\” işaretiyle başlayan bu karakterlerin anlamları Tablo 5.14’te verilmektedir.

C

Birinci sayıyı giriniz: 15 İkinci sayıyı giriniz: 30 15+30=45 dir.

C

pi sayısı=3.142857 pi sayısı=3.1429 pi sayısı=3.142857e+00 pi sayısı=+3.1428570747e+00 pi sayısı=3.14 pi sayısı=3.142857E+00

2. cprintf “printf” komutu renkli yazımlarda kullanılamazken, yerine “cprintf” ile renkli çıktılar oluşturulabilir. Kullanım şekli: cprintf (biçim ifadesi , değişkenler listesi) ;

3. putchar Belirtilen karakteri ekrana yazar. Kullanım şekli: putchar (karakter değişken) ;

4. puts Belirtilen alfasayısal veriyi ekrana yazar ve bir alt satıra geçer. Kullanım şekli: puts (değişken) ;

5. cputs Belirtilen alfasayısal veriyi ekrana, ayarlanan renkte yazar. Kullanım şekli: cputs (değişken) ;

C++’daki Veri Çıkış Komutları 1. cout C++ programlama dilindeki temel veri çıkış/yazdırma komutudur.

Kullanım şekilleri: cout << değişken ; cout << “ ifade “ ; cout<< biçimleyici << değişken ;

“ << “ işaretinden sonra yer alan ,’biçimleyici’ ifadeleri belirli gruplar altında toplanarak özetlenebilir ve bunları bazıları Tablo 5.15-5.20 arasındaki tablolarda verilmektedir.

Not: Bazı biçimleyicileri kullanabilmek için “iomanip” kütüphanesi çağırılmalıdır. C++’daki “cout” ile birlikte C’deki kontrol/çıkış karakterleri de kullanılabilir.

Not: C++ programlama dilinde; C dilinde anlatılan veri çıkış komutları, ilgili kütüphaneler çağırılarak kullanılabilir.

C++

C++

C++

Döngü (Çevrim) Komutları Ardışık (ardışıl) veya tekrarlı işlemlerin yapılmasını sağlayan komutlardır. Döngüler, üçe ayrılırlar:

i. Sayıcılı döngüler: Döngü işlemleri bir sayaca bağlı olarak gerçekleştirilir. ii. Ön koşullu döngüler: Döngü içindeki işlemler koşula/koşullara bağlı olarak gerçekleştirilir ve bu koşul/koşullar döngü öncesinde kontrol edilebilir. iii. Son koşullu döngüler: Döngü içindeki işlemler koşula/koşullara bağlı olarak gerçekleştirilir ve bu koşul/koşullar döngü sonunda kontrol edilir.

Not: Ön koşullu ve son koşullu döngüler arasındaki temel farklar: Döngü koşulu/koşulları; -Ön koşullu döngüde, döngü başında -Son koşullu döngüde, döngü sonunda kontrol edilir.

Döngü işlemi/işlemleri; -Ön koşullu döngüde, koşul/koşullar döngünün başında kontrol edildiğinden hiç gerçekleştirilmeyebilir. -Son koşullu döngüde, koşul/koşullar döngünün sonunda kontrol edildiğinden en az bir defa gerçekleştirilir.

Not: Ön koşullu ve son koşullu döngülerde; -Döngü değişkenine, döngü öncesinde başlangıç değeri verilmelidir. -Döngü değişkeni, döngü içerisinde arttırılmalı/azaltılmalıdır (değiştirilmelidir). Değiştirilmemesi durumunda; döngü, sonsuz çevrime girer.

C/C++ Döngü Komutları C ve C++ programlama dillerinde üç döngü yapısı da bulunmaktadır: ‘for’, ‘while’ ve ‘do-while’ Her iki dildeki komutlar aynı olduğu için bu döngü komutları, ayrı başlık altında incelenmeyip var olan küçük değişiklikler belirtilecektir.

1. for Sayıcılı döngü komutudur. “for” döngüsünde; koşul sağlandığı (doğru olduğu) sürece, döngü bloğu işlemler yapılır.

Kullanım şekli (C/C++): for (başlangıç değeri ; koşul ; artım) { ………………………..………. ………………………………… }

Kullanım şekli (C++): for (tip başlangıç değeri ; koşul ; artım) { ………………………..………. ………………………………… }

C

C++

2. while C ve C++’daki ön koşullu döngü “while” dır. “while” ile verilen koşul sağlandığı (doğru olduğu) sürece, döngü içindeki işlemler gerçekleştirilir.

Kullanım şekli: while (koşul) { ………………………..………. ………………………………… }

C

C++

3. do-while Son koşullu döngüdür.. “while” ile belirtilen koşul sağlandığı (doğru olduğu) sürece, döngüdeki işlemler yapılır.

Kullanım şekli: do { ………………………..……… ………………………………… } while(koşul);

C

C++

Tablo 5.26’da C ve C++’daki döngü yapıları, karşılaştırmalı olarak verilmektedir. Ayrıca bu dillerdeki döngü kontrol komutları da Tablo 5.27’de yer almaktadır.

“Sonlandır” komutu, döngüden (döngü bloğundan) çıkışı sağlarken, “Devam ettir” de işlem akışını döngü koşuluna yönlendirir (bir sonraki döngü değeriyle devam etmesini sağlar).

Karar (Karşılaştırma) Komutları – “Eğer” Koşulların kontrolünde kullanılan komutlardır. Koşulların doğru olup olmamasına (sağlanıp sağlanmamasına) göre işlem akışını yönlendirirler. Karar komutları dört farklı yapıda olabilirler:

i. Yarım form: Sadece koşul/koşullar doğru olduğunda (doğru ise – evet ise) yapılacak işlem/işlemler vardır. ii. Tam form: Koşul/koşullar doğru ve yanlış olduğunda yapılacak işlem/işlemler vardır.

iii. Çok koşullu form: Birçok koşulun durumuna göre yapılacak işlem/işlemler vardır. iv. Seçimli form: Seçim/kontrol değişkeninin değerine göre yapılacak işlem/işlemler vardır. Bu form; “çok koşullu form” un sade biçimidir.

C/C++ Karar Komutları 1. if-else Yarım-tam-çok koşullu form yapılarında kullanılabilir.

Kullanım şekilleri (C/C++): if (koşul veya koşul grubu) işlem; if (koşul veya koşul grubu) işlem-1; else işlem-2; if (koşul1 veya koşul grubu1) işlem-1; else if (koul2 veya koşul grubu2) işlem-2; else if (koşul3 veya koşul grubu3) işlem-3; …………………………………………………………… else işlem-n;

C

C++

2. switch Seçime göre program akışını yönlendiren komuttur (seçimli komut).

Kullanım şekilleri (C/C++): switch (değişken) { case değer-1 : işlemler-1; case değer-2 : işlemler-2; case değer-3 : işlemler-3; ………………..……………………. case değer-n : işlemler-n; }

switch (değişken) { case değer-1 : işlemler-1; case değer-2 : işlemler-2; case değer-3 : işlemler-3; ……………….……………………. case değer-n : işlemler-n; default: varsayılan işlemler; }

“switch” ten sonra belirtilen ‘değişken’, “case” ten sonraki hangi değeri alırsa, karşılığındaki işlem yapılır. Eğer “değişken” e karşılık “case” te değer yoksa, “default” taki “varsayılan işlemler” gerçekleştirilir.

C

C++

3. ? Koşulun durumuna göre ilgili değeri veya işlem sonucunu, belirtilen değişkene aktarır. Kullanım şekli (C/C++): Değişken = (koşul) ? işlem/değer-1 : işlem/değer-2 ;

Yukarıdaki karar yapısı, “koşul” doğru ise “değişken” e “işlem/değer-1”; yanlış ise “işlem/değer-2” atanır.

C

C++

Tablo 5.28’de C ve C++’daki karar yapıları, karşılaştırmalı olarak verilmektedir.

Diğer Bazı Komutlar Bu alt başlıklarda, daha sonraki bölümlerdeki örneklerde, kullanılacak olan bazı komutlar tanıtılacaktır.

A. Ekran Komutları Ekranın belirtilen yerine imleci yönlendirme, ekranı temizleme, renk ayarları gibi işlemlerin yapılmasını sağlayan komutlardır (Tablo 5.29).

B. Matematiksel İşlem Komutları Matematiksel işlemleri yapılmasını sağlayan komutlardır (Tablo 5.31-35).

C. Alfasayısal İşlem Komutları Karakter ve karakter grupları (kelime, cümle vb.) üzerinde işlem yapan komutlardır (Tablo 5.36).

D. Diğer Komutlar Bu alt başlıkta; daha sonraki bölümlerde yazılan programlarda kullanılan bazı komutlar verilmektedir (Tablo 5.37-40).