98
Dərs
25
/ Mövzu:
QRAF İNFORMASİYA MODELİ
Dərsi başlayan zaman şagirdlərə dərslikdə olan suallarla müraciət etmək olar.
"İnformasiya modeli" anlayışı ilə şagirdlər əvvəlki siniflərdə tanış olmuşlar.
İnformasiya modeli dedikdə obyektin xassələrini informasiya formasında (mətn,
şəkil, cədvəl və s.) təsvir edən model başa düşülür.
Yeni dərsə keçid vermək üçün informasiya modellərinin
növlərini əks etdirib
şagirdlərə onları adlandırmağı təklif etmək olar.
"Fəaliyyət" bölümündə şagirdlərə ağac informasiya modelinin elementlərini
adlandırmaq təklif olunur. Ağac strukturu ilə şagirdlər 8-ci sinifdən tanışdırlar.
Kök, təpə, til onun əsas elementləridir. Ağacda hər hansı iki təpə arasında yalnız
bir yol var.
Şagirdlərə başqa tapşırıq da vermək olar. Məsələn, kompüterdə müəyyən bir
qovluğu açmaq və onun ağacvarı strukturunu hazırlamaq:
təpələr ona daxil olan
qovluqları və faylları ifadə edir. Çalışmaq lazımdır ki, seçilmiş qovluqda daha az
obyekt olsun. Ağacın iki səviyyəsini göstərmək kifayətdir.
Dərsin nəzəriyyə hissəsində qraf (şəbəkə) informasiya modeli haqqında
məlumat verilir. Qraflarla şagirdlər aşağı siniflərdən tanış olublar. 2-ci sinifdə 2.2.3
(
Sadə və qısa yolları seçməklə hərəkət variantları müəyyənləşdirir) standartını
reallaşdırmaq üçün şagirdlər verilmiş sxemdə bir obyektdən digərinə aparan
yolların sayını tapır, onlardan ən qısasını müəyyən edirdilər. Daha yuxarı siniflərdə
ALT
STANDARTLAR
2.1.1. İnformasiya modelinin şəbəkə formasını izah edir.
2.1.2. İnformasiya modelinin şəbəkə formasında təsvirini
nümunələrlə şərh edir.
2.1.3. İnformasiya modelini şəbəkə formasında ifadə edir.
Təlim
NƏTİCƏLƏRİ
Qraf informasiya modelini izah edir.
Qraf informasiya modelinə nümunələr gətirir.
İnformasiya modelini qraf formasında ifadə edir.
99
isə şagirdlər budaqlanan alqoritmləri şərtdən asılı olaraq
yerinə yetirməyi, ağacvarı
strukturlu sxemlərdə obyektlər arasındakı əlaqəni müəyyənləşdirməyi öyrənmişlər.
9-cu sinifdə şagirdlər "qraf" anlayışı ilə daha mükəmməl formada tanış olurlar.
Qraflar çox yerlərdə tətbiq olunur – nəqliyyat daşımaları, kommunikasiya
şəbəkələrinin layihələndirilməsi, İnternetdə yönləndirmə və s.
Qraflar nəzəriyyəsi 1736-cı ildə görkəmli riyaziyyatçı Leonard
Eyler tərəfindən
yaradılmışdır. Buna məşhur "Köniqsberq körpüləri" məsələsinin həllinin
axtarılması da təkan vermişdir.
Köniqsberq şəhəri (indiki Kalininqrad, Rusiya Federasiyası) çayın sahillərində
yerləşirdi. Şəhərin müxtəlif hissələri bir-biri ilə yeddi körpü ilə birləşirdi. Şəhərin
əhalisini belə bir sual maraqlandırırdı: hər körpüdən yalnız
bir dəfə keçməklə bütün
körpüləri keçmək mümkündürmü?
Bir çox insanlar bu məsələni həm nəzəri, həm də praktik (gəzinti zamanı) həll
etməyə çalışırdılar. 1736-cı ildə bu məsələ Leonard Eyleri də maraqlandırdı. O,
sübut etdi ki, həmin körpülərin hamısını keçmək mümkün deyil. Onun tədqiqatları
qraflar nəzəriyyəsinin yaranmasına təkan verdi.
Eyler qraflarla bağlı mühakimələrində aşağıdakı nəticələrə gəlir:
Qrafda tək təpələrin (tək sayda tillərin birləşdiyi təpələrin) sayı cütdür. Tək
sayda cüt təpəsi olan qraf yoxdur.
Əgər qrafın bütün
təpələri cütdürsə, onda qələmi kağızdan ayırmadan bu qrafı
çəkmək mümkündür.
İkidən çox tək təpəsi olan qrafı birdəfəyə, yəni qələmi kağızdan ayırmadan hər
tildən bir dəfə keçməklə çəkmək mümkün deyil.
İxtiyari qrafı kompüterdə təsvir etmək üçün qonşuluq siyahısından və ya
qonşuluq matrisindən istifadə olunur. Bu səbəbdən də mövzuda müvafiq
anlayışlara çox yer ayrılmışdır. Qeyd edək ki, informatika
üzrə olimpiadalarda
(xüsusən də, şəhər və respublika turlarında) qraflara aid məsələlər tez-tez təqdim
olunur.
Əlavə məlumat
Çox zaman kompüterdə verilənlər cədvəl formasında saxlanılır. Belə cədvəllər
matris və ya ikiölçülü massiv adlanır. Python proqramlaşdırma
dilində cədvəl hər
elementi siyahı olan siyahı formasında saxlanılır. Məsələn, iki sətir və üç sütundan
ibarət cədvəl üzərində müxtəlif əməliyyatlar aparan proqram belə yazıla bilər:
100
a = [[1, 2, 3], [4, 5, 6]]
print(a[0])
print(a[1])
b = a[0]
print(b)
print(a[0][2])
a[0][1] = 7
print(a)
print(b)
b[2] = 9
print(a[0])
print(b)
Burada siyahının birinci elementi (
a[0]) [1, 2, 3]
ədədlərindən ibarət
siyahıdır. Yəni
a[0][0] == 1
,
a[0][1] == 2
,
a[0][2] == 3
,
a[1][0] ==
4
,
a[1][1] == 5
,
a[1][2] == 6
.
Belə siyahıların emalı və çıxışa verilməsi üçün iki iç-içə dövrdən istifadə olunur.
Birinci dövr sətirlərin
nömrəsini dəyişir, ikincisi isə həmin sətrin elementlərini
seçir. Məsələn, ikiölçülü massivi ekrana çıxarmaq üçün proqramı belə yazmaq olar:
a = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j], end=' ')
print()
"Araşdıraq-öyrənək" bölümündə
şagirdlər
Azərbaycanın dərslikdə göstərilmiş şəhərləri arasındakı
məsafələri
İnternetdən (məsələn,
www.gomap.az
saytından) öyrənib onların əsasında qraf qurmalıdır.
Həmin qraf üzərində Ağdaş və Şamaxı şəhərləri arasında
ən qısa yolu göstərmək lazımdır.
www.gomap.az saytının sol tərəfinin
iki sətrində hər dəfə
iki şəhərin adını yazıb məsafəni öyrənmək olar. Nəticədə
belə bir qraf alınmalıdır: