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

Benzer belgeler
Algoritmanın Hazırlanması

Bilgisayar Programı Nedir?

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

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

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

Dr. Musa KILIÇ Öğretim Görevlisi

Algoritmalar ve Programlama. Algoritma

Bilgisayar Programlama. Giriş

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


Algoritma ve Akış Diyagramları

Genel Programlama I

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

BÖLÜM 2: ALGORİTMALAR

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

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

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

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

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 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.

PROGRAMLAMA TEMELLERİ

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

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

BLG 1306 Temel Bilgisayar Programlama

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

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

Algoritma kelimesinin kökeni:

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

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Algoritma ve Akış Diyagramları

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

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

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

Algoritma ve Programlamaya Giriş

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

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

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

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BÖLÜM 3: AKIŞ DİYAGRAMLARI

Bilgisayarda Programlama. Temel Kavramlar

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

5. PROGRAMLA DİLLERİ. 5.1 Giriş

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

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

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

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

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

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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İŞ (Algoritma Geliştirmek, Satır Kod)

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Đ

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

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

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

ELKE315-ELKH315 Introduction to Control Systems FINAL January 2, 2016 Time required: 1.5 Hours

Programlama Dilinin Özellikleri

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

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

C++ Dilinde Bazı Temel Algoritmalar

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

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

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

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.

Pascal Programlama Dili

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Algoritma ve Akış Şemaları

BTP 209 SİSTEM ANALİZİ VE TASARIMI

Bilgisayar II Dersi. Bölüm-2

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Hafta 4 Döngü Yapıları

1.1. Yazılım Geliştirme Süreci

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

Algoritma ve Akış Şemaları

Yazılım Mühendisliği 1

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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.

Ünite 01 Algoritma Geliştirme

ÖRNEK ALGORİTMA VE AKIŞ ŞEMALARI. Örnek 1: Klavyeden girilen 2 sayının toplamını bulan programın algoritma ve akış şemasını yapınız.

ALGORİTMA VE PROGRAMLAMA I

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

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

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

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

Ünite-3 Bilgisayar Yazılımı.

Transkript:

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

Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya bir kısmı. Programlama Dilleri Üst Düzey Diller Orta Düzey Diller Alt Düzey Diller Access Foxpro Paradox Xbase Visual Basic Oracle Forms Fortran Pascal Basic Cobol C ADA Assembly 2

Program Felsefesi Bilgisayar iki amaç için kullanılır. Hesaplamak Depolamak Kullanılan bilgisayar dili ne olursa olsun bir program; oluşur. Kullanıcı ile irtibatı sağlayan mesajlardan, Bazı sabit değerlerden, İşlenen verileri içeren hafıza parçacıklarından (Değişken) Aritmetik, kıyaslama, atama, mantıksal gibi işlemlerden, Kullanılan dile ait tanım ve komutlardan, Birtakım noktalama işaretlerinden 3

Yapısal Programlama Yapısal programlama (Stractured Programming) modelinde program mantıksal bütünlük gösteren bloklara (bölümlere) ayrılmıştır ve bu bölümlerde daha alt bölümlere ayrılabilir. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır. Program Fonksiyon Alt Fonksiyon Fonksiyon Fonksiyon Gövde Blok: Belirli bir işlev için bir araya getirilmiş bir veya birden fazla komut cümlesinin oluşturduğu program parçasıdır Yapısal programlama modelinde veriler, fonksiyonlar ve alt fonksiyonlar tarafından yönetilir. Bazı veriler global düzeyde tüm fonksiyonlarda kullanılırken, lokal veriler fonksiyonlar tarafından kullanılmaktadır. Bu yöntemde programcılar ihtiyaçları karşılamak ve görevleri yerine getirmek için fonksiyon tasarlarlar ve bu fonksiyonlarda verileri yönetir. Yapısal programlama dillerinin en büyük özelliği oldukça düzenli ve okunabilir olmalarıdır. Yapısal dil ile yazılmış bir program incelendiğinde, programın ana bileşenleri görülebilir ve birbirlerinden kolayca ayırt edilebilir durumdadır. Program üzerindeki yeni düzenlemelerin çok kolay yapılabilmesi, bu özellin getirdiği önemli bir avantajdır 4

Problem Çözme Teknikleri Problemin ne olduğunu iyi anlamak Nasıl çözüleceğine karar vermek, Mümkün olduğu kadar küçük parçalara ayırmak Kolaydan başlayıp karmaşık olana doğru gitmek Çözüm adımlarını belirlemek Problem Algoritma Akış Şeması Program Karar Tablosu Bilgiler Bilgisayar Sonuç 5

Yazılım Geliştirme Aşamaları Her programın amacı verileri işlemektir. Bu işlem sonucunda bir veri alınır. Yazılım geliştirme aşamaları; 1. Analiz Problemin tam olarak ne olduğunun anlaşılması, Çözümden neler beklendiği, Çözümün girdi ve çıktılarının neler olduğu, 2. Tasarım Problemi çözecek mantıksal (lojik) adımlar zincirini bulmak. Algoritma bu adımlar zincirine denir. Her detay, her adım algoritmalarda gösterilmelidir. 6

Yazılım Geliştirme Aşamaları 3. Kodlama Algoritması oluşturulan problem programlama diline uygun olarak kodlanır. 4. Test ve Düzeltme Hataları tespit etme ve ortadan kaldırma Doğru Elde Edilen Sonuçlar Yanlış Program çalışıyor Program düzeltilir 7

Algoritma Kurma Belli bir sonucu elde etmenin yöntemini tarif eden kural veya basamaklar kümesine algoritma denir. Her algoritma aşağıdaki kriterleri sağlamalıdır. 1. 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. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. 8

Algoritma Algoritmalar programlama dillerinden bağımsızdır. Aynı algoritma farklı dillerde uygulanabilir. Bu nedenle algoritmalar 1. Sözde kod (Pseudocode) ve 2. Akış diyagramları ile anlatılır. Pseudocode: Algoritma adımlarının programlama diline benzeyen bir şekilde, ancak günlük dil ile anlatılması. SORU : Verilen iki sayının toplamını bulan algoritmayı yazınız? 9

Algoritma ÖRNEK : Verilen iki sayının toplamının bulunmasının algoritması (Pseudocode) Algoritma Adım 1- Başla Adım 2- Birinci sayıyı oku Adım 3- İkinci sayıyı oku Adım 4- İki sayıyı topla Adım 5- Dur 10

Akış Diyagramları Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı algoritmanın,görsel olarak simge ya da sembollerle ifade edilmiş şekline "akış şemaları" adı verilir. Akış şemalarının sözde kodlardan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir Akış şemaları, problemin çözüm sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve programın kodlanmasının kolaylaştırılması için yapılır. Yazılacak programlar için önce programın ana adımlarını (bölümlerini) gösteren genel bir bakış akış şeması hazırlanır.daha sonra her adım için ayrıntılı akış şemalarının çizimi yapılır. 11

Akış Diyagramları Akış diyagramları problemin şekillerle ifade edilmesidir. Bunun için kullanılan standart şekiller olmasına rağmen, aynı işi yapan farklı şekillerde kullanılabilir. Aşağıda en çok kullanılan akış diyagramları/şekilleri verilmiştir. Başla/Bitir Başla/Bitir: Algoritmanın başladığını ya da sona erdiğini belirtmek için kullanılır. Döngü Döngü: Program akışında bir döngü var ise bu sembol kullanılır. İşlem İşlem: Algoritmadaki hesaplama ve atama işlemleri için kullanılır. Belge Belge: Bilgi çıkışını ve bilginin kullanıcıya yansıtılacağını ifade eder. Veri Veri: Programa bir veri girişi yada programdan bir veri çıkışı yapılacağını gösterir. Referans Referans: Akış diyagramının farklı bir noktasına bağlantıyı gösterir. Karar Karar: Aritmetik ve mantıksal ifadeleri karşılaştırmada ve istenen şartlara göre program akışını yönlendirmede kullanılır. Bağlayıcı Sayfa dışı bağlayıcı: Bir sayfaya sığmayan akış diyagramının başka bir sayfadaki noktasına bağlantıyı belirtir. Akış yönü Oklar: Programdaki adımların akış yönünü gösterir. 12

Akış Diyagramları Değişkenler: S1: Birinci sayıyı, S2: İkinci sayıyı, T: Toplamı, T2: Toplamın karesini, T3: Toplamın küpünü gösterir. Pseudocode: 1. Başla 2. S1 ve S2 değerini gir 3. S1 ve S2 yi oku 4. T=S1+S2 5. T2=T^2 6. T3=T^3 7. T2,T3 üyaz 8. DUR İki sayının toplamlarının karesini ve küpününü hesaplama Başla S1 ve S2 gir S1 ve S2 oku T=S1+S2 T2=T^2 T3=T^3 T2, T3 Bitiş 13

Akış Diyagramları Değişkenler: T: Toplamı, i: sayıları gösterir. 1'den 100'e kadar olan sayıların toplamının bulunması Başla T=0 i=1 Pseudocode: T=T+i 1. Başla. 2. Başlangıçta T'nin değeri 0 ve i'nin değeri 1 olsun. 3. i'nin değerini T'ye ekle. 4. i'nin değerini 1 arttır. 5. Eğer i'nin değeri 100'den büyük değil ise 3. adıma git. 6. T'nin değerini yaz. i++ i<100 H T=i E Bitiş 14

Akış Diyagramları Başla n değeri gir n oku F=1 Akış diyagramı: Bir n sayısının faktöriyelini bulma. (n! = 1 * 2 * 3 * * n) Pseudocode: 1. Kullanıcıya n yi girmesini söyle 2. n değerini oku 3. F=1 4. n >1 olduğu sürece tekrarla F=F*n n= n-1 E n>1 F=F*n 5. F değerini yaz H n!= F n=n-1 Bitiş 15

Başla A, B, C Akış diyagramı: Ax 2 +Bx+C=0 denkleminin köklerini bulan ve Köklerin sanal olması durumunda kökler sanaldır ifadesini veren program. D=B 2-4*A*C D<0 E kökler sanal H E D=0 x=-b/2*a Bitiş kökler eşit x x1, x2 x1=(-b+ D)/(2*A) Bitiş Bitiş x2=(-b- D)/(2*A) 18