EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA



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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Bilgisayar Programlama / Bahar

BTP 209 SİSTEM ANALİZİ VE TASARIMI

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

Yrd. Doç. Dr. Fatih YÜCALAR YZM Celal Bayar Üniversitesi Teknoloji Fakültesi

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Algoritmanın Hazırlanması

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

Dr. Musa KILIÇ Öğretim Görevlisi

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

Algoritma ve Akış Diyagramları

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

Algoritmalar ve Programlama. Algoritma

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

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

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

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

BLG 1306 Temel Bilgisayar Programlama

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Algoritma ve Akış Diyagramları

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

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

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

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

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

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

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

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

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

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

BEYKENT ÜNİVERSİTESİ - DERS İZLENCESİ - Sürüm 2. Öğretim planındaki AKTS


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

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

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.

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BLG 1306 Temel Bilgisayar Programlama

4- ALGORİTMA (ALGORITHM)

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

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

PROGRAMLAMA DİLLERİ 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.

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:

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Algoritma ve Akış Şemaları

İÇ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İTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

Yazılım Mühendisliği 1

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

ALGORİTMA VE AKIŞ ŞEMALARI

Algoritma ve Akış Şemaları

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

Algoritma ve Programlamaya Giriş

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

ALGORİTMA VE PROGRAMLAMA I DERS#1

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

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

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

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

DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50

BÖLÜM 2: ALGORİTMALAR

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

Algoritma kelimesinin kökeni:

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

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

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

1. PROGRAMLAMAYA GİRİŞ

Program AkıĢ Kontrol Yapıları

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

Hafta 4 Döngü Yapıları

Matris İşlemleri Uygulaması


Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

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

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

Bilgisayar Programlama. 1.Hafta

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1202

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

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

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

C++ Dilinde Bazı Temel Algoritmalar

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

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


3. Bölüm Algoritmalar

Bilgisayar Programlama I (COMPE 113) Ders Detayları

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

Transkript:

3. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu

PROBLEM ÇÖZME (PROBLEM SOLVING) nereden başlamalı?

Bilgisayar, sadece programcının kendisine söylediği şeyi nasıl yapacağını bilir. Bundan dolayı programcı bilgisayara problemi nasıl çözeceğini bildirmelidir.

Bilgisayara nasıl iş yaptıracak, nasıl iletişim kuracaksınız? Bir Program ile. Bilgisayarlar program olmadan çalışmazlar. Bilgisayarın dili makine dilidir. Onunla makine mantığı ile iletişim kurabiliriz. Bu da algoritma (talimat, rutin, reçete) ile olur.

Program yazma, çözülmüş bir problemin bir bilgisayar dili ile kodlarını yazmaktır (coding). Bu, en son iştir. Kodlamadan önce algoritma yazılmalıdır.

Problem çözme sırası (Problem Solving Cycle) 1. Problemi anlama (Understanding, Analyzing), 2. Bir çözüm yolu geliştirme (Designing), 3. Algoritma ve program yazma (Writing), 4. Tekrar tekrar test etme (Reviewing) Polya, George (1957) How To Solve It, Princeton University Press, 2 nd Edition

Problem Çözmenin Adımları (Steps in Solving a Problem) 1. İstenenler analizi (Requirements Analysis): Problemi bütün boyutları ile tanıma ve ne yapılması istendiğini net olarak anlama, problem çözülebilir mi? 2. Çözüm yolu bulma (Design): Bir çözüm yolu geliştirme ve algoritmasını yazma. 3. Uygulama (Implementation): Çözüm algoritmasını uygun bir program diline çevirme 4. Test etme, hatalardan ayıklama, kurma ve bakımını yapma (Testing, debugging, installing and maintenance)

Sonunda ne elde etmek istiyorsun (Çıktı-Output) Elinde hangi ham veriler var (Girdi- Input) Girdileri istediğin Çıktıya dönüştürecek işlemi (process) belirle Örnek: 2 saatte 190 km yol alan arabanın ortalama hızı nedir? Output: saatte ortalama hız Input: gidilen mesafe ve süre Process: orthız = mesafe/süre

