GEO103 BİLGİSAYAR PROGRAMLAMA



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

Algoritma ve Programlamaya Giriş

Algoritmalar ve Programlama. Algoritma

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

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

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

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

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

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

Algoritmanın Hazırlanması

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

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

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

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

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ


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

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

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

BÖLÜM 2: ALGORİTMALAR

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

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

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

Dr. Musa KILIÇ Öğretim Görevlisi

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Bilgisayar II Dersi. Bölüm-2

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

Bilgisayarda Programlama. Temel Kavramlar

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

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Algoritma ve Akış Diyagramları

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

C Programlama. C Programlama. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

PROGRAMLAMA DİLİNDE ALGORİTMA

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Đ

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

ALGORİTMA VE AKIŞ ŞEMALARI

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

4- ALGORİTMA (ALGORITHM)

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

BLG 1306 Temel Bilgisayar Programlama

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.

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

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdı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.

BİL-142 Bilgisayar Programlama II

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

1. PROGRAMLAMAYA GİRİŞ

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

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Ünite 01 Algoritma Geliştirme

Hafta 4 Döngü Yapıları

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

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

ALGORİTMA VE PROGRAMLAMA I

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Programlamaya Giriş ve Algoritmalar Ders Notları

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

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

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

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Fen ve Mühendislik Uygulamalarında MATLAB

ALGORİTMA VE PROGRAMLAMA I

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

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

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Bilgisayar Programı Nedir?

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

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

C SHARP UYGULAMA ÇALIŞMASI

Akış Kontrol Mekanizmaları

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

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

Program AkıĢ Kontrol Yapıları

Transkript:

Ders İçeriği GEO103 BİLGİSAYAR PROGRAMLAMA ENVER BAĞCI Programlamada algoritma kavramı ve örnekleri, C programlama dili Ders Takibi Ders ile ilgili dökümanlara www.enverbagci.net adresinden ilgili ders linkine tıklatılarak ulaşılabilir. Algoritmalar (Algoritms) Problem Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir. Bu tip fikirlerde insanların bu sorunları beyinle çözmeleri ya imkansızdır ya da çok zor ve zaman alıcıdır. Bu tip bir sorunu bilgisayarla çözebilme fikrinin ortaya çıkması bir bilgisayar probleminin ortaya çıkmasına neden olmuştur. Bazen de bir işletme veya yönetimin otomasyonunu sağlamak amacı ile bu tip problemler tanımlanır. Problem Çözümü Problemi çözebilmek için öncelikle sorunun çok net olarak programcı tarafından anlaşılmış olması gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Gerekiyorsa bu işlem için birebir görüşmeler planlanmalı ve bu görüşmeler gerçekleştirilmelidir. 1

Problem Çözümü Problemin Çözümüne ilişkin zihinsel alıştırmalar yapılır. Bu alıştırmaların bilgisayar çözümüne yakın olması hedeflenmelidir. Bir sorunun tabii ki birden fazla çözümü olabilir. Bu durumda bilgisayar ile en uygun çözüm seçilmelidir. Çünkü bazen pratik çözümler bilgisayarlar için uygun olmayabilir. Problem Çözümü Oluşturulan çözüm Algoritma dediğimiz adımlarla ifade edilmelidir. Bu algoritmanın daha anlaşılabilir olması için Akış Çizgesi oluşturulmalıdır. Uygun bir programlama dili seçilmeli ve oluşturulan algoritma ve akış çizgesi bu programlama dili aracılığı ile bilgisayar ortamına aktarılmalıdır. Program Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne Program denir. Bazı durumlarda bu ürüne yazılım da denebilir. Programlama Çok iyi tanımlanmış bir sorunun çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili ile bilgisayar ortamına aktarılması Programlama olarak adlandırılır. Programlama Dili Bir problemin algoritmik çözümünün bilgisayarda yazılmasını sağlayan kurallar dizisidir. Bazı programlama dilleri MATLAB, Delphi, Pascal, Fortran, Lisp C, C++, C#, Visual Basic, Java Algoritma Bir sorunu (problemi) çözebilmek için gerekli olan sıralı mantıksal adımların tümüne Algoritma denir. Algoritma doğal dille yazıldığı için formal değildir. Bir algoritma için aşağıdaki ifadelerin mutlaka doğrulanması gereklidir. Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı olmamalıdır. Belirli bir sayıda adım sonunda algoritma sonlanmalıdır. Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır. 2

