Fen ve Mühendislik Uygulamalarında MATLAB

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Bilgisayarda Programlama. Temel Kavramlar

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

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

Dr. Musa KILIÇ Öğretim Görevlisi

Program Nedir?(1) Programlamaya Giriş

Algoritmanın Hazırlanması

Bilgisayar Programı Nedir?

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Bilgisayar Programlama Dilleri

BİLGİSAYAR ORGANİZASYONU

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Algoritma ve Akış Diyagramları

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

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

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

ALGORİTMA VE PROGRAMLAMA I

Ünite-3 Bilgisayar Yazılımı.

BLM1011 Bilgisayar Bilimlerine Giriş I

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

PROGRAMLAMA TEMELLERİ

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

Bilgisayar Programlama. 1.Hafta

Algoritma ve Akış Diyagramları

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

Ana Bellek (RAM) İşlemci (CPU) Depolama

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Hafta 1 Programlamaya Giriş

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

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ

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

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.

Algoritmalar ve Programlama. Algoritma

BİLGİSAYAR PROGRAMLAMA DERSİ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-1 Temel Kavramlar ve Algoritma

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Bilgisayar Programlama. Giriş

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgisayar Mimarisi Nedir?

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR PROGRAMLAMA DERSİ

KBÜ. TBP111 Bilgisayar Donanımı. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

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

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

Konular MİKROİŞLEMCİ SİSTEMLERİ. Giriş. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Öncesi Kuşak

Bilgisayarın Tarihi. Prof. Dr. Eşref ADALI www. Adalı.net

BLG 1306 Temel Bilgisayar Programlama

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

Programlamaya Giriş ve Algoritmalar Ders Notları

Algoritma ve Programlamaya Giriş

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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

3. Bölüm Algoritmalar

GMB 103 Bilgisayar Programlama. 1. Bilgisayar Tarihi

Bazen de bir işletme veya yönetimin otomasyonunu sağlamak amacı ile bu tip problemler tanımlanır.

C PROGRAMLAMA DİLİ. Hedefler


PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama MATLAB

GEO103 BİLGİSAYAR PROGRAMLAMA

4. Bölüm Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMA DERSİ

Genel Programlama I

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

1.1. Yazılım Geliştirme Süreci

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

Mikrobilgisayar ve Assembler

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

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Dr. Fatih AY Tel: fatihay@fatihay.net

Programlama Dilinin Özellikleri

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

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

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

ÖLÜM 1- GİRİŞ Visual Basic

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

BMT 101 Algoritma ve Programlama I Güz Dönemi. Yük. Müh. Köksal Gündoğdu 1

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

Bilgisayar Programlama

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYARIN TARİHÇESİ Tarihsel olarak en önemli eski hesaplama aleti abaküstür; 2000 yildan fazla süredir bilinmekte ve yaygın olarak

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

C# nedir,.net Framework nedir?

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

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

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

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

Transkript:

Fen ve Mühendislik Uygulamalarında MATLAB Bilgisayar Programlamaya Giriş Doç. Dr. İrfan KAYMAZ

KAYNAKLAR 1. * MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma Akademi, 2003. 2. * MATLAB ve Programlama, Dr. Aslan İnan, Papatya yayınları, 2004. 3. * MATLAB 6.5, A. Emre Çetin, Alfa Yayınları, 2003. 4. * MATLAB ile Mühendislik Sistemlerinin Analizi ve Çözümü, İbrahim Yüksel, Vipaş, 2000. 5. Her yönü ile MATLAB, Mehmet Uzunoğlu, Ömer Çağlar Onar, Ali Kızıl, Türkmen Kitabevi, 2003. 6. MATLAB ile Mühendislik Sistemlerinin Analizi, Uğur Arifoğlu, Alfa Yayınları, 2003. * Erzurum da bulunabilecek kaynaklar Matlab Ders Notları

