Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

Benzer belgeler
Algoritmanın Hazırlanması

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

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

BİLGİSAYAR PROGRAMLAMA MATLAB

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Dr. Musa KILIÇ Öğretim Görevlisi

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

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

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

TEMEL BİLGİSAYAR BİLİMLERİ


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.

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

MatLab. Mustafa Coşar

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

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

BLG 1306 Temel Bilgisayar Programlama

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

ÖRNEK 1:Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır.

Algoritma ve Akış Diyagramları

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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

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

Yrd. Doç. Dr. A. Burak İNNER

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

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

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

DENİZ HARP OKULU TEMEL BİLİMLER BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Algoritma ve Akış Şemaları

BİLGİSAYAR PROGRAMLAMA DERSİ

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

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

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

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

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

2. BÖLÜM. Problem Çözme ve Algoritmalar

Algoritma ve Akış Diyagramları

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

Algoritma kelimesinin kökeni:

Algoritma ve Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMA DERSİ

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.

DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1

Basit Algoritma Akış Diagramı Örnekleri

PROGRAMLAMA ve YAZILIM. Sayısal Analiz Yrd.Doç.Dr. Zekeriya PARLAK

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

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

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

BİLGİSAYAR PROGRAMLAMA MATLAB

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

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.

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Hafta 4 Döngü Yapıları

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

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

1. PROGRAMLAMAYA GİRİŞ

C++ Dilinde Bazı Temel Algoritmalar

BİLGİSAYAR PROGRAMLAMA DERSİ

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

3. Bölüm Algoritmalar

4- ALGORİTMA (ALGORITHM)

Bilgisayar Programlama MATLAB

Algoritma ve Programlama I

BLG 1306 Temel Bilgisayar Programlama

DERS BİLGİ FORMU ASENKRON VE SENKRON MAKİNALAR ( ) ELEKTRİK VE ENERJİ. Okul Eğitimi Süresi

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

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ

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

FEN BİLİMLERİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

1. Hafta SAYISAL ANALİZE GİRİŞ

Bilgisayarda Programlama. Temel Kavramlar

Pascal Programlama Dili

Bilgisayar Programlama. 1.Hafta

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

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

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

2) Lineer olmayan denklem çözümlerini bilir 1,2,4 1

YUVARLAMA FONKSİYONLARI

BM202 SAYISAL ÇÖZÜMLEME

Transkript:

Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Algoritma & Matlab 1

Algoritma Algoritma ; verilerin bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade edilmesi biçiminde tanımlanabilir. Örnek : Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır: Algoritma : Adım 1-Başla Adım 2-Birinci sayıyı oku Adım 3-İkinci sayıyı oku Adım 4-İki sayıyı topla Adım 5-Dur 2.

PROGRAMLAMA (PROGRAM GELİŞTİRME) NEDİR? Programlama, herhangi bir problemin bir programlama dili kullanılarak çözülmesi için yazılan mantıksal kod bloklarına verilen addır. Amaç problemin çözümüne uygun şekilde hazırlanan program kodu ile problemi çözmeye çalışmaktır. Bu amaç için araç olarak herhangi bir programlama dilini kullanırız. Programlama diline ait hazır komutları kullanarak problemi çözmeye çalışırız. Bu komutlar programlama dilleri arasında farklılık göstermesine rağmen programlama mantığı bütün dillerde aynıdır. Unutulmamalıdır ki hazırlanan bir program, gerektiğinde başkaları tarafından da kullanılacaktır. Bu nedenle hazırlanan programın mümkün olduğunca hatalardan arındırılmış olması gerekmektedir. Beklenen sonuçları verecek şekilde hazırlanmış olması gerekmektedir. 3.

