64
P
ROQRAMLAŞDIRMA DİLLƏRİNİN KÖMƏYİ İLƏ RİYAZİ
MƏSƏLƏLƏRİN MODELLƏŞDİRİLMƏSİ
ALPLogo və Python proqramlaşdırma mühitlərində hansı
növ məsələlər
həll etmişsiniz?
Proqramlaşdırma dilindəki proqramı hansısa prosesin kompüter modeli
hesab etmək olarmı?
Aşağıdakı proqram kodunu təhlil edin. Onun hansı prosesi modelləşdirdiyini
müəyyənləşdirin. Bu proqramın kompüterdə icrasından sonra ekrana nə çıxarılacaq?
from
math
import
sqrt
from
math
import
pi
tip = str(input(
"Fiqurun adını daxil edin: "
))
if
tip ==
"üçbucaq"
:
a = float(input(
"a tərəfini daxil edin: "
))
b = float(input(
"b tərəfini daxil edin: "
))
c = float(input(
"c tərəfini daxil edin: "
))
p = (a + b + c)/2
s = sqrt((p*(p-a)*(p-b)*(p-c)))
elif
tip ==
"düzbucaqlı"
:
a = float(input(
"a tərəfini daxil edin: "
))
b = float(input(
"b tərəfini daxil edin: "
))
s = a * b
elif
tip ==
"dairə"
:
r = float(input(
"r radiusunu daxil edin: "
))
s = pi*(r**2)
print(s)
Ötən dərslərdə elektron cədvəl proqramı vasitəsilə kompüter modelinin qurul-
ması ilə tanış oldunuz. Bu məqsədlə başqa vasitələrdən də (məsələn: proqram-
laşdırma dillərindən) istifadə etmək olar.
F Ə A L İ Y Y Ə T
2.5
LAYİHƏ
65
Modelləş
d
irm
ə
2
Nümunə.
Verilmiş detalın öndən görünüşünün cizgisini proqramlaşdırma dilində
(ALPLogo, Python) çəkən və onun sahəsini hesablayan proqram yazın.
а,
b,
d
giriş verilənlərinin qiymətləri klaviaturadan daxil edilir. Bir damanı 20 piksel
götürün. Çıxışa detalın öndən görünüşünün cizgisi və onun sahəsi (
S) verilir.
Verilmiş üzün cizgisini 6 qrafik primitiv – AB, CD, AD, BK, NC parçaları və
KMN qövsünün köməyi ilə çəkmək olar.
Bu məsələni ALPLogo proqramlaşdırma mühitində yerinə yetirmək üçün öncə
A, B, K, N, C, D nöqtələrinin ekran koordinatlarını müəyyənləşdiririk. Tutaq ki, A
nöqtəsinin koordinatları (20, 20)-dir. Onda damaların sayını nəzərə alsaq, B
nöqtəsinin koordinatları (20, 140), D − (260, 20), C − (260, 140), N − (200, 140), K
− (80, 140) olacaq. KMN qövsünün radiusu isə 60-a bərabərdir. İndi üzün sahəsini
tapmaq üçün, sadəcə, ABCD düzbucaqlısının sahəsindən diametri
d olan yarım-
dairənin sahəsini çıxmaq lazımdır.
Bu məsələnin həll proqramını Python proqramlaşdırma dilində də yazmaq olar.
Bu məqsədlə sadə qrafik görüntülər yaratmaq üçün nəzərdə tutulmuş turtle və
math
kitabxanalarını (bir faylda saxlanılan funksiyalar – komandalar toplusunu)
proqrama idxal etmək lazımdır. Daha mürəkkəb qrafikalar yaratmaq üçün tkinter
kitabxanası nəzərdə tutulub. Aşağıdakı cədvəldə turtle kitabxanasının əsas
komandaları və onların qısa təsviri verilib.
Komanda
Təsviri
turtle.color(c)
c rəngli
qələm götürmək
turtle.up()
Qələmi qaldırmaq (hərəkət etdikdə cizgi çəkilməsin)
turtle.down()
Qələmi endirmək (hərəkət etdikdə cizgi çəkilsin)
turtle.goto(x, y)
Koordinatları x və y olan nöqtəyə getmək
turtle.circle(r)
Radiusu r olan
dairə çəkmək
turtle.circle(r,n)
r radiusli və n dərəcəli qövs çəkmək
turtle.right(n)
n dərəcə
sağa dönmək
turtle.left(n)
n dərəcə sola dönmək
turtle.forward(l)
l addım (piksel)
irəli getmək
turtle.write(s)
s mətnini ekrana çıxartmaq
turtle.reset()
İlkin vəziyyətə qayıtmaq
turtle.сlear()
Ekranı silmək
turtle.width(n)
Qələmin çəkdiyi cizginin enini n piksel etmək
b
d
A
B
C
D
K
N
M
a
LAYİHƏ
67
Modelləş
d
irm
ə
2
Konusun kompüter modelini qurun. Onun səthinin
sahəsini və həcmini tapmaq üçün proqram yazın. Giriş
verilənləri olaraq konusun hündürlüyünü (
h) və otu-
racağının radiusunu (
r) göstərin. Python proqramlaşdırma
dilinin qrafik imkanlarından istifadə etməklə ekranda
konus şəkli çəkin.
Özünüzü yoxlayın
1.
Proqramlaşdırma dilindən istifadə edilməklə kompüter modelinin qurulmasının hansı
üstünlüyü var?
2.
Python dilində turtle kitabxanasının təyinatı nədir?
3.
Python dilində mürəkkəb qrafikalar yaratmaq üçün hansı kitabxana nəzərdə tutulub?
4.
Python dilində mətni ekrana çıxarmaq üçün turtle kitabxanasının hansı koman-
dasından istifadə olunur?
5.
Dərsdə verilmiş proqram kodunda S1 və S2 dəyişənləri nəyi bildirir?
ö y r ə n ə k
A R A Ş D I R A Q –
Xüsusi olaraq riyazi və texniki hesablamalarla bağlı
məsələlərin həlli üçün nəzərdə tutulmuş tətbiqi proq-
ramlar paketi və proqramlaşdırma dilləri də vardır.
Belə
alətlərdən biri MATLAB (“
Matrix
Laboratory”
ifadəsinin qısaltması) paketi və eyniadlı proqram-
laşdırma dilidir.
MATLAB proqramlaşdırma dili 1970-ci illərin sonunda Nyu-Meksiko Univer-
sitetinin kompüter elmləri fakültəsinin dekanı
Kliv Mouler (Cleve Moler) tərəfindən
işlənib hazırlanmışdır. MATLAB dilində yazılmış proqramlar iki növ olur:
funksiyalar və skriptlər. Funksiyaların giriş və çıxış arqumentləri, eləcə də
hesablamaların aralıq nəticələrini və dəyişənləri saxlamaq üçün özəl iş fəzası olur.
Skriptlər isə ümumi iş fəzasından istifadə edir. İstər skriptlər, istərsə də funksiyalar
maşın koduna kompilyasiya olunmur və mətn faylları şəklində saxlanılır.
Tari
x
LAYİHƏ