C++ Dilinde Bazı Temel Algoritmalar

Benzer belgeler
C++ Dilinde Bazı Temel Algoritmalar

Algoritma ve Akış Şemaları

2. Dereceden Denklemin Köklerini Bulan Program

Akış Şeması (Flowchart) nedir? C Programlamaya giriş için yol haritası

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

Algoritmalar ve Programlama. Algoritma

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

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

Algoritma ve Programlamaya Giriş

Programlama Dillerinin Tarihçesi

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) 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.

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

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

YZM 2105 Nesneye Yönelik Programlama

C de Detaylı Üs Alma Programı

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.

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Đ

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

BLG 1306 Temel Bilgisayar Programlama

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

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

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

SAYILAR DOĞAL VE TAM SAYILAR

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

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

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


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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Algoritma ve Akış Diyagramları

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

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

Algoritma ve Akış Diyagramları

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

Algoritmanın Hazırlanması

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

Görsel Programlama 1

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

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

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

C SHARP UYGULAMA ÇALIŞMASI

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Dr. Musa KILIÇ Öğretim Görevlisi

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?

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

Döngüsel Akış Diagramı Algoritmaları

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

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

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

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:

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

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

BÖLÜM 2: ALGORİTMALAR

PROGRAMLAMA DİLLERİ I

BİLGİSAYAR PROGRAMLAMA DERSİ

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

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

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Veri Yapıları Laboratuvarı

Basit Algoritma Akış Diagramı Örnekleri

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

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

Genel Programlama I

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

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

Algoritma kelimesinin kökeni:

Bilgisayar II Dersi. Bölüm-2

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Viyana İmam Hatip Lisesi Öğrenci Seçme Sınavı - Matematik


C Programlama Dilininin Basit Yapıları

TABAN ARĠTMETĠĞĠ. ÇÖZÜM (324) 5 = = = = 89 bulunur. Doğru Seçenek C dir.

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

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

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

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

ALGORİTMA VE PROGRAMLAMA I

Bilgisayar Programlama. Giriş

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

13.Konu Reel sayılar

ARDIŞIK SAYILAR. lab2_pc32 BERRIN_ESMA_OZGE

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

Giris {\} /\ Suhap SAHIN Onur GÖK

Transkript:

C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım tablosu yapan programa kadar karşımıza çok sık çıkan bazı algoritmalardan bahsedeceğiz. Önce akış şeması ile programın algoritmasını ardından C++ kodunu ve en son olarak programın ekran çıktısını vereceğiz. Tek-Çift Sayı Bulma Girilen bir sayının tek veya çift olduğuna dair karar vermenin en basit yolu sayıyı 2 ye bölmek ve bölümden kalan sayının 0 a eşit olup olmadığına bakmaktır. Yani sayının 2 ye göre modunu aldığımızda sonuç 0 ise sayı çift eğer değilse tektir. Şimdi algoritmayı akış şeması ile gösterelim [crayon-59e4e45eddd03556054290/]

Tam Bölünebilirliği Ölçme Bu algoritmanın amacı kullanıcıdan alınan 2 sayıdan ilk sayının ikinci sayıya tam bölünüp bölünmediğine karar vermektir. Bu algoritmada da mod kavramını kullanacağız. Yani ilk sayı ikinci sayıya tam bölünürse mod=0 olacaktır. [crayon-59e4e45eddd1b537700158/]

Çarpım Tablosu Yazdırma Çarpım tablosunda 1 den 10 a kadar tüm sayıları sırasıyla birbirleri ile çarpıp ekrana yazacağız. Önce x=1 yazılır 1 den 10 a kadar olan y değerleri ile çarpılır. Bu şekilde x tek tek arttırılarak x=10 olana kadar devam eder. Bunun için iç içe for döngüsü kullanacağız.

[crayon-59e4e45eddd26155935751/]

En Büyük Sayı Bulma Kullanıcının girdiği N kadar sayının en büyüğünü bulmak için en büyük sayıyı saklayacağımız enbuyuk isimli değişken bir de sayac tanımlamalıyız ve kullanıcıdan N adet sayı almalıyız. Daha sonra program girilen sayı ile daha önceki en büyük sayıyı karşılaştırır eğer yeni sayı daha büyükse yer değiştirir. Böylece en büyük sayı her zaman enbuyuk değişkeninde saklanmış olur. [crayon-59e4e45eddd2f262255343/]

Asal Sayı Belirleme Asal sayı demek 1 ve kendisinden başka sayıya bölünemeyen sayı demektir. Bir sayının asal olup olmadığını bulmak için sayıyı 1 ve kendisi hariç, kendisinden önceki tüm sayılara bölünüp bölünemeyeceğini kontrol etmeliyiz. Eğer sayı kendisinden önceki bir sayıya tam bölünürse sayımızın asal olmadığını anlarız.

[crayon-59e4e45eddd3d274366038/]

Rastgele Sayı Üretme Sayısal lotoda 1 den 49 a kadar 6 farklı sayı gereklidir. Bu algoritmada da kendi sayısal lotomuz için 1-49 arası birbirinden farklı 6 sayı üreteceğiz. C++ dilinde rastgele sayı üretmek için rand() ve her üretimde farklı sayı elde etmek için srand(time(null) ifadesini kullanacağız. time(null) kullanabilmek için <ctime> kütüphanesini eklememiz gerekiyor. [crayon-59e4e45eddd46430595618/] Üçgen Alanı Hesaplama Üçgenin alanını önce taban ile yüksekliği çarparız sonra sonucu ikiye bölerek buluruz. Yani formülümüz (a*h)/2 dir.

[crayon-59e4e45eddd50256682782/] Daire Alan Hesaplama İşlemleri Dairenin alanı pi sayısını verilen yarıçapın karesi ile çarparak bulunuz yani formülü pi*r*r dir. Eğer dairenin tamamı değilde bir diliminin alanı istenirse. O dilimin a açısına ihtiyaç vardır. Bu sefer alan formülümüz a*pi*r*r/360 olur.

[crayon-59e4e45eddd5c632704313/] Kombinasyon Hesaplama N elemanlı bir kümenin r li kombinasyonu C(n,r)n!/r!(n-r)! formülü ile hesaplanır. Burada bir kaç tane faktöriyel işlemi olduğu için gerektiğinde kullanmak üzere bir faktöriyel fonksiyonu yazmak faydalı olur.

[crayon-59e4e45eddd65027029194/] Fibonacci Sayı Serisini Yazdırma Fibonacci sayıları 0,1,1,2,3 şeklinde başlayarak her eleman önceki iki sayının toplamı olarak devam eder. Fibonacci dizisinin ilk N terimini yazdıran algoritma şu şekildedir:

[crayon-59e4e45eddd6d338576185/]

Girilen Kelimenin Tersten Yazılması Bu algoritmada string veri tipinin bize sunduğu dizi özelliği için dizinin elemanlarını sondan başak yazdıracağız.

[crayon-59e4e45eddd76900884641/] Herkese İyi Kodlamalar Hazırlayan: Ömer KOYUNCU Bu yazı Fahrettin Erdinç in Mühendislik Öğrencileri İçin Temel Kılavuz C / C++ adlı kitabı referans alınarak hazırlanmıştır. Kaynakça: ERDİNÇ Fahrettin, Mühendislik Öğrencileri İçin Temel Kılavuz C / C++, Abaküs Kitap, İstanbul, 2016

Algoritma ve Akış Şemaları Algoritma : Bir sorunu çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı düzenli mantıksal adımlara algoritma denir. Algoritma aslında bir işi optimum düzeye minimize ederek en iyi şekilde çalıştırmayıda amaçlar. Algoritmanın başlangıcı ve bitişi belli olmalıdır. Açık ve anlaşılır olmalıdır. Günlük yaşantımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Örneğin ; Algoritma Örneği 1 : /* Otobüse binme algoritması tasarlayınız. (BURDUR için) */ A1: Başla A2: Evden çıkmak için hazırlan A3: Evden çık A4: Durağa yürü A5: Durakta otobüsü bekle A6: Eğer otobüs durağa geldiyse bin değilse beklemeye devam et A7: Eğer kartında para var ise kartını okut değilse ücreti nakit olarak öde A8: Eğer etrafta boş yer varsa otur değilse ayakta bekle A9: Eğer otobüs durağa yaklaşırsa düğmeye bas değilse bekle A10: Eğer otobüs gideceğin durağa vardıysa in değilse ineceğin yere gitmesini bekle

A11: Otobüsten düğmeye bastığın kapıdan in A12: Bitir Algoritma Örneği 2 : /* iki sayının toplamını yapan algoritmayı tasarlayınız. */ A1: Başla A2: a,b,sonuc Oku A3: sonuc = a + b ; A4: sonuc u yaz A5: Bitir Algoritma Örneği 3 : /*Dışarıdan okunan iki sayıdan büyük olanının tek sayı mı, çift sayı mı olduğunu belirleyen bir işin algoritmasını tasarlayınız*/ A1:Başla A2:a,b Oku A3:Eğer a>b ise A4 git, Değilse A5 ya git A4:Eğer a%2==0 ise cift yaz, Değilse tek yaz A5:Eğer b%2==0 ise cift yaz, Değilse tek yaz A6:Bitir Algoritma Örneği 4 : /* Hesap makinesi algoritmasını tasarlayınız. */ A1: Başla A2: a,b,toplama,cikarma,bolme,carpma Oku

A3: toplama = a + b A4: cikarma = a b A5: carpma = a * b A6: bolme = a / b A7: toplama Yaz A8: cikarma Yaz A9: carpma Yaz A10: bolme Yaz A11: Bitir Algoritma Kriterleri: Etkinlik Anlaşılır, basit, kesin olmalı Sonluluk Başla bitiş noktası olmalı Kesinlik Aynı veri için her yeni çalıştırımda aynı sonucu vermeli Giriş/Çıkış Giriş / Çıkış değerleri olmalı Başarım/Performans Çalışma süresi az başarım ve performansı yüksek olmalı Algoritma 2 şekilde ifade edilir; 1. 2. Metin olarak Pseudo Code (Kaba Kod) olarak Sonuç olarak algoritmayı hayatımızın bir parçası olarak kullanmaktayız. Yaptığımız işler düzenli ve sıralı olarak mantık çerçevesinde yapmaktayız. Algoritmayı da tasarlarken amacınız basit, anlaşılabilir, düzenli, sıralı bir algoritma

yapmaktır. Akış Şeması Akış şemaları algoritmalarda verilen her adımın görsel olarak anlatılması amacıyla kullanılan yöntemlerden birisidir. Başla : Programın nereden başlayacağını belirtir. Dur/Bitir : Programın nerede sonlanacağını gösterir. Giriş Simgeleri : Klavye, kart okuyucu gibi birimler üzerinden program içerisine veri/bilgi aktarmak için kullanılır. Çeşitli giriş simgeleri vardır. Çıkış Simgeleri : Ekranda göstermek, yazıcıdan kağıda çıkış almak gibi işlemlerde kullanılır. İşlem Simgesi : Dikdörtgen şeklindeki simgenin içine yapılacak işlemler yazılır. Karşılaştırma Simgesi : Koşullu ifade simgesidir. Koşula göre farklı işlem yapılacağı zaman kullanılır. Simgenin içine koşul yazılır ve evet ve hayır olmak üzere 2 yöne dallanır. Döngü Simgesi : Belirli bir grup işin birden çok sayıda yinelenmesi gerektiğinde kullanılır. Yapılacak işlem simgenin içine yazılır. Fonksiyon Çağırma : Daha önce yazılmış algoritmaların, o andaki algoritmanın içerisine koyulmadan kullanılması için kullanılır. Dosyayı Saklama Simgeleri : Elde edilen bilgi cd, bellek, harddisk gibi saklama birimlerinde saklanması veya daha önceden saklanmış birimleri okunması için kullanılır. Akış Yönü : Bir işlem bittikten sonra program akışının nereye dallanacağını belirtir.

Bağlantı Simgeleri : Akış şema çizimi yapılırken sayfaya sığmazsa çizimin başka bir yerden devam edilmesi için kullanılır. İlk C dersimizde görüşmek üzere Yazar : Ömer Can Eskicioğlu