PROGRAMLAMA (PROGRAM GELİŞTİRME) NEDİR? Bir programlama dilinde hazırlanmış bir program çalıştırılırken genellikle şu iki tür hata ile karşılaşılır: Yazım hataları, 2. Mantıksal hatalar. Yazım Hataları, programın derlenmesi sırasında ortaya çıkar ve hata düzeltilmedikçe program çalıştırılamaz. 4. Mantıksal Hatalar, yazım hataları gibi programın yazımından kaynaklanan hatalar değildir. Bunlar programın çalıştırılması sırasında ortaya çıkar ve programdan istenen sonucun alınamamasına veya yanlış sonuçlar verilmesine neden olur. Programın hazırlanmasında dikkat edilmesi gereken en önemli konu, problemin iyi anlaşılması, iyi analiz edilmesidir. Unutulmamalıdır ki bilgisayar sadece programcının vermiş olduğu işlemleri yerine getirir.

PROGRAMLAMA (PROGRAM GELİŞTİRME) NEDİR? Programlamanın (Program Geliştirmenin) genel yapısı sırasıyla şu adımları kapsar: Problemin tanımlanması, 2. Problemin çözümlenmesi, 2. Çözüm yolunun belirlenmesi, 2.2. Çözüm yoluna uygun algoritmanın belirlenmesi, 2.3. Algoritmaya uygun akış diyagramının çıkarılması, 2.4. Algoritmayı gerçekleştirecek uygun programlama dilinin seçilmesi, 3. Problemin programlama dili komut seti yardımıyla kodlanması, 4. Hazırlanan programın denenmesi ve belgelendirilmesi. 5.

PROBLEMIN TANIMLANMASI Bir problemin herhangi bir programlama dilinde kodlanmasına başlanmadan önce problemin tam olarak anlaşılması gerekmektedir. Aksi halde yanlış çözüm kaçınılmazdır. Problemin Çözümlenmesi Çözüm Yolunun Belirlenmesi 6. Giriş verilerinden sonuçta elde edilecek verilere nasıl, hangi yolla ulaşılacağının tespiti gerekir. Bu durumun iyi analiz edilmesi gerekir. Problemin matematiksel modeli bu aşamada belirlenir. Hangi tekniğin en uygun olduğuna programcının bilgisi ve tekniği etki eder.

PROBLEMIN TANIMLANMASI Örnek: Aranan bir büyüklüğün herhangi bir {a} kümesi içersinde olup olmadığının araştırılması. {a} = {3, 7, -10, 8, 1, -4, -94, 6, 2, -1, 34, 14, 78, -19, 99}olsun. x = -12 elemanının bu küme içinde yer alıp almadığını arayalım. Çözüm Yolları: Verilen x değeri (-12) sırayla {a} kümesinin bütün elemanları ile tek tek karşılaştırılarak arama yapılabilir. 7. 2. Önce {a} kümesi kendi içerisinde artan sırada (büyükten küçüğe doğru) sıralanır. {a} = {-94, -19, -10, -4, -1, 1, 2, 3, 6, 7, 8, 14, 34, 78, 99} Daha sonra verilen x değeri (-12) sıralanmış {a} kümesi içerisinde baştan bütün elemanlar ile karşılaştırılarak arama yapılabilir. En son karşılaştırılan değer x değerinden büyük ise işlem kesilir.

PROBLEMIN TANIMLANMASI Çözüm Yolları: 3. {a} kümesindeki eleman sayısı ikiye tam bölünür ve orta eleman bulunur. x değeri (-12) orta elemanla karşılaştırılır. Eğer orta eleman x değerinden büyük ise x değeri {a} kümesinin ilk yarısında olacaktır. İlk yarıdaki eleman sayısı ikiye tam bölünerek 2. orta eleman bulunur. x değeri 2. orta elemanla karşılaştırılır. Eğer 2. orta eleman x değerinden büyükse x {a} kümesinin 2. yarısının ilk bölümünde olacaktır. Bu işlemler tek eleman kalıncaya kadar sürdürülür. Arama sonlandırılır. {a} = {-94, -19, -10, -4, -1, 1, 2, 3} {a} = {-94, -19, -10, -4} {a} = {-10, -4} 8.