Dersin İçeriği 1. HAFTA Bilgisayar Programlama dilleri ve tarihi gelişimi, Algoritma hazırlama 2. HAFTA Akış diyagramları hazırlama 3. HAFTA MATLAB programlama ortamının tanıtımı Bilgi türleri, Sabitler, Değişkenler Değişken türlerinin programda tanıtılması Aritmetik işlemler, Aktarma deyimleri, 5. HAFTA Giriş- Çıkış deyimleri 6. HAFTA Çevrim yapıları 7. HAFTA Kontrol deyimleri 8. HAFTA Kontrol deyimleri 9. HAFTA Dizin kavramı 10. HAFTA Fonksiyonlar 11. HAFTA Dosya yönetimi 12. HAFTA Hazır fonksiyonlar ve kullanımı 13. HAFTA Hazır fonksiyonlar ve kullanımı 14. HAFTA Grafik çizme

Bilgisayarın kısa tarihçesi http://lecture.eingang.org/toc.html Bilinen en eski hesaplama cihazlarından biri 4-5 bin yıl öncesine kadar giden ve binlerce yıl hesaplamada kullanıldığı bilinen ABAKÜS tür. İlk mekanik hesap makinesi ise 1642 yılında bir Fransız düşünürü ve matematikçisi olan Blaise PASCAL (Not: 1980 li yıllarda geliştirilen Pascal programlama dili onun adına ithaf edilmiştir) tarafından icat edilmiştir. Pascal ın toplama ve çıkarm yapan bu tasarımı 1960 lı yıllara dek çoğu mekanik hesaplama kaninesinde kullanılmıştır. Bu tasarım, 1673 de Gottfried ve Leibnitz tarafından geliştirilerek hem dört işlem yapılabilir hem de karekök alınabilir düzeye ulaştırılmıştır. 1850 li yıllarda İngiltere de Cambridge Üniversitesi nde bir matematik profesörü olan Charles BABBAGE, difference engine (fark makinesi) adını verdiği basit bir modelle bazı denklemlerin daha kolay ve doğru çözülebileceğini göstermiştir. Ülkemizde de 1970 li yılların sonlarına kadar kullanılan delinmiş kartların keşfi Fransız Jacguard tarafından yapılmış ve bunların veri işleme ortamı olarak kullanılmaya başlanması 1890 lı yıllarda Amerika da olmuştur. 1896 da ABD de Hollreith in kurduğu tabulating machine company diğer bazı firmalaral birleşerek International Business Machines (IBM) corporation firmasını çekirdeğini oluşturmuştur. İlk elektronik sayısal (digital) bilgisayar 1942 de ABD de üretilmiş (Iowa State College) ve akabinde cu cihaz Pennsylvania Ünivesitesi nden Dr. Mauchly ve Ecbert tarafından geliştirilerek 1946 da ENIAC (Electronic Numerical Integrator And Calculator: Elektronik Sayısal Integral Alma ve Hesaplama Makinesi) denilen makina üretilmiştir. İlk genel amaçlı elektronik sayısal bilgisayar olan ENIAC 30 ton ağırlığa, 140 m2 lik alana, 18.000 adet tüpe sahipti. 1946 lı yıllarda transistörün keşfi ile çok büyük yer kalayan elektronil tüplerin kullanımı ortadan kalkmış ve 1950 li yıllardaki gelişmeler bilgisayar çağını başlatmış ve bu alandaki teknoloji günümüze dek büyük bir hızla ilerleme kaydetmiştir. MATLAB Ders Notlari

Bilgisayar Nedir? Bilgisayar, çok büyük miktarlardaki (gigabyte lar ve üzeri) datayı (bilgiyi) çok küçük ortamlarda saklayabilen ve bu veriler üzerinde işlemleri çok hızlı olarak (saniyenin milyonda hatta milyarda biri mertebesinde) gerçekleştirebilen bir cihazdır. Başlıca iki ana bölüme ayrılır: DONANIM (HARDWARE): Bilgisayarin fiziksel bileşenlerinin tümüdür YAZILIM (SOFTWARE): Donanımı oluşturan bileşenlerin çalışmasını ve işlevlerini yerine getirmesini sağlayan programlar kümesidir. Bilgisayarda Problem Tanımı ve Çözümü Problem Nedir? Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir. Bu tip fikirlerde insanların bu sorunları beyinle çözmeleri ya imkansızdır ya da çok zor ve zaman alıcıdır. Bu tip bir sorunu bilgisayarla çözebilme fikrinin ortaya çıkması bir bilgisayar probleminin ortaya çıkmasına neden olmuştur. MATLAB Ders Notlari

