Паскаль тіліндегі көпөлшемді жиымдар

Сабақтың тақырыбы: Паскаль тіліндегі көпөлшемді жиымдар
Сабақтың мақсаты: Білімділік:
Оқушыларға көпөлшемді жиымдар туралы түсінік беру, Паскал тілінде көпөлшемді жиымдарға программа құрулы үйрету.
Дамытушылық:
Оқушылардың ойлау қабілеттерін, есте сақтауларын дамытып, жетілдіру.
Тәрбиелік:
Оқушыларды шығармашылыққа, шапшаңдыққа, шешім қабылдағыштыққа тәрбиелеу.
Сабақтың типі: Практикалық элементтері бар демонстрацияны көрсету - түсіндіру.
Сабақтың жоспары: 1. Ұйымдастыру
2. Үй тапсырмасын сұрау
3. Ж. Б. Н. И
а) дәптермен жұмыс
4. Практикалық жұмыс
5. Қорытынды. Бағалау. Үйге тапсырма.
Сабақтың барысы: Оқушыларды сабаққа бағыттап, үй тапсырмасын сұрау.
Егер жиым атауында бір ғана индекс болса, онда ол жиымды бірөлшемді, ал екі индекс болса - екіөлшемді және т. с. с. п индекс болса, n-өлшемді жиым дейді. Бірөлшемді жиым вектор элементтері, екіөлшемді жиым матрица болып табылады.
Осы айтылғандарға сәйкес жиым элементтері былай белгіленеді: A[i], B[i, j], C[I, j, k] және т. с. с, көпөлшемді жиым элементтерін басқаша да белгілеуге болады, мысалы, В[і] [j] Мұндағы А[і] бірөлшемді жиымның і-ші элементі, оны математикада a і түрінде белгілейді, В[і, j] - екіөлшемді жиымның (кестенің) і-жолы мен бағанасының қиылысында орналасқан элементінің белгіленуді; ал C[i, j, k] үшөлшемді жиым, оның элементін кеңістікте нүкте координаталары (i, j, k) деп қарауға болады.
Типтер бөлігінде екіөлшемді жиым былай сипатталады:
TYPE atau = array [1. . n, 1. . m] of <элементтер типі>;
Айнымалылар бөлігінде осы типке жататын жиымдар көрсетіледі
VAR A, B:atau;
Мысалы,
type T = array[1. . 4, 1. . 3] of real;
…
var С, D: Т;
Мұнда индекстер әр типте сипатталып, одан соң жиым элементтерінің базалық типі көрсетілген. Сипаттаудың мынадай да жолдары бар:
TYPE atau = array [l. . n] of array [l. . m] of элементтер типі>;
мысалы,
type T = array [1. . 4] of array [ 1. . 3] of real;
var В: T;
Мұнда алдымен жол индекстерінің [1. . n] типі, одан соң күрделі базалық тип көрсетілген:
array [l. . m] of элементтер типі>;
Егер көпөлшемді жиым қүратын кезде базалық тип ретінде басқа жиым алынса, онда сипаттау бөлігі былай жазылады:
type vector = array[1. . 4] of integer;
massiv = array[1. . 4] of vector;
var matr : massiv;
Мұнда massiv және matr жиымдары екіөлшемді, яғни massiv[4, 4], matr[4, 4] - олар 4 жол және 4 бағанадан тұратын кесте элементтерін бейнелейді.
Егер программада жиымның бағанасы мен жолын бөліп жазу қажет болса, онда оны былай сипаттау қолайлы:
TYPE Tl= array[l. . M] of элемент типі>;
Т= array [l. . N] of T1;
VAR В:Т; А:Т1;
Мұнда алдымен бағана типі Т1 көрсетіледі де, одан соң ол жолдың типі арқылы матрицаның типі Т көрсетіледі. Айнымалылар бөлігінде екіөлшемді жиым - В және бірөлшемді жиым - А көрсетілген.
Екіөлшемді жиымды көбінесе айнымалы бөлігінде сипаттау жиі колданылады:
VAR В: array [l. . N, 1. . M] of <элементтер типі>;
Индекс типіне REAL, integer стандартты типтерден езге типтердің барлығын пайдалануға болады, ал элементтер типі үшін Паскаль тіліндегі барлық типтерді қолдану мүмкіндігі бар.
Мысалы, T
ype
den = (mo, tue, wed, th, fr, sat, sum) ;
Rden = mo. . fr;
Zadan = array [1. . 25, rden] of integer;
VAR
A:array [den] of array [1. . 25] of char;
B:zadan;
C:array [1. . 365] of zadan;
Көпөлшемді жиымдармен жұмыс атқарғанда бір цикл операторының ішінде бірнеше цикл операторлары болуы мүмкін. Мысалы, жиым екіөлшемді болса, онда қайталау екі рет, ал үшөлшемді болса кайталау үш рет және т. сс. орындалады. Демек, жиым элементтерін енгізу немесе экранға шығару үшін цикл операторларын мынадай түрде пайдалануға болады:
for i:= 1 to n do
for j:=1 to m do
read(B[, j] ) ;
немесе экранға мөлімет шығару үшін:
for і= 1 to n do
begin
writeln;
for j:= 1 to m do
write (B [i, j ] :8:3 ) ;
end.
Индекстері мен элементтерінің типтері бірдей жиымдардың бірінің мәндерін екіншісіне көшіру үшін, мысалы A:=D; меншіктеу операторын немесе цикл операторы арқылы былай орындау мүмкіндігі бар:
For i:= 1 to 4 do
А[і] := D[i] ;
Жиым элементтері компьютер жадында тізбектеле орналасады. Төменгі индексті жиым элементі кіші адрестерде, жоғарғы индекстердегі элементтер жоғарғы адрестерде сакталады. Көпөлшемді жиымдардың оң жақ шеткі индекстері бірінші болып өсіп отырады. Мысалы, А: аггау[1. . 5, 1„5] of integer жиымы берілсе, ол компьютер жадында адрестерінң өсуі бойынша былай орналасады:
A[1, 1]
A[1, 2]
…
A[1, 5]
A[2, 1]
A[2, 2]
…
A[5, 5]
Күнделікті тұрмыста екі-үш өлшемді жиымдар жиі қолданылады. Алгоритмдік тілдерде жиым өлшеміне шек қойылмайды. Жоғарыда айтылғандай жиым бір, екі, үш, төрт, тіпті одан да көпөлшемді болуы мүмкін. Бірөлшемді жиымдарды сызықты жиымдар десек, екіөлшемді жиымдарды математикада матрица немесе кесте деп атайды. Біз мұнда екіөлшемді жиымдарды қарастырамыз. Екіөлшемді жиымға мысал ретіңде оқушылардың, әр сабақтан алған бағалары толтырылған кестені алуға болады Мәселен, мектепте 9-сыныптан үш топ бар екен делік: 9а, 9б және 9в топтары. Топ окушыларының бес сабақтан алған орташа бағалары төмендегі кесте түрінде көрсетілген.
Егер карастырылатын жиым атауы В болса, онда оны былай жазады:
мұндағы цифрлар
В
жиымының құраушылары немесе элементтері, олар да сол атаумен белгіленіп, оның төменгі шетіне элементтің орналасқан орындары көрсетіледі:
жалпы түрде жиым элементтері b i. j . деп белгіленсе, мұндағы і-жол, j-бағана нөмірлері, онда
і = 1, 2, 3, 4, 5; j = 1, 2, 3 деген мәндердің бірін кабылдайды.
Жиым элементтерінің мәнін жол және бағана нөмірлері арқылы анықтайды. Біздің мысалда В 2, 3 = 4, 0; В 3, 2 == 4, 6 және т. с. с.
1-мысал. Жоғарыда берілген кестені пайдаланып, бес пән бойынша қай топтың орташа бағасы жоғары екенін және оның шамасын анықтайтын программа құру керек.
Program baga;
const n = 5; m = 3;
var k, i, j: integer;
s: real;
b: array [l. . n, l. . m] of real;
a : array [l. . m] of real;
begin s:=0;
writeln ('Жиым элементтерін бос орын арқылы енгізіндер') ;
for i:= 1 to n do
for j:= 1 to m do read (b[i, j] ) ; {Жиым элементтерін енгізу}
for j := 1 to m do
begin
for i:= 1 to n do s:= s + b[i, j] {Бағана элементтерін қосу}
a[j] :=s/n; s:= 0; writeln;
write (‘ ‘:4, a[j] ) ; writeln
end;
k:=1; s:=a[1] ;
for j:= 2 to m do
if a[j] >s then begin
s:=a[j] ; k:=j
end;
writeln (‘ ‘:4, k, ’-топтың бағасы жоғары, ол ‘, s:4:3’-ге тең’)
end.
2-мысал. Көбейту кестесін толтыруға арналған программа құру керек.
PROGRAM KOBEITU;
Const n = 9;
Var i, j: integer;
К: array [2. . n, l. . n] of integer;
Begin
For i := 1 to n do
Begin
For j := 2 to n do
Begin
K[j, i] :=j*i;
Write(j, ’; x’, i, ’ =’, K[j, i] :3, ’’:2) ;
end;
Writeln
End
End.
3-мысал . Өлшемі nхnа (n=4) нақты сандардан тұратын матрица . Матрицаның ең үлкен элементі мен ең кіші элементін, олардың орналасқан орнын (бағанасы мен жолын) тауып, сол ең үлкен элемент пен ең кіші элементің қосындысын анықтау кажет.
PROGRAM MATRICA1;
Const n = 4;
Type mas = array[l. . n, l. . n] of real;
VAR
a: mas;
max, min, res: real;
i, j, ml, m2, kl, k2: integer;
Begin
Writeln (‘Maтрица элементтерін бос орын арқылы енгізіңдер:’) ;
For i := 1 to n do
Begin
For j := 1 to n do
Read(a[i, j] ) ;
Writeln
End;
max:= a[l, l] ; min:= а[1, 1] ; ml:= ; m. 2: = ; k1:= 1; k2:= 1;
For i:= 1 to n do
For j := 1 to n do
Begin
If max < a[i, j] then
Begin
max:= a [i, j] ; ml:= i; m2:=j
End;
If min > a[i, j] then
Begin
min:=a[i, j] ; kl:= i; k2:= j
End
End;
Res:= max + min;
Writeln (‘eң; үлкен элемент = ‘ max : 6 : 2, ’ ол’, ml : 2, ‘-жолда және’, m2 :2, ‘-бағанада орналасқан’) ;
Writeln (‘ең кіші элемент = ‘, min:6:2, ‘ол’ kl : 2, ‘-жолда және’, k2 : 2, ‘-бағанада орналасқан’) ;
Writeln (‘олардьщ қосындысы =’, res:7:2)
END.
4-мысал. Екіөлшемді а және b матрицаларының косындысы болып табылатын s матрицасын табу керек.
PROGRAM KOSU;
type ms = array [1. . 3, 1. . 3] of real;
var a, b, s: ms;
k, j: integer;
Begin
Writeln (‘a жиымы элементтерін бос орын арқылы енгізіңер:’) ;
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz