Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.

Slides:



Advertisements
Benzer bir sunumlar
BİLGİSAYAR PROGRAMLAMA Ders 2: Algoritma ve Akış Şemaları
Advertisements

Hat Dengeleme.
SAYISAL DEVRELER BÖLÜM-2 Sayı Sistemleri ve Kodlar
PROGRAMLAMA ve YAZILIM Sayısal Analiz Yrd.Doç.Dr. Zekeriya PARLAK.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
BÖLÜM 4 PROGRAMLAMA DİLLERİ. PROGRAMLAMA DİLLERİNDE KULLANILAN VERİ TİPLERİ Bilgisayarda işlenen veriler iki türdür: Sayısal Alfasayısal.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
Cihan Toprak Begüm Kökçü.  Planlama aşamasında, projenin hedeflerini gerçekleştirmek için uygulanabilir bir plan yapılır. Bunu yapmak için, projenin.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
1. Ders Bir, İki ve Üç Yazarlı Eserlerin Kataloglanması Prof. Dr. Bülent Yılmaz Arş. Gör. Tolga Çakmak.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
BSE 207 Mantık Devreleri Sayı sistemleri Sakarya Üniversitesi.
O R T L G İ M A A Ve Problem çözme.
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Grafik ve Animasyon-II FLASH CS5 Öğr.Gör. Onur BULUT.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR PROGRAMLAMA DERSİ
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
İÇİNDEKİLER NEGATİF ÜS ÜSSÜ SAYILARIN ÖZELLİKLERİ
Presentation and Explaing Method 8.Sınıf
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Donanım ve Sistem Yazılımı
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
PROGRAMLAMA TEMELLERİ
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Ünite 9: Korelasyon Öğr. Elemanı: Dr. M. Cumhur AKBULUT.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
İleri Algoritma Analizi
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
Teknolojİ ve tasarIm dersİ
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
GELECEK PİYASASI İŞLEMLERİ
STORAGE BÜŞRA KARADENİZ
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ
KÜMELER HAZIRLAYAN : SELİM ACAR
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
PROBLEM ÇÖZME VE ALGORİTMALAR
Bilgisayar Programlama
İSTATİSTİK Yrd. Doç. Dr. Cumhur TÜRK
Bilgisayar Mühendisliğine Giriş
3.hafta METODLAR.
PARAMETRİK HİPOTEZ TESTLERİ
Bölüm 7 İfadeler ve atamalar.
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
NİŞANTAŞI ÜNİVERSİTESİ
MİKROİŞLEMCİLER VE MİKROBİLGİSAYARLAR
NİŞANTAŞI ÜNİVERSİTESİ
Doğrusal Mantık Yapısı İle Problem Çözme
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Bilimi Koşullu Durumlar.
Sonlu Özdevinirlere Giriş
Bilgisayar II 8 Mart Mart
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Değerler ve Değişkenler
İşlemciler.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Hata ayıklama da denilen programlama hatalarını bulma ve düzelme işlemine ne denir? a) Veri b) Yazılım c) Bug d) Debugging e) Donanım.
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
İleri Algoritma Analizi
Sunum transkripti:

Algoritma

 Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.  Algoritma, işlemleri yaptırabilmek (problemleri çözdürebilmek, kontrolleri gerçekleştirebilmek vb.) için bilgisayara öğretilen/iletilen işlem basamaklarıdır.  Bilgisayarın bir problemi çözerken hangi ve neredeki giriş değerlerini alacağı, bunları işlerken ne tür yöntemleri kullanacağı, ne tür sonuçlar üreteceği ve bu sonuçları nerede göstereceği veya saklayacağı vb. adımların hepsi, hazırlanan algoritmanın herhangi bir programlama dilinin kurallarına uygun olarak yazılmış komutlarıyla (programlarla) bilgisayara iletilir.

Program Yazma Adımları  Problem / iş iyice irdelenir / incelenir (analiz edilir).  Çözüm yolları ortaya konularak programlamaya en uygun (en az komutla, en kısa sürede, en doğru-hassas sonuç veren) çözüm yolu seçilir / belirlenir.  Programın algoritması hazırlanır veya akış diyagramı çizilir.  Algoritma veya akış diyagramı, programcının bildiği veya tercih ettiği bir programlama diliyle kodlanır.  Program, kodlandığı editörde çalıştırılarak yazım hataları düzeltilir.  Bilinen giriş-çıkış değerleriyle programın doğru çalışıp çalışmadığı test edilir (doğrulama yapılır).

Algoritma Gösterim Şekilleri  Algoritmalar genel olarak 3 şekilde ifade gösterilebilir:  Metin olarak yazım: Problemin çözüm adımları, düz metin olarak açık cümlelerle ifade edilir.  Sözde kodlarla (pseudocode) yazım: Problemin çözüm adımları komut benzeri anlaşılır metinlerle ifade edilir.  Akış diyagramının çizilmesi: Problemin çözüm adımları, geometrik şekillerle gösterilebilir.

Veri nedir?  Bilgisayarlarda işlenen tüm bilgiler «veri» olarak adlandırılır ve genel olarak 2 gruba ayrılır: sayısal ve alfasayısal.  Sayısal veriler: Sayısal ağırlığı (değeri) olan verilerdir. Tamsayılar, ondalıklı sayılar vb. bu gruptadır. Bilgisayara belirli bir tabanda veya üstel (sayı E üs gibi) biçimde aktarılabilirler.  Alfasayısal veriler: Herhangi bir sayısal değeri olmayan verilerdir. Bu grupta karakterler (harfler, simgeler, rakamlar) ve karakter dizileri yer alır.  Programlarda ya da algoritmalarda sayısal veriler doğrudan, alfasayısal veriler ise tek ya da çift tırnak içinde gösterilir.

Değişken nedir?  Programın her çalıştırılmasında, farklı değerler alabilen / aktarılabilen bellek / veri / bilgi alanları «değişken» olarak adlandırılır.  Değişken isimlerinin yerini tuttukları / aldıkları verilere çağrışım yapacak şekilde olması program anlaşılırlığı açısından önemlidir. Örneğin ad ve soyad tutan bir değişken ‘ AdSoy ’ şeklinde olabilir. 1.Başla 2.Birinci sayıyı ( A ) gir 3.İkinci sayıyı ( B ) gir 4.C=A+B işlemini yap 5.Sonucu ( C ) yazdır 6.Dur 1.Başla 2.Öğrencinin numarasını ( No ) gir 3.Öğrencinin adını ve soyadını ( AdSoy ) gir 4.Öğrencinin vize notunu ( Vize ) gir 5.Öğrencinin final notunu ( Final ) gir 6.Ort = 0.3 * Vize * Final 7.Numara ( No ) ve ortalamayı ( Ort ) yaz 8.Dur

Sabit nedir?  Bilim / uygulama alanlarına ait birçok sabit (π sayısı, doğal logaritma tabanı e sayısı gibi) bulunmaktadır.  Programlarda değeri değişmeyen veriler (veri alanları) «sabit» olarak adlandırılır. 1.Başla 2.pi_sayisi = Dairenin yarıçapını (r) gir 4.cevre = 2 * pi_sayisi * r 5.alan = pi_sayisi * (r ^ 2) 6.Çevre (cevre) ve alanı (alan) yaz 7.Dur

Değer atama / aktarma nedir?  Herhangi bir veri alanına, bilgi yazma; herhangi bir işlemin veya ifadenin sonucunu başka bir değişkende gösterme vb. görevlerde «atama» veya «aktarma» operatörü kullanılır. degişken = ifade  İfade kısmı matematiksel, mantıksal veya alfasayısal ifade olabilir.  = atama veya aktarma operatörü olarak adlandırılır ve sağdaki ifadenin ya da işlemin sonucunu soldakine aktarır.  Atama / aktarma işleminden sonra değişkenin varsa bir önceki değeri silinir.

Örnek Atama İşlemi 1.Başla 2.T = 0 3.Bir sayı (A) gir 4.T = T + A işlemini yap 5.Başka bir sayı (B) gir 6.T = T + B işlemini yap 7.Başka bir sayı (C) gir 8.T = T + C işlemini yap 9.Yaz T 10.Dur İşlem SırasıABCEski TYeni T = = =12 T=12

Sayaç nedir?  Programlarda bazı işlemlerin belirli sayıda yapılması veya işlenen / üretilen değerlerin sayılması gerekebilir.  Bu tür sayma işlemlerine algoritmada «sayaç» adı verilir. sayaç_değişkeni = sayaç_değişkeni ± adım 1.Başla 2.S = 0 3.Eğer S>4 ise git 7 4.S = S Yaz S 6.Git 3 7.Dur

Döngü nedir?  Programların içinde bazı işlemler belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yapılmaktadır.  Programlardaki belirli işlem bloklarını (kod parçalarını) aynı veya farklı değerlerle, verilen sayıda gerçekleştiren çevrim yapılarına «döngü» adı verilir.  Bir döngü oluşturmak için şu adımlar izlenir;  Döngü değişkenine başlangıç değeri verilir.  Döngünün artma veya azalma miktarı belirlenir.  Döngünün bitiş değeri belirlenir.  Eğer döngü, karar/karşılaştırma ifadeleriyle oluşturuluyorsa; döngü değişkeni, döngü içinde adım miktarı kadar arttırılmalı/azaltılmalıdır.

Döngü Örneği  1-10 arası tek sayıların toplamını hesaplama 1.Başla 2.T = 0 3.J = 1 4.Eğer J > 10 ise git 8 5.T = T + J 6.J = J Git 4 8.Yaz T 9.Dur Eski JEski TYeni TYeni J 100+1= = = = =

Algoritma Kullanmanın Avantajları  Program yazmayı kolaylaştırır.  Hatalı kodlama oranını azaltır.  Program yazımı için geçen süreyi kısaltır.  İşlem akışını açık bir şekilde gösterdiğinden program kontrolünü ve hata takibini kolaylaştırır.  Sonradan yapılacak düzenlemelerde kolaylık sağlar.