- Dövrün üç növünü tanımaq və onların blok-sxemini oxumaq
- İzləmə cədvəli ilə dövrü addım-addım icra etmək: cəm, hasil, say, maksimum, rəqəmlər
- Təkrarların sayını bərabərsizliklə tapmaq və iki ardıcıl dövrü icra etmək
- Nəticəyə görə ilkin qiymətləri və ən böyük girişləri tapmaq
Müəllim sinifdəki 30 şagirdin ballarını toplamalıdır. «Növbəti balı cəmə əlavə et» əmrini 30 dəfə yazmaq əvəzinə onu bir dəfə yazıb «30 dəfə təkrarla» demək kifayətdir. Təkrarlanan addımları olan alqoritm dövri alqoritmdir. 2025–2026-cı illərin qəbul imtahanlarında ən çox rast gəlinən mövzu məhz dövrlər olub: Python-da «Dövr operatoru» başlıqlı tapşırıqlar, üstəlik blok-sxemdə təkrarların sayı, iki ardıcıl dövr və «hansı giriş verilməlidir ki…» tipli tərs məsələlər. Bu dərsdə dövrləri blok-sxemdə oxumağı və izləmə cədvəli ilə səhvsiz icra etməyi öyrənəcəksən.
Dövr və onun növləri
Bir qrup əmrin bir neçə dəfə təkrarlandığı alqoritm dövri alqoritmdir. Təkrarlanan əmrlər dövrün gövdəsi, gövdənin bir dəfə icrası isə iterasiya (dövrün bir addımı) adlanır.
- Sayğaclı (parametrli) dövr — təkrarların sayı əvvəlcədən məlumdur: dövr dəyişəni başlanğıc qiymətdən son qiymətə qədər müəyyən addımla dəyişir. Python-da
for i in range(1, 11). - Şərti əvvəldə yoxlanılan dövr — gövdədən əvvəl şərt yoxlanılır və şərt doğru olduqca gövdə təkrarlanır. Şərt əvvəldən yalandırsa, gövdə heç bir dəfə icra olunmur. Python-da
while. - Şərti sonda yoxlanılan dövr — əvvəl gövdə icra olunur, sonra şərt yoxlanılır, ona görə gövdə ən azı bir dəfə icra olunur. Python-da ayrıca operatoru yoxdur;
while True:vəbreakilə yazılır.
i = 1-dən 5-ə qədər təkrarla
S = S + i
son
a < b olduqca təkrarla
a = a + 5
son
təkrarla
x = x − 3
x > 0 olduqcaDİM blok-sxemlərində sayğaclı dövr də romb ilə çəkilir: əvvəl i = 1, sonra romb i ≤ n, gövdədə isə mütləq i = i + 1 olur. Oxun yuxarı qayıtdığını görən kimi bil ki, qarşında dövr var; rombun hansı çıxışının geri qayıtdığına bax — o, dövrün davam etmə şərtidir.
İzləmə cədvəli və tipik dövr tapşırıqları
Dövrün izləmə cədvəlində hər sətir bir şərt yoxlamasıdır: şərtin cavabını, sonra gövdədən sonra dəyişənlərin yeni qiymətlərini yazırıq. Son sətirdə şərt «Yox» olur və dövr bitir. Diqqət: şərt həmişə təkrarların sayından bir dəfə çox yoxlanılır.
- Scəm; başlanğıc qiyməti 0
- Phasil; başlanğıc qiyməti 1 (0 olsa, hasil həmişə 0 qalar)
- ksay (sayğac); başlanğıc qiyməti 0
Dövrün üç «yığıcı» dəyişəni və onların başlanğıc qiymətləri
S = 0; i = 1; i ≤ 5 olduqca: S = S + i·i; i = i + 2. Çıxışa S verilir. Nə çap olunar?
Həllini göstərHəllini gizlət
| Yoxlama | i (əvvəl) | i ≤ 5 | S = S + i·i | i = i + 2 |
|---|---|---|---|---|
| 1 | 1 | Hə | 0 + 1 = 1 | 3 |
| 2 | 3 | Hə | 1 + 9 = 10 | 5 |
| 3 | 5 | Hə | 10 + 25 = 35 | 7 |
| 4 | 7 | Yox |
1) P = 1; i = 1-dən 5-ə qədər: P = P · i. Çıxışda nə olar?
2) Eyni alqoritmdə səhvən P = 0 yazılıb. İndi nə çap olunar?
Həllini göstərHəllini gizlət
2) 0 · i həmişə 0-dır: P bütün addımlarda 0 qalır, çıxış 0. Hasil üçün başlanğıc qiymət 1, cəm üçün 0 olmalıdır.
- n % 10ədədin son rəqəmi (10-a bölmədən qalıq)
- n // 10son rəqəmi atılmış ədəd (tam bölmə)
Rəqəmlər üzrə dövr: n > 0 olduqca son rəqəmi götür və onu at
n = 4072; s = 0; k = 0. n > 0 olduqca: s = s + n % 10; k = k + 1; n = n // 10. Çıxışa s və k verilir.
Həllini göstərHəllini gizlət
407 > 0: s = 9, k = 2, n = 40
40 > 0: s = 9 (rəqəm 0), k = 3, n = 4
4 > 0: s = 13, k = 4, n = 0
0 > 0 — Yox. Çıxış: 13 4. Sıfır rəqəmi cəmi dəyişmir, amma sayılır.
n = 4072
s = 0
k = 0
while n > 0:
s = s + n % 10
k = k + 1
n = n // 10
print(s, k)
a = [12, 7, 25, 3, 18]
m = a[0]
for x in a:
if x > m:
m = x
print(m)▸ Gözlənilən nəticə
13 4 25
while dövrü və maksimumun axtarışı: namizəd m = ilk element, sonra hər element onunla müqayisə olunur. İmtahan proqramlarında n n = int(input()) ilə oxunur.DİM tapşırıqları: təkrarların sayı və iki ardıcıl dövr
DİM-in dövr tapşırıqlarında dövr çox vaxt onlarla dəfə təkrarlanır — hər addımı yazmaq həm uzun, həm də risklidir. Ona görə qanunauyğunluğu tapmaq lazımdır: gövdədə dəyişən hər addımda eyni ədəd qədər dəyişirsə, k addımdan sonrakı qiyməti düsturla yazmaq olar. Sonra dövrün dayanma şərti bərabərsizliyə çevrilir.
- a₀, b₀dəyişənlərin başlanğıc qiymətləri (a₀ < b₀)
- p, qhər addımda a-nın artımı və b-nin azalması
- k«a < b» dövrünün təkrarlarının sayı
- ⌈ ⌉yuxarı yuvarlaqlaşdırma: 10,875 → 11
Dövr ilk dəfə a ≥ b olanda dayanır: məsafə hər addımda p + q qədər azalır
- 1Dəyişənləri tap
Dövrün şərtində hansı dəyişənlər var və gövdədə hər addımda nə qədər dəyişirlər?
- 2k addımdan sonra yaz
Məsələn, a = a₀ + p·k, b = b₀ − q·k; sabit artım yoxdursa, ilk 4–5 addımı cədvəldə yazıb qanunauyğunluğu axtar.
- 3Dayanma şərtini həll et
Dövrün şərtinin əksini (məsələn, a ≥ b) bərabərsizlik kimi yaz və onu ödəyən ən kiçik natural k-nı tap.
- 4Sərhədi yoxla
k − 1 və k üçün qiymətləri hesabla: k − 1 addımdan sonra şərt hələ doğru, k addımdan sonra isə yalan olmalıdır.
a = 3 və b = 90 üçün alqoritm: a < b olduqca: a = a + 5; b = b − 3. İcra olunan dövrlərin sayını tapın.
Həllini göstərHəllini gizlət
Dövr 3 + 5k ≥ 90 − 3k olanda dayanır → 8k ≥ 87 → k ≥ 10,875 → ən kiçik tam k = 11.
Yoxlama: k = 10: a = 53, b = 60, 53 < 60 — dövr davam edir; k = 11: a = 58, b = 57 — dayanır ✓.
Yuxarıdakı blok-sxemə görə alqoritmin icrasından sonra çıxışa verilən a-nı tapın.
Həllini göstərHəllini gizlət
II dövrə a = 3, b = 8 daxil olur (b > 4):
b = 8 − 3 = 5, a = 3 + 5 = 8
b = 5 − 3 = 2, a = 8 + 2 = 10
2 > 4 — Yox. Çıxış: 10.
Diqqət: II dövrdə əvvəl b azalır, sonra a-ya b-nin yeni qiyməti əlavə olunur.
Alqoritm: S = 0; b = 25; a = ?; a < b olduqca: a = a + 5; S = S + a; b = b − 2. Çıxışa S verilir. Dövr a = 23, b = 19 olanda dayanıb. a-nın ilkin qiymətini müəyyən edib S-i tapın.
A) 31 B) 54 C) 49 D) 77 E) 36
Həllini göstərHəllini gizlət
a hər addımda 5 artır: a₀ = 23 − 3·5 = 8.
İcra: 8 < 25 → a = 13, S = 13, b = 23; 13 < 23 → a = 18, S = 31, b = 21; 18 < 21 → a = 23, S = 54, b = 19; 23 < 19 — Yox.
S = 54, cavab B. («31» bir addımı unudanların cavabıdır.)
Tərs məsələlər: çıxışlara görə giriş
a və b daxil edilir; n = 3.
I dövr: a < 10·n olduqca: «AB» çap et; a = a + n.
II dövr: b ≥ 20·n olduqca: «BA» çap et; b = b − n.
İcra zamanı 5 dəfə «AB», 4 dəfə «BA» çap olunub. a və b-nin ala biləcəyi ən böyük natural qiymətlərin cəmini tapın.
Həllini göstərHəllini gizlət
a + 4·3 < 30 → a < 18; a + 5·3 ≥ 30 → a ≥ 15. Deməli a ∈ {15; 16; 17}, ən böyüyü 17.
II dövr 4 dəfə işləyib: b − 3·3 ≥ 60 → b ≥ 69; b − 4·3 < 60 → b < 72. Deməli b ∈ {69; 70; 71}, ən böyüyü 71.
Cəm: 17 + 71 = 88.
Blok-sxem 7 dəfə icra olunur; hər dəfə x üçün növbə ilə 14, 27, 33, 40, 51, 8, 60 ədədlərindən biri daxil edilir. Cəmi neçə dəfə 1 çap olunar?
Həllini göstərHəllini gizlət
Rəqəmlərin cəmi ilə yoxla: 27, 33, 51, 60 bölünür; 14, 40, 8 bölünmür.
Cavab: 4. Hər girişi addım-addım izləməyə ehtiyac yoxdur — dövrün nə etdiyini anlamaq kifayətdir.
k = 0; n = −50-dən 50-yə qədər (addım 1): əgər (n + 7)·(20 − n) > 0, onda k = k + 1. Çıxışa k verilir.
A) 27 B) 26 C) 13 D) 28 E) 25
Həllini göstərHəllini gizlət
Hasil müsbətdir, əgər hər iki vuruq müsbətdirsə: n > −7 və n < 20 (hər ikisinin mənfi olması mümkün deyil).
Tam ədədlər: −6, −5, …, 19 → 19 − (−6) + 1 = 26, cavab B. («27» uclardan birini — −7 və ya 20-ni — sayanların cavabıdır.)
İç-içə dövrlər və sonsuz dövr
Dövrün gövdəsində başqa dövr ola bilər — bu, iç-içə dövrdür. Xarici dövrün hər addımında daxili dövr əvvəldən sona qədər tam işləyir. Daxili dövrün sərhədi xarici dəyişəndən asılı deyilsə, ümumi təkrarların sayı hasildir: 4 · 3 = 12. Asılıdırsa (məsələn, j 1-dən i-yə qədər), təkrarları sətir-sətir toplamaq lazımdır.
1) s = 0; i = 1-dən 4-ə qədər: j = 1-dən 3-ə qədər: s = s + 1. s = ?
2) s = 0; i = 1-dən 4-ə qədər: j = 1-dən i-yə qədər: s = s + 1. s = ?
Həllini göstərHəllini gizlət
2) i = 1: 1 addım; i = 2: 2; i = 3: 3; i = 4: 4 → s = 1 + 2 + 3 + 4 = 10.
Dövrləri oxumağı öyrəndin; növbəti addım — onları özün qurmaqdır. İmtahanın yazılı hissəsində n ədəd daxil edən, sayğaclı dövrlə işləyən tam blok-sxem tələb olunur — bu, «Blok-sxemin qurulması: yazılı tapşırıqlar» dərsinin mövzusudur. Eyni dövrlərin Python yazılışı isə proqramlaşdırma bölməsində öyrənilir.
Nümunə 4-ün düsturunu yoxlayın: a = 3, b = 90 üçün while a < b: dövründə a-nı 5 artırın, b-ni 3 azaldın və dövrün neçə dəfə təkrarlandığını sayğacla sayıb çap edin.
a = 3
b = 90
k = 0
# loop here
print(k)▸ Gözlənilən nəticə
11
Əsas fikirlər
- Dövrün üç növü var: sayğaclı, şərti əvvəldə və şərti sonda yoxlanılan; sonuncuda gövdə ən azı bir dəfə icra olunur.
- İzləmə cədvəlində hər sətir bir şərt yoxlamasıdır; şərt təkrarlardan bir dəfə çox yoxlanılır.
- Cəm 0-dan, hasil 1-dən, sayğac 0-dan başlayır; rəqəmlər n % 10 və n // 10 ilə ayrılır.
- Təkrarların sayı: k addımdan sonrakı qiymətləri yaz və dayanma şərtini bərabərsizlik kimi həll et.
- «k dəfə işləyib» = k-cı yoxlamada şərt doğru, (k + 1)-cidə yalan; bu iki bərabərsizlik girişin aralığını verir.
- İç-içə dövrdə daxili dövr xarici dövrün hər addımında tam işləyir; sərhədlər asılı deyilsə, təkrarlar hasil olunur.
Özünü yoxla
12 sual. Hər düzgün cavab XP qazandırır.