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

Slides:



Advertisements
Benzer bir sunumlar
STRİNG FONKSİYONLARI.
Advertisements

MATLAB.
Fonksiyonlar.
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
EKRAN ÇIKTISI.
MATLAB Bilgisayar Programlama Yrd.Doç. Dr. Aslıhan KURNUÇ
Bilgisayar Programlama Güz 2011
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
MATLAB.
Bilgisayar Programlama (2. parça) (Yrd. Doç. Dr. İbrahim ASRİ)
Ayrık Yapılar Matlab Notları
Bilgisayar Programlama Güz 2011
Bilgisayar Programlama Güz 2011
switch - case Yapısı Döngü Yapıları
C Programlama Diline Giriş
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
 Print() :  Print() : Ekrana bir değişkenin değerini veya bir metni yazdırmayı sağlar. print (“PHP Programlama”);// ekrana “PHP Programlama” yazdırır.
OOP4 LAB.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
MATLAB’ de Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
MATLAB’ de Programlama
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Bilgisayar Programlama Güz 2011
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Temel Giriş/Çıkış Fonksiyonları
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
KLAVYE : ( Keyboard ) Bilgisayarın bilgi girişinde kullanılan ve daktiloya benzeyen parçası. Klavyeler harflerin dizilişine göre farklı tiplerde olabilirler.
BM-103 Programlamaya Giriş Güz 2014 (2. Sunu)
C++ Ders Notları 3.Ders (String İşlemleri)
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
JAVA PROGRAMLAMA ORNEKLER
MATLAB’ de Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bilgisayar Programlama Güz 2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
2. HAFTA 2. Hafta.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
BÖLÜM 5 AKIŞ DİYAGRAMLARINDAN PROGRAM KODLAMAYA GEÇİŞ
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ı
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (4. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 10: Dosyalama İşlemleri
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Veri Türleri, Atamalar ve Tip Dönüşümleri …
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bilgisayar Programlamasına ve Veri Analizine Giriş
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
Bilgisayar Programlama
Discussion: comp.soft-sys.matlab
Sunum transkripti:

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA Daha önceki derslerimizde (değişkenin adı + enter) tuş kombinasyonu, istediğimiz değişkenin değerini görmemizi sağlıyordu. Ya da workspace içinde de değişkenimizi ve değerini görebiliyorduk. Ama disp ve fprintf komutları çok daha güçlü ve kullanışlı komutlar olup, ekrana mesaj yazmamızı sağlarlar.

disp KOMUTUYLA EKRANA MESAJ YAZDIRMA disp ile Metinsel Çıkış >>disp('Bu bir metin ciktisidir. ') disp ile Nümerik Değişken Çıkışı >>disp(numerik degisken) disp ile Metinle Beraber Nümerik Degişken Çıkışı >>disp(['Bu bir metin ciktisidir.' num2str(numerik degisken)]) ÖNEMLİ NOT : Bu slaytta “numerik degisken” dediğimiz şey bir skaler, bir vektör ya da bir matris olabilir.

fprintf KOMUTUYLA EKRANA MESAJ YAZDIRMA fprintf('ekrana basılacak açıklama %x \n', deger) Burada %x Kısmında Kullanabileceğimiz Seçenekler : %c : degerin tek bir karakter olduğunu gösterir. %s : degerin bir string olduğunu gösterir. %d : degerin bir tam sayı olduğunu gösterir. %f : degerin ondalıklı bir sayı olduğunu gösterir. Diğer yandan : \n : degeri ekrana yazdıktan sonra imleci bir satır atlatır. \t : degeri ekrana yazdıktan sonra imleci bir TAB kadar atlatır.

fprintf ve disp KOMUTUYLA EKRANA MESAJ YAZDIRIRKEN KESME İŞARETİNE DİKKAT !!! fprintf('ekrana basılacak açıklama %X \n', deger)  DOĞRU ! fprintf(‘ekrana basılacak açıklama %X \n ’, deger)  YANLIŞ !

ÖRNEK (fprintf örneği) X = 4; Y = 56.23; Z = 'Merhaba Dünya' ; Q = 'c'; fprintf(' Tam sayı örneği ... X = %d \n ', X); fprintf(' Ondalıklı sayı örneği ... Y = %f \n ', Y); fprintf(' String (katar) örneği ... Z = %s \n ', Z); fprintf(' Char (karakter) örneği ... Q = %c \n ', Q);

ÖRNEK (disp ve fprintf örneği) Ekrandan girilen bir sayının karekökünü bulan, sayı sıfırdan küçükse “Negatif sayıların karekökü olmaz” uyarı mesajı veren programı yazınız. clc; clear; sayi = input(' Karekökü hesaplanacak sayıyı giriniz: '); if sayi<0 disp(' Negatif sayının karekökü olmaz!!! '); else karekok=sqrt(sayi); fprintf(' Karekök değerimiz = %f \n', karekok); end

DÖNGÜLER for Döngüsü for döngüsünün genel formatı Tekrar tekrar yapılması gereken komutları döngü yapısı içine yazmalıyız. Döngü yapısı for veya while komutu ile gerçekleştirilir. for Döngüsü for döngüsünün genel formatı for döngü değişkeni=ifade komutlar ... end while Döngüsü while döngüsünün genel formatı while koşul koşullar ... end

for Döngüsündeki İfadenin Tanımlanması for döngü değişkeni = başlangıç:artış miktarı:bitiş komutlar... end for döngü değişkeni = başlangıç:bitiş komutlar... end *** Artış miktarı belirtilmezse matlab otomatik olarak 1 kabul eder ...

toplam=0; % toplamada etkisiz eleman for i=1:50 toplam=toplam+i ; FOR UYGULAMA (1) 1 ile 50 arasındaki tam sayıların toplamını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; toplam=0; % toplamada etkisiz eleman for i=1:50 toplam=toplam+i ; end toplam % toplamı ekrana yazdırır *** Noktalı virgülden sonra ‘%’ işareti ile satırın sonuna kadarki kısım matlab tarafından çalıştırılmaz. Bu tamamen kullanıcıyı bilgilendirme amacı ile yazılan bir cümledir.

n =input('Lütfen Sayıyı Giriniz '); toplam=0; for i=1:n FOR UYGULAMA (2) 1 ile ekrandan okunan bir sayı arasındaki tam sayıların toplamını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; n =input('Lütfen Sayıyı Giriniz '); toplam=0; for i=1:n toplam=toplam+i ; end fprintf(' Cevap = %f \n ', toplam); % toplamı ekrana yazdırmanın başka bir yolu

birinci=input('Lütfen Birinci Sayıyı Giriniz: '); FOR UYGULAMA (3) Ekrandan okunan iki ayrı sayı arasındaki tam sayıların toplamını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; birinci=input('Lütfen Birinci Sayıyı Giriniz: '); ikinci=input('Lütfen İkinci Sayıyı Giriniz: '); toplam=0; for i=birinci:ikinci toplam=toplam+i ; end fprintf(' Cevap = %f \n ', toplam);

**Bu program aslında ne yapar? Faktöryel hesabı FOR UYGULAMA (4) 1 ile ekrandan okunan herhangi bir sayı arasındaki sayıların çarpımını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc;clear; n=input('Lütfen Bir Sayı Giriniz = '); carpim=1; % carpmada etkisiz eleman for i=1:n carpim=carpim*i; end carpim **Bu program aslında ne yapar? Faktöryel hesabı

fprintf('For döngüsünü test ediyoruz ... \n\n'); for i = 20:-2:4 FOR UYGULAMA (5) For döngüsü testi yapan basit bir program: fprintf('For döngüsünü test ediyoruz ... \n\n'); for i = 20:-2:4 fprintf('For döngüsü içindeyiz. i: %d \n',i); end fprintf('\n For döngüsünden çıktık \n'); fprintf('Her bir döngüde, döngü değişkeninin o anki değerini yazdık \n');

n=input('Lütfen Bir Sayı Giriniz = '); toplam=0; for i=1:n FOR UYGULAMA (6) 1 ile ekrandan okunan bir sayı arasındaki çift tam sayıların toplamını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; n=input('Lütfen Bir Sayı Giriniz = '); toplam=0; for i=1:n if (mod(i, 2) == 0) toplam=toplam+i ; end end toplam

FOR UYGULAMA (7) 3 ile ekrandan okunan bir sayı arasındaki 5 ile bölünebilen tam sayıların toplamını hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; n=input('Lütfen Bir Sayı Giriniz = '); toplam=0; for i=3:n if (mod(i, 5) == 0) toplam=toplam+i ; end end toplam ** n sayısı 3’ten küçük olursa döngüye girmez? Neden?

FOR UYGULAMA (8) 1 ile 50 arasındaki tek sayıların toplamını ve çift sayıların toplamını ayrı ayrı hesaplayarak ekrana basan bir MATLAB programı yazınız. clc; clear; teklerToplami=0; ciftlerToplami=0; for i=1:50 if (mod(i, 2) == 0) ciftlerToplami=ciftlerToplami+i ; else teklerToplami=teklerToplami+i; end end teklerToplami ciftlerToplami

while Döngüsü while koşul doğru komut 1 komut 2 ... komut n end

While ve For Döngüleri Bazen Birbirleri Yerine Kullanılabilir Ekrana adınızı ve soyadınızı 10 kez yazma işlemini, while döngüsü ve for döngüsü kullanarak 2 ayrı şekilde oluşturunuz. % while Döngüsü ile Çözüm clc; clear; indeks=1; while indeks <= 10 disp('Tolga AYDIN'); indeks = indeks + 1; end % for Döngüsü ile Çözüm clc; clear; for indeks=1:10 disp('Tolga AYDIN'); end

While ve For Döngüleri Bazen Birbirleri Yerine Kullanılabilir (Devamı) For döngüsünde döngü değişkeni, her döngüde artım miktarı kadar otomatik olarak değişir While döngüsünde döngü değişkeni diye bir kavram yoktur, yeni bir döngünün başlaması için koşulun sağlanıp sağlanmadığının (doğru olup olmadığının) kontrolü vardır % while Döngüsü ile Çözüm clc; clear; indeks=1; while indeks <= 10 disp('Tolga AYDIN'); indeks = indeks + 1; end % for Döngüsü ile Çözüm clc; clear; for indeks=1:10 disp('Tolga AYDIN'); end

= Aşağıdaki while döngüsü kaç kere işletilir? WHILE UYGULAMA Aşağıdaki while döngüsü kaç kere işletilir? devamEt=1; X=0; while devamEt disp('Merhaba'); X=X+1; end devamEt=1; X=0; while devamEt == 1 disp('Merhaba'); X=X+1; end = **Sonsuz döngüden çıkmak için: Command Window üzerine fare ile tıklayın Ctrl + C tuş kombinasyonuna basın

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

break DEYİMİ for veya while döngülerinde program akışını kontrol edebilmenin bir yolu break deyimini kullanmaktır. break deyimini döngü gövdesi içerisinde kullanmak, döngünün durmasını ve döngüden sonra gelen ilk komutun çalıştırılmasını sağlar. clc; clear; for indeks=10:2:30 if (indeks == 20) break; end fprintf('indeksin şu anki değeri= %d \n', indeks); disp('For döngüsü break deyimi ile sonlandırıldı ...');

break DEYİMİ (Devamı) clc; clear; indeks = 10; while indeks <= 30 if (indeks == 20) break; end fprintf('indeksin şu anki değeri= %d \n', indeks); indeks = indeks + 2; disp('While döngüsü break deyimi ile sonlandırıldı ...');

continue DEYİMİ SADECE for döngülerinde, program akışı continue deyimi ile de kontrol edilebilir. continue deyimi işletildiğinde döngü değişkeni bir sonraki değerine artırılır, continue deyiminden sonraki bütün herşey ihmal edilir ve for döngüsü, döngü değişkeninin yeni değeri için en baştan çalıştırılır. clc; clear; for indeks=10:2:30 if (indeks == 20) continue; end fprintf('indeksin şu anki değeri= %d \n', indeks);

BİR SATIR VEKTÖRÜNÜ BİLGİ DEPOLAMAK İÇİN KULLANMA A=[ ]; %Başlangıçta Boş 1. METOD : A=[A x]; %A=[x] A=[A y]; %A=[x y] . 2. METOD : A(1)=x; %A=[x] A(2)=y; %A=[x y] . Başlangıçta boş olan bir satır vektörünün içine sırasıyla x ve y elemanları ekleniyor.

SATIR VEKTÖRÜNE SAĞDAN ve SOLDAN EKLEME 1. Sağdan Ekleme A=[A x]; %A=[x] A=[A y]; %A=[x y] Son eklenen dizi elemanı dizinin sonuncu elemanı oluyor. 2. Soldan Ekleme A=[x A]; %A=[x] A=[y A]; %A=[y x] Son eklenen dizi elemanı dizinin birinci elemanı oluyor.