BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ Yrd. Doç. Dr. Pakize ERDOĞMUŞ 2011-2012
ALGORİTMALAR VE AKIŞ DİYAGRAMLARI
Algoritma Genelde herhangi bir problemin çözümü için takip edilen iş sıralamasına algoritma denir. Özellikle matematik problemlerinde algoritma çok önemlidir. Doğru işlem sıralaması yapılmaz ise problem çözülemez. Özellikle türev ve integral problemleri buna örnektir. Bir bilgisayar programı için de algoritma programı kodlamadan önce işlem adımlarının yazılmasıdır.
Akış Şeması Algoritmanın görsel halidir. Algoritma yazarken konuşma dilinde yazılır. Akış şemasında ise standart semboller mevcuttur. Ve algoritma bu sembollerle ifade edilir.
Algoritma ve Akış Şeması Algoritma dersinde akış şeması sembolleri ve algoritma anlatıldığı için sadece örnek algoritmalar anlatılacaktır.
Örnek 1: Girilen 3 sayıyı büyükten küçüğe sıralayan bir program algoritması ve akış şemasını yazarak C++ dilinde kodlayınız. Sıralama için üç değişken ismi kullanalım. EB1 en büyük EB2 2. büyük EB3 3. büyük
Örnek 1 Algoritma: Başla A,B,C sayılarını gir Eğer A>B ve A>C ise EB1=A: 9.adıma git Eğer A>C ise EB2=A:EB3=C: EB1=B: 11. Adıma git Eğer A>B ise EB2=A:EB3=B:EB1=C: 11.Adıma git EB3=A Eğer B>C ise EB1=B:EB2=C: 11.Adıma git EB1=C:EB2=B:11.Adıma git Eğer B>C ise EB2=B:EB3=C: 11.Adıma git EB2=C:EB3=B Yaz EB1,EB2,EB3 DUR
Akış Şeması: A>B ve A>C ? A>C A>B? B>C? EB2=B EB3=C BAŞLA A>B ve A>C ? A>C A>B? B>C? EB1=A EB2=B EB3=C EB2=C EB3=B 1 EB1=B EB2=A EB1=C EB2=C : EB1=B 2 EB3=A A,B,C sayılarını gir EB2=B : EB1=C 2 1 EB1,EB2,EB3 yaz DUR
C++ kodu #include "stdafx.h" #include <iostream> using namespace std; int A,B,C,EB1,EB2,EB3; int main() {cout<<"Üç sayı giriniz\n"; cin>>A>>B>>C; cout<<((A>B)&&(A>C))<<"\n"; if (A>B&&A>C){EB1=A;if (B>C) {EB2=B;EB3=C;goto yaz;} else {EB2=C;EB3=B; goto yaz;}} if (A>C) {EB2=A; EB3=C; EB1=B;goto yaz;} if (A>B) {EB2=A; EB3=B; EB1=C;goto yaz;} else {EB3=A; if (B>C) {EB2=C; EB1=B; goto yaz;} EB1=C;EB2=B;} yaz: cout<<"En büyük sayi="<<EB1<<"\En buyuk 2. sayi="<<EB2<<"\nEn kucuk sayi="<<EB3; system("pause"); return 0; }