(Yrd. Doç. Dr. İbrahim ASRİ)

Slides:



Advertisements
Benzer bir sunumlar
MATLAB.
Advertisements

Algoritma ve Akış Diyagramları
Değişkenler ve bellek Değişkenler
ENF1012 MATLAB’a Giriş.
MATLAB.
Bilgisayar Programlama (2. parça) (Yrd. Doç. Dr. İbrahim ASRİ)
Ayrık Yapılar Matlab Notları
Bilgisayar Programlama Güz 2011
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
TEMEL BİLGİSAYAR BİLİMLERİ
FONKSİYONLAR ve GRAFİKLER
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Algoritma ve Akış Diyagramları
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
Yapısal Program Geliştirme – if, if-else
MATRİSLER ve DETERMİNANTLAR
Temel Bilgisayar Bilimleri Dersi
Temel Bilgi Teknolojileri
Görsel C# ile Windows Programlama
4. HAFTA Mart 2010.
Bilgisayar Programlama
Formüller Mustafa AÇIKKAR.
Tam sayılarda bölme ve çarpma işlemi
Bilgisayar Programlama Güz 2011
Algoritmalar (Algoritms)
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel tanımlar ve işleyiş
Algoritmalar (Algoritms)
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Temel Kavramlar, İşlemler, Operatörler
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
TAM SAYILAR Pınar AKGÖZ.
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
Diferansiyel Denklemler
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Bilgisayar Programlama Güz 2011
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Algoritmalar (Algoritms)
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Adım Adım Algoritma.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Programlama Dersi Öğretim üyesi : Prof. Dr. Raşit KÖKER
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BÖLÜM 2 ALGORİTMA.
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.
Algoritma ve Programlamaya Giriş
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
Bilgisayar Programlama
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

(Yrd. Doç. Dr. İbrahim ASRİ) Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ) Kaynak; T.Aydın(Ata.Ü.), T.Bayrak(G.Ü.)

Algoritma Nedir? Belirli bir problemi cozmek icin isletilmesi gereken adimlari ve bu adimlarin hangi sira ile uygulanacagini belirleyen prosedure algoritma denir. “Isine gitmek uzere uyanan birinin yapmasi gereken isler” algoritmasi: Yataktan kalk Pijamalarini cikar Dus al Elbiselerini giy Kahvaltini yap Arabana bin ve ise git Sira onemli. 3 ve 4 nolu adimlar yer degistirse mesela? (Kim islanmak ister? )

PROBLEM ÇÖZÜM AŞAMALARI Programlama Dili Seçimi Analiz Algoritma Akış Şeması Programlama Dili Seçimi Programın Yazılması Derleme Çalıştırma Test

PROBLEM ÇÖZÜM AŞAMALARI (devam) Analiz : Sorunun çözülebilmesi için problemin tamamen anlaşılmasını sağlayan ön çalışmalardır. Algoritma : Çözümün adımlarla ifade edilmesidir. Akış Şeması : 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.

PROBLEM ÇÖZÜM AŞAMALARI (devam) Programın Yazılması : Seçilen Programlama dilinin kuralları kullanılarak program yazılmaya başlanır. Derleme : Programlama Dili ile yazılmış programın yazım hatalarının olup olmadığı kontrol edilir ve program makina dili komutlarina cevrilir. Çalıştırma : Isletim sistemi derlenmis programi hard diskten alir ve bellege tasir. Programın ilk komutunun adresi CPU ya bildirilir ve program calismaya baslar. Test : Programın mantıksal olarak test edilmesini sağlar ve içerik olarak her ihtimal için doğru sonuçlar üretip üretmediği kontrol edilir.

Programlama Dili (Programming Language) Nedir? Bir Problemin Algoritmik çözümünün bilgisayarda yazılmasını sağlayan yapılardır. Bazı programlama dilleri: MATLAB, C, C++, Delphi, Pascal, Visual Basic, 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, Derleme işleminin hızlı olması, Az yer kaplaması, Sistemi optimum kullanması…

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

DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ Makine Dili Makine Dili 0 ve 1 den oluşan bir dildir, 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 adreslemesini bilmek gerekmektedir. Assembly (simgesel) dili: İkili sayı sisteminde yazılmış olan komutları harfli sembollerle ifade ederek üretilen bir dildir. ADD, MOVE gibi…

DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ Her programlama dilinin, yazılan programı makine diline çeviren bir derleyicisi ya da yorumlayıcısı vardır.

DERLEYİCİ ve YORUMLAYICILAR Derleyici (Compiler) Nedir? “Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevrilmesini 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 derleyicisi olan yüksek seviyeli dillerdir. PROGRAM DERLEYİCİ ÇIKTI AMAÇ 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 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 YORUMLAYICI ÇIKTI

Programlama dillerinde işlemler Bilgisayar programları ile gerçekleştirilen işlemler genel olarak üç gruba ayrılır: Matematiksel (aritmetik) işlemler Karşılaştırma işlemleri Mantıksal (lojik) işlemler

Programlama dillerinde işlemler (devam) Matematiksel (aritmetik) işlemler: Bilgisayarda en sık kullanılan işlemler Matematiksel işlemlerdir. Temel aritmetik işlemler (toplama, çıkarma, çarpma, bölme), matematiksel fonksiyonlar (üstel, logaritmik, trigonometrik, hiperbolik vs.) bu gruba dahildir. Aşağıdaki tabloda matematiksel işlemlerin bilgisayar dilindeki karşılıkları verilmektedir. İşlem Sembol Örnek Toplama, a+b + 2+3 Çıkarma, a-b - 5-2 Çarpma, a.b veya axb * 3*4 Bölme, a/b veya / 14/7 Üs alma, ab ^ 2^3 Parantez a*(b+c) ( ) 2*(3+5)

Matematiksel işlemlerde öncelik hakkı: Tek bir matematiksel deyim içinde birden fazla işlem bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olduğunun bilinmesi yerinde olacaktır. Aşağıda işlemlerin öncelik listesi verilmiştir. Öncelik İşlem 1. Parantez 2. Üs alma, soldan sağa doğru 3. Çarpma ve bölme, soldan sağa doğru 4. Toplama ve çıkarma, soldan sağa doğru Örnek: a=4, b=6, c=8 ve d=10 değerleri için; İfade Sonuç c*d/(a*d)+b+c*d/a 28 c*d/a*d+b+c*d/a 226 c*d/a*d+(b+c)*d/a 235

Bilgisayarda yazılımı Örnekler: Matematiksel yazılım Bilgisayarda yazılımı ab-c+d-6+da a*b-c+d-6+d*a b+c3-d/8-b2c b+c^3-d/8-b^2*c ??? Soru: İşlemini bilgisayar diline kodlayınız

= veya = = <> veya != > < >= <= Karşılaştırma İşlemleri: Bilgisayarlar temel matematiksel işlemlerin yanında karar modelleri de üretebilir. Yani iki büyüklükten hangisinin büyük ya da küçük olduğu ya da birbirine eşit olup olmadığı gibi konularda karar verebilir. Bu karşılaştırma işlemleri nümerik ya da alfanümerik olabilir. Aşağıdaki tabloda karşılaştırma işlemselleri gösterilmiştir: İşlem sembolü Anlamı = veya = = Eşittir <> veya != Eşit değildir > Büyüktür < Küçüktür >= Büyük eşittir <= Küçük eşittir

Mantıksal (lojik) İşlemler: Bilgisayar temel mantık (VE, VEYA, DEĞİL) işlemlerini de yapabilmektedir. Aşağıdaki tabloda karşılaştırma işlemleri gösterilmiştir: Mantıksal İşlem Komut VE AND VEYA OR DEĞİL NOT Aşağıdaki tabloda ise mantıksal işlem sonuçları gösterilmiştir: Sonuç Bilgisayar dili Doğru (1) True Yanlış (0) False

Örnek: Bir işyerinde çalışan işçiler arasından yalnızca yaşı 30’un üzerinde ve asgari ücret alanların isimlerinin ekrana yazılması istenmiş olsun. Burada iki şart vardır ve bu iki şartın da doğru olması gerekir. Yani; Eğer (yaş>30 VE maaş=asgari ücret) ise ekrana “kişinin ismini” yaz. Yukarıdaki işlem sonucunda bilgisayar, her iki şartı da sağlayan kişinin adını ekrana yazar. Soru: Bir sınıfta “matematik” dersinden 50’nin üzerinde alıp, “bilgisayar” veya “fizik” derslerinin herhangi birinden 60’ın üzerinde not alanların isimlerinin bulunması isteniyor. Buna göre uygun olan ifadeyi yazınız.

Algoritma Kavramına Geri Dönüş Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Yani algoritma, işlemleri yaptırabilmek için bilgisayara öğretilen işlem basamaklarıdır. 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.

Algoritma ve programlamada kullanılan Temel Kavramlar Algoritma ve programlama dillerinde standart hale gelen terimler şunlardır: 1- Değişken : Bir program içerisinde bilgileri tutmak, bu bilgiler üzerinde işlem yapmak için değişkenlerden yararlanılır. Matematiksel olarak ifade etmeye çalışırsak; Denklemlerde karşımıza çıkan c= a+b ifadesi bizim denklemimiz ve buradaki "a","b" ve "c" ise bizim değişkenlerimizdir. a, b’ ye girdiğimiz değerlere göre c değişkeni bir değere kavuşacak ve işlem sonuçlanacaktır.

Algoritma ve programlamada kullanılan Temel Kavramlar-3 2- Aktarma: Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu gönderme işlemidir. değişken = ifade Satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır. ‘ifade’ yazan kısımda ise matematiksel, mantıksal veya alfa nümerik ifade olabilir. Aradaki ‘=‘ sembolü, ‘aktarma operatörü’ olarak adlandırılır ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. Bu durumda değişkenin -eğer varsa- bir önceki değeri (eski değeri) silinir. X=3 Y=5+X işleminin sonucunda Y’nin bir onceki degeri silinerek yerine 8 değeri yazılır.

Algoritma ve programlamada kullanılan Temel Kavramlar (devam) 3- Fonksiyon : Giriş parametrelerini belli bir işlemden geçirdikten sonra, geriye çıkış parametrelerini döndüren işlevlere fonksiyon denir. Değişkenler, fonksiyonların vazgeçilmez elemanlarıdır. Örnek:  Değişkenlerimiz olan a ve b şu değerleri alsın: a=1 ve b=2 ; Fonksiyonumuz ise f(a,b) = a+b olsun. Son olarak, c=f(a,b) olsun. O zaman a=1 ve b=2 için c = 1 + 2 = 3 olur Burada "a","b" değişkenini girerek ve “f(a,b)" fonksiyonunu kullanarak "c" değişkeninin değerini buluyoruz.

Örnek 1: Dışarıdan girilen iki sayının toplamını bulan programın algoritması aşağıdaki gibi kurulur: A1 : Başla A2 : X değerini gir A3 : Y değerini gir A4 : Z= X+Y A5 : Z' yi yaz A6 : Bitir

A2 : A, B ve C sayılarını dışarıdan giriniz A3 : enbüyük=A Örnek 2: Dışarıdan girilen 3 sayıdan en büyüğünü bulan algoritmayı kurunuz. Algoritma: A1 : Başla A2 : A, B ve C sayılarını dışarıdan giriniz A3 : enbüyük=A A4 : Eğer B > enbüyük ise enbüyük=B A5 : Eğer C >enbüyük ise enbüyük=C A6 : enbüyük değerini yaz A7 : Bitir

A3: A=B ise A4’e git değilse A5’e git Örnek 3: Kenar Uzunlukları dışardan girilen bir ABC üçgenini kenarlarına göre inceleyen programın algoritmasını kurunuz. A1: Başla     A2: A,B,C değerlerini gir     A3: A=B ise A4’e git değilse A5’e git     A4: B=C ise A6’ya git değilse A8’e git     A5: A=C ise A8’e git değilse A7’e git A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git A7: B=C ise A8’e git, değilse A9’a git         A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git     A9: ‘Üçgen Çeşitkenardır’ yazdir     A10: Bitir

UYGULAMA: Ax2+Bx+C=0 ile tanimlanan ikinci derece denklemin köklerini hesaplayan algoritmayı gelistiriniz.

UYGULAMA: Dışardan girilen r yarıçapı için bir çemberin çevresini ve dairenin alanını bulan programın algoritmasını gelistiriniz.

Algoritma ve programlamada kullanılan Temel Kavramlar-4 4- Sayaç : Programlarda; bazı işlemlerin belirli sayılarda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. Örneğin: Klavyeden girilen bir cümlede kaç sesli harf olduğunu bulan programda, cümlenin her harfi sırayla çağırılır ve sesli harfler kümesine ait olup olmadığı araştırılır.Eğer sıradaki çağırılan harf bu kümeye ait ise bunları sayacak olan değişkenin değeri bir arttırılır.

Algoritma ve programlamada kullanılan Temel Kavramlar sayac = sayac + 1 Şeklindeki işlemde sağdaki ifadede değişkenin eski(önceki) değerine ‘1’ eklenmekte; bulunan sonuç yine kendisine, yeni değer olarak aktarılmaktadır.Bu tür sayma işlemlerine, algoritmada “sayaç” veya “sayıcı” (counter) adı verilir.Yani “sayaç”; işlem akışı kendisine her geldiğinde,belirtilen adım değeri kadar artan/azalan değişkendir.

‘Sayaç’ olayına örnek: sayac=sayac+3 Üçer üçer artan bir sayıcıdır sayac=sayac-5 Beşer beşer azalan bir sayıcıdır Örnek: Aşağıdaki algoritmada 1-5 arası sayılar, sayaç kullanılarak ekrana yazdırılmaktadır. Burada, sayac : sayaç değişkenidir. A1: Başla A2: sayac=0 A3: sayac=sayac+1 A4 : Eğer sayac > 5 ise adım 7 ye git A5: Yaz sayac A6: 3.adım’ a git A7: Bitir

Algoritma ve Programlamada Kullanılan Temel Kavramlar 5- Döngü : Birçok programda,bazı işlemler belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yapılmaktadır. Programlardaki belirli işlem bloklarını, verilen sayıda gerçekleştiren işlem akış çevrimlerine döngü denir. Döngüler genelde sayaç kullanırlar. Örneğin 1 ile 100 arasındaki tek sayıların toplamını toplam=1+3+5+…+99 gibi uzun uzadıya yazmak yerine 1 ile 100 arasında ikişer ikişer artan bir döngü açariz ve döngü değişkenini ardışıl toplariz.

Döngü Oluşturma Kuralları: 1- Döngü değişkenine başlangıç değeri verilir. 2- Döngünün artma veya azalma miktarı belirlenir. 3- Döngünün bitiş değeri belirlenir. 4- Döngü değişkeni, döngü içinde adım miktarı kadar artırılir yada azaltılir. Böylece döngü sayısı ortaya çıkar.

‘Döngü’ Kavramina Ornek: Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı hesaplanmaktadır. (Cift sayilarin toplamina asagidaki algoritmayi hangi degisikligi yaparak donusturebilirsiniz?) A1: Başla A2: toplam=0 A3: sayac=1 A4: Eğer sayac>10 ise adım 8 e git A5: toplam=toplam+sayac A6: sayac=sayac+2 A7: Git adım 4 A8: Yaz ‘toplam’ A9: Bitir Döngü

