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



Benzer belgeler
Algoritmalar ve Programlama. Algoritma

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

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

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

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

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

Algoritmanın Hazırlanması


BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

Dr. Musa KILIÇ Öğretim Görevlisi

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

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

Algoritma ve Programlamaya Giriş

Hafta 4 Döngü Yapıları

BİLGİSAYAR PROGRAMLAMA DERSİ

BÖLÜM 2: ALGORİTMALAR

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

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

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

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

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

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

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

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

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

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

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

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

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

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

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

ALGORİTMA VE PROGRAMLAMA I

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

YZM 2105 Nesneye Yönelik Programlama

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

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

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

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

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

3. Bölüm Algoritmalar

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

Algoritma kelimesinin kökeni:

Hafta 5 Algoritma Örnekleri ve Analizi

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

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

C SHARP UYGULAMA ÇALIŞMASI

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Algoritma ve Akış Şemaları

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Basit Algoritma Akış Diagramı Örnekleri

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.

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

4- ALGORİTMA (ALGORITHM)

PROGRAM AKIŞ DİYAGRAMLARI

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

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Ünite 01 Algoritma Geliştirme

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

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

Bilgisayar Programlama. 1.Hafta

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

BİLGİSAYAR PROGRAMLAMA DERSİ

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

Bilgisayar Programlama. Giriş

KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

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

BİLGİSAYAR PROGRAMLAMA DERSİ

YUVARLAMA FONKSİYONLARI

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

Her zaman izlediğimiz yöntem örneklerle açıklamak olduğuna göre ne duruyoruz hemen örneklere geçelim

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Akış Kontrol Mekanizmaları

Bilgisayar Programı Nedir?

BİLGİSAYAR PROGRAMLAMA DERSİ

GEO103 BİLGİSAYAR PROGRAMLAMA

BLG 1306 Temel Bilgisayar Programlama

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

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

Algoritma ve Akış Diyagramları

BİL-142 Bilgisayar Programlama II

Transkript:

EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama dilini etkin bir şekilde kullanmak Nesneye yönelik programlamaya başlangıç 1

Donanım + Yazılım Elektronik Tasarım Elektronik Tasarım Genel Amaçlı Devre (General Purpose Computing) Özel amaçlı devre Örn: Application Specific Integrated Circuit (ASIC) 2

Elektronik Tasarım Genel Amaçlı Devre (General Purpose Computing) Özel amaçlı devre Örn: Application Specific Integrated Circuit (ASIC) a b (donanım) c=(a+b)/2 Elektronik Tasarım Genel Amaçlı Devre (General Purpose Computing) Özel amaçlı devre Örn: Application Specific Integrated Circuit (ASIC) a b Mikro işlemci (donanım) c a b (donanım) c=(a+b)/2 3

Elektronik Tasarım Genel Amaçlı Devre (General Purpose Computing) Özel amaçlı devre Örn: Application Specific Integrated Circuit (ASIC) a b Mikro işlemci (donanım) c a b (donanım) c=(a+b)/2 (yazılım) a,b :giriş c: çıkış c=(a+b)/2 Elektronik Tasarım Genel Amaçlı Devre (General Purpose Computing) Özel amaçlı devre Örn: Application Specific Integrated Circuit (ASIC) a b Mikro işlemci (donanım) (yazılım) c a b (donanım) em221 222 em212 315 316 em204 c=(a+b)/2 a,b :giriş c: çıkış c=(a+b)/2 em205 em345 308 4

YAZILIM Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle, var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı programlar bütünüdür. Örnek; Microsoft Word 2010 Pes 2013 Windows 7 Matlab Problem? İhtiyaçlar Girdiler İstenen çıktılar Yazılım geliştirme modeli Yöntem (Algoritma) Geliştirme Program Yazma (Kod yazma) Hata ayıklama Çalışan program Bakım/ Güncelleme 5

Problem? İhtiyaçlar Girdiler İstenen çıktılar Yazılım geliştirme modeli Yöntem (Algoritma) Geliştirme Kağıt/Kalem Program Yazma (Kod yazma) Hata ayıklama Çalışan program Bakım/ Güncelleme Problem? İhtiyaçlar Girdiler İstenen çıktılar Yazılım geliştirme modeli Yöntem (Algoritma) Geliştirme Kağıt/Kalem Program Yazma (Kod yazma) PC Hata ayıklama Çalışan program Bakım/ Güncelleme 6

Algoritma Algoritma, bir problemi çözmek için uygulanması gereken sonlu sayıda adımın net ve sıralı bir şekilde ifadesidir Başka bir deyişle; algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Özellikler: Her işlem net olmalı ve farklı anlamlar içermemeli. Her durumda algoritma sonlu adımda bitmeli. En az bir çıkış üretmeli (giriş olmayabilir) İki sayının toplamını ekrana yazan algoritma; 1. 2. A sayısını oku 3. B sayısını oku 4. TOPLAM=A + B işlemini yap 5. TOPLAM değerini ekrana yaz 6. Klavyeden girilen iki sayıdan büyük olanından küçük olanını çıkarıp sonucu ekrana yazan algoritma, 1. 2. A sayısını oku 3. B sayısını oku 4. a. Eğer A büyüktür B; UC=A B b. Değilse; UC=B A E. UC değerini ekrana yaz F. 7

Klavyeden girilen bir N sayısının faktöriyelini ekrana yazan algoritma, 1. 2. N OKU 3. F=1 4. X=2 5. F=F*X 6. X=X+1 7. EĞER X<=N İSE 5. ADIMA GİT 8. F YAZ 9. Kullanılan tüm değişkenlerin bir görevi olmalı Algoritmaların ifade edilmesi 1. Akış Diyagramı (Flow Chart) 2. Sözde Kode (Pseudo Code) 8

Akış Diyagramı (Flow Chart) Akış diyagramları algoritmaların şematik olarak gösterilme şeklidir. Akış şemalarında yaygın olarak kullanılan semboller aşağıdaki gibidir. Başla/Bitir İşlem (process) Akış şemasının komutlarının başlangıç ve bitiş gösterimi Yapılması istenen işlemler Karar Bazı kararlara bağlı olarak farklı yolların izleneceği durumlar Giriş Veri girişinin klavyeden olacağını gösterir. Çıkış Ekranda değer yazdırma. A B TOPLAM A+B TOPLAM 1. 2. A sayısını oku 3. B sayısını oku 4. TOPLAM=A + B işlemini yap 5. TOPLAM değerini ekrana yaz 6. 9

A, B Yanlış UC B A A > B UC Doğru UC A B 1. 2. A sayısını oku 3. B sayısını oku 4. a. Eğer A büyüktür B; UC=A B b. Değilse; UC=B A E. UC değerini ekrana yaz F. N F 1, X 2 Doğru F F*X X X+1 X<=N Yanlış UC 1. 2. N OKU 3. F=1 4. X=2 5. F=F*X 6. X=X+1 7. EĞER X<=N İSE 5. ADIMA GİT 8. F YAZ 9. 10

1 den N e kadar tam sayıların toplamını bulan program. N in tek bir değeri için çalışır. 1 den N e kadar tam sayıların toplamını bulan program. Birden çok N değeri için çalışır, N=0 girildiğinde program sonlanır. 11

5 sayının ortalamasını hesaplayan program Kaç sayı olduğu önceden belli : for döngüsü için uygun 5 Ortalama hesaplayan program. Başlangıçta kaç sayı girileceği belli değil, negatif sayı girilene kadar okuyacak Döngünün sonlandırılışına dikkat ediniz. Kaç sayı olduğu önceden belli değil: while döngüsü 12

5 sayının en küçüğünü bulan program tüm sayıların 999 dan küçük olduğu varsayılıyor. sayia, sayib gecici sayia sayia sayib A ve B sayılarının değerlerini değiştiren program. Örn: A=3, B=8 iken A=8, B=3 olacak sayib gecici sayia, sayib A B, B A Yapılamaz. Neden? 13

A Girilen sayının Tek mi, Çift mi olduğuna karar veren program. TamSayı / TamSayı TamSayı Yanlış B A/2*2 A==B Doğru Örn: 10 / 4 2.5 10 / 4 = 2 tek çift A/2*2 2 yerine % (bölümünden kalan) operatörü kullanılmalı. A%2 = A nın2 ye bölümünden kalan Girilen sayının Onlar Basamağını bulan program. A B A/10 C B (B/10*10) C 14

i 0 i<10 E i i+1 D i 10 elemanlı bir dizinin elemanlarının toplamı.. H TOP 0 D i i=1, 2, N i 0 i i+1 i<10 E TOP TOP+D i H TOP a 1 b 1 i 0 Fibonacci serisi 1, 1, 2, 3, 5, 8, 13, 21 c a+b c a b b c i i+1 E i<10 H 15

D 0 1 D 1 1 Fibonacci serisi 1, 1, 2, 3, 5, 8, 13, 21 i 2 i<10 H E i i+1 D i D i 1 +D i 2 i 0 i<10 H E i i+1 D i Sözde (Pseudo) Kod Sözde kod, doğrudan konuşma dilinde ve programlama mantığı ğ altında, eğer, ğ iken gibi koşul kelimeleri ve > = < gibi ifadeler ile yazılır. İyi bir biçimde yazılmış, sözde koddan, programlama diline kolaylıkla geçilebilir. 16

Örnek: Verilen bir sıcaklık derecesine göre suyun durumunu belirten PseudoKod. 1. Program açıklama mesajı yaz. 2. Kullanıcın sıcaklığı girmesi için bir uyarı mesajı yaz. 3. Girilen Sıcaklığı Oku. 4. Durumu belirle Eğer Sıcaklık > 0 ise Eğer Sıcaklık>= 100 ise Durum = Buhar Değilse Durum = Su Değilse Durum= Buz 5. Sonucu (Durum) Yaz 17