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.



Benzer belgeler
PROBLEM ÇÖZME VE ALGORİTMALAR

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Algoritmanın Hazırlanması

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

Algoritmalar ve Programlama. Algoritma

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

Dr. Musa KILIÇ Öğretim Görevlisi

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

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

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

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

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

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

Algoritma ve Programlamaya Giriş

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

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


PROGRAMLAMA DİLLERİ I

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

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

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

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Đ

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

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

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

C++ Dilinde Bazı Temel Algoritmalar

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

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

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

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

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

Hafta 4 Döngü Yapıları

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

Pascal Programlama Dili

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

C# Örnek Uygulamalar I

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

C# Çalışma Örnekleri

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

Algoritma ve Akış Şemaları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

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

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

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

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

Algoritma ve Akış Şemaları

Örnek 1: Girilen iki sayıyı toplayıp yazdıran algoritmayı ve akış diyagramını tasarlayınız.

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

BLG 1306 Temel Bilgisayar Programlama

BPR151-Algoritma ve Programlama I Uygulama -1

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Problemin çözümü için bilgisayarın yapacağı işlemlerin kodlanması için kullanılan programlardır.

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

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

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

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Program AkıĢ Kontrol Yapıları

4- ALGORİTMA (ALGORITHM)

BÖLÜM 2: ALGORİTMALAR

Basit Algoritma Akış Diagramı Örnekleri

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

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

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

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

BİLGİSAYAR PROGRAMLAMA DERSİ

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

BİLGİSAYAR PROGRAMLAMA DERSİ

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

Görsel Programlama 1

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

Python Programlama Dili

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

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

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

C SHARP UYGULAMA ÇALIŞMASI

Bilgisayar II Dersi. Bölüm-2

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Bilgisayar Programlama. 1.Hafta

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

ALGORİTMA VE PROGRAMLAMA I

Transkript:

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. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır. Kısaca algoritma en basit ifadeyle, bir problemi çözmek için takip edilecek sonlu sayıda adımdan oluşan bir çözüm yoludur. Bir algoritmanın özellikleri şu şekildedir: 1) Başlangıcı olmalı 2) Basit olmalı 3) Problemin çözümünü, mümkün olan en az adım ile en kısa sürede gerçekleştirmeli 4) Sonu olmalı Algoritmanın Temel Özellikleri: 1. Kesinlik : algoritma içindeki ifadeler herkes tarafında aynı şekilde anlaşılabilir olmalı, farklı anlamlara gelebilecek bulanık ifadeler içermemeli. 2. Sıralı olma : adımların hangi sırada gerçekleştirileceği çok önemlidir ve net bir şekilde belirtilmelidir. 3. Sonluluk: algoritma sonlu sayıda adımdan oluşmalı, sınırlı bir zaman diliminde tamamlanmalıdır. Problem çözmek: Problemi çözmek için çözüm yolu (algoritma) geliştirmenin temel adımları: * Problemin tanımı * Çözüm yönteminin belirlenmesi * Programın kodlanması * Programın çalışır duruma getirilmesi * Belgeleme ve güncelleştirme Problemin tanımı: Problemin normal yazı diliyle tanımlanması işlemlerini Kapsamaktadır. Problem çözümüne ilişkin iyi bir program yapabilmek için, problemin iyi bir şekilde tanımlanması gerekir. Çözüm Yönteminin Belirlenmesi: Bu adımda çözümün genel yaklaşımı, temel giriş/çıkışlar belirlenir ve problem çözümü adim adım program akis diyagramlarıyla gösterilir. Programın kodlanması: Program ayrıntılı olarak tanımlanıp çözüm yolları açıkça Belirtildikten sonra program kodlama çalışmalarına başlanabilir. Programın bastan sona Yapısal bir düzende hazırlanması ve uygun bir programlama dili seçilmesi secim işleminin ilk aşamasını oluşturur. Programın çalışır Hale Getirilmesi: Programın kodlanması sırasında yapılan imla hataları, kodlama ve mantık hatalarının giderilmesi işlemlerini kapsar. İyi bir bilgisayar programının doğruluğundan emin olmak için defalarca test edilmiş olması gerekmektedir.

Belgeleme ve güncelleştirme: Oluşturulan bir yazılımı, sadece o yazılımı geliştiren Kişilerin kullanabilmesi gibi bir kısıtlamanın önüne geçmek için ayrıntılı referanslar Hazırlanmalı ve programla ilgili bilgiler verilmelidir. ALGORİTMA GELİŞTİRMEK Bir problemi çözmek üzere algoritma geliştiriyorsak, satır algoritma yazabilir ya da akış diyagramı çizebiliriz. İkisini aynı anda da yapabiliriz. Böylece problemin çözümünü programlamadan önce net bir şekilde ifade ederiz. Algoritmanın Temel Öğeleri: 1. Tanımlayıcı: değişken sabit gibi programlama birimlerine programcı tarafından verilmiş isimler. 2. Değişken: programın akışı içinde farklı değerler tutmak için ayrılmış bellek bölümleri. 3. Sabit: program her çalıştığında ve programın içinde herhangi bir anda hep aynı değeri döndüren tanımlayıcılara sabit denir (Ör: Pi=3.14) 4. Aritmetik işlemler: programdaki en temel işlemlerdir. 5. Mantıksal işlemler: bir programın akışı içerisinde, belirli bir koşula göre akışın hangi yönde ilerleyeceğine karar vermekte kullanılırlar. ALGORİTMA YAZIMI

Algoritmayı yazılı hale getirmenin üç yöntemi vardır: Satır algoritma Akış diyagramı Sözde kod (pseudo kod) Sözde kod tamamen bilgisayar programlamaya yönelik bir gösterimdir. Algoritma yazımıyla kod yazımı arasında kalan bir kısımdır ama Kodlamaya daha yakındır. 1. Satır algoritma: Satır algoritma, problemlerin günlük konuşma diliyle ifade edilerek ve numaralandırılarak oluşturulur. Algoritma ifade etmede en kolay yöntemdir. Ör.1 / ekrana sırasıyla 1,2,3 değerlerini yazdıran algoritmayı tasarlayın: 2.yaz 1 3.yaz 2 4.yaz 3 5.dur Ör.2 / kullanıcıdan 2 sayı alıp, bu iki sayının toplamını ekrana yazdıran algoritma : 2. Oku (A,B) 3. C = A + B 4.yaz C 5.dur Burada A ve B değişkenleri girdi, C değişkeni ise çıktıdır. Oku işlemi girilen değerleri hafızaya alır yaz işlemi ise C nin soncunu ekrana yazdıracak olan işlemdir. Ör.3/ kullanıcıdan bir kenarı alınan karenin çevresini hesaplayan algoritma 2. Oku (K) 3. C = 4 * K 4.yaz C 5.dur Burada k değişkenimiz bir kenarı gösteriyor oku işlemi ile değeri alıyoruz. Çevre ise C ile gösterilmiş. C = 4 * K ile çevreyi buluyor ve yaz işlemi ile C yi ekrana yazdırıyoruz

Ör.4/ kullanıcıdan yaş girmesini isteyip. Girilen yaş 18 den büyükse Reşitsiniz, değil ise reşit değilsiniz yazdıran algoritma 2. Oku yaşınız? (Y) 3. Eğer 3.1. (Y >=18) yaz Reşitsiniz 3.2(DEĞİLSE) yaz Reşit değilsiniz 4. Dur Burada girdi olarak yaş (Y) değişkenini alıyoruz. Çıktı olarak da yaz işlemini kullanarak reşitsiniz yâda reşit değilsiniz yazısını ekrana yazdırıyoruz. Bu algoritma kullanıcıdan yaşını girmesini ister. 3.1 de olduğu gibi yaş 18 den büyük ve 18 e eşitse ekrana Reşitisniz. 18 den küçük ise de 3.2 olduğu gibi reşit değilsiniz işlemini yapar. Eğer ve değilse fonksiyonları bu koşulu yerine getirmek için kullanılır. Ör.5 / Klavyeden girilen değere göre 45 e eşit ve 45 ten büyükse ekrana geçti değilse kaldı yazacak algoritmayı oluşturalım. 1. Başla 2. Yaz Not giriniz: 3. Oku (N) 4. eğer4 4.2 (N >= 45) Yaz Geçtiniz 4.3 (Değilse) Yaz Kaldınız 5. Dur Klavyeden not girmemizi isteyecek, girdiğimiz notu oku işlemiyle alacak ve girilen not 45 e eşit ve büyük olduğunda ekrana geçtiniz değilse kaldınız yazacaktır. Burada yine eğer ve değilse fonksiyonunu kullanıyoruz Ör.6/ Klavyeden girilen sayıyı 1 den başlayıp girdiği sayıya kadar toplayacak algoritmayı yazalım. 1. Başla 2. Sayac = 0, Toplam = 0 3. Oku (A) 4. eğer Dongu >= A, 8. adıma git 5. Toplam = Toplam + Dongu 6. Sayac = Sayac + 1 7. 4. adıma git 8. Yaz Toplam

9. Dur Burada girdi olarak sayı alıcaz bunu da A ile belirttik. Algoritmanın yapacağı işlem ise, girdiğimiz sayıya kadar olan sayıları 1 sayısından başlayarak toplayarak ekrana yazdırır. Dikkat etmemiz gereken kısım toplama işleminin girdiğimiz sayıya kadar olması yani örnek olarak girdiğim sayı 10 ise sonucu 11 olan işlem sonucun ekrana yazdırmayacak. Bu koşulu da 4. eğer Dongu >= A, 8. adıma git işlemi ile sağlıyoruz. Yani toplama işlemi girdiğimiz sayıdan büyükse işlem yapma ve 8.adımdan devam et. 2. Akış diyagramları: Akış diyagramları problemin şekillerle ifade edilmesidir.

Sıralı algoritmada yaptığımız 1 ve 2 nolu örneklerin akış diyagramları aşağıdaki gibidir.

Kareni çevresini bulan sıralı algoritmayı yapmıştık 3.örneğimizde. şimdi akış diyagramına bakalım Sıralı işlemler için algoritma geliştirmek Algoritma geliştirme işleminin en kolay kısmıdır. Burada yapılması gereken en önemli işlem algoritma adımlarının tamamı belirlendikten sonra bunların hangi sırada yapılması gerektiğini belirlemektir. Örneğin; 2.yaz 2 YANLIŞ 2.yaz 1 3.yaz 2 DOĞRU 3.yaz 1 4.yaz 3 5.dur 4.yaz 3 5.dur

ÖR / kişiye adını soracak, daha sonra da adını kullanarak cinsiyet (bay/bayan) soracak ve kullanıcının cinsiyetiyle birlikte adını birleştirerek merhaba X bay/bayan şeklinde ekrana yazdıracak algoritmayı tasarlayalım İlk önce algoritma adımlarını çıkaralım Kişinin adını sor Kişinin adını al Kişinin adını kullanarak cinsiyetini sor Cinsiyetini al Kişinin adı ve cinsiyetini birleştirerek ekran memnun oldum X bay/bayan yazdır Şimdi de bunu satır algoritmaya çevirelim: Sonra da akış diyagramına çevirelim. :

Basit koşul yapıları Program akışı içerisinde belirli bir duruma göre bir işin yapılıp yapılmamasına karar verirken basit koşul yapıları kullanırız. Ör: kullanıcıdan adını alıp, eğer karakter sayısı 7 den büyükse ekrana uzun bir isme sahipsiniz mesajı yazdıran algoritmayı tasarlayalım. İki alternatifli koşul yapıları Bu yapıda eğer komutundan sonra gelen koşul ya da durum ifadesinin sonucu doğru (true) ise şarttan sonra gelen komut çalışır. Koşul yanlış (false) ise else'den sonra gelen komut çalışır. if ( koşul ) komut 1; else komut 2; Ör.4/ kullanıcıdan yaş girmesini isteyip. Girilen yaş 18 den büyükse Reşitsiniz, değil ise reşit değilsiniz yazdıran algoritma 2. Oku yaşınız? (Y) 3. Eğer

4. Dur 3.1. (Y >=18) yaz Reşitsiniz 3.2(DEĞİLSE) yaz Reşit değilsiniz Ör: kullanıcıdan bir sayı alarak, sayının pozitif ya da negatif olduğunu yazdıran algoritmayı tasarlayınız. Sıfır sayısı pozitif olarak kabul edilsin. Örnek satır algoritma 5. dur 1. Başla 2. Yaz bir sayı giriniz 3. Oku (sayı) 4. Eğer 4.1. (Sayı >= 0) Yaz ( Girdiğiniz Sayı Pozitiftir ) 4.2. (Değilse) Yaz ( Girdiğiniz Sayı Negatiftir)

İçiçe Döngülerin Kullanılması İç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. En içteki döngü bir dıştaki döngünün her adımında N kez tekrarlanır.

Örnek: Bankaya aylık getirisi %8 ile 1000 YTL para yatırılmıştır. Buna göre; a)10 ay sonrası için paranın ne kadar olacağını ve bu süre içerisinde her ay sonunda ne kadar olacağını hesaplayıp ekrana yazan programın akış şemasını nasıldır? b)paranın kaç ay sonra 5000 YTL olacağını hesaplayan programın akış şeması nasıldır?

Tekrarlı yapılar: Bir veya bir grup program cümlesi işletilip sona erdikten sonra tekrar işletilmesi gerektiği durumlarda tekrarlı yapılar kullanılır. Tekrarlı işlemler için kullanılan metotlar şunlardır. 1. Başka işlem sorgulaması 2. Sayaç Metodu 3. Son kart metodu 4. Döngü metodu 1.Başka işlem sorgulaması: Bu metot da işlem gerçekleştirilip sona erdikten sonra kullanıcıya işlemin yeni değerler için tekrarlanıp tekrarlanmayacağı sorulur kullanıcı evet cevabını verirse işlem tekrarlanır hayır cevabını verirse program akışı bir sonraki program cümlesine geçer. Örnek 8: Kullanıcının girdiği sayılar toplamını bulan program her defasında kullanıcıya devam edip etmeyeceğini sorar ve kullanıcı hayır cevabını verdiğinde o ana kadar girilen sayılar toplamını ekrana yazar. Program algoritmasını yazınız. 1. Başla

2. Tanımla Sayi,Toplam 0,Cevap 3. Oku Sayi 4. Toplam Toplam+Sayi 5. Yaz Devam E/H? 6. Oku Cevap 7. Eğer Cevap= E ise Git 3 8. Yaz Sayılar Toplamı=, Toplam 9. DUR Kullanıcı hayır cevabı verene kadar girilen sayıların toplamını bulan prg algoritması Soru3a:Vize ve final notu girilen öğrencinin ortalamasını bulan program algoritmasını yazınız. Soru3b:Soru3a daki soruyu başka işlem sorgulaması ile tekrarlanacak şekilde düzenleyiniz. Soru4:Kullanıcı hayır cevabını verene kadar girilen her ismi ekrana yazan prg algoritmasını yazınız. 2.Sayaç metodu: Bu metot işlemin tekrarlanma sayısının belli olduğu durumlarda kullanılır. Bu metot da ayrı bir sayaç değişkeni kullanılır ve işlem her tekrarlandığında değeri bir artırılarak istenen değere ulaşıp ulaşmadığına bakılır. İstenen değere ulaşılmış ise işlem sona erdirilir aksi halde işlem tekrarlanır. Örnek 9: Klavyeden girilen 4 sayının toplamını bulan program algoritmasını yazınız. Ör : kullanıcıdan 100 adet sayı alarak, bu sayıların toplamlarını ekrana yazdıran algoritmayı tasarlayınız. Satır algoritması

1. Başla 2. Toplam =0, Sayac =1 3. Yaz bir sayı giriniz 4. Oku sayı 5. Eger (sayaç <=100) 5.1 Toplam = toplam + sayı 5.2.Sayaç = sayaç + 1 5.3.Git 4 6. Yaz toplam 7. Dur Koşullu tekrar yapıları Tekrarlı işlemlerde, tekrar edilecek işlem adımlarının kaç kez çalıştırıcağını bazen önceden bilemeyiz. Örneğin şu problemi ele alalım.

Kullanıcıların girdiği sayıları toplayan bir algoritmayı tasarlayın. Algoritma sıfır girilene kadar girdiği sayıları alıp toplasın ve sıfır girildiği zaman kullanıcıdan sayı alma işlemini kesip, girilen sayıların toplamını ekrana yazdırın. Sözde-Kod Algoritma adımlarının programlama diline benzeyen bir şekilde ancak günlük dil ile anlatılmasıdır. Yapılacak eylemler günlük hayatta kullanılan sözcüklerle ifade edilir. Sözde kodlar; yapısı itibariyle kullanılacak olan programlama dilinin esnetilmiş halidir. Programlama dilindeki gibi katı kuralları ve kalıpları yoktur. Program yazılmadan önce algoritma oluşturulurken kullanılan dile bağlı olarak sözde kodlar tasarlanır. Satır algoritmalardan sözde kod oluşturma Ör.1 / ekrana sırasıyla 1,2,3 değerlerini yazdıran algoritmayı tasarlayın: 2.yaz 1 3.yaz 2 4.yaz 3 5.dur

Display 1 Display 2 Display3 Ör.2 / kullanıcıdan 2 sayı alıp, bu iki sayının toplamını ekrana yazdıran algoritma : 2. Oku (A,B) 3. C = A + B 4.yaz C 5.dur Get A Get B C = A + B Display C Ör.3/ kullanıcıdan bir kenarı alınan karenin çevresini hesaplayan algoritma 2. Oku (K) 3. C = 4 * K 4.yaz C 5.dur Get (K) C = 4 * K Display C Ör.4/ kullanıcıdan yaş girmesini isteyip. Girilen yaş 18 den büyükse Reşitsiniz, değil ise reşit değilsiniz yazdıran algoritma 2. Oku yaşınız? (Y) 3. Eğer 3.1. (Y >=18) yaz Reşitsiniz 3.2(DEĞİLSE) yaz Reşit değilsiniz 4. Dur Display Yaşınız Get Y

İf Y >= 18 Display Resitsiniz Else Display Resit Degilsiniz Endif Örnek satır algoritmaları 1. Başla 2. Toplam =0, Sayi =1 3. Sayaç (x=1 to 100 step 1) 4. Oku bir sayı giriniz 5. Toplam = toplam + sayı 6. Sayaçsonu 7. Yaz Toplam 8. Dur Örnek sözde kod Toplam =0 For(x=0 to 100 step 1) Toplam = toplam + X Endfor Display Toplam Akış diyagramlarından sözde kod oluşturmak

Sayaç = 0, Toplam =0 Get sayi For sayaç = 1 to sayi step 1 Toplam = toplam + sayaç Endfor Display Toplam Display bir sayı giriniz Get sayı İf sayı >0 Display girdiğiniz sayı pozitif End if sayı < 0 Display girdiğiniz sayı negatif Else Display girdiğiniz sayı sıfırdır Endif

Temel algoritma örnekleri 1. Klavyeden girilen 5 adet not bilgisinin ortalamasını alan programı yapınız. Klavyeden girilen 10 adet notun en büyük ve en küçüğünü bulan programı yapınız..klavyeden 0 sayısı girilene kadar sayılar okutunuz. Girilen sayıların 2 katını alarak ekrana sonucu yazdırınız.

Derste yapılan örnekleri koda dökmek Ör.1 / ekrana sırasıyla 1,2,3 değerlerini yazdıran algoritmayı tasarlayın: 2.yaz 1 3.yaz 2 4.yaz 3 5.dur Console.WriteLine( 1 ); Console.WriteLine( 2 ); Console.WriteLine( 3 ); Ör.2 / kullanıcıdan 2 sayı alıp, bu iki sayının toplamını ekrana yazdıran algoritma : 2. Oku (A,B) 3. C = A + B 4.yaz C 5.dur int a = 0;

