Автор работы: Пользователь скрыл имя, 23 Декабря 2011 в 06:17, курсовая работа
Қазақстан Республикасындағы білімді ақпараттандыру жүйесі ары қарай дамыту процесін оқып үйренудің ақпараттық ресурсы болып табылатын оқытуға арналған программалық құралдарды дайындамай жүзеге асыруы мүмкін емес. Олардың атқаратын қызметтерінің ауқымы кең, мысалы, бақылайтын және тест жүргізетін программалар, компьютерлік ойындар, ақпараттық жүйелер, оқыту орталары, электрондық оқулықтар және мультимедиалық программалар.
Программада «индекс» және «
Индекс типі жиымды
Индекс өрнек, айнымалы немесе
тұрақты түрінде берілуі
Сондықтан да көбінесе
A[3]:=C[4]+5;
S:=S+X[K];
P:=X[3*I+1];
Паскаль тілінде жиымдарға =(
Мысалы, А және В жиымдары былайша сипатталса:
Var A,B:array[1..10] of real;
онда
пайдаланылған амалдар
Өрнек | Нәтиже |
A=B | А жиымының әр элементінің мәні В жиымының сәйкес элементтерінің мәніне тең болса, онда нәтиже true болады. |
A<>B | А жиымының ең аз дегенде бір элементінің мәні В жиымының сәйкес элементтерінің мәніне тең болмаса, онда нәтиже true болады. |
A:=B | В жиымының барлық элементтері А жиымының сәйкес элементтеріне айналады. |
Жиым элементтерін өрнектегенде read,readln,write,writeln тәрізді операторлардың параметрі міндетін атқара отырып, циклдік операторларда пайдаланылады. немесе айнымалыларға басқа мән меншіктеуде операнд (аргумен) рөлін атқарады.
Мысалы, А жиымы элементтерін пернетақтадан енгізу үшін:
for i:=1 to n do
read(a[i]);
А жиымы элементтерін экранға шығару үшін:
for i:=1 to n do
write(a[i],’ ‘);
операторлары қолданылады.
Енді бірнеше мысал
6-мысал. 13 бүтін саннан тұратын тізбектің (жиымның) арифметикалық ортасын және оның әр элементінің арифметикалық ортасынан ауытқуын табатын программа құрайық.
Program Orta1;
Var x:array[1..13] of integer;
i:integer; s:real;
Begin s:=0;
Writeln(‘бос орын арқылы 13 сан енгізіңдер’);
For i:=1 to 13 do Begin
read(x[i]);
S:=S+x[i] end;
S:=s/13;
writeln(‘S=’,S:8:4);
For i:=1 to 13 do writeln(s-x[i]:3:1)
End.
7-мысал. Нақты элементтерден тұратын сызықты жиым ( ) берілген. Осы жиымның ең кіші элементін және олардың индекстік нөмірін табу керек.
Program Min1;
const n1=20;
type mas=array[1..n] of real;
Var a:mas; m:real; n,I,k:integer;
Begin
Write(‘elementter sani n-di (n<=20) engizinizder:’);
Readln(n);
write(‘1-element=’); Read(a[1]);
m:=a[1]; i:=1;
for k:=2 to n do
begin
Write(k,’-element=’);
readln(a[k]);
if a[k]<m then
Begin
m:=a[k]; i:=k;
end;
End;
Writeln(‘min=’,m:6:2, ‘nomiri=’,i);
End.
8-мысал. n(n<7) элементтен тұратын нақты сандар жиымының элементтерін өсуі бойынша реттеп орналастыру керек.
Program Ret1;
Var a:array[1..7] of real;
k,I,j,n:integer; m:real;
Begin
Write (‘элементтер саны n-ді (n<7) енгізіңдер’);
Readln(n);
For k:=1 to n do
Begin Write(k,’-elementti engizinder=’);
End;
end.
Нәтижесі:
элементтер саны n-ді (n<7) енгізіңдер 4
1-elementti engizinder=7
2-elementti engizinder=1
3-elementti engizinder=9
4-elementti engizinder=4
jium elementterinin osy reti boinsha ornalasui
1.00 4.00 7.00 9.00
9-мысал. Символдардың саны n( сөз тіркесі берілген. Сол сөз тіркесін енгізуді аяқтау enter-ді басу арқылы жүзеге асырылады. Енгізілген сөздегі символдар санын және 7-символдан бастап 15-символға дейін «+» белгісі қанша рет кездесетінін анықтау керек.
Program simvoldar1;
const plus=’+’;
k1=7; k2=15;
Var SIM:array[1..100] of char;
I,k:integer;
Begin Writeln(‘Сөз тіркесінің символдарын енгізіңдер:’);
I:=0; Readln;
While not EOLN DO
Begin i:=i+1;
End;
Writeln;
Writeln(‘7-15 simvoldar arasindagi + tanbalar sani=’,k);
End.
Нәтижесі:
Сөз тіркесінің символдарын енгізіңдер:
A+B1*(C+4+R_S+N)+Sqr(x)-1 (Enter)
Tirkestegi simvoldar sani =25;
7-15 simvoldar arasindagi + tanbalar sani=3.
2.8 Көпөлшемді жиымдар
Егер жиым атауында бір ғана индекс болса, онда ол жиымды бірөлшемді, ал екі индекс болса – екіөлшемді және т.с.с. п индекс болса, п-өлшемді дейді. Бірөлшемді жиым вектор элементтері, ал екі өлшемді жиым матрица болып табылады.
Осы айтылғандарға сәйкес жиым элементтері былай белгіленеді: A[i], B[i,j], C[I,j,k] және т.с.с., көпөлшемді жиым элементтерін басқаша да белгілеуге болады, мысалы, B[i][j]. Мұндағы A[i] бірөлшемді жиымның і-ші элементі, оны математикада түрінде белгілейді, B[I,j] –екіөлшемді жиымның (кестенің) і-жолы мен 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 C,D:T;
Мұнда индекстер әр типте
TYPE atau=array[1..n] of array [1..m] of <элементтер типі>;
мысалы,
type T=array[1..4] of array[1..3] of real;
…
var B:T;
Мұнда алдымен жол
array[1..m] of <элементтер типі>;
Егер екіөлшемді жиым құратын кезде базалық тип ретінде басқа жиым алынса, онда сипаттау бөлігі былай жазылады:
Type vector=array[1..4] of integer;
massiv=array[1..4] of vector;
Var
Мұнда massiv және matr жиымдары екіөлшемді, яғни massiv[4,4], matr[4,4]- олар 4 жол және 4 бағанадан тұратын кесте элементтерін бейнелейді.
Егер программада жиымның
Type T1=array[1..M] of <элемент типі>;
T=array[1..N] of T1;
Var B:T; A:T1;
Мұнда алдымен бағана типі Т1 көрсетіледі де, одан соң ол жолдың типі арқылы матрицаның типі Т көрсетіледі. Айнымалылар бөлігінде екіөлшемді жиым - В және бірөлшемді жиым – А көрсетілген.
Екіөлшемді жиым көбінесе
Var B:array[1..N,1..M] of <элементтер типі>;
Индекс типіне Real, integer стандартты типтерден өзге типтердің барлығын пайдалануға болады, ал элементтер типі үшін Паскаль тіліндегі барлық типтерді қолдану мүмкіндігі бар. Мысалы,
Type den=(mo,tue,wed,th,fr,sat,sun)
Rden=mo..fr;
Zadan=array[1..25,
Var
A:array[den] of array [1..25] of char;
B:zadan;
C:array[1..365] of zadan;
Көпөлшемді жиымдармен жұмыс
атқарғанда бір цикл