Автор работы: Пользователь скрыл имя, 23 Декабря 2011 в 06:17, курсовая работа
Қазақстан Республикасындағы білімді ақпараттандыру жүйесі ары қарай дамыту процесін оқып үйренудің ақпараттық ресурсы болып табылатын оқытуға арналған программалық құралдарды дайындамай жүзеге асыруы мүмкін емес. Олардың атқаратын қызметтерінің ауқымы кең, мысалы, бақылайтын және тест жүргізетін программалар, компьютерлік ойындар, ақпараттық жүйелер, оқыту орталары, электрондық оқулықтар және мультимедиалық программалар.
for i:=1 to n do
for j:=1 to m do
read(B[I,j]);
немесе экранға мәлімет шығару үшін:
for i:=1 to n do
begin
writeln;
for j:=1 to m do
write(B[I,j]:8:3)
End.
Индекстері мен элементтерінің типтері бірдей жиымдардың бірінің мәндерін екіншісіне көшіру үшін, мысалы А:=D; меншіктеу операторын немесе цикл операторы арқылы былай орындау мүмкіндігі бар:
For i:=1 to 4 do A[i]:=D[i];
Жиым элементтері компьютер
A[1,1]
A[1,2]
…
A[1,5]
A[2,1]
A[2,2]
…
A[5,5]
Күнделікті тұрмыста екі-үш
Мәселен, орта білім беру
Пәндер | 1-топ | 2-топ | 3-топ | |
1 | Информатика | 4,1 | 4,7 | 4,2 |
2 | Алгебра | 4,4 | 4,3 | 4,0 |
3 | Геометрия | 4,5 | 4,6 | 4,7 |
4 | Қазақ тілі | 4,2 | 4,0 | 3,9 |
5 | Орыс тілі | 4,3 | 4,5 | 4,6 |
Егер қарастырылатын жиым атауы В болса, онда оны былай жазады:
мұндағы цифрлар В жиымның құрушылары немесе элементтері, олар да сол атаумен белгіленіп, оның төменгі шетіне элементтің орналасқан орындары көрсетіледі:
жалпы түрде жиым элементтері деп белгіленсе, мұндағы і-жол, ал j-бағана нөмерлері, онда деген мәндердің бірін қабылдайды.
Жиым элементтерінің мәнін жол және бағана нөмірлері арқылы анықтайды. Біздің мысалда және т.с.с.
10-мысал. Жоғарыда берілген кестені пайдаланып, бес пән бойынша қай топтың орташа бағасы жоғары екенін және оның шамасын анықтайтын программа құру керек.
Program baga;
const n=5;m=3;
var k,I,j:integer;
s:real;
b:array[1..n,1..m] of real;
a:array[1..m] of real;
begin
s:=0;
Writeln(‘Zhium elementterin bos orin arkili engizinder’);
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,’-toptin bagasi jogari, ol’,s:4:3’-ge ten’);
end.
11-мысал. Көбейту кестесін Пифагор кестесі түрінде алу керек:
Program Pifagor;
Var I,j:integer;
A:array[1..10,1..10] of integer;
Begin
For i:=1 to 10 do
Begin Writeln;
For j:=1 to 10 do
Begin a[I,j]:=i*j;
Write(a[I,j]:4);
End;
End;
End.
12-мысал. Өлшемі п×п (n=4) нақты сандардан тұратын матрица берілген. Матрицаның ең үлкен элементі мен ең кіші элементін, олардың орналасқан орнын (бағанасы мен жолын) тауып, сол ең үлкен элемент пен ең кіші элементтің қосындысын анықтау қажет.
Program Matrica1;
Const n=4;
Type mas=array[1..n,1..n] of real;
Var a:mas;
max, min,res:real;
I,j,m1,m2, k1,k2:integer;
Begin
Writeln(‘Matrisa elementterin bos orin arkili engizinder:’);
For i:=1 to n do
Begin
For j:=1 to n do Read(a[I,j]);
Writeln
End;
max:=a[1,1]; min:=a[1,1];
m1:=1; m2:=1; k1:=1; k2:=1;
for i:=1 to n do
For j:=1 to n do
If max<a[I,j] then
begin
max:=a[I,j];
m1:=I; m2:=j
End;
If min>a[I,j] then
Begin
min:=a[I,j];
k1:=I; k2:=j;
End;
End;
Res:=max+min;
Writeln(‘en ulken element=’,max:6:2,’,ol’,m1:2,’
baganda ornalaskan’);
Writeln(‘en kishi element=’,min:6:2,’,ol’,k1:2,’
baganada ornalaskan’);
Writeln(‘olardin kosindisi=’,res:7:2)
End.
Нәтижесі:
Matrisa elementterin bos orin arkili engizinder:
2 4 6 3
1 5 7 9
8 4 2 3
4 7 6 2
en ulken element=9.00,ol 2-jolda jane 4-baganda ornalaskan
en kishi element=1.00,ol 2-jolda jane 1-baganda ornalaskan
olardin kosindisi=10.00
13-мысал. Екіөлшемді a және bматрицаларының қосындысы болып табылатын s матрицасын табу керек.
PROGRAM KOSU;
type ms=array[1..3,1..3] of real;
var a,b,s:ms;
k,j:integer;
Begin
Writeln(‘a jimi elementterin bos orin arkili engizinder:’);
For k:=1 to 3 do
For j:=1 to 3 do Read(a[k,j]);
writeln;
Writeln(‘b jimi elementterin bos orin arkili engizinder:’);
For k:=1 to 3 do
For j:=1 to 3 do
Begin
Read(b[k,j]);
s[k,j]:=a[k,j]+b[k,j]
End;
Writeln(‘S=a+b kosindi jiminin elementteri:’);
For k:=1 to 3 do
Begin
For j:=1 to 3 do Write(s[k,j]:5:2);
writeln
End
End.
Нәтижесі:
a jimi elementterin bos orin arkili engizinder:
1 3 5
5 3 2
1 6 7
b jimi elementterin bos orin arkili engizinder:
3 4 5
6 7 2
3 4 9
S=a+b kosindi jiminin elementteri:
4.00 7.00 10.00
11.00 10.00 4.00
4.00 10.00 16.00
Берілген нақты сандар тізбегінен төмендегі суреттегідей (Зик-зак) схема бойынша орналастырып ретті квадрат матрица алу керек.
Зик-зак бағдарламасында ең бірінші екі өлшемді а( ) массивінің мәндері және s,i,j айнымалылары бүтін сан екені сипатталады. Әрі қарай «әзірше» циклдық операторының көмегімен бізге берілген шарт S<=64 болғандықтан, S-айнымалысы 64-ке тең болғанға дейін цикл орындала береді. Содан кейін «үшін» операторының көмегімен программаны жүргіземіз. i=1 (1-ші жол) болғанда, j-ды 1-ші бағаннан 8-ші бағанға дейін цикл параметрінің өсу ретімен өзгертіп, i=2 болғанда (i-айнымалысы 2-ші жолға түскенде), j-ды 8-ші бағаннан 1-ші бағанға қарай қадамын кемітеміз. Әрбір циклдың соңында, яғни і (цикл параметрін)-ді бірге арттырып, меншіктеп отырамыз. Содан бағдарлама барысында «әзірше» циклы аяқталғанға дейін, автоматты түрде әр жол сайын і-дің мәні бірге артып отырады. «Әзірше» операторының шарты орындалып біткен соң (64 ұяшық толған соң) бағдарламамыз өздігінен тоқтайды. Нәтижесінде, 1-ден 64-ке дейінгі сандар «Зик-зак» тәріздес болып орналасады.
3.2.1 Тапсырманы шешу алгоритмі
алг Зик-зак программасы
алг (а[i,j],s,i,j бүт)
басы
әзір S<=64
Цб
j үшін 1дейін 8 қадам
Цб
a[i,j]:=S; S:=S+1;
Цс
i:=i+1;
j үшін 1дейін 8 қадам
Цб
Цс
Цс
шығару a[i,j]
соңы
3.3 Тапсырманың блок-сызбасы
Зик-зак программасының идентификаторлық кестесі
идентификатор | Тағайындалуы | Деректер типі | Диапазоны |
a[i,j] | Екі өлшемді массив | Integer | -32768 32767 |
i | Индекс типі,
Цикл параметрі |
Integer | -32768 32767 |
j | Индекс типі,
Цикл параметрі |
Integer | -32768 32767 |
S | Аинымалы | Integer | -32768 32767 |