PROBLEM ÇÖZÜM AŞAMALARI Sistem Analizi : Sorunun çözülebilmesi için sistemin tamamen anlaşılmasını sağlayan çalışmalardır. Tasarım : İsteklerle ilgili olarak belirlenen bir takım çözümlerin tanımlanmasıdır. Algoritma : Çözümün adımlarla ifade edilmesidir. Akış Çizgesi : Algoritmanın şekillerle ifade edilmesidir. Programlama Dili Seçimi : Çözümün netleşmesinden sonra yapılacak işlemleri kolay bir şekilde bilgisayar ortamına aktaracak dilin seçilmesidir. Programın Yazılması : Seçilen Programlama dilinin kuralları kullanılıarak program yazılmaya başlanır. Derleme : Programlama Dili ile yazılmış programın yazım hatalarının olup olmadığının kontrol edilmesini ve ara kod olarak Obje kodun üretilmesini sağlama adımıdır. Bağlama : Derlenmiş ara kod diğer kütüphane ve parça programlarla birleştirilerek Makine dilinde programın oluşturulması adımıdır. Çalıştırma : Oluşturulan Makine dili Programının çalıştırılması adımıdır. Test : Programın Mantıksal olarak test edilmesini sağlar ve içerik olarak her ihtimal için doğru sonuçlar üretip üretmediğini kontrol etmenizi sağlar. MATLAB Ders Notlari

Program Nedir? Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne Program denir. Bazı durumlarda bu ürüne yazılım denebilir. Programlama Nedir? Problem Çözümünde anlatılan adımların tümüne birden programlama denilebilir. Çoğunlukla çok iyi tanımlanmış bir sorunun çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili ile bilgisayar ortamına aktarılması Programlama diye adlandırılabilir.

Programlama Dili (Programming Language) Nedir? Bir Problemin Algoritmik çözümünün Bilgisayara anlatılmasını sağlayan kurallar dizisidir. Bazı programlama dilleri: C, C++, Delphi, Pascal, Visual Basic, Fox Pro, Java, Lisp, C# Bir dilin üstünlüğünün parametreleri: Kullanılabilirliği, Gelişim hızı, İhtiyaca kolay cevap vermesi, İşletim sistemi ile uyum seviyesi, Esnek olması, İşletim sisteminden bağımsız olması, Derleme işleminin hızlı olması, Az yer kaplaması, Sistemi optimum kullanması MATLAB Ders Notlari

PROGRAMLAMA DİLLERİ DüŞük Seviyeli Diller Yüksek Seviyeli Diller Makine Dili Assembly Görsel Diller Görsel Olmayan Diller Visualbasic C Delphi Fortran Html Cobol Java C++ Visual C MATLAB Qbasic Turbo pascal MATLAB Ders Notlari

DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ Makine Dili Makine Dili 0 ve 1 den oluşan bir dildir ve bilgisayarın anladığı yegane dildir. Bu dili direkt kullanmak için hem komutların sayısal karşılıkları ve hem de bilgisayarın bellek adreslemesinide bilmek gerekmektedir. Bu tip dillere düşük düzey dili (Low Level Language) adı verilir. Assembly (simgesel) dili: İkili sayı sisteminde yazılmış olan komutları harfli sembollerle ifade ederek üretilen bir dildir. ADD, LDA ve STA gibi Assembler: Assembly dilini makine diline çevirir.

