Mantık ve Döngü Kavramı


Mantıksal Akış Şemaları

Geniş ölçüde mantıksal kararları içeren şemalardır ve verilen koşulun doğru yada yanlış olmasına göre iş akışı yönlendirirler.

Örnek

(Klavyeden Girilen 2 sayıdan birincisi büyük ise çarpma, aksi durumda toplama yapan algoritma ve akış şeması)

Değişkenler;

a: birinci sayi
b: ikinci sayi
ts: toplam sonuc
başla
a gir
b gir
eğer a > b ise ts = a+b
eğer a <= b ise ts = a*b
ts yazdır
bitir

Döngüsel Akış Şemaları

Sorunun çözümü için, çözümde yer alan herhangi bir adım ya da aşamanın birden fazla kullanıldığı akış şemalarına denir. İş akışları genel olarak giriş ya da başlangıç değeri verme, hesaplama, kontrol biçiminde olmaktadır.

Örnek

Klavyeden girilen ismi ekrana 10 kez yazdırmak.

Değişkenler;

isim = isim
sayac = 1
sonDeğer = 10
1 - başla
2 - ismi oku
3 - ismi yazdır
4 - sayac += 1
5 - eğer sayac <= 10 3 adıma git
6 - bitir

Döngüsüz gösterim Döngülü gösterim

Örnek

1'den klavyeden girilen sayıya kadar olan sayıları ekranda görüntüleyen akış şeması ve sözde kod

Değişkenler

i: başlangıç değeri
x: klavyeden girilen değer
1-başla
2-x sayısını oku
3-i yazdır
4-i += 1
5-eğer i<=x ise 3 adıma geri dön
6-bitir
Örnek

1’den 10’a kadar sayıları ekranda görüntüleyen akış şemasını kontrol ve döngü ifadesi ile gösteriniz.

Kontrol İfadesi Döngü İfadesi

c# konsol uygulaması

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("algoritma ve programlamaya giriş");

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(i);
            }

            Console.ReadKey();
        }
    }
Örnek

Klavyeden girilen 10 sayının 2 katını görüntüleyen akış şeması

Kontrol İfadesi Döngü İfadesi

c# konsol uygulaması

  static void Main(string[] args)
        {
            int sayi;
            Console.WriteLine("lütfen 10 tane sayı giriniz");
            for (int i = 1; i <11 ; i++)
            {
                Console.WriteLine($"{i}.sayıyı giriniz: ");
                sayi = int.Parse(Console.ReadLine());
                sayi = sayi * 2;
                Console.WriteLine(sayi);
            }
            Console.ReadKey();
        }
Örnek

Klavyeden girilen 15 sayıdan pozitif olanların adedini bulup görüntüleyen akış şeması

Kontrol İfadesi

Döngü İfadesi

static void Main(string[] args)
        {
            int sayi;
            int sayac = 0;
            Console.WriteLine("lütfen 15 tane sayı giriniz");
            for (int i = 0; i < 15; i++)
            {
                // Console.WriteLine($"{i+1}. sayi giriniz");
                Console.WriteLine((i+1) + ".sayıyı giriniz");                
                sayi = int.Parse(Console.ReadLine());
                if (sayi>0)
                {
                 sayac += 1;
                }
                 Console.WriteLine(sayac + "tane pozitif sayı var");
            }
            Console.ReadKey();
        }

Örnek

50 öğrencinin notlarının ortalamasını bulan akış şeması

tek yada çift olduğunu bulup ekranda görüntüleyen akış şeması

Girilen 3 sayıdan hangisinin en büyük olduğunu bulan akış şeması

1-Başla
2-1.sayıyı gir.
3-2. sayıyı gir.
4-3.sayıyı gir.
5-Eğer (a>b) ve (a>c) ise
 Yaz; 'büyük olan sayı'' a
 Eğer bitti.
6- Eğer (b>a) ve (b>c) ise
Yaz; ''büyük olan sayı'' b
Eğer bitti.
7-Eğer (c>a) ve (c>b) ise
Yaz; ''büyük olan sayı'' c
Eğer bitti.
8-Bitir.

Faktöriyel alma

class Program
    {
        static void Main(string[] args)
        {
            int i, sayi, fakt = 1;
            Console.Write("Sayı giriniz: ");
            sayi = Convert.ToInt32(Console.ReadLine());
            for (i = 1; i <= sayi; i++)
            {
                fakt = fakt * i;
            }
            Console.Write("Sonuç:" + fakt);
            Console.Read();
        }
    }

results matching ""

    No results matching ""