Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu
|
|
|
- Hande Akburç
- 10 yıl önce
- İzleme sayısı:
Transkript
1 Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Öğr. Gör. M. Ozan AKI r1.0
2 Algoritmalar (Algorithms) Algoritma, bir problemin çözümünü sağlayan ancak deneme-yanılma ve sezgisel çözüme karşıt bir yöntemdir. (V. Nabiyev) Problemin çözümü için yapılması gereken işlemleri adım adım ve sırasıyla açıklar. Algoritmalar, herhangi programlama diline bağımlı değildir. Bu nedenle Pseudo Code olarak yazılırlar. Pseudo Code, herhangi programlama dili için geçersiz, ancak konuşma diline yakın, işlemleri açıkça tanımlayan komutlar olarak tanımlanabilir.
3 Algoritmalar Algoritmalar, genellikle spesifik bir işi açıklarlar. Bu iş parçaları büyük bir yazılımın ya da programın bir parçası olabilirler. Günlük hayatımızdaki bir kek tarifi, algoritma olarak düşünülebilir. Tarifte işlemler ve malzemeler vardır, bilgisayarda ise, işlemler ve veriler.
4 Algoritmalar Sonlu sayıdaki bir dizideki maksimum sayının bulunması için örnek bir algoritma şöyle yazılabilir; 1. Dizinin ilk elemanını al. 2. Dizinin sonraki elemanı ile karşılaştır 3. Karşılaştırılan eleman daha büyükse onu al 4. Kontrol edilmemiş eleman kaldıysa 2 ye git 5. Son
5 Akış Şemaları (Flow Charts) Akış şemaları, algoritmaların şematik olarak gösterilmesidir. Ancak akış şemalarındaki ifadeler, daha çok kullanılacak programlama dilindeki ifadelere yakındır. Akış şemalarında, farklı şekiller, farklı görevleri sembolize eder.
6 Akış Şemaları Akış şemaları, algoritmaların şematik olarak gösterilmesidir.
7 İki sayının aritmetik ortalamasını bulan akış şeması Akış Şemaları
8 Koşullu Dallanma Simgesi Koşullu Dallanma simgesi baklava dilimi şeklindedir. Bir girişi ve iki çıkışı vardır. Çıkışlardan biri doğru ya da evet, diğeri yanlış ya da hayır çıkışıdır.
9 Koşullu Dallanma Simgesi Koşullu dallanma simgesi, çok sayıda şartı kontrol etmek gerektiğinde ardaşık olarak kullanılabilir.
10 Döngü Simgesi Döngü simgesi, basık altıgen şeklindedir. Göngüde belirtilen koşul doğru olduğu sürece döngü devam edecektir.
11 Döngü Simgesi Tipik bir for döngüsü ise aşağıdaki gibi gösterilebilir. Ancak, ilk değer ve artım işlemlerini her defasında ayrıca göstermek yerine, bunları döngü simgesi içerisine yazmak daha pratik olacakır.
12 İç İçe Döngüler İç içe döngüler kurulabilir. İç içe döngüler aynı tipte olabileceği gibi, farklı tipte döngülerden de oluşabilir.
13 Örnekler Bir faktöryel hesabının akış şemasını çiziniz.
14 Örnekler İkinci dereceden iki bilinmeyenli denklemin köklerinin hesaplanması
15 Örnekler OBEB ve OKEK hesaplanması
16 Örnekler En küçük ve en büyük dizi elemanının bulunması
17 Örnekler Matris toplamı
18 Örnekler Matris çarpımı
19 Yürütme Zamanı T(n) Bir yazılım kodunda, toplam kaç birim işlem yapıldığının göstergesidir. Buradaki her bir birim işlem, her bir dil (örn, C dili) ifadesi olarak ele alınabilir. n olarak ifade edilen birim işlemlerin toplamı T(n) yürütme zamanı fonksiyonunu verecektir. Ancak birçok algoritma veri işleridğinden dolayı, n i belirleyen en büyük faktör veri sayısı olacaktır.
20 Yürütme Zamanı T(n) int ortalama(int dizi[], int len) { int i,ort,top=0; for(i=0; i<len; i++) top += dizi[i]; 1+(n+1)+n n ort = top / len; 1 return ort; 1 } T(n) = 2n n , T(n) = 3n + 4
21 Yürütme Zamanı T(n) void matristopla (int A[m,n], int B[m,n], int C[m,n]) { int i,j; for(i=0; i<m; i++) 1+(m+1)+m for(j=0; j<n; j++) m*(1+(n+1)+n) C[i,j] = A[i,j]+B[i,j]; m*n } T(n) = 2m+2 + m*(2n+2) + mn T(n) = 3mn + 4m + 2, Eğer m == n olursa; T(n) = 3n 2 + 4n + 2 olur.
22 Karmaşıklık (Complexity) Karmaşıklık ifadesi, özellikle çok sayıda ya da büyüyen veri sayısı karşısında faklı algoritmaların nasıl davrandığını gösteren bir kavramsal ifadedir. Karmaşıklığı ifade etmek için asimptotik ifadeler kullanılmaktadır. En çok kullanılan asimptotik karmaşılık ifadesi «büyük O» notasyonudur ve O() ile gösterilir. O(n) fonksiyonuna verilen n değişkeni, algoritmanın işlediği veri sayısını göstermektedir.
23 Karmaşıklık (Complexity) Bir algoritmanın çalışma zamanı bulunduktan sonra, ne tür bir karmaşıklığa sahip algortma olduğunu çıkarsamak için; T(n) bulunduktan sonra, tüm değişkenler tek tip değişkene dönüştürülür, sabitler ve düşük dereceli terimler atılar ve en yüksek dereceli terim, O(n) karmaşıklık foksiyonunu ifade eder.
24 Karmaşıklık (Complexity) Örneğin, Daha önce ortalama alan fonksiyonun bulunan T(n) yürütme zamanı, T(n) = 3n + 4 Karmaşıklık notasyonu; O(n) Olur.
25 Karmaşıklık (Complexity) Örneğin, Daha önce matris toplayan fonksiyonun bulunan T(n) yürütme zamanı, T(n) = 3mn + 4m + 2 Tek tip değişkene dönüştürürsek, T(n) = 3n 2 + 4n + 2 Buradan; O(n 2 ) Bulunur.
26
27 Örnek Karmaşılık ve Yürütme Zamanları 1GHz işlemcili bir bilgisayarda, 1 saniyede işlem (instruction) yürütüldüğü varsayıldığında, her bir veriyi işlemek için 10-9 saniye zaman harcanır. Buna göre, çeşitli karmaşıklığa sahip algoritmalar karşılaştırıldığında; O() n O(log2n) 13 ns 17 ns 20 ns 28 ns O(n) s s s 0.25 s O(nlog 2 n) s s s 6.97 s O(N 2 ) 0.1 s 10.0 s 16 d 40 s ~1.98 yıl O(N 3 ) 16 d 40 s ~11 gün 14 sa ~32 yıl ~ yıl O(2 n ) ~6* yıl???
28 Çalışma Zamanını Ölçülmesi Bir algoritmanın çalışma zamanı teorik olarak bulunabileceği gibi, ölçülerek te bulunabilir. Bunun için basitçe, algoritma başlamadan önce sistem saati okunur, algoritma çalıştırılır ve algoritma sonlandığında sistem saati tekrar okunur. İki zaman arasındaki fark, algoritmamızın, o bilgisayardaki çalışma zamanını ölçer. Ancak bu zaman, sadece o bilgisayar için geçerli olup, bire bir gerçek algoritma zamanını vermez. Çünkü işlemci aynı zamanda çok görevli (multitasking) işletim sisteminde diğer arkaplan proseslerini de çalıştırmaktadır.
29 Çalışma Zamanını Ölçülmesi Ancak, farklı algoritmaları birbirleriyle kıyaslamak (benchmarking) için, aynı bilgisayarda çalıştırmak koşulu ile bu çalışma zamanı kullanılabilir. Basitçe; #include <time.h> time_t begin, end;... time(&begin); suresi_olculecek_algoritma(); time(&end); printf(«%.3f saniye\n», difftime(end,begin));
30 Çalışma Zamanını Ölçülmesi difftime ile zamanı ölçmenin bir dezavantajı, zaman çözünürlüğünün saniye bazında olmasıdır. Saniyeden daha küçük zaman dilimlerini ölçebilmek için clock() fonksiyonu kullanılabilir. clock() fonksiyonu, geçen süreyi işlemci saat darbe sayısı olarak ölçer. CLOCKS_PER_SEC ile bölünerek saniye cinsinden süre elde edilir. #include <time.h> clock_t sure;... sure=clock(); suresi_olculecek_algoritma(); sure=clock()-sure; printf(«%.3f saniye\n», (double)sure/clocks_per_sec);
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
ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü
ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Yürütme Zamanı (Running Time) Algoritmanın belirli bir işleme veya eyleme kaç kez gereksinim duyulduğunu gösteren bağıntıdır ve
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
ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü
ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden
Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan
Karmaşıklık Giriş 1 Algoritma Analizi Neden algoritmayı analiz ederiz? Algoritmanın performansını ölçmek için Farklı algoritmalarla karşılaştırmak için Daha iyisi mümkün mü? Olabileceklerin en iyisi mi?
Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR
Algoritmaların Karşılaştırılması Doç. Dr. Aybars UĞUR Giriş Bir programın performansı genel olarak programın işletimi için gerekli olan bilgisayar zamanı ve belleğidir. Bir programın zaman karmaşıklığı
Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği
Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne
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
Algoritma Analizi Big O
Algoritma Analizi Big O 0 {\} /\ Suhap SAHIN Onur GÖK Giris Verimlilik Karsılastırma Giris Hangisi daha iyi? Hangi kritere göre? Giris Hangisi daha iyi? Hangi kritere göre? Giris Giris? Verimin ölçülmesi
Bilgisayar Programlama. 1.Hafta
Bilgisayar Programlama 1.Hafta Ders Planı 1. Bilgisayar Programlamaya Giriş 2. C Derleyicileri 3. GCC Kullanımı 4. Veri Tipleri ve Operatörler 5. Kontrol Yapıları 6. Döngüler 7. Döngüler 2. Hafta 8. Fonksiyonlar
Algoritma ve Akış Şemaları
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ı Özellikleri, N-S Şeması, W-O
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
A (B C) = {4, 5, 6} {2, 3, 4, 6, 7} = {4, 6} ; ve (A B) (A C) = {4, 6} {6} = {4, 6}. 6. Dağıtıcı yasayı Venn şeması yoluyla doğrulayınız.
Bölüm 2 Soruları ve Cevapları Alıştırma 2.3. 1. Aşağıdakileri küme notasyonu (gösterimi) ile yazınız. (a) 34 ten büyük tüm reel sayılar kümesi Çözüm: {x x > 34} (b) 8 den büyük 65 ten küçük tüm reel sayılar
YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ
YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman
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
1- Sayı - Tam sayıları ifade etmek için kullanılır. İfade edilen değişkene isim ve değer verilir.
Değişkenler 1- Sayı - Tam sayıları ifade etmek için kullanılır. İfade edilen değişkene isim ve değer verilir. Örnek Kullanım : sayı değer= 3; sayı sayı1; 2- ondalık - Ondalık sayıları ifade etmek için
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
MİNTERİM VE MAXİTERİM
MİNTERİM VE MAXİTERİM İkili bir değişken Boolean ifadesi olarak değişkenin kendisi (A) veya değişkenin değili ( A ) şeklinde gösterilebilir. VE kapısına uygulanan A ve B değişkenlerinin iki şekilde Boolean
YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2
YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2 Özyineli Olmayan (Nonrecursive) Algoritmaların Matematiksel Analizi En büyük elemanı bulma problemi En Büyük Elemanı Bulma Problemi Girdi
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
BLM 111 ALGORİTMA VE PROGRAMLAMA I
1 BLM 111 ALGORİTMA VE PROGRAMLAMA I ÇOK BOYUTLU DİZİLER, YAPILAR [MULTIDIMENSIONAL ARRAYS, STRUCTURES] ÇOK BOYUTLU DİZİLER Çok boyutlu diziler tanımlayabiliriz. İki boyutta, çok boyutlu diziler bellek
Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1
Algoritmik Program Tasarımı, Akış Şemaları ve Programlama Bilgisayar Mühendisliğine Giriş 1 I) Algoritmik Program Tasarımı, Akış Şemaları Algoritmik program tasarımı, verilen bir problemin bilgisayar ortamında
BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 7. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Program Denetimi Yük. Müh. Köksal Gündoğdu 2 Program Denetimi Bir program, belirli deyim satırlarından oluşur ve genellikle bu
DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN
DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı
Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?
DİZİLER Tanım kümesi pozitif tam sayılar kümesi olan her fonksiyona dizi denir. Örneğin f : Z + R, f (n )=n 2 ifadesi bir dizi belirtir. Diziler, değer kümelerine göre adlandırı - lırlar. Dizinin değer
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
Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.
Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir. Bu durumda bireylerin ortaya çıkan olumsuzluklara karşılık çözüm bulmak için yapacakları mücadeleye de PROBLEM
BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel
Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say
İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input
ALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Dosya İşlemleri (Rastgele Erişim)
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
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
O NOTASYONU. Abdullah Gazi Emre DAĞLI 0804.01026
O NOTASYONU Abdullah Gazi Emre DAĞLI 0804.01026 Program Çalışma Hızı ve Bellek Gereksinimi Programın çalışma hızı karmaşıklıkla ifade edilir; bu kavram zaman birimiyle ifade edilmeyip doğrudan işlem adedi
ELN1002 BİLGİSAYAR PROGRAMLAMA 2
ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion
Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n
DİZİLER Tanım kümesi pozitif tam sayılar kümesi olan her fonksiyona dizi denir. Örneğin f : Z + R, f (n )=n 2 ifadesi bir dizi belirtir. Diziler değer kümelerine göre adlandırılırlar. Dizinin değer kümesi
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ı
Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ
Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ DÖNEM SONU SINAVI GÜZ 2009-2010 13 Ocak 2010, Sınav Süresi: 120 dakika. İsim
Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler
Lineer Cebir Doç. Dr. Niyazi ŞAHİN TOBB İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler Bölüm 1 - Lineer Eşitlikler 1.1. Lineer Eşitliklerin Tanımı x 1, x 2,..., x
BM202 SAYISAL ÇÖZÜMLEME
BM202 SAYISAL ÇÖZÜMLEME DOÇ.DR. CİHAN KARAKUZU DERS-2 1 Ders2-Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri MATLAB, çok paradigmalı (bir şeyin nasıl üretileceği konusunda örnek, model) sayısal
Ö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
YMT219 VERİ YAPILARI ÖDEV-1
YMT219 VERİ YAPILARI ÖDEV-1 1. İkiliBul yordamı aşağıda verilmiştir. İkiliBul yordamı A dizisi içerisinde 2 tane eşit sayı bulursa true bulamazsa false döndürmektedir. public boolean ikilibul(int[] A){
1 PROGRAMLAMAYA GİRİŞ
İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)
VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ. Yard. Doç. Dr. Deniz KILINÇ
VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ Yard. Doç. Dr. Deniz KILINÇ CELAL BAYAR ÜNİVERSİTESİ, YAZILIM MÜHENDİSLİĞİ 2015-2016 1. ALGORİTMA TANIMI Verilen herhangi bir sorunun çözümüne ulaşmak
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
Hafta 13 Fonksiyonlar
BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.
Ö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ı
Algoritma kelimesinin kökeni:
ALGORİTMA Belirli bir problemi çözmek için gerekli adımlar kümesidir. Algoritma bir işi çözmek için kullanılan yöntemdir. Gündelik yaşantımızda da algoritmalar kullanırız. Yol tarifi, yemek pişirme işlemleri
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
DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50
DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50 Ders notlarını aşağıdaki adresten indirebilirsiniz http://www.ktu.edu.tr/insaat-dersnotlari Uygulama Asistanı Arş. Gör. Ufuk KANDĐL ALGORĐTMALAR
CEVAP ANAHTARI. Tempo Testi D 2-B 3-A 4-A 5-C 6-B 7-B 8-C 9-B 10-D 11-C 12-D 13-C 14-C
01. BÖLÜM: FONKSİYONLARLA İLGİLİ UYGULAMALAR - 1 1-E 2-D 3-C 4-E 5-B 6-C 7-C 8-B 9-C 10-D 11-C - 2 1-D 2-E 3-C 4-D 5-E 6-E 7-C 8-D 9-E 10-B - 3 1-E 2-A 3-B 4-D 5-A 6-E 7-E 8-C 9-C 10-C 11-C 1-A 2-B 3-E
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
BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı
Ana Bellek (RAM) İşlemci (CPU) Depolama
Bilgisayar Nedir? Bilgisayar belli komutlara göre verileri işleyebilen ve çeşitli ortamlarda depolayabilen bir makinedir. Bilgisayar basit olarak bir işlemci, ana bellek, giriş birimleri, çıkış birimleri
7. BÖLÜM BARA ADMİTANS VE BARA EMPEDANS MATRİSLERİ
5 7. BÖLÜM ADMİTANS E EMPEDANS MATRİSLERİ 7.. Giriş İletim sistemlerinin analizlerinde, bara sayısı arttıkça artan karmaşıklıkları yenmek için sistemin matematiksel modellenmesinde kolaylık getirici bazı
Ayrık Fourier Dönüşümü
Ayrık Fourier Dönüşümü Tanım: 0 n N 1 aralığında tanımlı N uzunluklu bir dizi x[n] nin AYRIK FOURIER DÖNÜŞÜMÜ (DFT), ayrık zaman Fourier dönüşümü (DTFT) X(e jω ) nın0 ω < 2π aralığında ω k = 2πk/N, k =
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
2 ALGORİTMA VE AKIŞ DİYAGRAMLARI
İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ
F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);
2009-2010 BAHAR DÖNEMİ MC 689 ALGORİTMA TASARIMI ve ANALİZİ I. VİZE ÇÖZÜMLERİ 1. a) Böl ve yönet (divide & conquer) tarzındaki algoritmaların genel özelliklerini (çalışma mantıklarını) ve aşamalarını kısaca
DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II
DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe
-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı
KOCAELİ ÜNİVERSİTESİ 14.10.2016 MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı Öğretim Üyesi: Prof. Dr. Hasan OCAK Sınav Süresi: 80 dakika. Her
ALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Hazır Fonksiyonlar Standart Kütüphane
YZM 2116 Veri Yapıları
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 2 Bu bölümde, Algoritma Analizi, Çalışma Zamanı Analizi
Ü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
Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {
Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel
İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat
Öğrenim çıktıları ve yeterlikler Dersin amacı İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU DERSĠN KODU VE ADI: 146 ĠNTERNET PROGRAMCILIĞI - I Eğitim-Öğretim Yılı: BÖLÜM/PROGRAM Bilgisayar
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ı
PROGRAMLAMAYA GİRİŞ FONKSİYONLAR
PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya
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
Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları Giriş 1) Algoritma geliştirme üzerine temel kavramlar 2) Veri modelleri 3) Veri yapıları 4) Algoritma veya yazılım şekilsel gösterimi
Dr. Fatih AY Tel: 0 388 225 22 55 [email protected] www.fatihay.net
Bilgisayar Programlama Ders 9 Dr. Fatih AY Tel: 0 388 225 22 55 [email protected] www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek
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,
BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri
Matris İşlemleri Uygulaması
Matris İşlemleri Uygulaması Uygulama Konusu Uygulama 3x3 boyutlu matrislerle toplama, çıkarma ve çarpma işlemleri üzerinedir. Toplama İşlemi AA = aa iiii mmmmmm ve BB = bb iiii mmmmmm aynı tipte iki matris
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ü
Matris Cebiriyle Çoklu Regresyon Modeli
Matris Cebiriyle Çoklu Regresyon Modeli Hüseyin Taştan Mart 00 Klasik Regresyon Modeli k açıklayıcı değişkenden oluşan regresyon modelini her gözlem i için aşağıdaki gibi yazabiliriz: y i β + β x i + β
MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya
MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en
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
18.034 İleri Diferansiyel Denklemler
MIT AçıkDersSistemi http://ocw.mit.edu 18.034 İleri Diferansiyel Denklemler 2009 Bahar Bu bilgilere atıfta bulunmak veya kullanım koşulları hakkında bilgi için http://ocw.mit.edu/terms web sitesini ziyaret
Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU
Internet Programming I Hafta III Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Dönen Değer? Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine
PROGRAMINIZI ANĠ SONLANDIRMAK ĠSTEDĠĞĠNĠZ YER BĠR DÖNGÜNÜN ĠÇĠ ĠSE NE OLUR?????????
MATLAB 4.DERS return Komutu Yazdığınız MATLAB programını herhangi bir anda (programın normalde sona erdiği noktanın haricinde - early termination) sona erdirmek için return komutunu kullanabilirsiniz.
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
BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN
BLM111 Programlama Dilleri I Hafta 10 Diziler Yrd. Doç. Dr. Caner ÖZCAN Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri girilmesi ve girilen verilerin işlenerek belirli bir sistematiğe
BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler
BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin
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
VERİ YAPILARI VE PROGRAMLAMA (BTP104)
VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.
Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU
Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip
Algoritmalar ve Karmaşıklık
Algoritmalar ve Karmaşıklık Ders 11 Algoritma Ayrık matematikte karşılaşılan bir çok problem sınıfı mevcuttur. Örneğin, verilen tamsayı grubu içindeki en büyük olanının bulunması, verilen bir kümenin bütün
Algoritma ve Akış Şemaları
Algoritma ve Akış Şemaları Algoritma : Bir sorunu çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı düzenli mantıksal adımlara algoritma denir. Algoritma aslında bir işi optimum düzeye minimize
KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)
KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve
[email protected] 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
Matlab da Dizi ve Matrisler. Mustafa Coşar
Matlab da Dizi ve Matrisler Mustafa Coşar MATLAB Değişkenleri Matlab da değişkenler; skaler, dizi(vektör), matris veya metin (string) türünde olabilirler. Örnek olarak: a=1; b=-3.2e3; c=22/5; metin= mustafa
Problem Set 1 Çözümler
Algoritmalara Giriş Eylül 30, 2005 Massachusetts Institute of Technology 6.046J/18.410J Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 8 0J Professors Erik D. Demaine ve Charles E. Leiserson
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
f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki,
Algoritma Karmaşıklığı ve Büyük O Gösterimi (Big O Notation) Yazdığımız bir algoritmanın doğru çalıştığından emin olmakla birlikte bu algoritmayı, daha önce yazılmış ve aynı sonucu veren başka algoritmalarla
İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ
İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el
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ış
Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü
* Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü SAYILAR Doğal Sayılar, Tam Sayılar, Rasyonel Sayılar, N={0,1,2,3,,n, } Z={,-3,-2,-1,0,1,2,3, } Q={p/q: p,q Z ve q 0} İrrasyonel Sayılar, I= {p/q
BİLGİSAYAR PROGRAMLAMA DERSİ
BİLGİSAYAR PROGRAMLAMA DERSİ 5. DERS NOTU Konu: Döngü Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU DÖNGÜ YAPILARI Birçok uygulamada bazı işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Bizlere bu
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
