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

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

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

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

1. PROGRAMLAMAYA GİRİŞ

BÖLÜM 2: ALGORİTMALAR


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

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

Bilgisayar Programlama. Giriş

4- ALGORİTMA (ALGORITHM)

BMT 101 Algoritma ve Programlama I 6. Hafta. 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.

Genel Programlama I

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

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

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

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

Algoritma ve Akış Diyagramları

Algoritmalar ve Programlama. Algoritma

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

C++ Operatörler (Operators)

Örnek: sayısının binler basamağındaki rakamın basamak değeri ve sayı değeri arasındaki fark bulunuz.

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

ALGORİTMA HAZIRLAMA. Temel tanımlar ve işleyiş. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Algoritma ve Programlama: Karar Yapıları ve Döngüler

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

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

Algoritma ve Programlamaya Giriş

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

BMT 101 Algoritma ve Programlama I 8. 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

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Algoritmanın Hazırlanması

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

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

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Bilgisayar Programlama. 1.Hafta

ALGORİTMA VE AKIŞ ŞEMALARI

Dr. Musa KILIÇ Öğretim Görevlisi

1 PROGRAMLAMAYA GİRİŞ

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

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

Algoritma ve Akış Diyagramları

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Algoritma ve Akış Şemaları

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Matris İşlemleri Uygulaması

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

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

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

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

Bilgisayar Programı Nedir?

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Bigisayar Programlama

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

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.

Bilgisayar II Dersi. Bölüm-2

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

ALGORİTMA VE PROGRAMLAMA I

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

3- ARİTMETİK İFADELERİN YAZILMASI. M.İLKUÇAR - imuammer@yahoo.com

BİLGİSAYAR PROGRAMLAMA MATLAB

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

Diziler (Arrays) Çok Boyutlu Diziler

Algoritma ve Programlama I

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

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

Yazılım Mühendisliği 1

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

C PROGRAMLAMA DİLİNE GİRİŞ

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir.

Programlama Dilleri I

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

Nesne Yönelimli Programlama

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

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

Bilgisayarda Programlama. Temel Kavramlar

ALGORİTMA VE PROGRAMLAMA I

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

PROGRAMLAMAYA GİRİŞ DERS 2

FORMÜLLER VE FONKSİYONLAR

Programlama Temelleri

Transkript:

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

Algoritma ve Programlama Yük. Müh. Köksal GÜNDOĞDU 2

Algoritma Kavramı Yük. Müh. Köksal GÜNDOĞDU 3

Algoritma ve Programlama Bilgisayardaki bir işlemin/işlemlerin gerçekleştirilmesinde izlenecek adımlar dizisine algoritma denir. Bir problemi çözmek için bilgisayara öğretilen işlem basamaklarıdır. Algoritma yaklaşımı, ilk olarak 9. yüzyılda yaşamış Türk- İslam matematikçisi ve astronomu Harzemli Mehmet in ikinci derece denklemlerin çözümü için geliştirdiği bir yöntemdir. Algoritma kelimesi de aritmetik problemleri çözme kuralları anlamında Harizmi nin ismine atıfta bulunularak algorizm kelimesinden türetilmiştir. Yük. Müh. Köksal GÜNDOĞDU 4

Algoritma ve Programlama Bir bilgisayar programı birçok görev için yazılır ve çok satırdan oluşur. Algoritma yazmadan yani program üzerinde hiç düşünmeden ve bir taslak çıkarmadan kodlamaya geçilirse birçok hata ile karşılaşılır. Bu sebeple önce programdan istenenler nedir ve işlem adımları nelerdir diye düşünülerek algoritma yazılır. Algoritma bilgisayar programının krokisi gibi düşünülebilir. Algoritma günlük dilde yazılabileceği gibi algoritma için geliştirilmiş diller ile de yazılabilir. Yük. Müh. Köksal GÜNDOĞDU 5

Program Yazma Süreci Yük. Müh. Köksal GÜNDOĞDU 6

Yazılım Geliştirme Aşamaları. Analiz: Önce programdan neler bekleniyor. Giriş verileri nedir? Çıkışta neler isteniyor bunlar belirlenir.. Girdi 2. Girdi Program Çıktı 3. Girdi Yük. Müh. Köksal GÜNDOĞDU 7

Yazılım Geliştirme Aşamaları 2. Algoritma: Bu programın yapacağı işlemlerin adım adım tanımlandığı işlemler sırasıdır. Bu işlemler yazılı olarak(pseudo-kod) ile ifade edilebileceği gibi çeşitli şekiller ile de ifade edilebilirler. İşte algoritmanın şekiller ile ifade edilmesine akış şeması adı verilir.. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli. 2. Çıktı: En azından bir değer üretilmeli. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. 4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli. 5. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. Not: Bir program için 4. özellik geçerli değil. işletim sistemleri gibi program sonsuza dek çalışırlar. Yük. Müh. Köksal GÜNDOĞDU 8

Yazılım Geliştirme Aşamaları Örnek: İki sayının toplamını yazan algoritmayı yazınız. Çözüm: Girdi: Birinci sayı (sayi), İkinci sayı (sayi2) Çıktı: İki sayının toplamı (toplam). Basla 2. sayi değerini gir. 3. sayi2 değerini gir. 4. toplam=sayi+sayi2 5. toplam değerini ekrana yaz. 6. Bitir Yük. Müh. Köksal GÜNDOĞDU 9

Yazılım Geliştirme Aşamaları 3. Kodlama: Akış şeması veya algoritması çıkarılan programın bir programlama dili ile ifade edilmesidir. #include <iostream> using namespace std; int main() { cout << "Merhaba Dunya..."; return 0; } Yük. Müh. Köksal GÜNDOĞDU 0

Yazılım Geliştirme Aşamaları 4.Derleme: Program kodlarının makine diline dönüştürülmesi işlemidir. Dev-C++ Visual Studio NetBeans Eclipse Code::Blocks Yük. Müh. Köksal GÜNDOĞDU

Yazılım Geliştirme Aşamaları 5. Test(Debugging): Programın doğru çalışıp çalışmadığı kontrol edilir. Hatalardan arındırılır. Yük. Müh. Köksal GÜNDOĞDU 2

Yazılım Geliştirme Aşamaları 6. Dökümantasyon: Bu programı ilk defa kullanacak kişiler için belge hazırlanır. Bu kısım proje hazırlama kısmı gibi yaptıklarımızı dökümana dökmek ilerde geliştirmek ve satışını gerçekleştirmek için gerekli olan kısımdır. Daha çok arşive ve pazarlamaya yönelik olur. Çünkü kaydı tutulmayan veriler kaybolup gider. Dökümantasyonunu hazırlayıp çalışmamızı sunabiliriz. İlk başta program hakkında genel bilgiler verilir, program ne amaçladı, ne tür veriler kullandı, ne tür formatlarda oluşturuldu, ne tür çıktılar üretti, algoritması çalışma biçimi akış diyagramı, performansı ve gelecek eklentiler, eksik yanları en zon bu program nasıl kullanılır? Bu konular hakkında dökümanlar hazırlanır. Yük. Müh. Köksal GÜNDOĞDU 3

Algoritmada Kullanılan İşlemler Yük. Müh. Köksal GÜNDOĞDU 4

İŞLEMLER. Matematiksel (Aritmetik ) İşlemler 2. Karşılaştırma (Karar) İşlemleri 3. Mantıksal (Lojik) İşlemler Yük. Müh. Köksal GÜNDOĞDU 5

Matematiksel (Aritmetik ) İşlemler İşlem Matematik Bilgisayar Toplama a+b a+b Çıkarma a b a b Çarpma a.b a*b Bölme a b a/b Üs Alma a b a^b Yük. Müh. Köksal GÜNDOĞDU 6

Matematiksel (Aritmetik ) İşlemler Yük. Müh. Köksal GÜNDOĞDU 7

Matematiksel (Aritmetik ) İşlemler Matematiksel İfadelerin Bilgisayar Dilinde Kodlanması Matematiksel yazılım a+b-c+2abc-7 Bilgisayara kodlanması a+b-c+2*a*b*c-7 a+b 2 -c 3 a+b^2-c^3 a-b/c+2ac-2/a+b a-b/c+2*a*c-2/(a+b) a+b 2ab/b 2-4ac (a+b)^(/2)-2*a*b/b^2-4*a*c) Yük. Müh. Köksal GÜNDOĞDU 8

Matematiksel (Aritmetik ) İşlemler Örnek : a = 4, b = 6, c = 8 ve d = 0 değerleri için bilgisayar dilinde kodlanmış üç denklemin sonuçlarını inceleyiniz.. Denklem c * d / (a*d) + b + c *d / a = 28 2. Denklem c * d / a*d + b + c *d / a = 226 3. Denklem c * d / a*d + (b + c) *d / a =235 Yük. Müh. Köksal GÜNDOĞDU 9

Matematiksel (Aritmetik ) İşlemler Örnek 2: A = 9, B = 6 değerleri için aşağıdaki ifadelerin sonuçlarını bulunuz. İfade A + B^/2 A + B^(/2) (A + B)^/2 (A + B)^(/2) Matematiksel eşdeğeri A A B 2 B (A B) 2 A B = 7 = 3 = 2.5 = 5 Yük. Müh. Köksal GÜNDOĞDU 20

Karşılaştırma (Karar) İşlemleri Matematiksel işlemlerin yanı sıra karar modelleri de söz konusudur. İşlem Sembolü Anlamı = Eşittir <> Eşit değildir > Büyüktür < Küçüktür >= veya => Büyük eşittir <= veya =< Küçük eşittir Yük. Müh. Köksal GÜNDOĞDU 2

