Komut düzeyi kontrol yapıları

Slides:



Advertisements
Benzer bir sunumlar
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Advertisements

Bölüm 2: Program Denetimi
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Akış Kontrol Mekanizmaları
Çoklu dallanma seçimi: switch
PHP'de Program Denetimi
PROGRAM DENETİM DEYİMLERİ
DÖNGÜ DEYİMLERİ Programın belirli bir kesiminin birden fazla tekrarlanması işlemine DÖNGÜ denir. Bir değişken belirli bir değerden başlayıp, son değeri.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
BİLGİSAYAR PROGRAMLAMA Ders 2: Algoritma ve Akış Şemaları
Determinant Bir kare matrisin tersinir olup olmadığına dair bilgi veriyor n- boyutlu uzayda matrisin satırlarından oluşmuş bir paralel kenarın hacmine.
T.C. ORDU VALİLİĞİ İlköğretim Müfettişleri Başkanlığı TAM ÖĞRENME MODELİ TAM ÖĞRENME MODELİ.
BÖLÜM 1 TEMEL KAVRAMLAR. BÖLÜM 1 TEMEL KAVRAMLAR.
PROGRAMLAMA ve YAZILIM Sayısal Analiz Yrd.Doç.Dr. Zekeriya PARLAK.
3. HAFTA 03 Mart MATEMATİKSEL İŞLEMLER Aritmetik Islemlerde Öncelik Durumu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
KISIM 3 Bilişsel Gelişimi Arttırma BÖLÜM 8 Problem Çözme ve Eleştirel Düşünme.
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
Öğretim Teknolojileri ve Materyal Geliştirme
Program Tasarım Modelleri
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ÇOK BOYUTLU SİNYAL İŞLEME
BİLGİSAYAR PROGRAMLAMA DERSİ
Fonksiyonel Programlama
Algoritma ve Programlamaya Giriş
KDV BEYANNAMESİ / MUHTASAR BEYANNAME / KURUMLAR VERGİSİ BEYANNAMESİ / GEÇİCİ VERGİ BEYANNAMESİ’NDE ORTAK ÖZELLİKLER F5 PENCERESİ Beyannamelerde yer alacak.
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
Tüm ikililer arasında en kısa yollar
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
Problem Çözme ve Algoritmalar
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Çözülemiyen Matematik Soruları
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
BİLİŞİM TEKNOLOJİLERİ ALANI
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
PROBLEM ÇÖZME VE ALGORİTMALAR
PARAMETRİK HİPOTEZ TESTLERİ
Bölüm 7 İfadeler ve atamalar.
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
İleri Algoritma Analizi
Bölüm 4: Kontrol Yapıları I (Seçim Yapma)
NİŞANTAŞI ÜNİVERSİTESİ
YAPISAL PROGRAMLAMA Hafta-4
Doğrusal Mantık Yapısı İle Problem Çözme
ÖLÇME-DEĞERLENDİRME 1.DERS
Bilgisayar Bilimi Koşullu Durumlar.
Format Deyimleri Örnekleri;
Sonlu Özdevinirlere Giriş
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Değerler ve Değişkenler
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
İleri Algoritma Analizi
İNTERNET PROGRAMCILIĞI 2
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Ortam-Bağımsız Gramerler (OBG)
Bilimsel araştırma türleri (Deneysel Desenler)
2. HAFTA Bilimsel Araştırma Temel Kavramlar.
Sunum transkripti:

Komut düzeyi kontrol yapıları Chapter 8 Komut düzeyi kontrol yapıları

8. bölüm konuları Giriş Seçme komutları Tekrarlayan komutlar Şartsız dallanma Korumalı komutlar Sonuç Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Kontrol komutları Akış şemaları ile temsi edilebilen tüm algoritmalar sadece iki taraflı seçim (ör: if-then-else) ve ön-şartlı döngüler (ör: while) kullanılarak kodlanabilir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Kontrol yapısı Kontrol komutu ve kontrol ettiği komutlar Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Seçme komutları İki veya daha çok çalışma alternatifi arasından seçme olanağı tanır İki genel kategori İkili seçme komutları (ör: if-then-else) Çoklu seçme komutları (ör: case) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

İkili seçme komutları Genel şekli: if control_expression then clause else clause Tasarım problemi: İç içe seçme komutunun anlamı nedir? Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Kontrol ifadesi C, Python, ve C++ dillerinde kontrol ifadesi sayısal olabilir Ada, Java, Ruby, C# gibi dillerde Boolean olmalı Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Içiçe seçiciler Java örneği Soru: else deyimini hangi if sahiplenir? if (sum == 0) if (count == 0) result = 0; else result = 1; Soru: else deyimini hangi if sahiplenir? Cevap: En yakındaki if Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Içiçe seçiciler ... Daha değişik davranış için, bileşik komut kullanın: if (sum == 0) { if (count == 0) result = 0; } else result = 1; Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Çok yönlü seçici örneği C, C++, ve Java switch (expression) { case const_expr_1: stmt_1; … case const_expr_n: stmt_n; [default: stmt_n+1] } Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Çok yönlü seçici örneği... Tasarım tercihleri Kontrol ifadesi sadece tamsayı olabilir Seçilebilen kısımlar komut serisi, blok veya bileşik komut olabilir Kısım bittiğinde eğer break yoksa bir sonraki kısıma devam eder. Default: belirtilmemiş değerler için (default yoksa ve kontrol ifadesi hiçbir seçeneğe uymuyorsa, case hiçbirşey yapmaz) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

If kullanarak çok yönlü seçim Python dilinde else-if kullanarak if count < 10 : bag1 = True elsif count < 100 : bag2 = True elsif count < 1000 : bag3 = True Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleme komutları Komutun birden çok kez tekrarlanmasının yöntemleri Yineleme (iteration) Özyineleme (recursion) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Sayaç kontrollü döngüler Sayıcı yineleyen komutta, döngü değişkeni bulunur. Bu değişkenin İlk değeri Son değeri, ve Basamak artırımı değeri olur. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: Örnek C-tabanlı diller for ([başlangıc_ifadesi] ; [bitiş_şarti] ; [artirma_ifadesi]) - İfadeler komut olabilir, hatta virgül ile ayrılan komut dizisi de olabilir Çoklu komuttan oluşan ifadenin değeri, ifadedeki son komutun değeridir İkinci ifade yoksa, sonsuz döngü Tasarım tercihleri: - Açıkça verilen döngü değişkeni yok - Döngü içinde herşey değiştirilebilir - İlk ifade bir kez değerlendirilir, diğer ikisi her yinelemede Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: Örnek ... C++, C’den iki şekilde ayrılır: Kontrol ifadesi Boolean olabilir Birinci ifadede yeni değişken tanımı olabilir (etki alanı tanımdan başlayın döngünün sonuna kadar uzanır) Java ve C# Kontrol ifadesi Boolean olmak zorunda Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: Mantık kontrollü döngüler Tekrarlama kontrolü Boolean ifadeye bağlı Tasarım problemi: Önce-test, sonra-test? Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: Mantık kontrollü döngü örnekleri C ve C++: hem önce-test hem sonra-test döngüler, kontrol ifadesi aritmetik olabilir while (ctrl_expr) do loop body loop body while (ctrl_expr) Java: C ve C++ gibi, ancak kontrol ifadesi Boolean olmalı Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: break ve continue C , C++, C# dillerinde şartsız, etiketlenmemiş (unlabeled) çıkışlar (break) Java dilinde şartsız etiketlenmiş (labeled) çıkış (break) C, C++ dillerinde etiketlenmemiş continue, komutu: o anki yinelenen kısmın geri kalanını atlar, ama döngüden çıkmaz Java dilinde continue komutunun etiketli versiyonu var Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: veri yapılarına dayalı yineleme Veri yapısındaki eleman sayısı yinelemeyi kontrol eder Kontrol mekanizması, veri yapısındaki bir sonraki elemanı veren bir yineleme (iterator) fonksiyonuna çağrıdır C dilindeki for yapısını kullanarak yineleyici (iterator) yapabiliriz: for (p=root; p!=NULL; traverse(p)){ } Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Yineleyen komutlar: veri yapılarına dayalı yineleme… C#’ dilinin foreach komutu dizilerin ve diğer kolleksiyonların elemanları üzerinde “yineler” : Strings[] = strList = {"Bob", "Carol", "Ted"}; foreach (Strings name in strList) Console.WriteLine ("Name: {0}", name); Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Şartsız dallanma (branching) Çalışma kontrolünü programın herhangi bir yerine götürür goto komutu En büyük endişe: okunabilirlik Bazı dillerde goto yok (ör: Java) C# dilinde switch komutu içinde var Döngü çıkış komutları (break vs.) bir çeşit sınırlandırılmış “gizli” goto’lar Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Korunan (Guarded) komutlar Dijkstra tarafından tasarlandı Amaç: Program doğrulanmasını (verification) program geliştirme aşamasında desteklemek CSP ve ADA’da paralel programlama için temel oluşturdu Ana fikir: hesaplama sırası (order of evaluation) önemli değilse, program bir sıra belirtmemeli Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Seçme korumalı komutu Şekli: Anlamı: if <Boolean exp> -> <statement> [] <Boolean exp> -> <statement> ... fi Anlamı: Tüm Boolean ifadeleri hesapla Birden çoğu doğru ise, bir tanesini tesadüfen seç (non-deterministically) Hiçbiri doğru değilse, çalışma zamanı (runtime) hatası Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Seçme korumalı komutu görseli Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Döngü korumalı komutu Şekli: Anlamı: her yinelemede do <Boolean> -> <statement> [] <Boolean> -> <statement> ... od Anlamı: her yinelemede Tüm Boolean ifadeleri hesapla Birden çoğu doğru ise, bir tanesini tesadüfen seç (non-deterministically), sonra döngüyü yeniden başlat Hiçbiri doğru değilse, döngüden çık Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Döngü korumalı komutu görseli Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Sonuç Çeşitli komut düzeyinde yapılar Seçme ve öncetest döngüler: zorunlu. Diğer yapılar seçmeli. Daha çok yapı = kolay yazılabilirlik ama daha büyük/karmaşık dil Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