1. Pastanın yapımı için gerekli malzemeleri hazırla 2. Yağı bir kaba koy 3. Şekeri aynı kaba yağın üzerine koy 4. Yağ ve şekeri çırp 5. Karışımın üzerine yumurtayı kır 6. Tekrar çırp 7. Kıvama geldi mi diye kontrol et 8. a. Kıvamlı ise 9. adıma devam et b. Değilse 6. adıma dön. 9. Karışıma un koy 10.Karışıma vanilya, kabartma tozu vb. koy 11.Karışımı Kıvama gelinceye kadar çırp 12.Pastayı Kek kalıbına koy 13.Yeteri kadar ısınan fırına pastayı koy 14.Pişimi diye kontrol et 15. a. Pişmiş ise 16. adıma devam et b. Değilse 14. adıma dön 16.Keki fırından çıkart 17.Fırını kapat 18.Kekin ı kapat 19.Kekin soğumasını bekle 20.Keki servis edebilirsin. Algoritmaya günlük hayattan bir örnek Sözde Kod (Pseudo Code) Pseudo Code (Sözde Kod), bir algoritmanın yarı programlama dili kuralı, yarı konuşma diline dönük olarak ortaya koyulması/ tanımlanmasıdır. Bu şekilde gösterim algoritmayı genel hatlarıyla yansıtır. : assign (ilkdeğer) value (100) if (sayı<x) then (ilk satıra git) else (son satıra git) while (döngü<girilen_değer) do assign (toplam) value (toplam+döngü) Gerçek Kod (Real Code) Real Code (Gerçek Kod), algoritmanın herhangi bir programlama diliyle, belirli bir veri yapısı üzerinde gerçekleştirilmiş halidir. Bir algoritmanın gerçek kodu, yalnızca tasarlandığı veri yapısı üzerinde koşar; veri yapısı değiştirildiğinde algoritmanın gerçek kodu üzerinde oynamalar yapılmalıdır. Derleyici Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda söz dizim hatalarının olup olmadığını bulan yazılımlardır. Her Programlama dili için bir derleyici olması gerekmektedir. Derleyici Programları Her bir programlama dilinde kod yazmak için geliştirilmiş çok sayıda derleyici programı vardır. Örneğin C programlama dilinde kod yazmak için dev c++, Turbo C, Borland C, Microsoft Visual Studio gibi 3

Kaynak ve Amaç Program Programın, bir programlama diline bağlı olarak hazırlanan simgesel kodlardan oluşan kısmına kaynak program (source code) adı verilir. Bu kaynak programın derlenip bilgisayarda çalışabilecek makine kodlarına çevrilmiş koduna ise amaç program ismi verilir. Algoritma Yazımı Sözde kod yada diğer deyimle algoritma hazırlanırken bazı kullanımlar vardır. Bunlar şunlardır: OKU: Veri girişinin yapılacağını belirler. EĞER İSE DEĞİLSE.: Şart belirtmek için kullanılır. GİT : Belirli bir adıma yönlendirmek için kullanılır. DÖN..DEN.. DÖNGÜ SONU : Döngüleri belirtmek için kullanılır. Yukarıdaki gösterimlerin ingilizce karşılıkları da algoritma hazırlamada kullanılmaktadır. Tanımlayıcı(değişken) Algoritmada Yapılan İşlemler Program yazan kişi tarafından düşünülüp oluşturulan ve programdaki değişkenleri, sabitleri, kayıt alanlarını, alt programları, vs.. adlandırmak için kullanılan kelimelere tanımlayıcı denir. Aritmetiksel işlemler toplama, çıkarma,.. Bu kelimeler isimlendirilirken kurallara dikkat edilmelidir: İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir. 0-9 rakamları kullanılabilir. Sembollerden alt çizgi kullanılabilir. ( _ ) Tanımlayıcı ifadeleri harf veya altçizgi ile başlayabilir ama rakamla başlamaz. İsimler oluşturulurken boşluk kullanılmamalıdır. Mantıksal işlemler (LOGİC) ve, veya, değil maaş katsayısı değil maas_katsayisi Aritmetiksel işlemler İşlem önceliği Toplama Çıkarma Çarpma Bölme Üs alma a+b a-b a*b a/b a^b Matematiksel işlemler içeren kümenizin içindeki matematiksel işaretlerin bir işlem önceliği vardır. İşlem Önceliği Sırası 1. Parantezler ( ) 2. Üs alma a^b 3. Çarpma ve bölme a*b veya a/b 4. Toplama ve çıkarma a+b veya a-b Aynı önceliğe sahip işlemler yan yana bulunuyorsa işlem önceliği genelde soldan sağa doğrudur. X=2*3/6+2 4