Mantıksal İşlem Mantıksal (Lojik) İşlemler Mantıksal işlem operatörleri hem karar ifadelerinde hem de matematiksel İşlemlerde kullanılır. Programlardaki karşılaştırma ifadelerinde birden fazla koşulun belirli bir özellikte sağlanması istenir. Bu durumda araya mantıksal işlem operatörleri konulur. Komut Komut Matematiksel Sembol VE AND and (&). VEYA OR or ( ) + DEĞİL NOT not (~) Yük. Müh. Köksal GÜNDOĞDU 22

Mantıksal (Lojik) İşlemler VE (&) Operatörü: Bütün koşullar doğru ise sonuç doğrudur. Bütün şartların sağlatılması isteniyorsa koşullar arasına (VE) mantıksal operatörü kullanılır. A B A &B, and(a,b) 0 0 0 0 0 0 0 Yük. Müh. Köksal GÜNDOĞDU 23

Mantıksal (Lojik) İşlemler VEYA ( ) Operatörü: Koşullardan herhangi birisi doğru ise sonuç doğrudur. A B A B, or(a,b) 0 0 0 0 0 Yük. Müh. Köksal GÜNDOĞDU 24

Mantıksal (Lojik) İşlemler Mantıksal işlemlerde öncelik sırası şöyledir:. Her zaman parantez içindeki mantıksal işlemler ilk önce yapılır. 2. Değil, yani (~) işleminin diğer mantıksal işlemlere göre önceliği vardır. 3. Son olarak, Ve (&) ve or ( ) işlemleri gerçekleştirilir. İşlem öncelik sıraları Sıra İşlem Komut Parantez içindeki işlemler ( ) 2 DEĞİL NOT 3 VE AND 4 VEYA OR Yük. Müh. Köksal GÜNDOĞDU 25

Mantıksal (Lojik) İşlemler Lojik İşlemlerin bazı özellikleri aşağıdaki gibidir. A+0=0 A.0=0 A+A = A.A =0 A+A=A A.A=A A+= A.=A A+B=B+A A.B=B.A A+(B+C)=(A+B)+C A.(B.C)=(A.B).C A.(B+C)=A.B+A.C A+B.C=(A+B).(A+C) (A+B) =A.B (A.B) =A +B A+A.B=A A.(A+B)=A (A ) =A Yük. Müh. Köksal GÜNDOĞDU 26

Mantıksal (Lojik) İşlemler Örnek : Bir işyerinde çalışan işçiler arasında yalnızca yaşı 23 ün üzerinde olup maaş olarak asgari ücret alanların isimleri istenmektedir. Yük. Müh. Köksal GÜNDOĞDU 27

Mantıksal (Lojik) İşlemler Eger Yaş > 23 & maaş == asgari ücret ise Yaz isim. koşul 2. koşul Yaş Maaş. koşul 2. koşul Sonuç Yaz 20 900 0 0 0 Çalışmaz 9 300 0 0 Çalışmaz 25 950 0 0 Çalışmaz 30 300 Çalışır Yük. Müh. Köksal GÜNDOĞDU 28

Soru: 3 2 3 25 4 2 22* 4 45 ÖRNEKLER ifadesini bilgisayar programlama için kodlayınız. Yük. Müh. Köksal GÜNDOĞDU 29

ÖRNEKLER 2 25 4 2 3 22. 4 45 3 =(25^(/3))/4//(2+3 22*2/4)/45 Yük. Müh. Köksal GÜNDOĞDU 30

ÖRNEKLER Soru2: x 2 y 3 4 z ifadesini bilgisayar programlama için kodlayınız. x=y=z= için sonucunu bulunuz. Yük. Müh. Köksal GÜNDOĞDU 3

ÖRNEKLER x 2 y 3 4 z =(2/(+x 3/(y+4 /z)))^(/2) =(2/(+ 3/(+4 /)))^(/2) =(8/5)^(/2) Yük. Müh. Köksal GÜNDOĞDU 32

Soru 3: a^2/(b*c^(/2)) ÖRNEKLER a=,b=5, c=9 için aşağıdaki ifadenin sonucu ne olur? Yük. Müh. Köksal GÜNDOĞDU 33

ÖRNEKLER a^2/(b*c^(/2)) ^2/5*9^(/2)=/5 Yük. Müh. Köksal GÜNDOĞDU 34

ÖRNEKLER Soru4: 3 4 5 a b a b c ab abc ifadesini bilgisayar programlama için kodlayınız. Yük. Müh. Köksal GÜNDOĞDU 35

ÖRNEKLER 3 4 5 a b a b c ab abc =((a b)^(/5)/(a+b c/a*b)^(/4))^(/3)+ /((+/((+/(a*b*c))^(/2)))^(/2)) Yük. Müh. Köksal GÜNDOĞDU 36

ÖRNEKLER Soru5: a 7 abc a b c abc ifadesini bilgisayar programlama için kodlayınız. Yük. Müh. Köksal GÜNDOĞDU 37

ÖRNEKLER a 7 abc a b c abc =a+(a*b*c)^(/7) /(+/(a+/(b+/(c+/(a*b*c))))) Yük. Müh. Köksal GÜNDOĞDU 38