- Tam və natamam budaqlanmanı fərqləndirmək, onları blok-sxem və psevdokodla yazmaq
- İç-içə və «və», «və ya», «deyil» ilə qurulmuş mürəkkəb şərtləri yoxlamaq
- Bir neçə rombu olan DİM blok-sxemini verilmiş qiymətlər üçün icra etmək
- Nəticəyə görə ilkin qiymətləri tapmaq və budaq şərtlərini yoxlamaq
Metronun turniketi hər dəfə eyni sualı verir: kartda kifayət qədər pul varmı? Varsa, keçid açılır və gediş haqqı çıxılır; yoxdursa, ekranda «Balans kifayət deyil» yazılır. Turniketin alqoritmi xətti deyil: şərtin cavabından asılı olaraq iki fərqli yoldan biri seçilir. Belə alqoritmlər budaqlanan alqoritmlər adlanır. DİM-in alqoritm tapşırıqlarında bir neçə rombu olan blok-sxemlər tez-tez verilir, 2025–2026-cı illərin hər imtahanında Python tapşırıqlarından ikisi-üçü isə birbaşa «Şərt operatoru» mövzusunda olub — hər ikisinin açarı bu dərsdədir.
Tam və natamam budaqlanma
Şərtin doğru və ya yalan olmasından asılı olaraq əmrlərin iki fərqli ardıcıllığından birinin yerinə yetirildiyi alqoritm. Blok-sxemdə budaqlanmanı romb yaradır: onun «Hə» və «Yox» çıxışları iki budaqdır, budaqlar sonra yenidən birləşir.
- Tam budaqlanma — hər iki budaqda əməl var: «əgər şərt doğrudursa, A-nı et, əks halda B-ni et».
- Natamam budaqlanma — əməl yalnız bir budaqdadır: «əgər şərt doğrudursa, A-nı et»; şərt yalan olanda alqoritm heç nə etmədən davam edir.
əgər a > b onda
m = a
əks halda
m = b
son
əgər x < 0 onda
x = −x
sonif a > b: … else: … və if x < 0: …Yuxarıdakı blok-sxemlər üzrə tapın:
1) m — a, b cütləri üçün: (7; 3), (−2; 5), (4; 4).
2) x-in son qiyməti — x = −6 və x = 9 üçün.
3) «n % 2 = 0» şərti ilə «cüt» və ya «tək» çap edən tam budaqlanma — n = 14, 7, 0, −3 üçün.
Həllini göstərHəllini gizlət
2) −6 < 0 — Hə → x = −(−6) = 6. 9 < 0 — Yox → heç nə dəyişmir, x = 9. Bu alqoritm ədədin modulunu tapır.
3) 14 % 2 = 0 → cüt; 7 % 2 = 1 → tək; 0 % 2 = 0 → cüt (0 cüt ədəddir!); −3 % 2 = 1 (Python-da 2-yə bölmənin qalığı həmişə 0 və ya 1 olur) → tək.
İç-içə şərtlər
Budaqlardan birinin içində yeni romb ola bilər — bu, iç-içə budaqlanmadır. Onunla iki deyil, üç, dörd və daha çox hal ayırd edilir. Məsələn, üç ədədin ən böyüyünü tapmaq üçün əvvəl a ilə b müqayisə edilir, sonra qalibi c ilə müqayisə etmək lazımdır. Eyni işi iki ardıcıl natamam budaqlanma ilə daha sadə etmək olar: m = a; əgər b > m, onda m = b; əgər c > m, onda m = c. Bu «namizəd» üsulu yazılı tapşırıqlarda da çox işə yarayır.
«Namizəd» alqoritmini (m = a; b > m olarsa m = b; c > m olarsa m = c) üç giriş üçün icra edin: (3; 9; 5), (8; 2; 8), (−1; −4; −7).
Həllini göstərHəllini gizlət
(8; 2; 8): m = 8 → 2 > 8 Yox → 8 > 8 Yox → 8 (bərabərlik problem yaratmır).
(−1; −4; −7): m = −1 → −4 > −1 Yox → −7 > −1 Yox → −1. Mənfi ədədlərdə də işləyir, çünki başlanğıc namizəd «0» yox, a-dır.
- Ddiskriminant: D > 0 — iki kök, D = 0 — bir kök, D < 0 — həqiqi kök yoxdur
- a, b, ca·x² + b·x + c = 0 tənliyinin əmsalları (a ≠ 0)
Üç halı iki romb ayırır: əvvəl D > 0, sonra D = 0
Blok-sxemi üç giriş üçün icra edin: 1) a = 1, b = −5, c = 6; 2) a = 1, b = 4, c = 4; 3) a = 2, b = 1, c = 3.
Həllini göstərHəllini gizlət
2) D = 16 − 16 = 0 → D > 0 Yox, D = 0 Hə → x = −4/2 = −2.
3) D = 1 − 24 = −23 → iki dəfə «Yox» → «Həqiqi kök yoxdur».
Hər giriş blok-sxemin başqa yolundan keçdi — üç yolun hamısı yoxlanıldı.
Kvadrat tənliyin blok-sxemində «Yox» budağı növbəti romba aparır — bu, pilləkən quruluşudur: şərtlər növbə ilə yoxlanılır, ilk doğru şərtin budağı icra olunur, qalanlarına isə baxılmır. Python-da belə quruluş if … elif … else ilə yazılır. Pilləkəndə şərtlərin sırası çox vacibdir: əgər əvvəl «bal ≥ 50», sonra «bal ≥ 90» yoxlansa, 95 bal toplayan şagird birinci budağa düşəcək və «əla» qiymətini heç vaxt almayacaq. Qayda: ən dar şərt birinci yoxlanılır.
Mürəkkəb şərtlər: və, və ya, deyil
Bir neçə sadə şərt məntiqi əməllərlə birləşəndə mürəkkəb şərt alınır. «A və B» yalnız hər iki şərt doğru olanda doğrudur; «A və ya B» ən azı biri doğru olanda doğrudur; «deyil A» isə A-nın əksidir. Python-da bunlar and, or, not, verilənlər bazası sorğularında isə AND, OR, NOT kimi yazılır. Əməllərin ardıcıllığı: əvvəl «deyil», sonra «və», sonda «və ya»; şübhə olanda mötərizə qoy.
| A | B | A və B | A və ya B | deyil A |
|---|---|---|---|---|
| doğru | doğru | doğru | doğru | yalan |
| doğru | yalan | yalan | doğru | yalan |
| yalan | doğru | yalan | doğru | doğru |
| yalan | yalan | yalan | yalan | doğru |
- %bölmənin qalığı; «il % 4 = 0» — il 4-ə bölünür
- ≠bərabər deyil
Qriqorian təqvimində uzun il (kəbisə ili, 366 gün) qaydası — mürəkkəb şərtin klassik nümunəsi
Şərti 2024, 2026, 1900 və 2000-ci illər üçün yoxlayın.
Həllini göstərHəllini gizlət
2026: 4-ə bölünmür → mötərizə yalan; 400-ə də bölünmür → adi il.
1900: 4-ə bölünür, amma 100-ə də bölünür → mötərizə yalan; 1900 % 400 = 300 → adi il.
2000: mötərizə yalan (100-ə bölünür), lakin 2000 % 400 = 0 → «və ya» doğru → uzun il.
DİM tapşırıqları: bir neçə rombu olan blok-sxem
Belə tapşırıqda blok-sxem ağaca bənzəyir, amma giriş qiymətləri üçün onun yalnız bir yolu keçilir. Hər rombda şərti cari qiymətlərlə hesabla, cavabı («Hə» və ya «Yox») yaz və yalnız həmin oxla get — digər budaqlara baxma. Ən çox səhv ciddi və qeyri-ciddi bərabərsizliklərdə olur: 60 > 60 yalandır, 60 ≥ 60 isə doğrudur.
1) Blok-sxemə görə çıxışa verilən a-nı tapın.
A) 16 B) 48 C) 34 D) 8 E) 30
2) Başlanğıc qiymətlər a = 20, b = 40 olarsa, cavab nə olar?
Həllini göstərHəllini gizlət
24·2 = 48 = 40? — Yox → a = 40 − 24 / 4 = 40 − 6 = 34. Cavab C. Diqqət: bu yolda a > b rombu ümumiyyətlə yoxlanmır.
2) 20 + 40 = 60 > 60? — Yox (ciddi bərabərsizlik!), sol budaq.
20 > 40? — Yox → a = 40 / 5 = 8. «60 ≥ 60» kimi oxuyan şagird sağ budağa gedib 20·2 = 40 → a = 40 alar və səhv edər.
a = 24
b = 40
if a + b > 60:
if a * 2 == b:
a = a * 2
else:
a = b - a / 4
else:
if a > b:
a = a - b
else:
a = b / 5
print(a)▸ Gözlənilən nəticə
34.0
= Python-da == yazılır. / bölməsinin nəticəsi həmişə onluq kəsrdir, ona görə 34.0 çap olunur. İmtahan proqramlarında qiymətlər a = int(input()) ilə oxunur.Tərs məsələ: nəticəyə görə ilkin qiymət
DİM bəzən alqoritmi əks istiqamətdə soruşur: nəticə məlumdur, a-nın ilkin qiyməti isə «?» ilə verilib. Xətti alqoritmdə ilkin qiyməti x ilə işarə edib hər addımı x-lə ifadə edirik və tənlik alırıq. Budaqlanan alqoritmdə isə hər budaq üçün ayrıca tənlik həll olunur, sonra tapılan kökün həqiqətən həmin budağa düşdüyü yoxlanılır.
- 1İşarələ
Naməlum ilkin qiyməti x ilə işarələ.
- 2İfadə et
Hər əmrdən sonra dəyişənləri x-lə ifadə et (izləmə cədvəli ədədlərlə deyil, ifadələrlə).
- 3Bərabərləşdir
Nəticənin ifadəsini verilmiş qiymətə bərabərləşdir və tənliyi həll et.
- 4Yoxla
Hər kökü alqoritmdə yerinə qoy: budaq şərtləri və qadağalar (sıfıra bölmə, natural ədəd) ödənirmi?
- 5Soruşulana cavab ver
Sual köklərin cəmi, hasili və ya ən böyüyü ola bilər — sualı bir də oxu.
Alqoritm: a = ?; b = a + 4; a = a · b; a = a − 2 · b. İcradan sonra a = 7 olub. a-nın ala biləcəyi ilkin qiymətlərin cəmini tapın.
A) 8 B) −2 C) 2 D) −15 E) 3
Həllini göstərHəllini gizlət
x² + 2x − 8 = 7 → x² + 2x − 15 = 0 → x = 3 və ya x = −5.
Yoxlama: x = 3: b = 7, a = 21, a = 21 − 14 = 7 ✓; x = −5: b = −1, a = 5, a = 5 + 2 = 7 ✓.
Cəm: 3 + (−5) = −2, cavab B.
Alqoritm: a = ?; əgər a > 10, onda b = a − 10, əks halda b = a + 4; b çıxışa verilir.
1) Çıxışda 12 alınıb. a-nın ilkin qiymətlərinin cəmini tapın.
2) Çıxışda 20 alınıb. a nəyə bərabər ola bilər?
Həllini göstərHəllini gizlət
«Yox» budağı: a + 4 = 12 → a = 8; 8 > 10 yalandır, yəni a həqiqətən «Yox» budağına düşür ✓.
Cəm: 22 + 8 = 30.
2) «Hə»: a = 30, 30 > 10 ✓. «Yox»: a = 16, amma 16 > 10 doğrudur — belə a «Hə» budağına gedər və 6 verər ✗.
Cavab: yalnız a = 30. Yoxlama addımı olmasa, səhv olaraq 16 da yazılardı.
Budaqlanma alqoritmə «seçim» imkanı verir. Növbəti addım — eyni əmrlərin təkrarlanmasıdır; bu, «Dövri alqoritmlər və izləmə cədvəli» dərsinin mövzusudur. Dövrün şərti də elə bu dərsdəki romb ilə yoxlanılır, ona görə rombları səlis oxumaq orada da lazım olacaq.
il = 2100. Uzun il qaydasını mürəkkəb şərtlə yazın: il uzundursa 366, əks halda 365 çap edin.
year = 2100
# print 366 for a leap year, otherwise 365▸ Gözlənilən nəticə
365
Əsas fikirlər
- Budaqlanan alqoritmdə şərtin cavabından asılı olaraq iki yoldan biri seçilir; blok-sxemdə bunu romb edir.
- Tam budaqlanmada hər iki budaqda, natamam budaqlanmada yalnız bir budaqda əməl var.
- «A və B» — hər ikisi doğru olanda, «A və ya B» — ən azı biri doğru olanda doğrudur; «deyil (a > b)» ⇔ a ≤ b.
- DİM blok-sxemində bir giriş üçün yalnız bir yol keçilir: hər rombu cari qiymətlərlə yoxla, ciddi bərabərsizliyə diqqət et.
- Tərs məsələdə ilkin qiyməti x ilə işarələ, tənlik qur, hər kökü budaq şərtinə görə yoxla; köklərin cəmini Viyet teoremi ilə tap.
Özünü yoxla
12 sual. Hər düzgün cavab XP qazandırır.