PROQRAMLAŞDIRMA
14. Ədədlərlə iş
15. Sətirlər
16. Siyahılar
17.
Funksiya
18. Proqramlaşdırma dillərinin
təsnifatı
4
62
Ə
DƏDLƏRLƏ İŞ
Python dilində verilmiş aşağıdakı proqram fraqmentini diqqətlə gözdən keçirin və onun
nəyi yerinə yetirdiyini araşdırın. Kompüterdə icra etmədən proqramın sonunda i dəyişəni-
nin qiymətini müəyyən edin.
i = 1
while
i <= 10:
print
(i*i)
i = i + 1
Nəticəni müzakirə edək:
–
Nə üçün
print
operatoru
while
operatoru ilə eyni səviyyədə (sütunda) yazılmayıb?
– Sonuncu i = i + 1 sətri
while
operatoru ilə eyni səviyyədə olsa idi,
sonda i
dəyişəninin qiyməti nə olardı?
Python proqramlaşdırma dilində proqram kodu adi mətn faylı olur. Bu fayl hərf
və rəqəmlərdən, boşluq, durğu və başqa simvollardan ibarətdir. Mətn sətirlərə
bölünür. Hər bir Python operatoru bir neçə sətirdə yazıla bilər. Bir operatoru bir neçə
sətirdə yazmaq üçün "\" simvolundan istifadə olunur.
Yazdığınız proqrama müəyyən müddətdən sonra qayıtmalı olsanız, qəribə olsa
da, çox şeyi unutmuş olduğunuzu görəcəksiniz. Ona görə də həm özünüzün xatırla-
mağınız, həm də başqalarının anlaması üçün proqramın müəyyən yerlərinə
şərhlər
vermək yaxşı olardı. Adından da göründüyü kimi, şərhlər
proqramın mətnini oxuyan
şəxs üçün qeyddir. Şərhlərdən proqramın nə məqsədlə yaradıldığı, onun yaradıcısı
haqqında məlumatı, proqramın son dəyişdirilmə tarixini, proqramdakı dəyişənlərin,
funksiyaların təyinatını göstərmək üçün istifadə edilə bilər.
Python dilində şərhlər
"#
" simvolundan sonra yazılır. Proqram maşın koduna
çevrilərkən şərhlər nəzərə alınmır. Ona görə də bəzən proqramın hansısa hissəsini
müvəqqəti olaraq "dondurmaq" üçün həmin hissə şərh kimi qeyd edilir.
F ə a l i y y ə t
1
14
Proqram nədir?
Python proqramlaşdırma dilinin hansı operatorlarını tanıyırsınız?
PROQRAMLAŞDIRMA
4
4
63
• IV fəsil •
Proqramlaşdırma
•
Python dilində proqramın strukturu və onun iş məntiqi
üçün sətirlərin başlanğıcındakı
girintilərin (boşluq simvol-
larının) əhəmiyyəti böyükdür, çünki operatorların qrup-
laşdırılması onlardan asılıdır. Hər hansı operatorlar qrupu
başqa qrupun daxilində ola bilər. Bu halda daxilolma
səviyyəsi nə qədər böyük olarsa, girintinin kəmiyyəti də o
qədər böyük olur. Ancaq nəzərə almaq lazımdır ki, bir qrup çərçivəsində girinti
kəmiyyəti eyni olmalıdır.
Siz Python dilində ədəd tipli kəmiyyətlərlə və onlar üzərində əsas hesab əməlləri
ilə tanışsınız. Onları bir daha xatırlayaq.
Əməl
Təsviri
x + y
Toplama (x və y ədədlərinin cəmi)
x − y
Çıxma (x və y ədədlərinin fərqi)
x * y
Vurma (x və y ədədlərinin hasili)
x / y
x-in y-ə bölünməsi (qismət)
x // y
Tam ədədi bölmə (nəticə tam ədəd olur)
x % y
x-in y-ə tam ədədi bölünməsindən alınan qalıq
x ** y
Qüvvətə yüksəltmə (x üstü y)
−x
Ədədin əksi
Proqramlarda şərti göstərmək üçün
müqayisə işarələrindən istifadə olunur. Aşa-
ğıdakı cədvəldə bu işarələrin
ALPLogo və Python dillərində yazılışı göstərilib. Bu-
rada "bərabərdir" və "fərqlidir" işarələrinə xüsusi diqqət yetirin, çünki onların düz-
gün istifadə olunmaması proqram xətasına səbəb olur.
ALPLogo
Python
Təsviri
= ==
Bərabərdir
<> !=
Fərqlidir (bərabər deyil)
> >
Böyükdür
< <
Kiçikdir
>= >=
Böyükdür və ya
bərabərdir
<= <=
Kiçikdir və ya bərabərdir
Ədədin rəqəmlərə ayrılması.
Bildiyiniz kimi, hər hansı ədədi 10-a böldükdə
alınan qalıq həmin ədədin sonuncu rəqəminə, yəni təklik mərtəbəsindəki rəqəmə
bərabər olur. Məsələn, n ədədinin təklik rəqəmi a-dırsa, onda
a = n % 10
Aydındır ki, ədədin sonuncu rəqəmini atsaq, onda alınan yeni ədədin sonuncu
rəqəmi ilkin ədədin onluq mərtəbəsindəki rəqəm olacaq. Yuxarıdakı operator vasi-
təsilə bu yeni ədədin sonuncu rəqəmini ayırmaqla ilkin ədədin onluq mərtəbəsindəki
rəqəmi almış olarıq. Bu qayda ilə istənilən ədədi öz rəqəmlərinə ayırmaq olar. Ədədin
sonuncu rəqəmini (mərtəbəsini) atmaq üçünsə onu 10-a bölüb tam hissəni götürmək,
•
Şərhlər
•
Girinti
•
Hesab əməlləri
•
Müqayisə işarələri
S ö z l ü k
64
yəni tam ədədi bölmə əməlindən (
//
) istifadə etmək lazımdır. Məsələn, əgər n ədə-
dinin sonuncu rəqəmini atdıqdan sonra alınan
ədəd m-dirsə, onda
m = n // 10
Aşağıdakı proqramı Python mühitində yazıb icra edin.
n =
input
(
'İkirəqəmli müsbət tam ədəd daxil edin: '
)
n =
int
(n)
if
n > 9
and
n < 100:
a = n % 10
# Ədədin təkliyi
b = n // 10
# Ədədin
onluq rəqəmi
s = a + b
p = a * b
print
(
'Rəqəmlərin cəmi ='
, s)
print
(
'Rəqəmlərin hasili ='
, p)
else
:
print
(
'Düzgün ədəd daxil edilməyib!'
)
Nəticəni müzakirə edək:
– Bu proqram nə edir? Müxtəlif ədədlər daxil etməklə proqramın düzgünlüyünü yoxla-
yın.
print
operatorlarını
if
operatoru ilə eyni səviyyədə (sütunda) yazıb nəticənin
necə dəyişdiyini izləyin.
Həlli.
Verilmiş ədədi n, onun rəqəmlərinin cəmini cem,
rəqəmlərinin hasilini isə
hasil dəyişəni ilə göstərək. Onda məsələnin həll alqoritmini belə ifadə etmək olar:
Alqoritm
1. cem dəyişəninə başlanğıc 0 qiymətini mənimsətmək.
2. hasil dəyişəninə başlanğıc 1 qiymətini mənimsətmək.
3. Nə qədər ki n sıfırdan böyükdür
n ədədinin 10-a bölünməsindən alınan qalığı (yəni ədədin sonuncu rəqəmini)
tapmaq, onu cəmə əlavə etmək və hasili artırmaq;
n ədədinin sonuncu rəqəmini (mərtəbəsini) atmaq üçün onu 10-a tam bölmək.
n =
input
(
'Ədədi daxil edin: '
)
n =
int
(n)
cem = 0
hasil = 1
while
n > 0:
q = n % 10
cem = cem + q
F ə a l i y y ə t
2
Ədədin rəqəmlərinin cəminin və hasilinin tapılması. Hər hansı
müsbət tam ədəd verilib. Onun rəqəmlərinin cəmini və hasilini tapın.
Məsələ