Sayının faktöriyeli : faktoryel , Faktöriyel Değişkeni :sayac Örnek: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasını yazınız (faktöriyeli hesaplanacak sayı negatif girilmişse yeniden giriş istenecek) Değişkenler: Sayının faktöriyeli : faktoryel , Faktöriyel Değişkeni :sayac Faktöriyeli hesaplanacak sayı :Y Algoritma: A1: Başla A2 : faktoryel =1; sayac =1 A3 : Y‘yi gir A4 : Eğer Y<= 0 ise 3. adıma git A5 : Eğer sayac>Y ise adim 8 e git A6: faktoryel=faktoryel*sayac A7: sayac =sayac+1 ve adım 5 e git A8 : faktoryel degerini yaz A9 : Bitir

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.

Örnek: Verilen iki sayının ortalamasını hesaplayan programın algoritmasını yazınız ve akış diyagramını çiziniz. Algoritma: A1 : Başla A2 : X değerini gir A3 : Y değerini gir A4 : Ort = (X+Y)/2 A6 : Ort degerini yaz A7 : Bitir Başla X=? Y=? Ort=(X+Y)/2 yaz Ort Bitir Akış diyagramı:

Karar Verme Yapısı (Şartlı yapılar)

Örnek: Girilen bir sayının Negatif, Pozitif veya Sıfır olduğunu bulan algoritmayı yazınız ve akış diyagramını çiziniz. Bir sayının pozitif, negatif veya sıfır olduğunu bulmak için sıfır(0) ile test edilmesi gerekir.    Algoritma: Akış Diyagramı: A1: Başla A2: Sayıyı (X) giriniz  A3: Eğer X > 0 ise 'POZITIF' yaz 6.adıma git  A4: Eğer X < 0 ise 'NEGATİF' yaz 6.adıma git  A5: 'SIFIR' yaz.  A6: Bitir Başla X=? X>0 doğru ‘POZITIF’ yaz yanlış X<0 doğru ‘NEGATİF’ yaz yanlış ‘SIFIR’ yaz Bitir

SORU: Dışardan girilecek iki sayıdan birinci sayıyı ikinci sayıya bölen bir algoritma ve akış diyagramı hazırlayın (ikinci sayı sıfır girilirse ekrana ‘yanlış giriş yaptınız, yeniden değer giriniz’ mesajı yazdırılacak ve veri girişi yinelenecektir).  

Tekrarlı İşlemler (Döngü işlemleri)

A1: Başla A2: A değerini giriniz A3: A=0 ise Adım 2’ye git Örnek: Ax+b=0 seklinde verilen 1.derece denklemin çözümünü veren programın algoritmasını yazınız ve akış diyagramını çiziniz (A=0 girilmiş ise veri girişi yinelenecektir). A1: Başla A2: A değerini giriniz A3: A=0 ise Adım 2’ye git A4: B değerini giriniz A5: X=-B/A A6: Yaz X A7: Bitir A=0 Evet Hayır

Soru : Daha önce algoritması yazılan ve bir sayının faktöriyelini hesaplayan programın akış diyagramını çiziniz. Soru: Dışarıdan girilen 3 sayıdan en büyüğünü bulan programın algoritmasını ve akış diyagramlarını oluşturunuz.

Örnek: 1' den 100'e kadar sayıların karelerini, kareköklerini, küplerini, küpköklerini sırasıyla bulup ekrana yazdıran ve ayrıca 1’den 100’e kadar olan sayıların ortalamasını da hesaplayan programın algoritmasını ve akış diyagramını hazırlayınız. Algoritma:

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

Örnek : Ax²+Bx+C=0 şeklinde verilen 2 Örnek : Ax²+Bx+C=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış diyagramını çiziniz. (Ikinci derece denklem olmadigi uyarisini nasil verirsiniz?)

