beta

← Geri

İ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ə

Süni intellektlə hazırlanmış şəkil: taxta masanın üstündə ekranı işıqlı smartfon və yanında şarj kabeli.

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

1

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.

2

Çı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.

3

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)

a >= 6 and a != b şərtini doğru edən qiymətləri seç.

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)

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.

Mövzu üzrə sınaq, I qrup (Rİ)

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