Bilgisayar bilimindezorunlu programlama ya da emperatif programlama, programın durumunu değiştiren ifadeler kullanan yazılımınprogramlama paradigması'dır. Doğal dillerdeki zorunlu kipin komutları ifade etmesi gibi, zorunlu program da bilgisayar'ın gerçekleştireceği komutlardan oluşur. Zorunlu programlama, beklenen sonuçlarının üst düzey tanımlarından ziyade programın nasıl adım adım çalıştığını[1] açıklamaya odaklanır.
Terim genellikle, programın sonuca "nasıl" ulaşacağının tüm ayrıntılarını belirtmeden programın "neyi" başarması gerektiğine odaklanan bildirimsel programlama'nın aksine kullanılır.[2]
Yordamsal programlama, programın bir veya daha fazla yordamdan (alt programlar veya işlevler olarak da adlandırılır) oluşturulduğu bir zorunlu programlama türüdür. Terimler genellikle eşanlamlı olarak kullanılır ancak yordamların kullanımının, zorunlu programların nasıl göründüğü ve nasıl yapılandırıldıkları üzerinde çarpıcı etkisi vardır. Durum değişikliklerinin yordamlara yerelleştirildiği veya açık argümanlar ve yordamlardan geri dönüşlerle sınırlandırıldığı ağır yordamsal programlama yapısal yapılandırılmış programlama biçimidir. 1960'lardan bu yana, yapısal programlama ve genel olarak modüler programlama, zorunlu programların sürdürülebilirliği ve genel kalitesini iyileştirme teknikleri olarak tanıtıldı. Nesne yönelimli programlama arkasındaki kavramlar bu yaklaşımı büyütmeye çalışır.