MATLAB MATLAB, bilim adamları ve mühendislere, matrislere dayalı problemleri Fortran ve C gibi dillerden farklı olarak program yazmaksızın çözmede kullanılmak üzere bir sayısal hesaplama kütüphanesi (MATris LABoratuvarı (MATrix LABoratory)) olarak tasarlanmıştır. Daha sonraları ise birçok toolbox eklenerek geliştirilmiştir. MATLAB 1970’lerin sonunda Cleve Moler tarafından yazılmıştır. Cleve Moler aynı zamanda “The Mathworks” firmasının da kurucusudur. MATLAB bir yorumlayıcıdır (interpreter). Bir derleyiciye (compiler) ihtiyaç duyan programlama dillerinden farklı olarak bir MATLAB programı her çalıştırıldığında satır satır makina diline çevrilir.

MATLAB Programının Tipik Kullanım Alanları Matematiksel hesaplama yapmada, Algoritma geliştirme ve kod yazmada (programlama), Lineer cebir, istatistik, Fourier Analizi vb. konularda hazır matematik fonksiyonlara ulaşabilmede, 2D ve 3D grafikler çizmede, Modelleme ve simülasyon yapmada,

MATLAB Programlama Ortamının Tanıtımı MATLAB PROGRAM GELİŞTİRME ORTAMI Launch Pad (Başlatma Penceresi) Command Window (Komut Penceresi) Workspace (Çalışma Alanı) Current Directory (Mevcut Dizin) Command History (Komut Geçmişi) !! MATLAB programlama ortamını ilk açılıştaki haline getirmek için Desktop->Desktop Layout->Default komutunu çalıştırınız. !!

Matlab Arayüzü m-dosyası editörü (m-file editor) Çalışma alanı (Workspace) Değişkenleri ve Değişkenlerin Yapısını gösterir Komut Penceresi (Command Window) Komutları çalıştırır Sonuçları gösterir Program hataları burada incelenir Komut geçmişi (Command History) Komutların listesini tutar Burada seçilen komut komut penceresinde yeniden kullanılabilir m-dosyası editörü (m-file editor) Programlar burada yazılır Geçerli Kayıt Dizini (Current directory) Matlab programı kaydedilen dosyaları otomatik olarak tanımlı bir dizine depolar İstenildiği takdirde bu depolama dizini kullanıcı tarafından değiştirilebilir

Temel Bilgiler Komut Penceresi: MATLAB ile iletişim kurulan ana penceredir. MATLAB yorumlayıcısı, kullanıcıdan gelecek komutları kabul etmeye hazır olduğunu gösteren “ >> ” biçiminde bir simge görüntüler. Örneğin, 4*25+6*52+2*99 gibi basit bir matematiksel işlemi yapmak için >> 4*25+6*52+2*99 ifadesini yazıp ENTER tuşuna basarız. ans= 610 Komut Satırında Yanlışların Düzeltilmesi: Klavyede yer alan ok tuşları komut satırında yapılan yanlışlıkların düzeltilmesine imkan verir. Bunlar yukarı “↑” aşağı “↓” sol “←” sağ “→”. Yukarı tuşu yardımıyla bir önceki satır tekrar görüntülenerek sağ ve sol tuşları ile yanlış yazılı yere imleç taşınarak düzenleme gerçekleştirilir. Sonucun Ekranda Görüntülenmesini Gizleme: Bir deyim yazıp, ENTER tuşuna basınca sonuçlar ekranda otomatik olarak görüntülenir. Buna karşılık, deyimin sonuna “ ; ” ilave edilecek olursa yapılan hesaplamalar ekranda görüntülenmez.

MATLAB’DE DEYİMLER VE DEĞİŞKENLER Deyim Oluşturma Grupları: Değişkenler, rakamlar, operatörler ve fonksiyonlardır. MATLAB deyimleri komut satırından girilen herşeydir. Değişkenler: Deyimler içerisinde sayısal değerlerin yerini alan ifadelerdir. MATLAB bir değişken ile karşı karşıya geldiğinde, otomatik olarak bu değişken oluşturulur ve yeteri kadar bellek ayrılır. Eğer değişken daha önceden tanımlı ise MATLAB onun içeriğini değiştirir. Örneğin, >>x =50 komut satırından işletildiğinde MATLAB “x” adında bir değişken oluşturur ve 50 değerini bu değişkene atar. Diğer bilgisayar dillerinde olduğu gibi MATLAB’in de değişken isimleri konusunda bazı kuralları vardır.

Kurallar 1- Değişken isimleri küçük, büyük harf kullanımına duyarlıdır. Buna göre aynı anlama gelen fakat farklı yazılan “orta”, “Orta”, “orTa” ve “ORTA” kelimeleri MATLAB için farklı değişkenlerdir. 2- Değişken isimleri en fazla 63 karakter içerebilir. Bundan fazla olanlar dikkate alınmaz. 3- Değişken isimleri daima bir harf ile başlamalıdır. Bunu harfler, rakamlar veya alt çizgiler ”_” izleyebilir. Değişken ismi oluşturulurken noktalama işaretleri ve boşluk KULLANILMAZ. Çünkü bunların pek çoğunun MATLAB için bir anlamı vardır. Ayrıca değişken adlarında küçük veya büyük “ç ı ö ü ğ ş” gibi Türkçe karakterler KULLANILMAZ. Rakamlar: MATLAB rakamlar için artı veya eksi işaretini ve tercihli ondalık noktası ile birlikte alışagelmiş ondalık işaretler sistemini kullanır. 10 sayısının kuvvetini temsilen “e” harfi kullanılır. Sanal rakamlar son takı olarak “ i ” veya “ j ” harfini kullanır. 3, -100, 0.0005, 9.53564 1.456e10, 2.5e-5, 10i, -3.4j, 3e5i

Operatörler: MATLAB, deyimler içerisinde alışageldik aritmetik operatörler ve öncelik kuralları kullanır. İşlem Sembol Örnek Toplama, a+b + 2+3 Çıkarma, a-b - 5-2 Çarpma, a*b * 3*4 Bölme, a/b / 14/7 Üs alma, ab ^ 2^3 Parantez a*(b+c) ( ) 2*(3+5) Aritmetik işlemlerde öncelik hakkı: Tek bir matematiksel deyim içinde birden fazla işlem bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olduğunun bilinmesi yerinde olacaktır. MATLAB’de işlemlerin öncelik listesi aşağıda verilmiştir.

2. Üst alma, soldan sağa doğru (2^2^3=???) Öncelik İşlem 1. Parantez 2. Üst alma, soldan sağa doğru (2^2^3=???) 3. Çarpma ve bölme, soldan sağa doğru 4. Toplama ve çıkarma, soldan sağa doğru Hazir Fonksiyonlar: MATLAB, sin, abs, sqrt ve log gibi önemli fonksiyonları da içine alan çok sayıda hazır matematik fonksiyon içerir. Bu fonksiyonların bazıları aşağıdaki Tablo’da listelenmiştir. Fonksiyon Sembol Örnek Sinüs sin sin(pi) Kosinüs cos cos(pi) Tanjant tan tan(pi) Arksinüs asin asin(0) Arkkosinüs acos acos(0) Arktanjant atan atan(1) Fonksiyon Sembol Örnek Eksponensiyal, ex exp exp(2) Doğal logaritma ln(x) log log(10) 10 tabanlı logaritma log10 log10(10) Kare kök, x sqrt sqrt(25) Mutlak değer, |x| abs abs(3) sinüs, cosinüs, tanjant, arksinüs, arkkosinüs ve arktanjant fonksiyonları açı değerlerini radyan cinsinden argüman olarak alırlar. Derece cinsinden çalışmak isterseniz (Derece/180)=(Radyan/pi) formulünden faydalanınız. sin(30)(Derece)=sin(30*pi/180)

Örnekler: Uygulama : Matematiksel Yazılım MATLAB de Yazılım ab-c+d-6+da a*b-c+d-6+d*a b+c3-d/8-b2c b+c^3-d/8-b^2*c ??? Uygulama : işlemini MATLAB dilinde kodlayınız.