Қarshi muҳandislik-iқtisodiyot instituti “Axborot texnologiyalari va matematik modellashtirish” kafedrasi assistenti J


Mavzu: Murakkab sikllar. Murakkab algoritmlar va ularni dasturlashtirish. Paskal tilida nostandart funktsiyalar va qism dasturlar



Yüklə 1,31 Mb.
səhifə87/112
tarix02.12.2023
ölçüsü1,31 Mb.
#171162
1   ...   83   84   85   86   87   88   89   90   ...   112
arshi mu andislik-i tisodiyot instituti “Axborot texnologiyalar

Mavzu: Murakkab sikllar. Murakkab algoritmlar va ularni dasturlashtirish. Paskal tilida nostandart funktsiyalar va qism dasturlar




Reja:

  1. Aralash strukturali algoritmlar

  2. Pascal dasturlashtirish tilida massiflar bilan ishlash

  3. Protsedura va funktsiyalar

Tayanch iboralar: Aralash strukturali algoritmlar, massiflar, protsedura, standart funktsiyalar, foydalanuvchining funktsiyasi, qism dasturlar


Aralash strukturali algoritmlar
Chiziqli, tarmoqlanuvchi va takrorlanuvchi dasturlardan tashkari ko’pgina masalalarni yechishda bu uchala jaryondan ham bir yula foydalanishga to’g’ri keladi. Bunday algortmlar aralash stukturali algoritmlar deyiladi.
Ya‘ni bu algortmda uchala algoritmdan ham foydalanish mumkin. Demak uchala turdagi algortmlar katnashgan algortmlar aralash algortmlar deb atalar ekan.
Ko’pgina muxandislik masalalarini, texnologik va xakozo jarayonlarni dasturlashtirishda aralash strukturali dasturlardan foydalanishga to’g’ri keladi. Biz yuqorida Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlarni dasturlashtirishni bir xil turdagilariga misollar keltirib, urganib chiqdik. Lekin kundalik xayotda aralash strukturali algoritmlar juda ko’p ishlatiladi. Bunday algoritmlarni dasturlashtirish uchun yuqorida aytganimizdek uchala turdagi algoritmlarni dasturlashtirishni bilish yetarli


Pascal dasturlashtirish tilida massiflar bilan ishlash
Murakkab uzgaruvchilar bilan bitta identifikator yordamida bir necha uzgaruvchilarni e‘lon qilish mumkin. Uzgaruvchilarni bunday ko’rinishlariga massiflar deyiladi.
Masalan ko’p hollarda
b={ b1, b2, b3,… bn} yoki kabi vektor va matritsalar bilan иш kuriladi.
Bu uzgaruvchilar Pascal tilida massiflar ko’rinishida e‘lon kilinadi. Massiflarni e‘lon qilishda array xizmatchi so’zidan foydalaniladi.
const n=25;
var
b: array [1..n] of real;
a: array[1..n, 1..n] of real;


Massiflarni e‘lon qilish jarayonida kurinib turibdiki, bir xil uzgaruvchilar (yozuvlar) kaytarilishi uchramokda. Bu noqulayliklarni bartaraf etish Maqsadida Pascal tilida uzgaruvchilarning (massiflarning) turidegan tushuncha kiritiladi.
Masalan:
type
vec=array[1..n] of real;
matr=array[1..n, 1..n] of real;
var b,c: vec;
x,y,z: matr;


Uzgaruvchilarning turi yordamida foydalanuvchining uzi ham mustaqil ravishda yangi uzgaruvchilar turini kiritishi mumkin.
Massiflar bilan ishlashga quyidagi misolni keltiramiz.


Misol:
Quyidagi formula orqali A matritsaning elementlarini aniqlang:
;


program massiv(input,output);
var a:array[1..3, 1..3] of real;
i, j: integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
a[i,j]:=ln(abs(i+j*j*j))/sqrt(i*i*i+j);
writeln(‘a(‘, i, ’,’ ,j, ’)=’, a[i,j]);
end;
end.


Protsedura va funktsiyalar
Pascal dasturlash tilida protsedura va funktsiyalardan foydalaniladi. Pascal tilidagi protsedurani beysik tilidagi qism dasturga kiyoslash mumkin. Dastur tuzishda ba‘zan bir xil hisoblashni, kattaliklarning turli kiymatlari uchun bir necha marta takrorlab yozishga to’g’ri keladi. Bunday hollarda shu takrorlanuvchi hisoblashni alohida protsedura shaqlida yozib, undan istalgancha foydalanish Maqsadga muvofikdir.
Dasturda ishlatiladigan protseduralar dasturning protseduralar va funktsiyalarni bayon etish bo’limida tavsiflanishi lozim.
Protseduraning umumiy ko’rinishi quyidagicha:
procedure n (p1:t1; p2:t2; var p3:t3,…);
By yerda n-protsedura nomi, PI-formal parametrlar, TI-parametr turlari. Protsedura ham asosiy dastur qanday strukturaga ega bo’lsa shu strukturaga ega. Protsedura asosiy dasturning var bo’limidan keyin va begin bo’limidan oldinda joylashadi.
Protseduradan foydalanib 5,7u2-1,2u-8,3=0 tenglamani yechish dasturini tuzamiz.


program kv_t(output);
var y1,y2,d: real;
procedure sq (a,b,c:real; var x1,x2:real);
begin
d:=b*b-4*a*c;
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
begin {asosiy dastur boshlandi}
sq(5.7, -1.2, -8.3, y1, y2);
writeln (‘x1=’, x1 , ’ y2=’, y2);
end.


natija х1=0.49, х2=-5.2


Agar protsedurada bir dona kattalikning kiymati hosil kilinsa, unda bunday protsedurani funktsiya sifatida tashkil qilish qulay. Funktsiya function so’zi bilan boshlanib, sungra uning nomi (ixtiyoriy identifikator) yoziladi va uning parametrlari, turlari ko’rsatilib dasturda begin va end operatorlari oraligida funktsiya tanasi yoziladi. Protsedura funktsiyaning umumiy ko’rinishi quyidagicha:
function n ({parametrlar ro’yxati}: {protsedura kiymatining turi});
Misol:

a=0,13457; b=2,13458; c=1,71345.
Dastlab nostandart funktsiyani aniqlab olamiz. Soxta parametrlar sifatida x va u larni olamiz, u holda nostandart ( foydalanuvchining) funktsiyasi bo’ladi. Berilgan funktsiyani hisoblash algoritmining blok – sxemasi va dasturini tuzamiz.




Yüklə 1,31 Mb.

Dostları ilə paylaş:
1   ...   83   84   85   86   87   88   89   90   ...   112




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin