Nəzarət axını (ing. Control Flow) — proqram təminatında kodun icra ardıcıllığını müəyyən edən mexanizmdir. Bu mexanizm vasitəsilə proqramın hansı hissələrinin nə zaman və hansı şərtlərlə icra olunacağını təyin etmək mümkündür. Proqramlaşdırma dillərində nəzarət axını təmin etmək üçün müxtəlif üsullar var, əsasən aşağıdakı kateqoriyalara bölünür.
Kateqoriyaları
- Sıralı axın (ing. Sequential Flow)
- Proqramın hər bir əmri sırayla, bir-birinin ardınca icra olunur.
- Əsas nəzarət axınıdır və proqramın başlanğıcından sonuna qədər addım-addım irəliləyir.
- Şərtli nəzarət axını (ing. Conditional Control Flow)
- Proqramın müəyyən hissəsinin icra edilib-edilməməsini təmin edir.
- Əsasən
if
,else if
,else
strukturlarından istifadə edilir. - Məsələn,
if
bloku müəyyən bir şərt doğru olduqda icra olunur, əks haldaelse
blokuna keçir.
if a > b:
print("a böyüktür")
else:
print("b böyüktür və ya bərabərdir")
- Dövr nəzarət axını (ing. Loop Control Flow)
- Kodun müəyyən hissəsinin təkrarən icra olunmasını təmin edir.
-
for
,while
dövrləri vasitəsilə həyata keçirilir. - Dövr nəzarət axını çoxsaylı məlumatları emal etmək və ya bir işi təkrarlamaq lazım olduqda istifadə olunur.
- Misal (for dövrü)
for i in range(5):
print(i)
- Misal (while dövrü)
i = 0
while i < 5:
print(i)
i += 1
- Seçim nəzarəti (ing. Switch Control)
- Müxtəlif dəyərlərə görə müxtəlif əmrlərin icra olunmasını təmin edir.
- Bəzi dillərdə
switch
strukturundan istifadə olunur; Python kimi dillərdə isə ümumiyyətləif-elif-else
blokları ilə əvəz olunur.
choice = 2
if choice == 1:
print("Birinci seçim")
elif choice == 2:
print("İkinci seçim")
else:
print("Başqa seçim")
- Funksiya çağırışları (ing. Function Calls)
- Funksiyalar kodun müəyyən hissələrini ayrı-ayrılıqda icra etmək üçün istifadə olunur.
- Funksiya çağırışı ilə nəzarət axını həmin funksiyaya keçir, funksiyanın icrası bitdikdən sonra isə növbəti sətrə geri qayıdır.
def salamla():
print("Salam!")
salamla()
- Nəzarəti dayandırma və davametmə (ing. Break, Continue, Return)
- Dövrü dayandırmaq və ya növbəti iterasiyaya keçmək üçün istifadə olunur.
-
break
dövrü vaxtından əvvəl bitirir,continue
isə cari iterasiyanı buraxaraq növbəti iterasiyaya keçir. -
return
isə funksiyanı müəyyən dəyəri geri qaytarmaqla bitirir.
- Misal (break və continue)
for i in range(10):
if i == 5:
break # Dövr burada dayandırılır
elif i == 3:
continue # Bu iterasiya buraxılır
print(i)
- İstisnaların emalı (ing. Exception Handling)
- Proqramda gözlənilməyən səhvlərin qarşısını almaq üçün
try
,except
blokları istifadə olunur. - Bu, nəzarət axınının səhv baş verdikdə hansı istiqamətə yönləndiriləcəyini müəyyən edir.
- Proqramda gözlənilməyən səhvlərin qarşısını almaq üçün
try:
hasil = 10 / 0
except ZeroDivisionError:
print("Sıfıra bölmə mümkün deyil.")
Nəzarət axını proqramın davranışını düzgün qurmaq və istənilən şərtlərə uyğun olaraq nəticə əldə etmək üçün əsas mexanizmdir.
İstinadlar
- Böhm, Jacopini. "Flow diagrams, turing machines and languages with only two formation rules" , 9(5):366-371, May 1966.
- Roberts, E. [1995] " 2014-07-25 at the Wayback Machine," ACM SIGCSE Bulletin, (27)1: 268–272.
- David Anthony Watt; William Findlay. Programming language design concepts. John Wiley & Sons. 2004. səh. 228. ISBN 978-0-470-85320-7.
- . GeeksforGeeks (ingilis). 2019-11-25. İstifadə tarixi: 2024-03-14.
- . www.w3schools.com (ingilis). İstifadə tarixi: 2024-03-14.
- Dean, Jenna. . The Startup (ingilis). 2019-11-22. İstifadə tarixi: 2024-03-14.
- Ada Programming: Control: Endless Loop