Algoritma oluştururken, karar verme mekanizmalarımızı ve koşullarımızı ifade etmek için mantık bağlaçlarını ve niceleyicileri kullanırız. Bunlar, bilgisayarın ne zaman, nasıl ve hangi koşullarda işlem yapacağını belirlememizi sağlar.
Mantık bağlaçları, birden fazla koşulu birleştirerek daha karmaşık ifadeler oluşturmamızı sağlayan özel sembollerdir. Temel olarak üç tane mantık bağlacı vardır:
Örnek: "Mağazaya git ve ekmek al, ayrıca süt de al." Burada her iki işin de (ekmek alma VE süt alma) yapılması gerekir.
Örnek: "Ödevini bitirdiysen dışarı çıkabilir VEYA kitap okuyabilirsin." Burada iki seçenekten sadece birini yapmak yeterlidir.
Örnek: "Kapı açık değilse (NOT açık), ışığı kapat." Yani kapının kapalı olması koşulunu kontrol ediyoruz.
Niceleyiciler, bir küme içindeki elemanların ne kadarının bir özelliği sağladığını ifade etmemizi sağlar. Algoritmalarda, özellikle döngüler ve koşullarla birlikte kullanılırlar.
Örnek: "Sınıftaki her öğrenci sınavdan 50'den yüksek aldı." Bu ifadenin doğru olması için tek bir öğrencinin bile 50'nin altında not almamış olması gerekir.
Örnek: "Sınıfta sınavdan 100 alan bazı öğrenciler var." Bu ifadenin doğru olması için en az bir tane 100 alan öğrenci olması yeterlidir.
Bu kavramlar, bir algoritma yazarken (akış şeması veya sözde kod - pseudocode ile) karşımıza şu şekilde çıkar:
Örnek Senaryo: Bir web sitesi, 18 yaşından büyük VE e-posta aboneliği bulunan kullanıcılara indirim kuponu gönderecektir.
Bu durumda algoritma adımları şöyle olur: