Fäaliyy t
ä
Fäaliyy t
ä
69
68
4
19.
ALTPROQRAM
·
·
Bu fiqurlar sizə hansı oyunu xatırladır?
Qrafik redaktorda onları necə çəkmək olar?
İş sahəsinin (200, 300), (400, 500) və (350, 420) nöqtələrində tərəfi 30 olan
kvadrat çəkmək üçün proqram tərtib edin.
Nəticəni müzakirə edək:
- Hansı komandalar təkrarlanır?
- Onları dövr kimi yazmaq olarmı?
Gördüyünüz kimi, başlanğıcda verilmiş fiqurlar bərabər sayda eyniölçülü
kvadratlardan təşkil olunub. Ona görə də həmin fiqurları qrafik redaktorda
eyni asanlıqla çəkmək olar: sadəcə, bir kvadratı çəkib, sonra isə onu çoxalda-
raq tələb olunan mövqeyə yerləşdirmək lazımdır. Ancaq O, S, J, T fiqurlarını
ALPLogo mühitində çəkməyə cəhd etsəniz, onların proqramlarının I
fiqurunun proqramı qədər sadə olmayacağını görəcəksiniz. Bunun səbəbi ar-
dıcıl çəkilən kvadratların başlanğıc mövqeləri arasında qanunauyğunluğun
olmamasıdır. Ona görə də bu məsələnin bir dövr daxilində həlli çətinlik
yaradır. İndi öyrənəcəyiniz yanaşma isə problemi asan yolla həll edir.
Bəzən proqramda müəyyən komandalar ardıcıllığını proqramın müxtəlif
yerlərində istifadə etmək lazım gəlir. Proqramlaşdırmada bu zərurət altproq-
ramlar vasitəsilə həll olunur. Adından da göründüyü kimi, altproqram əsas
proqramın daxilində yerləşir.
Bir proqramda bir neçə, hətta onlarla, yüzlərlə alt-
proqram ola bilər. Hər bir altproqramın öz adı olur və
ona həmin adla müraciət olunur. Proqramlaşdırmada
buna altproqramın çağırılması deyilir. Proqramda
adı çəkilən, yəni çağırılan altproqram dərhal icra olu-
nur. Altproqramın icrası sona çatan kimi əsas proq-
ramın işi bilavasitə altproqramın çağırıldığı yerdən
sonra gələn komandadan davam etdirilir. Bir altproq-
ramı istənilən qədər çağırmaq olar.
ALPLogo mühitində altproqram
açar sözü ilə başlayır və ondan sonra altproqramın adı
yazılır. Addan sonra açılan və bağlanan mötərizələr
Altproqramları əsas proqramın sonunda yer-
ləşdirmək məqsədəuyğundur.
altproqram
()
qoyulur.
ƏSAS PROQRAM
İndi daha anlaşıqlı olması üçün altproqramı bir nümunə üzərində əyani
göstərək. Aşağıdakı proqramı ALPLogo mühitində yazıb icra etsəniz, fiquru
alınacaq:
S
ilkinvəziyyət
sil
kvadrat
qələmiqaldır
sola 90
irəli 40
sağa 90
kvadrat()
geri 40
kvadrat()
qələmiqaldır
sola 90
irəli 40
sağa 90
kvadrat()
altproqram kvadrat ()
[
qələmiendir
təkrarla 4 [
irəli 40
sağa 90]
]
()
Bu nümunədə proqramın sonunda yerləşən və
adlandırılmış alt-
proqram (
), sadəcə, Bağanın durduğu mövqe-
dən başlayaraq kvadrat çəkir. Proqramın mətnində bu altproqrama 4 dəfə mü-
raciət olunub.
kvadrat
altproqram kvadrat ()
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - -
altproqram
ın çağırılması
altproqramın çağırılması
ALTPROQRAM
- - - - - - - - - - - - - - - - -
- - - - - - - - - - -
- - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - -
Sözlük
Sözlük
Altproqram
Altproqramın adı
Altproqramın çağırılması
O
I
S
J
T
Çap üçün deyil
Yuxarıdakı dörd kvadratın ölçü və rəngə görə fərqləndiyini gördünüz.
Burada təbii olaraq belə bir sual yaranır:
altproqramını çağıran za-
man çəkiləcək kvadratın tərəfinin uzunluğunu və rəngini bildirmək olmazmı?
kvadrat
71
70
4
Aşağıdakı proqramı ALPLogo mühitində yazıb icra edin. Nəticədə nə
alındı? Altproqramı necə adlandırmaq olardı? O, neçə dəfə çağırılır?
ilkinvəziyyət
sil
get 100, 150
cizgi()
get 600, 150
cizgi()
get 100, 400
cizgi()
get 600, 400
cizgi()
altproqram cizgi ()
[
qələminrəngi 4
qələmineni 120
qələmiendir
təkrarla 36 [
irəli 10
sağa 10]
qələmiqaldır
]
Altproqramlardan istifadə olunması həm proqramın yazılması vaxtını
qısaldır, həm proqram kodunun həcmini azaldır, həm də proqramın struk-
turunu daha anlaşıqlı edir. Eyni zamanda bu yanaşma proqramın yazılışında
səhvlərin sayının azalmasına da təsir göstərir.
20.
ALTPROQRAMDA DƏYİŞƏNLƏR
·
·
Bu kvadratlar bir-birindən nə ilə fərqlənir?
Yalnız bir altproqramdan istifadə etməklə bu şəkli çəkmək olarmı?
Araådıraq – öyränäk
Araådıraq – öyränäk
Öyrändiklärinizi yoxlayın
Öyrändiklärinizi yoxlayın
1. Altproqram nədir?
2. Altproqramların hansı üstünlükləri var?
3. Kvadrat altproqramından istifadə etməklə
I fiqurunu çəkən proqram yazın.
4. İki altproqramın (kvadrat və üçbucaq) köməyi ilə aşağıdakı fiquru çəkən
proqram yazın.
?
Fäaliyy t
ä
Fäaliyy t
ä
Verilmiş proqram tərəfinin uzunluğu 200 piksel olan qırmızı kvadrat çəkir.
üzərində
elə dəyişikliklər edin ki, şəkildə göstərilmiş qaydada yaşıl, göy və sarı
kvadratlar çəkilsin.
Nəticəni müzakirə edək:
- Növbəti kvadratı çəkmək üçün proqram kodunda hansı dəyişiklikləri etdiniz?
- Dəyişənlərdən istifadə etməklə bu proqram kodunu necə yazmaq olar?
Proqram
ilkinvəziyyət
sil
qələmiendir
qələminrəngi 4
təkrarla 4 [
irəli 200
sağa 90]
Sözlük
Sözlük
Parametrli altproqram
Altproqramın başlığı
Altproqramın adı
Altproqramın parametri
Bu halda proqram kodunun həcmi önəmli dərə-
cədə azalardı. Proqramlaşdırma dillərində belə im-
kan nəzərə alınıb. Məsələn, ALPLogo mühitində
tərəfi a olan kvadrat çəkən altproqram aşağıdakı
şəkildə ola bilər.
Çap üçün deyil