PROBLEMIN TANIMLANMASI Çözüm Yolları: Yukarıda belirtilen 3 farklı çözüm yolu problemin çözümünü sağlamaktadır. Bu çözüm yollarından hangisin seçileceği; Verinin büyüklüğüne, 2. Amaçlanan işlem hızına, 3. Yapılacak işlemin tekrarlanma sayısına bağlıdır. 9.

Akış Şemaları (Diyagramları) Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline "akış şemaları" veya FLOWCHART adı verilir. Örnek : Adım 1-Başla Akış Şeması (FLOWCHART) Adım 2-A'yı oku Adım 3-B'yi oku 10. Adım 4-D=A+B Adım 5-E=A*B Adım 6-D'yi yaz Adım 7-E'yi yaz Adım 8-Dur

Akış şemalarının hazırlanmasında aşağıda yer alan simgeler kullanılır. 1 Akış şemaları içerik ve biçimlerine göre genel olarak üç grupta sınıflandırılabilirler. Doğrusal Akış Şemaları, 2. Mantıksal Akış Şemaları, 3. Döngüsel Akış Şemaları,

Doğrusal Akış Şemaları İş akışları, giriş, hesaplama, çıkış biçiminde olan akış şemaları bu grup kapsamına girer. Değişkenler Akış Şeması A: Birinci sayı B: İkinci sayı D: İki sayının toplamını (A+B) E: İki sayının bölümünü(a*b) Akış Şeması Algoritma Adım 1-Başla Adım 2-A'yı oku Adım 3-B'yi oku Adım 4-D=A+B Adım 5-E=A*B Adım 6-D'yi yaz Adım 7-E'yi yaz Adım 8-Dur 12.

Mantıksal Akış Diyagramları Mantıksal kararları içeren akış diyagramlarıdır Algoritma Akış Şeması Adım 1-Başla Adım 2-A,B'yi oku Adım 3-A=B ise Adım 7'ye git Adım 4-A>B ise Adım 6'ya git Adım 5-B'yi yaz Adım 8'e git Adım 6-A'yı yaz Adım 8'e git Adım 7-Dur B Başla A, B < > A : B A 13. Dur

Döngülü Akış Diyagramları Akış sürecinde yer alan herhangi bir adım ya da aşamanın birden fazla kullanıldığı akış diyagramlarına denir. Örnek : N sayısını ekrandan okutarak faktöriyelini hesaplayıp yazan programın algoritma ve akış diyagramını oluşturalım. Akış Diyagramı 14. Değişkenler NFAK=N faktöriyel (N!) değerini, OGRSAY=1'den N'e kadar sayıları göstersin, NFAK=1*2*...*N Algoritma Adım 1-Başla Adım 2-N'i ekrandan oku Adım 3-NFAK=1 Adım 4-OGRSAY=1 Adım 5-OGRSAY=OGRSAY+1 Adım 6-NFAK=NFAK*OGRSAY Adım 7-Eğer OGRSAY N Adım 8-NFAK yaz Adım 9-Dur

Matlab MATLAB (MATrix LABoratory); İlk defa 1985 de C.B Moler tarafından matematik ve özellikle de matris esaslı matematik ortamında kullanılmak üzere geliştirilmiş etkileşimli bir paket programlama dilidir. Kullanıml Alanları : Sayısal işaret işleme, Kontrol tasarımı, Test ölçüm, Finansal modelleme ve analiz, Haberleşme 15.

Matlab Temel Özellikleri: Teknik hesaplamalar için yüksek seviyeli bir dil Kodların, dosyaların ve verilerin düzenlenmesi için bir geliştirme ortamı İteratif tasarım ve problem çözme yöntemleri için interaktif araçlar Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon ve sayısal integrasyon için matematik fonksiyonlar Verilerin görselleştirilmesi için 2 ve 3 boyutlu grafik araçları Grafik arayüzler tasarlamak için araçlar 16.

