S = ∑ . i =1 i!
Munosabatni ochib, quyidagi ko‘rinishda yozish mumkin: s = x1 /1! + x 2 /2! + … + xn / n! .
Masalani yechish algoritmida boshlang‘ich qiymat sifatida s=0 ni olamiz, chunki ifodada yig‘indi belgisi mavjud. Yig‘indi belgisi ostidagi munosabat kasr sonni anglatadi: suratda - x i, mahrajda - i !. Ularning har biri uchun boshlang‘ich va joriy munosabatlar shakllantiriladi:
1.17-rasm. Hisoblash blok-sxemasi
Bu jarayonni shakllantirish uchun i indeks-parametri ishlatiladi.
Indeks-parametrni boshqarish amallari quyidagicha: i = 1–parametrning boshlang‘ich qiymati, i = i + 1 – parametrning orttirmasi (orttirma h=1),
i ≤ n – jarayon yakunlanish sharti. Bunga muvofiq, masalani yechish blok-sxemasi quyidagi 1.17-rasmdagi ko‘rinishga ega bo‘ladi.
6-misol. A={ai} (i=1, 2, …, n) massiv elementlarining yig‘indisini hisoblash jarayonini aks ettiradigan algoritm yarating.
n
Masalaning matematik modeli quyidagidan iborat: S=∑ai .
i=1
Yig‘indini hisoblash uchun S o‘zgaruvchidan foydalanamiz va uning boshlang‘ich qiymati deb S = 0 olinadi. So‘ngra indeksning i = 1 qiymatidan boshlab, uning i = i + 1 orttirmasi bilan to ( i <= n ) shart bajarilguncha S = S + a i munosabat qiymati ketma-ket hisoblanadi.
Quyidagi algoritmda jarayon amallari bajarilishi ketma-ketligi keltiriladi:
kiritish (n, a i );
S = 0,
i = 1,
S = S + a i ,
i = i + 1,
agar ( i <= n ) shart bajarilsa, u holda => (4), 7) muhrlash (S) .
7-misol. Massiv elementlari o‘rta qiymatini hisoblash. Masalaning
1 n matematik modeli : Ð= ∑ai .Yuqoridagi masaladan farqi –
n i=1
elementlar yig‘indisini elementlar soniga bo‘lish amali bilan algoritm to‘ldiriladi, ya’ni:
kiritish (n, a i );
S = 0;
i = 1;
S = S + a i ;
i = i + 1;
agar ( i <= n ) shart bajarilsa, u xolda => (4); 7) P =S / n ; 8) muhrlash (P) .
8-misol. Massiv elementlari qiymatlarining ko‘paytmasini hisoblash
n algoritmini tuzing. Masalaning matematik modeli quyidagidan iborat: P =∏ai .
i=1
Hisoblash jarayoni yuqoridagiga o‘xshash bo‘ladi, faqat ko‘paytmaning boshlang‘ich qiymati R = 1 va joriy amal R = R * ai bo‘ladi. Bu jarayonning so‘zlar orqali ifodalangan algoritmi quyidagicha:
kiritish (n, ai );
R = 1;
i = 1;
R = R * ai ;
i = i + 1;
agar ( i <= n ) shart bajarilsa, u holda => (4) 7) muhrlash (R) .
9-misol. B={bi} massiv elementlari maksimal (eng katta) qiymatini aniqlash bilan bog‘liq masala ko‘riladi.
Mazkur masalaning matematik modeli quyidagi ko‘rinishga ega:
z= maxbi m=8.
1≤ ≤i m Maksimal elementni aniqlash uchun quyidagi tadbirni amalga oshirish zarur. Avval, massivning birinchi elementi maksimal qiymatga ega deb taxmin qilinadi. So‘ngra taxmin qilingan maksimal element navbatdagi elementlar bilan navbatmanavbat solishtiriladigan takrorlash jarayoni tashkil etiladi. Agar massivning navbatdagi elementi maksimal deb belgilangan elementdan katta bo‘lsa, u holda joriy element maksimal deb belgilanadi. Takrorlashning yakunida o‘zgaruvchining qiymati massivning maksimal elementiga mos keladi.
Massivning maksimal elementini aniqlash algoritmi blok-sxemasi ko‘rinishi
1.18-rasmda keltirilgan.
1.18-rasm. Hisoblash blok-sxemasi
Minimal elementni aniqlash uchun shart ifodasida “<” (kichik) belgisini “>” (katta) belgiga o‘zgartirishning o‘zi kifoya.
10-misol. Massivning maksimal elementi indeksini, ya’ni u joylashgan o‘rnini aniqlash uchun yuqorida keltirilgan algoritmga boshlang‘ich va joriy elementining indeksini belgilaydigan o‘zgaruvchi qo‘shishning o‘zi kifoya:
k = 1 (birinchi element maksimal deb taxmin qilanadi);
k = i (agar joriy i – chi element taxmin qilingan maksimumdan katta bo‘lsa, u qiymati bo‘yicha barcha elementlardan eng kattasi bo‘ladi).
Qo‘shimchalarni hisobga olgan holda blok-sxema 1.19-rasmda keltirilgan.
1.19-rasm. Hisoblash blok-sxemasi
Algoritmning so‘zlar orqali ifodalangan usulidan foydalanib, amallar ketmaketligini keltiramiz:
kiritish (n, bi )
z = b1;
k = 1; 4) i = 2;
agar ( z < b i ) shart bajarilsa, u holda { z= bi; k=i; }
i = i + 1;
agar ( i ≤ n ) shart bajarilsa, u holda => (5) 8) muhrlash (S, k).
11-misol. Vektorni vektorga skalyar ko‘paytmasi: s = A*V ni hisoblash masalasi ko‘riladi (vektorlar skalyar ko‘paytmasi).
Bu yerda: A={ a i }, B={ b i }, i =1,2, ..., n, c – skalyar.
Jarayonning matematik modeli ( hisoblash formulasi) :
n
s = ∑ai ∗bi = a1 ×b1 + a2 ×b2 + ⋅⋅⋅ + an ×bn ,
i=1
Bu munosabatni hisoblash - vektorlarning mos elementlari ko‘paytmalari yig‘ishdan iborat.
Algoritmning so‘zlar orqali ifodalangan usulidan foydalanib, amallar ketmaketligi keltiriladi:
kiritish (n, a i, b i)
S = 0;
i = 1;
S = S +a i * b i ;
i = i + 1;
agar ( i <= n ) shart bajarilsa, u holda => (4); 7) muxrlash (S).
12-misol. A={ai} (i=1, 2, …, n) massiv elementlari qiymatlari yig‘indisidan eng katta elementi qiymatini ayrish jarayonini akslantiradigan algoritm yarating.
Masalaning matematik modeli quyidagidan iborat:
n
R = ai −max≤≤i n ai .
1 i=1
Bu murakkab matematik model uchta nisbatan sodda munosabatlar ketmaketligi bilan almashtiriladi (dekompozitsiya amali):
n
1)S = ∑ai , 2)P= maxai , 3)R = S − P. i=1 1≤i≤n Asosiy algoritmda amallar bajarilishi ketma-ketlikligi keltiriladi, ya’ni:
kiritish (n, m, a i );
S = 0;
i = 1;
S = S + a i ;
i = i + 1;
agar ( i <= n ) shart bajarilsa, u holda => (4);
P = a 1 ;
i = 2 ;
agar (P < a i ) shart bajarilsa, u holda P = a i ;
i = i + 1;
agar ( i <= n ) shart bajarilsa, u holda => (9) ;
R = S – P ;
muhrlash (R) .
Yuqoridagi keltirilgan masalani yechish algoritmini ixchamlashtirish mumkin:
kiritish (n, m, a i );
S = a 1 ;
P = a 1 ;
i = 2;
S = S + a i ;
agar (P < a i ) shart bajarilsa, u holda P = a i ; 7) i = i + 1;
agar ( i <= n ) shart bajarilsa, u holda => (5) ;
R = S – P ;
muhrlash (R) .
Algoritmda yig‘indi va maksimal qiymat aniqlash jarayonida boshlang‘ich indeks qiymatini tenglashtiriladi (S = a 1 va P = a 1 ) va jarayon massivning 2 chi elementini qayta ishlashdan boshlandi. Ya’ni bir takrorlash jarayonida ikkita: massiv element qiymatlari yig‘indisini hisoblash va maksimal qiymatni aniqlash amalga oshiriladi.
Blok-sxemalarning takrorlanuvchi qismlarini quyidagi parametrli takrorlash strukturasi ko‘rinishida ham ifodalash mumkin (1.20-rasm).
1.20-rasm. Parametrli takrorlash operatorining umumiy ko‘rinishi
13-misol. Parametrli takrorlash operatoriga masalasifatida berilgan ax x=1,2,3,.....10 qiymatlarda y= funksiyasining qiymatini hisoblash bloka+x sxemasiga keltiriladi (1.21-rasm).