4. DÖNGÜ YAPILARI 4.1. While Yapısı while döngüsü, programda tekrar eden bir eylem var ise kullanılır. while döngüsü belirlenen bir şart SAĞLANDIĞI SÜRECE döngü devam eder. Genellikle while komutu yazılarak yazılan programlarda while döngüsü içinde bu koşulu ihlal edecek bir ifade bulunur. while koşul komut_1 komut_2 … komut_n end Örnek: Ekrana 10 defa “Deneme” yazdıran bir program yazınız. i=0; while i<10 disp(“Deneme”); i=i+1; end Örnek: 5’den 10’a kadar olan sayıların toplamını bulan bir program yazınız. a=5; toplam=0 while a<10 a=a+1 toplam=toplam+a end While döngüsü birden fazla koşula bağlı olarak oluşturulabilir. Bu durumda koşullar if yapısında olduğu gibi ( && - ve) ya da ( || - veya ) koşulları ile birbirine bağlanmalıdır. 4.2. For Yapısı Döngüdeki işlem sayısını önceden belirleyerek ve bu sayıya ulaşıp ulaşmadığını bir sayaç ile denetleyerek gerçekleştirilen döngü yapıları for yapılarıdır. for sayac = başlangıç : bitiş komut_1 komut_2 … komut_n end Örnek: 1’den 20’ye kadar sayıların toplamını bulan program 23 toplam = 0 ; for x = 1:20 toplam = toplam + x; end disp(toplam); Örnek: Ekrandan girilen bir sayıya kadar olan sayıların çarpımını bulan program sayi=input(‘lütfen bir sayı giriniz=’) carpim=1 ; for i=1:sayi carpim=carpim*i; end disp(carpim); 4.3. break ifadesi FOR ve WHILE döngülerine ilaveten bir program akışını kontrol edebilmenin diğer bir yolu break ifadesini kullanmaktır. Break ifadesini döngü gövdesi içerisinde kullanmak, döngünün durmasını ve döngüden sonra gelen ilk ifade veya komutun işletilmesini sağlar. Aşağıdaki örneği inceleyiniz. for j=2:6 if j==4 disp(j); break; end end disp(‘döngü sonlandırıldı’) 4.4. İç içe döngüler Bazı işlemlerde bir döngünün içerisinde başka bir döngü kullanmak gerekebilir. Örnek : Kullanıcının girdiği bir N sayısına göre aşağıdaki x değerini hesaplayan bir program yazınız. N=input(‘Bir Sayı giriniz = ’); toplam=0; for i = 1:N ic_toplam = 0 for j = 1:N ic_toplam = ic_toplam + i/(j^2); end toplam = toplam +ic_toplam; end disp(toplam); Örnek : Kullanıcının girdiği bir N sayısına göre aşağıdaki x değerini hesaplayan bir program yazınız. 24 1 ! N=input(‘Bir Sayı giriniz = ’); toplam=0; for i = 1:N ic_carpim = 1; for j = 1:i ic_carpim = ic_carpim *i; end toplam = toplam +1/ic_carpim; end disp(toplam); Örnek: Kullanıcının verdiği x sayısını kullanarak aşağıdaki değeri hesaplayan bir program yazınız. ! ! ! ⋯ ! Denklemin genel formülü yazılırsa daha kolay bir şekilde program yazılabilir. x ! x=input(‘Bir Sayı giriniz = ’); toplam=0; for i = 0:10 ic_carpim = 1; for j = 1:i ic_carpim = ic_carpim *i; end toplam = toplam +x/ic_carpim; end disp(toplam); Örnek : Kullanıcının girdiği bir N sayısına göre aşağıdaki x değerini hesaplayan bir program yazınız. ! N=input(‘Bir Sayı giriniz = ’); toplam=0; for i = 1:N ic_carpim = 1; for k = 1:i ic_carpim = ic_carpim *k; end ic_toplam=0; for j=i:N-i ic_toplam=ic_toplam+sqrt(j); end toplam = toplam +(1/ic_carpim)*ic_toplam; end disp(toplam); 25 4.5. Alıştırmalar 1. Kullanıcının girdiği bir N sayısına kadar olan 3’e bölünebilen bütün sayıların karelerinin toplamını bulan bir program yazınız. 2. Kullanıcı tarafından girilen herhangi bir sayının basamaklarını tersten alt alta yazan bir program yazınız. Örneğin, sayi = 65852364 olsun (long int) Çıktı 4 6 3 2 5 8 5 6 3. Kullanıcının girdiği bir N sayısına göre aşağıdaki formülü hesaplayan bir program yazınız 1 √ 4. Kullanıcıdan aldığı bir N sayısına kadar olan bütün sayıların a. Aritmetik Ortalamasını b. Standart Sapmasını c. Harmonik Ortalamasını d. Geometrik Ortalamasını hesaplayıp ekrana yazdıran bir program yazınız. 5. Basamaklarının küplerinin toplamı kendisine eşit olan üç basamaklı sayıları bulan bir program yazınız. Örneğin 153 sayısı 153=13+53+33 6. Basamaklarının faktöriyelleri toplamı kendisine eşit olan sayıları bulan bir program yazınız. (10000’e kadar olan sayıları kontrol ediniz ) Örneğin; 1!=1 2!=2 1!+4!+5!=145 4!+0!+5!+8!+5!=40585 7. Kullanıcı tarafından girilen iki sayının a. OBEB b. OKEK değerlerini bulunuz 8. Kullanıcının girdiği bir sayının asal sayı olup olmadığını bulan bir program yazınız 9. Kullanıcının girdiği bir sayıya kadar olan bütün asal sayıları bulan bir program yazınız 10. Kullanıcının girdiği bir sayının asal bölenlerini bulan bir program yazınız. 11. Kullanıcının girdiği bir x sayısının aşağıdaki değerlerini bulan programları yazınız sin x cos 1 3! 5! 7! 2! 4! 6! … … 15! 14! 26
© Copyright 2024 Paperzz