Karşılaştırma İşlemleri Eşittir = Eşit değildir <> Büyüktür > Küçüktür < Büyük eşittir >= Küçük eşittir <= Mantıksal İşlemler Programlarda, birden fazla karşılaştırma ifadesi bir anda kullanılmak istenebilir. Bu gibi durumlarda mantıksal ifadeler kullanılması zorunludur. MANTIKSAL İŞLEMLER VE VEYA DEĞİL KOMUTLAR AND OR NOT Mantıksal İşlem Sonuçları Mantıksal İşlemler Sonuç Rakam olarak Bilgisayar Dilinde Doğru 1 True (1) Yanlış 0 False (0) VE (AND) VEYA (OR) DEGiL(NOT) A B A VE B 0 0 0 0 1 0 1 0 0 1 1 1 A B A VEYA B 0 0 0 0 1 1 1 0 1 1 1 1 A DEGiL A 0 1 1 0 Bir işyerinde çalışan işçiler arasından yalnızca yaşı 23 ün üzerinde olup maaş olarak asgari ücret alanların isimleri istenebilir. Burada iki koşulun da doğru olması gerekmektedir. (Asgari ücret >=500) 1nci koşul 2nci koşul Eğer Yaş>23 ve Maaş>=Asgari ücret ise Yaz İsim Bir sınıfta Bilgisayar dersinden 65 in üzerinde not almış olup Seçmeli Yabancı Dil (İngilizce) veya Seçmeli Yabancı Dil (Almanca) derslerinin herhangi birinden 65 in üzerinde not alanların isimleri istenmektedir. Eğer Bilgisayar notu > 65 VE (İngilizce > 65 VEYA Almanca > 65) ise Yaz Öğrencinin ismini 5

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 Verilen iki sayının toplamının bulunmasının algoritması Algoritmaya dikkat edilirse işlemlerin sıralanmasında, işlem önceliklerinin göz önünde bulundurulduğu görülür. Ayrıca algoritma yazımı sorun çözümünün başladığını gösteren Başla ifadesi ile başlamakta ve işlemlerin bittiğini belirten Dur ifadesi ile sona ermektedir. 1. Başla 2. A sayısını gir 3. B sayısını gir 4. Eğer A>B ise Yaz A sayısı, B sayısından büyüktür 5. Eğer A<B ise Yaz A sayısı, B sayısından küçüktür 6. Eğer A=B ise Yaz A sayısı, B sayısına eşittir 7. Dur Girilen A sayısı Girilen B sayısı Ekrana yazılan sonuç 3 7 A sayısı, B sayısından küçüktür. Soru(Problem): Klavyeden girilen 2 sayıdan büyük olanı yada ikiside eşit yazan algoritmayı yazınız. Aktarma Herhangi bir ifadenin sonucunu başka bir değişkende göstermedir. degisken = ifade ifade kısmında matematiksel, mantıksal veya harfsel (alfasayısal) ifade olabilir. = sembolü atama operatörüdür. Bu operatör, sağda hesaplanan ifadenin değerini degisken içine (sola) iletir. 1. Başla 2. t=0 3. OKU a 4. OKU b 5. OKU c 6. t=a+b+c 7. Yaz t 8. Dur Klavyeden girilen üç sayının toplamını bulan algoritma. Şartlı İşlemler Bir karşılaştırmanın sonucuna bağlı olarak doğru yada yanlış seçeneklere göre işlem yapılmasını sağlar. Genel kullanımı şöyledir. EĞER şart İSE işlemler DEĞİLSE işlemler A. BAŞLA B. A sayısını oku C. B sayısını oku D. Eğer A büyüktür B İSE SONUC=A-B Değilse SONUC=B-A E. SONUC değerini ekrana yaz F. SON Klavyeden girilecek iki sayıdan büyük olanından küçük olanını çıkarıp sonucu ekrana yazacak program için bir algoritma 6

Klavyeden girilen bir n değerine kadar sayıları toplayan ve 1. BAŞLA sonucu ekrana yazan bir algoritma 2. N OKU 3. T=0 4. X=1 5. T=T+X 6. X=X+1 7. EĞER X<=N İSE 5. ADIMA GİT 8. T YAZ Yukarıdaki işlem aynı zamanda sonraki slaytlarda anlatılacak olan döngü kavramı içine de girer. SORU Klavyeden girilen 3 sayıdan en büyüğünü ekrna yazdıran algoritmayı yazınız? Döngü Bazı işlemler belli ardışık değerlerle veya belli sayıda gerçekleştirilmektedir. Programda belirli komut bütünlerini belirli sayıda yaptırabilmek için döngüler kullanılır. Algoritma yazarken döngü akış işlemlerinde ya sayaç yada döngü kalıbı kullanılır. 1. Başla 2. sayac=0 3. Eğer sayac>4 ise Git 7 4. sayac=sayac+1 5. Yaz sayac 6. Git 3 7. Dur Yandaki algoritma nasıl bir çıktı verir? 1. Başla 2. sayac=0 3. OKU sayi 4. Eğer sayi=0 ise Git 7 5. Eğer mod(sayi,2)=0 ise sayac=sayac+1 6. Git 3 7. Yaz sayac 8. Dur Yandaki algoritma ne iş yapmaktadır? 1. BAŞLA 2. OKU N 3. TOPLA=0 4. DÖN SAYAC=1,N,1 5. TOPLA=TOPLA+N 6. DÖNGÜ SONU 7. YAZ TOPLA 8. DUR 1 den başlayıp klavyeden girilen sayıya kadar olan sayıları toplayan algoritma. 7

Soru Klavyeden girilen 5 adet sayının ortalamasını bulan algoritma. Cevap 1. BAŞLA 2. TOPLAM=0 3. DÖN SAYAC=1,5,1 4. OKU SAYI 5. TOPLAM=TOPLAM+SAYI 6. DÖNGÜ SONU 7. ORTALAMA=TOPLAM/5 8. YAZ ORTALAMA 9. DUR : 123456 23456 3456 456 56 6 Bu çıktıyı veren algoritmayı tasarlayınız. Cevap 1.basla 2.baslangic=1 3.i=baslangic 4.Yaz i 5.i=i+1 6.eğer i<=6 git 4 7.alt satıra geç 8.baslangic=baslangic+1 9.eğer baslangic<=6 git 3 10.Dur Soru-1 Klavyeden girilen not bilgisinin 0 ile 100 arası olup olmadığını kontrol eden programı yapınız. Soru-2 Klavyeden girilen 20 tam sayı değerin en büyük ve en küçük arasındaki farkı bulup ekrana yazan programın algoritma ve akış diyagramını yapınız. 8

Soru-3 Klavyeden girilen bir tam sayı eğer 1 ile 5 veya 7 ile 10 arasında ise, ekrana Sayınız doğru yerdedir., değilse Sayınız yanlış yerdedir. yazınız. Aralık belirten sayılar da aramaya dâhildir. Akış Çizelgesi(Flow Charts) Bir algoritmanın daha görsel gösterimidir. Çizgiler, Dörtgen, daire vb.geometrik şekillerle algoritmanın gösterilmesini sağlar. Doğal dille yazılmadığı için daha formal olduğu düşünülebilir. Akış Çizelgesinde Kullanılan Semboller Sözde Kod(Algoritma) -Başla -OKU A,B -Ort=(A+B)/2 -YAZ Ort - DUR Karar Verme Karar Verme 9