int b = 0; int c = 0; string girilen = ""; a = int.parse(girilen); b = int.parse(girilen); c = a + b; Console.WriteLine(c); Ör.4/ kullanıcıdan yaş girmesini isteyip. Girilen yaş 18 den büyükse Reşitsiniz, değil ise reşit değilsiniz yazdıran algoritma 2. Oku yaşınız? (Y) 3. Eğer 3.1. (Y >=18) yaz Reşitsiniz 3.2(DEĞİLSE) yaz Reşit değilsiniz 4. Dur int Y = 0; string girilen = null; Console.Write( Yaşınız? ); Y = int.parse(girilen); if (Y >= 18) { Console.WriteLine("Reşitsiniz."); } else { Console.WriteLine("Reşit değilsiniz."); } Ör : kullanıcıdan 100 adet sayı alarak, bu sayıların toplamlarını ekrana yazdıran algoritmayı tasarlayınız. Satır algoritması

1. Başla 2. Toplam =0, Sayac =1 3. Yaz bir sayı giriniz 4. Oku sayı 5. Eger (sayaç <=100) 5.1 Toplam = toplam + sayı 5.2.Sayaç = sayaç + 1 5.3.Git 4 6. Yaz toplam 7. Dur int toplam = 0; int x = 0; for (x = 1; x <= 100; x++) { toplam = toplam + x; } Console.WriteLine(toplam); Kullanıcıların girdiği sayıları toplayan bir algoritmayı tasarlayın. Algoritma sıfır girilene kadar girdiği sayıları alıp toplasın ve sıfır girildiği zaman kullanıcıdan sayı alma işlemini kesip, girilen sayıların toplamını ekrana yazdırın. int toplam = 0; int sayi = 0; string girilen = ""; do { Console.Write("Bir sayı girin: "); sayi = int.parse(girilen); toplam = toplam + sayi; } while ((sayi > 0)); Console.WriteLine(toplam); Ekrana girilen 2 adet sayıyı toplayan kodu yazınız int sayi1 = 0; int sayi2 = 0; int toplam = 0; string girilen = ;

Console.Write("Birinci sayıyı girin: "); sayi1 = int.parse(girilen); Console.Write("İkinci sayıyı girin: "); sayi2 = int.parse(girilen); toplam= sayi1 + sayi2; Console.WriteLine("Toplama sonucu = " + toplam); Ekrana girilen 2 sayıyı bölen işlemin kodunu yazınız decimal sayi1 = 0M; decimal sayi2 = 0M; decimal bolum = 0M; string girilen = ; Console.Write("Birinci sayıyı girin: "); sayi1 = decimal.parse(girilen); Console.Write("İkinci sayıyı girin: "); sayi2 = decimal.parse(girilen); bolum = sayi1 / sayi2; Console.WriteLine("Bölme sonucu = " + bolum); Tabanı ve yüksekliği verilen bir üçgenin alanını hesaplayarak ekrana yazdıran kodu yazınız. decimal yukseklik = 0M; decimal taban = 0M; decimal alan = 0M; string girilen = ; Console.Write("Taban uzunluğu = "); taban = decimal.parse(girilen); Console.Write("Yükseklik = "); yukseklik = decimal.parse(girilen); alan = taban * yukseklik / 2; Console.WriteLine("Alan = " + alan);

Yarıçapı verilen bir dairenin alanını ve çevresini hesaplayarak ekrana yazdıran kodu yazınız. decimal yaricap = 0M; decimal cevre = 0M; decimal alan = 0M; const decimal PI = 3.14; string girilen = ; Console.Write("Yarıçap = "); yaricap = decimal.parse(girilen); alan = PI * Math.Pow(yaricap, 2); cevre = 2 * PI * yaricap; Console.WriteLine("Çevre = " + cevre); Console.WriteLine("Alan = " + alan); Yarıçapı ve yüksekliği verilen bir koninin hacmini hesaplayarak sonucu ekrana yazdıran kodu yazınız. decimal yaricap = 0M; decimal yukseklik = 0M; decimal hacim = 0M; string girilen = ; const decimal PI = 3.14; Console.Write("Yarıçap = "); yaricap = decimal.parse(girilen); Console.Write("Yükseklik = "); yukseklik = decimal.parse(girilen); hacim = PI * yaricap * yaricap / yukseklik; Console.WriteLine("Hacim = " + hacim);