İnformatika, Proqramlaşdırma
Python kodunda qiymətlər və şərtlər: kodu addım-addım izlə
Python kodunu sətir-sətir izləyib dəyişənlərin qiymətini, seçilən budağı və çıxışı səhvsiz tapmağı öyrənəcəksən.
Oxu vaxtı: 4 dəqiqə

Telefonunun şarjı azalanda ekranda xəbərdarlıq çıxır. Bunun arxasında sadə bir fikir dayanır: əgər şarj müəyyən həddən aşağıdırsa, xəbərdarlığı göstər, deyilsə, susub işini gör. Proqramlar qərarları məhz belə verir: bir qiyməti yoxlayır, sonra hansı yolla gedəcəyini seçir.
İmtahanda isə yanında kompüter olmur. Kodu sən özün işlətməlisən: hər sətri oxuyursan, dəyişənin yeni qiymətini yadda saxlayırsan, şərtin doğru, ya yanlış olduğunu yoxlayırsan. Nəticəyə təsir edən bir addımı atlasan, cavab səhv çıxa bilər. Yaxşı xəbər budur ki, bunun üçün bir neçə dəqiq qayda bəs edir.
Niyə lazımdır
Kodu əldə izləmək proqramçı üçün faydalı bacarıqlardan biridir: proqram gözlənilməz nəticə verəndə səbəbi belə axtarmaq olar. Kim qiymətlərin necə dəyişdiyini və hansı budağın seçildiyini aydın görürsə, öz proqramını da tez düzəldir.
Bu mövzunun tapşırıqlarında cavab çox vaxt bir ədəd və ya qısa sətirdir, ona görə düzgün cavab üçün nəticəyə təsir edən bütün əmrləri izləmək lazımdır. Kağızda kiçik cədvəl qurub hər dəyişənin qiymətini addım-addım yazmaq vaxt itirmir, əksinə qoruyur.
İmtahan bu mövzuda nə soruşur?
İmtahanda Python kodunu izləyərək çıxışdakı ədədi, mətni və ya sətirlərin ardıcıllığını müəyyənləşdirirsən. Bəzən müxtəlif girişlərdən neçəsinin verilmiş şərti ödədiyini sayırsan. Tapşırıqlarda dəyişənlərin yenilənməsi, qalıqla yoxlama, məntiqi şərtlər və içəridə yerləşən budaqlar birlikdə işlənir.
Qayda
- Mənimsətmə zamanı = işarəsinin sağındakı ifadə hesablanır, nəticə soldakı dəyişənə verilir. x = x + 3 əvvəlki qiyməti üç vahid artırır. Sonrakı əmrlər yenilənmiş qiymətdən istifadə edir.
- Dəyişən adı rəqəmlə başlamır, boşluq daşımır və açar söz olmur. Adı hərflə və ya altcizgi ilə başlatmaq olar. bal və Bal ayrı adlardır.
- Verilən tipləri: int tam ədədi, float kəsr hissəsi ola bilən ədədi, str mətni, bool isə True və False məntiqi qiymətlərini ifadə edir. "8" mətn, 8 ədəddir.
- Giriş üçün input() mətn qaytarır. Hesablama üçün int(input()) və ya float(input()) yazılır. str() qiymətin mətn təsvirini verir; mətnlər + ilə birləşdirilir.
- Çıxış funksiyası print(a, b) qiymətləri standart olaraq boşluqla ayırır və sonda yeni sətrə keçir. end="" sətrin sonunda keçidi ləğv edir.
- Ədədlər üçün +, -, * toplama, çıxma, vurmadır; / adi bölmə, // bölmə nəticəsinin aşağı tam ədədə yuvarlaqlaşdırılması, % qalıq, ** qüvvətə yüksəltmədir.
- Müqayisə işarələri: == bərabərlik, != bərabərsizlik, < kiçiklik, > böyüklük; <= və >= bərabərliyi də qəbul edir. and bütün şərtlərin, or ən az birinin doğruluğunu tələb edir; not məntiqi qiyməti əksinə çevirir.
- Budaqlanma: if şərti yoxlayır, elif əvvəlkilər ödənmədikdə yoxlanır, else heç biri ödənmədikdə işləyir. Bir zəncirdə ən çox bir budaq seçilir. Başlıqların sonunda : qoyulur.
- Girinti blokun sərhədini göstərir. Daxili şərtə yalnız onu əhatə edən blok işlədikdə çatılır. elif və else uyğun if ilə eyni səviyyədə yazılır.
Tapşırıqlarda işlənən qaydalar
Öyrənilməli qayda
and ilə bağlanan iki müqayisənin nəticəsi yalnız hər ikisi doğru olduqda doğrudur; a%2==0 tam ədədin cütlüyünü yoxlayır və sıfırla mənfi cüt ədədlərə də uyğundur. Hər giriş cütündə cütlük tələbini və b>a müqayisəsini ayrıca yoxla, sonra onların birlikdə ödənməsini nəzərə al.
Öyrənilməli qayda
Yeni mənimsətmə dəyişənin əvvəlki qiymətini əvəz edir; print çağırışı isə həmin anda hesablanmış nəticəni göstərir. Hər çap anında işlənən qiymətləri ayrıca izlə: str ədədi sətrə çevirir, + sətirləri yazılış sırası ilə birləşdirir, girintisiz əmrlər isə şərt blokundan sonra icra edilir.
Öyrənilməli qayda
if–elif–else ardıcıllığında ilk doğru şərtin bloku seçilir, qalan budaqlar ötürülür; seçilən blokdakı hər mənimsətmədən sonra növbəti əmr yenilənmiş qiymətlərdən istifadə edir. Bölünməni % qalığı ilə yoxla, // ilə tam bölməni yerinə yetir və son ifadədə dəyişənlərin ən son qiymətlərini götür.
Öyrənilməli qayda
Girinti elif və else hissələrinin hansı if ilə əlaqəli olduğunu göstərir; daxili şərtə yalnız onu əhatə edən budaq seçildikdə çatılır. % bölmənin qalığını verir: şərtləri müvafiq girinti səviyyəsində yoxla, hər əlavədən sonra dəyişənin qiymətini yenilə və bloklardan sonrakı əməliyyatı da yerinə yetir.
Öyrənilməli qayda
Dəyişənə yeni qiymət verilməsi əvvəl çap edilmiş nəticəni dəyişmir; sonrakı hesablamalarda həmin dəyişənin yenilənmiş qiyməti işlənir. Hər print üçün sətir yaradılan andakı qiymətləri götür: str ədədi mətnə çevirir, + mətnləri birləşdirir və dırnaq içindəki boşluq nəticədə saxlanılır.
Öyrənilməli qayda
str ədəddən sətir yaradır, + isə sətirləri araya əlavə işarə qoymadan birləşdirir; print(x,y) adi çağırışda qiymətlər arasında boşluq göstərir. Əvvəl % qalığına görə şərti yoxla, sonra hər çap üçün həmin ana qədər yenilənmiş qiymətləri və kodda verilən ayırıcıları nəzərə al.
Öyrənilməli qayda
and iki şərtin birlikdə doğru olmasını tələb edir; >= sərhəd qiymətini də qəbul edir, != isə qiymətlərin fərqliliyini yoxlayır. Proqramın hər yeni icrasında daxil edilən cütü ayrıca qiymətləndir və yalnız hər iki tələbi ödəyən halları say.
Öyrənilməli qayda
Daxili if yalnız yerləşdiyi budaq seçildikdə yoxlanır və həmin ana qədər yenilənmiş qiymətlərdən istifadə edir; eyni if–elif–else ardıcıllığındakı digər budaqlar icra edilmir. Girintisiz davam edən əmrləri seçilən budaqdan sonra yerinə yetir və hər mənimsətmənin nəticəsini növbəti hesablamaya keçir.
Öyrənilməli qayda
% bölmənin qalığını hesablayır; if şərti yanlış olduqda elif yoxlanır və ilk doğru şərtin bloku icra edilir. Seçilən blokun daxili şərtini əvvəlki əmrlərin yenilədiyi qiymətlərlə qiymətləndir, sonra blokdan kənardakı çıxış ifadəsini hesabla.
Öyrənilməli qayda
Ədəddən str ilə alınan sətirlər + vasitəsilə yanaşı birləşdirilir və nəticə mənimsədildiyi anda ayrıca qiymət kimi saxlanır; ilkin ədədi dəyişənin sonrakı yenilənməsi saxlanmış sətri dəyişmir. Əmrləri ardıcıllıqla izləyərək sətrin yaradıldığı anı sonrakı çapdan ayır və print(x,y) çağırışında cari qiymətlərin boşluqla ayrıldığını nəzərə al.
Kodu özün işlət
Hər kodu başında izlə, sonra cavabı seç.
Nümunələr
a%2 == 0 and b > a şərtini (2, 9), (5, 8), (0, 3) girişlərindən neçəsi ödəyir? Birinci və üçüncü cütlər uyğundur: 2 hal. Sıfır da cütdür.
Çıxışı tap:
Həllə bax
x = 18
y = 3
if x % y == 0:
x = x // y
y = y + x
print(str(x) + "/" + str(y))
Şərt doğrudur. Əvvəl x qiyməti 6, sonra y qiyməti 9 olur. Çıxış: 6/9.
Hansı ədəd çap edilir?
Həllə bax
n = 7
if n > 0:
if n % 2 == 0:
n = 10
else:
n = 11
print(n)
Xarici şərt doğrudur, daxili şərt yanlışdır. Daxili else işləyir: 11 çap edilir.
Tipik səhv
x = 4; print(x); x = x + 3 kodu üçün çıxışı 7 yazmaq və ya şərti if x = 7: kimi yazmaq.
Çıxış 4-dür: print işləyəndə x hələ 4 idi. Sonra x qiyməti 7 olur, amma artıq çap olunmuş sətir dəyişmir. Şərtdə isə if x == 7: yazılır.
Köhnə qiymətlə hesablamaqdan və girintini nəzərdən qaçırmaqdan çəkin: hər mənimsətmədən sonra dəyişənin yeni qiymətini qeyd et və hansı əmrin hansı bloka aid olduğuna bax. Çap olunmuş sətir sonrakı mənimsətmə ilə dəyişmir; = qiymət verir, == isə müqayisə aparır.
Özünü yoxla
Kodu izlə. Ekranda nə görəcəksən? x = 6 s = str(x) + "2" x = x + 1 print(s, x)
s yaradılarkən x dəyişəninin qiyməti 6 olduğuna görə mətnlər birləşərək "62" sətrini yaradır; x sonradan 7 olsa da, s dəyişmir. print(s, x) qiymətləri boşluqla ayırır.
a >= 6 and a != b şərtini doğru edən qiymətləri seç.
a dəyişəninin qiyməti 6 olduqda >= müqayisəsi bərabərliyi də qəbul edir, b dəyişəninin qiyməti 2 olduğuna görə a != b də doğrudur. and ilə bağlanan hər iki müqayisə yalnız bu variantda doğrudur.
Kodu izlə və çap edilən ədədi tap. n = 20 if n // 4 == n / 4: n = n // 4 elif n // 5 == n / 5: n = n + 2 else: n = 0 print(n + 1)
20 ədədi 4-ə qalıqsız bölündüyünə görə if bloku işləyir və n dəyişəninin qiyməti 5 olur; elif və else budaqları ötürülür. Blokdan kənardakı print(n + 1) əmri bu qiymətə bir əlavə edib 6 çap edir.
Bu mövzunun tapşırıqlarını həll et
Bu mövzunun tapşırıqlarını həll et və hər birinin izahına bax.
Digər mövzular
Bütün İnformatika mövzuları- İnformatikaPython dövrləri və rəqəmlərlə işSəndən dövrün nəticəsini hesablamaq, yığılan cəmi ifadə şəklində yazmaq, verilmiş çıxışa uyğun başlanğıc…
- İnformatikaPython sətirləri, siyahıları və funksiyalarıİmtahanda sətir və siyahı üzərində əməliyyatların nəticəsini, funksiyanın qaytardığı qiyməti və proqramın…
Dərslikdə bu mövzu
- Dərslik: İnformatika, 8-ci sinif, «Proqram necə hazırlanır», səh. 34
- Dərslik: İnformatika, 8-ci sinif, «Python dilində ilk proqram», səh. 37
- Dərslik: İnformatika, 8-ci sinif, «Proqramda kəmiyyətlər», səh. 40
- Dərslik: İnformatika, 8-ci sinif, «Şərt operatoru», səh. 43
- Dərslik: İnformatika, 7-ci sinif, «Python-da proqram anlayışı və şərhlər», səh. 60
- Dərslik: İnformatika, 7-ci sinif, «Adlandırma sənəti: dəyişənlər», səh. 64
- Dərslik: İnformatika, 7-ci sinif, «Verilənlər: ədədlər, mətnlər və məntiqi qiymətlər», səh. 68
- Dərslik: İnformatika, 7-ci sinif, «İstifadəçi ilə dialoq: giriş və çıxış», səh. 73
- Dərslik: İnformatika, 7-ci sinif, «Əgər… onda…: şərtli addımlar», səh. 77
- Dərslik: İnformatika, 6-cı sinif, «Proqramda dəyişənlər», səh. 56
- Dərslik: İnformatika, 6-cı sinif, «Proqramlaşdırma mühitində seçim», səh. 59