Mavzu: Murakkab sikllar. Murakkab algoritmlar va ularni dasturlashtirish. Paskal tilida nostandart funktsiyalar va qism dasturlar
Reja:
Aralash strukturali algoritmlar
Pascal dasturlashtirish tilida massiflar bilan ishlash
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.
Do'stlaringiz bilan baham: |