Problem çözme olgusunun grafiksel gösterimi Girdi (Input) İşlem (Processing) Çıktı (Output) Girdi-İşlem-Çıktı türüne en iyi örnekler yemek tarifleridir. Malzemeler ve miktarları, hazırlama - pişirme ve sonuda istenen yemek! Monopoly oyununda zar attıkça sizi yönlendiren talimatlar (2 tur bekle, para öde, 5 geri, 3 ileri git vs birer algoritmadır.

Algoritma (el-harizmi tekniği - Algorithm) Bir problemiz çözerken adım adım işlemler yapma (örneğin yemek yaparken) Doğru çözüm için doğru sırada atılması gereken adımlar Başlangıç ve bitişi belli Sınırlı sayıda adım. Ne kadar uzun olursa olsun mutlaka bir sonu olmalı. Her adımda yapılacak işlemler açık ve kesin olmalı El-Harizmi. Kitab el-cebr ve l-mukabele (Cebir denklemlerini çözmenin kuralları)

Algoritma Algoritma sadece bilgisayar programlamada kullanılmaz. Bir fabrika üretiminin algoritması, bir büro çalışma düzeninin algoritması, bir planlı gezinin algoritması...

Algoritmaları bilgisayar programına çeviren üç teknik vardır: Bunlar, kullanılacak programlama diline bağlı değildir. Akış diyagramı (Flowcharts)- Bir işi yapan mantıksal adımları ve adımlar arası geçişlerin grafiksel gösterimi. Satır algoritma (Pseudocode) Programın ana hatlarını ve adımlarını gösteren kısa komutlar. Sıradüzeni grafiği (Hierarchy charts) - Programın farklı parçalarının birbirleriyle ilişkilerini gösterir. Hiyerarşi kartlarına aynı zamanda yapı kartları HIPO (Hierarchy plus Input-Process-Output) kartları Yukarıdan aşağı kartlar VTOC (Visual Table of Contents) kartları da denir.

Akış diyagramı işaretleri (Flowchart symbols) Başlama / Bitirme Başlama / Bitirme Bağlantı Ekrana Yazma (YAZ) Aritmetik, mantık işlemi Şart - KararVerme Döngü Klavyeden veri girişi (OKU/GİR) Gidiş yönü Bunların dışında örneğin bilgisayar sisteminin işletilmesi için farklı akış işaretleri de kullanılmaktadır

Böl ve Yönet Metodu (Divide-and-conquer) Çok büyük problemleri parçalara ayırarak daha kolay çözeriz. Çözülecek kadar küçülttüğün parçaları mantıklı bir sıraya koy. Her parçayı ayrı modüller olarak çöz ve birbirine bağla (entegre olsun)

İfade yapıları (Statement structure) Sıralı (Sequence) yapılar işlem hiç satır atlamadan doğrusal bir sıra ile olur Karar (Decision) yapıları İçinde evet - hayır soruları soran ve cevaba göre farklı yönde farklı işlem yapan yapılar Döngü (Looping) yapıları Bir şart gerçekleşinceye kadar tekrar tekrar yapılan işlemler Koşulsuz atlama (GOTO Programın bir yerinden başka satıra atlama unconditional branch. Bu yapısal programlamada yok.

Başla Hayır Eğer şart doğru ise Evet İki sayı al Sayıları topla Input İşlem 2.işlem adımları 1.işlem adımları Ekrana yaz Output Eğer şart doğru ise Hayır Evet Bitir İşlem adımları

Akış diyagramı Bir sayının çift mi tek mi olduğu Hayır 2.işlem adımları Başla İki sayı al Sayı çift mi? Evet 1.işlem adımları Pseudocode Program: Girilen iki sayının tek ve çift olduğunu belirleyip yazma Sayıları al Eğer sayı tek ise Tek yaz Yoksa (sayı çift ise) Çift End If Bitiş

Genel öğütler Akış diyagramlarının hazırlanması zaman alıcı ve güncellenmesi zordur. Programlama eğitiminde mantıksal akışı vermekte kullanılır, ama profesyonel programcılar sözde kodlama ve hiyerarşi kartlarını tercih ederler. Gerçek kodları yazmadan önce taslak sözde kodlarla oluşturulur. Ayrıntılara girilmeden, her programlama diline uygun bir yazımdır. Mesela Input Miles Kilometers = Miles * 1.609 Output Kilometers

Teşekkür Ederim Sağlıklı ve mutlu bir hafta geçirmeniz temennisiyle, iyi çalışmalar dilerim EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu 5