- •5В070300 – «Ақпараттық жүйелер» мамандығының
- •Мазмұны
- •Практикалық жұмыс №1
- •Практикалық жұмыс №2
- •Практикалық жұмыс №3
- •3.1.5 Turbo Pascal программасының негізгі командалары
- •Практикалық жұмыс №4
- •Практикалық жұмыс №5
- •5.1 Негізгі түсініктер
- •Практикалық жұмыс №6
- •Практикалық жұмыс №7
- •Практикалық жұмыс №8
- •Практикалық жұмыс №9
- •Практикалық жұмыс №10
- •Практикалық жұмыс №11
- •Практикалық жұмыс №12 Тақырыбы: Жазуларға қолданылатын негізгі амалдар
- •Практикалық жұмыс №13
- •9. Файлды жабу процедурасы қандай?
- •Практикалық жұмыс №14
- •Практикалық жұмыс №15
- •15.2 Динамикалық айнымалыларды сипаттау жəне оларды қолдану
- •0 Жазылады.
- •Қолданылған әдебиеттер тізімі
Практикалық жұмыс №8
Тақырыбы: Қайталау операторының көмегімен екі өлшемді массивтерді программалау
Жұмыс мақсаты Паскал тілінде бір өлшемді массивтермен жұмыс істеу принципін меңгерту.
Жұмыстың орындалу тəртібі:
Теориялық мəліметтермен танысу.
Жеке нұсқада тапсырмалар орындау.
Бақылау сұрақтарына жауап беру.
Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, тапсырманың математикалық үлгісі, алгоритмнің блок – схемасы, листингі болуы қажет.
8.1 Негізгі түсініктер
Екі өлшемді массив (матрица).
Массив бір өлшемді (сызықтық), екі өлшемді (матрица), жалпы алғанда n өлшемді болады. n жолдан, m бағаннан тұратын екі өлшемді массив былайша сипаттайды:
Var массив аты: array [1..n, 1..m] of элемент типі;
Матрица элементтерін енгізу циклінің жалпы түрі:
for i:=1 to n do begin
for j:=1 to m do
read (a [i, j]); readln;end;
Матрица элементтерінің қалпын сақтап экранға шығару циклінің жазуының үлгісі:
for i:=1 to n do
begin
for j:=1 to m do
write (a [i, j]); writeln;
end;
1-мысал . Матрицаның жұп және тақ элементтерінің санын табыңдар.
Program Matrix1;
Const n=3; m=2;
Var a: array [1..3, 1..2] of integer;
i, K, L: integer; k-жұп, l-тақ элемент саны
begin
for i:=1 to n do
for j:=1 to m do
begin
read (a[i, j ]);
if (a[i, j ]) mod 2=0 then K:=K+1 else L:=L+1;
end;
writeln ('жұп элемент саны=', K, 'тақ элемент саны=', L)
end.
2-мысал. Кездейсоқ бүтін сандармен толтырылған Х(3х4) матрицаның жолдарындағы элементтердің қосындысын табыңдар.
Program Matrix2;
Var X: array [1..3, 1..4] of integer;
i, j, a, b, S: integer;
begin
writeln (' сандар аралығын енгіз'); read (a, b);
randomize;
for i:=1 to 3 do
for j:=1 to 4 do
x[i, j]:=random (b-a) +a;
for i:=1 to 3 do
begin
S:=0;
for i:=1 to 4 do
S:=S+X [i, j];
writeln ('S[',i,']=', S);
end
end.
i=j шарты квадрат матрицаның негізгі диагональ элементтерінің, i+j =4 жетекші диагональ элементтерінің шарты. (жалпы жағдайда i+j =n+1, мұндағы n- квадрат матрицаның жолдарының ( немесе баған) саны.)
3-мысал. Квадрат матрицаның (жол және баған сандары тең матрица) негізгі диагоналындағы теріс элементердің көбейтіндісін және қосалкы диагналындағы тақ элементердің санын табындар.
Program Matrix3;
Var a: array [1..3, 1..3] of integer;
i, j, p, k: integer;
begin
for i: = l to 3 do
for j: = l to 3 do
readln (a[i, j ]);
P:=1;
for i:=1 to 3 do
for j: = l to 3 do
begin
if (i=j) and (a [i, j]<0) then P:=P*a[i, j];
if (i+j=4) and (a [i, j] mod 2=1) then k:=k+1;
end;
writeln (‘P=’, P, ‘k=’, k);
end.
4-мысал. A (N x N) квадрат матрицаны транспонирлеу программасын жазындар. (Транспонирлеу – матрица жолдарын бағандармен және керісінше алмастыру.)
Мысалы: А матрицасы 1 2 3 болса, оған транспонирленген матрица
4 5 6
7 8 9
1 4 7
түрінде болады.
2 5 8
3 6 9
Program Matrix4;
const m =3; n=3;
var A, B:array [1..n, 1..m] of integer;
i, j: integer;
begin
for i:=1 to n do begin
for j: = l to m do
read (A [i, j]); readln; end;
for i: =1 to n do
for j: = l to m do
B [i, j]: = A [j, i];
for i:=1 to n do begin
for j: = l to m do
write (B [i, j]); writeln; end;
end.
ЖЕКЕ ТАПСЫРМАЛАР НҰСҚАЛАРЫ
Матрицаның үшінші бағанында ең үлкен элементті табу керек.
Матрица элементінің барлық суммасын табу керек.
Матрицаның оң элементтерінің барлық санын табу керек.
Матрицаның бірінші жолында ең кіші элементті табу керек.
Екінші бағанадағы матрица элементінің арифметикалық орташа мәнін табу керек.
Матрица жолының бірінші және үшінші элементінің суммасын табу керек.
Матрицаның барлық элементінде 5 саны неше рет кездесетінін анықтау керек.
Матрицаның үшінші жолында 1 саны неше рет кездесетінін анықтау керек.
Матрицада теріс элементтер саны қанша екенін табу керек.
Матрицаның бірінші жолындағы теріс элементтер саны қанша екенін анықтау керек.
Матрицаның екінші бағанында теріс емес элементтер санын табу керек.
Матрицаның екінші жолындағы элементтер суммасын табу керек.
Матрицада ең үлкен элементті табу керек.
Матрицада ең кіші элементті табу керек.
Модуль бойынша матрицаның бірінші жолындағы ең кіші элементті табу керек.
Теріс матрица элементінің барлық орташа арифметикалық мәнін табу керек.
Анықтау керек, матрица элементінің нешеуі 2 саннан асып түседі.
Барлық матрица элементтерін өсу кезегі бойынша кезекті жолға орнықтыру керек.
Барлық матрица элементтерін кему кезегі бойынша кезекті жолға орнықтыру керек.
Спорттың мұзда мәнерлеп сырғанау түрінен 5 спортшының 3 төреші бағалаған нәтиже көрсеткіші берілген (ұпай саны 0-ден 6-ға дейін ). Бастапқы 3 жүлделі орынды алған спортшылар көрсеткішін табыңдар.
Бақылау сұрақтары
Екі өлшемді жиымды енгізу және шығару қалай жүзеге асады?
Квадрат матрица деген не? Квадрат матрицаның негізгі және қосалқы диагональ элементтерінің шарты қандай?
Матрицаны транспонирлеу деген не және ол қалай жүзеге асырылады?
Екі өлшемді массив матрицасына анықтама келтір.
Матрица индексі дегеніміз не?
Жеті жол тоғыз баған матрицасында неше элемент бар?
Квадраттық матрицаға түсініктеме беріңіз, квадраттық матрицаның диагоналы.
Ұсынылатын әдебиеттер: 1, 4, 8