90 likes | 467 Views
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.
E N D
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ Yrd. Doç. Dr. Pakize ERDOĞMUŞ 2011-2012
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
BAŞLA A,B,C sayılarını gir 2 A>B ve A>C ? EB2=B : EB1=C EB1=A 1 B>C? EB2=B EB3=C EB1,EB2,EB3 yaz A>C EB2=C EB3=B 1 EB1=B EB2=A EB3=C DUR 1 A>B? 1 EB2=A EB3=B EB1=C EB3=A EB1=B B>C? 1 EB2=C : EB1=B 2 1 Akış Şeması:
C++ kodu • #include "stdafx.h" • #include <iostream> • usingnamespacestd; • int A,B,C,EB1,EB2,EB3; • intmain() • {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;gotoyaz;} • if (A>B) {EB2=A; EB3=B; EB1=C;gotoyaz;} • else • {EB3=A; • if (B>C) {EB2=C; EB1=B; gotoyaz;} • EB1=C;EB2=B;} • yaz: cout<<"En büyük sayi="<<EB1<<"\En buyuk 2. sayi="<<EB2<<"\nEnkucuksayi="<<EB3; • system("pause"); • return 0; • }