HER PROGRAMLAMA DİLİNİN BİR DERLEYİCİSİ YA DA YORUMLAYICISI VARDIR Derleyici (Compiler) Nedir? Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda söz dizim hatalarının olup olmadığını bulan yazılımlardır. Her Programlama dili için bir derleyici olması gerekmektedir. C, PASCAL, COBOL, DELPHI vs. derleyicisi olan yüksek seviyeli dillerdir. AMAÇ PROGRAM DERLEYİCİ ÇIKTI PROGRAM Yorumlayıcı (Interpreter) Nedir? Yorumlayıcılar, (Interpreter) yazılan programları makine diline dönüştüren yazılımlardır. Ancak bu dönüşüm, derleyiciden farklı olarak gerçekleştirilmektedir. Yorumlayıcılar her satırı anında makine diline çevirerek çalışır ve bu kodu bir dosyaya kaydetmez. Dolayısıyla program her çalıştırıldığında her satır yeniden makine koduna dönüştürülür. Bu yüzden yorumlayıcılar yavaş çalışmaktadır. VISUAL BASIC ve MATLAB yorumlayıcısı olan yüksek seviyeli dillerdir. PROGRAM YERİ YORUMLAYICI ÇIKTI

Bilgisayar Programlamanın tarihçesi

Algoritma Nedir? Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne denir. Doğal dille yazılabileceği için fazlaca formal değildir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. Bir algoritma için aşağıdaki ifadelerin mutlaka doğrulanması gereklidir. Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı değildir. Belirli bir sayıda adım sonunda algoritma sonlanmalıdır. Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır.

Örnek 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır: Algoritma: A1 :X degerini gir A2 :Y degerini gir A3 :Z= X+Y A4 :Z' yi yaz A5 :Bitir Algoritmaya dikkat edilirse işlemlerin sıralanmasında,işlem önceliklerinin göz önünde bulundurulduğu görülür.

Örnek 2: Çapraz döviz kuru hesabi yapan programın algoritmasının oluşturulması. Bu algoritmanın oluşumunda veriler; 1 Amerikan dolarının TL karşılığı, hesaplanacak $ miktarı, çıkış ise verilen $'in TL karşılığı olacaktır. Doların değeri :Doldeg, Girilen Dolar Miktarı :Dolar, TL karşılığı :Tlkar. Algoritma: A1 :Doldeg'i gir A2 :Doldeg<0 ise 1. adımı tekrarla A3 :Dolar'i gir A4 :Dolar<0 ise 3.adımı tekrarla A5 :Tlkar= Doldeg*Dolar A6 :Tlkar degerini yaz A7 :Bitir

Örnek 3: Verilen iki sayının ortalamasının hesaplanması. Algoritma: A1 :X değerini gir A2 :Y değerini gir A3 :Z = X+Y A4 :Ort= Z/2 A5 :Ort degerini yaz A6 :Bitir

Örnek 4: Kenar uzunlukları verilen dikdörtgenin alan hesabini yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır. Değişkenler: Dikdörtgenin kısa kenarı : a, Dikdörtgenin uzun kenarı : b, Dikdörtgenin alanı : Alan Algoritma: A1 :a degerini gir A2 :a<0 ise 1. adımı tekrarla A3 :b degerini gir A4 : b<0 ise 3. adımı tekrarla A5 :Alan = a*b A6 :Alan degerini yaz A7 :Bitir

Akış Diyagramları Akış diyagramları (Flow Charts):Herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Akış diyagramları, algoritmaların sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon ayrı bir sembolle gösterilir.

Tekrarlı İşlemler

Karar Verme Yapısı

Örnek 5: 1'den 100'e kadar olan sayıların toplamlarını ve ortalamalarını veren programın akıs diyagramını çiziniz.

Örnek 6: Ax+b=0 seklinde verilen 1.derece denklemin çözümünü veren programa ait akış diyagramını çiziniz.

Örnek 7: 1' den 100'e kadar sayıların karelerini, kareköklerini, küplerini, küpköklerini toplamlarını ve ortalamalarını veren programin akıs diyagramını çiziniz.

Örnek 8: F(x) fonksiyonunun degeri X'in aldığı değerlere göre asağıda verilmiştir. X'in değeri 0-10 arasın da 0.5 aralıklarla arttığına göre her bir X degeri için F(x) fonksiyonunu hesaplayan programın akis diyagramını çiziniz. 0< X < 2 f(x)= X 2< X < 3 f(x)=x -X 3-22 3< X <4 f(x)=x 2-2X+13 4< X f(x)=x 4-3X 2-43

Ödev: Dışardan girilen 3 sayıdan en büyüğünü bulan programın Algoritmasını ve Akış diyagramlarını oluşturunuz.