Matlab Kullanım yerleri : Denklem takımlarının çözümü, doğrusal ve doğrusal olmayan diferansiyel denklemlerinin çözümü, integral hesabı gibi sayısal hesaplamalar, Veri çözümleme işlemleri, İstatistiksel hesaplamalar ve çözümlemeler, Grafik çizimi ve çözümlemeler, Bilgisayar destekli denetim sistemi tasarımı. 17.

Matlab Özgün problemlerin çözümüne görsel yaklaşım sunan grafik kullanıcı ara birimleri (GUIS) oluşturulmasına olanak sağlayan bir uygulama geliştirme platformudur. 18.

MATLAB komut penceresi Komut penceresi kullanıcı ile MATLAB komut yorumlayıcısı arasında iletişimi sağlayan bit ara yüzdür. 19.

Matlab / Örnek 20.

Uygulama 1 Girilen bir sayının faktöriyelini hesaplayan işlemin algoritmasını yazarak ve akış diyagramını çiziniz. Algoritma : Adım: N sayısını al. 2. Adım: FAKT = 1 olsun. 3. Adım: SAYAÇ = 1 olsun. 4. Adım: Eğer N <= SAYAÇ ise 8. Adım a git. 5. Adım: SAYAÇ = SAYAÇ + 1 6. Adım: FAKT = FAKT * SAYAÇ 7. Adım: 4. Adım a git. 8. Adım: N yaz. 9. Adım: FAKT yaz. 10. Adım: DUR. 2

Uygulama 2 İsteğe bağlı sayıda girilen sayıların içinden tek ve çift olanların sayısını bulduran algoritmayı yazarak ve akış diyagramını çiziniz. Algoritma : Adım: N sayısını al. 2. Adım: SAYAÇ = 0 olsun. 3. Adım: T_SAY = 0 olsun. 4. Adım: Ç_SAY = 0 olsun. 5. Adım: Eğer N = SAYAÇ ise 1 Adım a git. 6. Adım: Bir SAYI al. 7. Adım: SAYAÇ = SAYAÇ + 1 8. Adım: Eğer SAYI = (SAYI \ 2) * 2 ise Ç_SAY = Ç_SAY + 1 9. Adım: T_SAY = T_SAY + 1 10. Adım: 5. Adım a git. 1 Adım: T_SAY yaz. 12. Adım: Ç_SAY yaz. 13. Adım: DUR. 22.

Uygulama 2 İsteğe bağlı sayıda girilen sayıların içinden tek ve çift olanların sayısını bulduran algoritmayı yazarak ve akış diyagramını çiziniz. 23.

Uygulama 3 Telefonla Görüsmenin Algoritması Ahizeyi kulagınıza götürünüz 2. Çevir sesinin gelmesini bekle 3. Ses gelmisse (E) jetonu ilgili yuvuaya at 4. Ses gelmemisse bekle 5. Ses gelirken jeton yerine yerlesince numarayı çevir 6. Cevap geldi mi? 7. Hayır ise ahizeyi yerine koy 8. Jetonu iade çıkısından al 9. Cevap gelmsse konus 10. Konumsma biitt mi? 1 Evet ise Ahizeyi yerine koy 12. Hayır ise konusmaya devam et. 24.

Uygulama 4 mxn tipinde klavyeden girilen matrisin transpozunu ekrana yazan programın akış şemasını çiziniz. Uygulama 5 n boyutlu üçgensel(alt,üst,köşegen) matrisin akış diyagramını çiziniz. 25.

Uygulama Ödevi Pascal üçgeni, binom açılımındaki katsayıları bulmaya yarar. Pascal'ın bu üçgeni, olasılıklar kuramında da ustalıkla kullanılır. Bu üçgen, biyolojideki uygulamalar, matematik, istatistik ve pek çok modern fizik konularında uygulama alanı bulur.. 26.

Kaynaklar Sayısal Analiz ve Programlama III Dr.Ü.Dikmen Sonraki : Algoritma Kurulması 27.