Karar Verme Döngü Yapısı Bu yapı kullanılırken, döngü sayacı, koşul bilgisi ve sayacın artım bilgisi verilmelidir. Döngü sayacı kullanılmıyorsa sadece döngüye devam edebilmek için gerekli olan koşul bilgisi verilmelidir. Genel olarak çoğu programlama dilinin döngüdeyimleri ; While Do-while For gibi yapılar üzerine kurulmuştur. Farklı dillerde bu yapılara farklı alternatifler olsa da döngülerin çalışma mantığı genel olarak benzerdir. While Deyimi Koşul daha çevrim içerisine girmeden sınanır. Koşul olumsuz olduğunda çerime hiç girilmez ve döngü içerisinde yapılması gerekenler atlanır. Do-While Deyimi Bu döngüdeyiminde, çevrim en az bir defa olmak üzere gerçekleşir. Çünkü koşul sınaması döngü sonunda yapılmaktadır. Eğer koşul sonucu olumsuz ise bir sonraki çevrime geçilmeden döngüden çıkılır. Çevrimin devam edebilmesi için her döngü sonunda yapılan koşul testinin olumlu sonuçlanması gerekir. For Deyimi I=1,20,3 J=30,4,-2 K=1,80 İç İçe Döngüler Diğer deyimlerden farklı olarak, döngü sayacı doğrudan koşul parametreleri düzeyinde verilir. Döngü girmeden önce sayaç değişkenine başlangıç değeri atanmakta ve daha sonra koşula bakılmaktadır. Döngü içerisinde belirtilen işlemler yapıldıktan sonra sayaç değişkeni arttırılmaktadır. İçiçe döngü kurulurken en önemli unsur, içteki döngü sonlanmadan bir dıştaki döngüye geçilmemesidir. Diğer bir deyişle döngüler birbirlerini kesmemelidir. Aşağıdaki gösterimde en içteki döngü bir dıştaki döngünün her adımında N kez tekrarlanır. 10

: Faktöriyel Hesabı Bu akış diyagramı ne yapmaktadır? N ile hangi sayının faktöriyelin hesaplanacağı belirlenir ve N çevrimlik bir döngü kurulur. İlk çevrimde 1!, ikinci çevrimde 2! ve sırayla N inci çevrim sonucunda da N! değeri hesaplanmış olur. Sayac>N koşulu oluştuğunda döngüden çıkılır ve elde edilen sonuç dış ortama aktarılır. Akış diyagramının bazı dillerde yazımı Akış diyagramının bazı dillerde yazımı Soru-4 Aşağıda verilen algoritmanın akış şemasını çizin ve programı izleyerek ne iş yaptığını belirtiniz? BAŞLA Sayi1=15 Sayi2=30 Yaz Sayi1, Sayi2 Gecici=Sayi1 Sayi1=Sayi2 Sayi2=Gecici Yaz Sayi1, Sayi2 dur Soru-5 2-16 arasındaki çift sayıların ortalamasını bulan programın algoritma ve akış şemasını yazınız? 11

Soru-6 Klavyeden girilen 10 tabanındaki sayıyı ikilik tabana çeviren programın algoritmasını ve akış şemasını yazın. Soru-7 Bir aracın otopark ücretinin hesaplamasını aşağıdaki kurallara göre yapan programın algoritma ve akış diyagramını yapınız. Kurallar: Araçların en fazla 24 saat kaldığı varsayılacak. Küçük araçlariçin 1 büyük araçlar için 2 değeri girilecek(örn:otomobil için 1, kamyon otobüs için:2) Ücret tarifesi 0-2 saat Küçükler için:4 TL Büyükler için: 6 TL 2-8 saat Küçükler için:7 TL Büyükler için: 10 TL 8-24 saat Küçükler için:12 TL Büyükler için: 16 TL Soru-8 10 ile 3000 arasındaki sayılardan 3 ve 10 ile tam bölünenlerin toplamını bulan algoritmayı oluşturunuz? Soru-9 Girilen bir tamsayının asal sayı(sadece 1'e ve kendisine tam bölünebilen olup olmadığını bulan programın algoritma ve akış diyagramını yapınız. ;Girilen sayı 5 ise;"5 asal sayıdır" yazmalı... Girilen sayı 6 ise;"6 asal sayı değildir yazmalı Soru 10 Girilen 2 basamaklı tamsayıyı yazıyla yazan programın algoritma va kış diyagramını yapınız? ;Girilen sayı 52 ise;"elli İki" yazmalı Soru-11 Girilen iki adet tamının çarpımını toplama işlemi kullanarak yapan programın algoritma ve akış diyagramını yapınız. 12