Массивпен жұмыс істеу


Жоспар

  1. Массив дегеніміз не? Мысалдар
  2. Массивтермен жұмыс, сандық массивтың ең кіші, ең үлкен және орта мәнін табу. Мысалдар.
  3. Матрица дегеніміз не? Мысалдар.
  4. Матрицамен жұмыс
  5. Қортынды
  6. Қолданылған әдебиеттер

Массивтерді өңдеу, Матрицаны түрлендіру.

Бір типті шамалардың бір ғана ат беріліп, реттелген тізбегі массив деп аталады. Массивпен жұмыс істеу үшін оның әр элементінің мәні белгілі болуы тиыс. Массив Структуралық типке жатады. Структуралық типтегі (түрдегі) айнымалылардың стондартты типтегі айнымалылардан айырмашылығы мынау: олар бірнеше элементтерден құралады, ал стондартты типтер бір ғана элементтен құралады. Массивтың симболдық типтер бар. Мысалы; сандық кесте, вектор координаттары, матрица (төртбұрышты сандық кесте), әрқайсысы бір элемент түрінде алынған симболдар тізбектерінің жиынтығы (текстер) массивтер қатарына жатады ( симболдық массив элементіне енетін симболдар саны 255-тен аспауы тиіс) . Массивтің атауы да сандық айнымалының атауы сияқты белгіленеді.

1 - кесте

A[1]
A[2]
.
A[n]
A[1]: 2. 5
A[2]: -4. 7
.: . .
A[n]: 7. 84

1-кестеде сызықтық (бір өлшемді) нақты сандар массиві келтірілген. Мұндағы а- массив аты, а[к] - массив элементтері (к= 1, 2, 3,, ,, n), кестенің төменгі жағында массив элементтерінің мәндері берілген: а [1] =2, 5; а[2] = -4, 7m. с. с. Массивте әр элемент нөмірін (к) элементтің индексі деп, элементтің өзін индекстелген айнымалы деп атайды.

Паскольдағы массив- күрделі типке жатады. Ол бір ғана типтен тұратын саны алдын ала анықталған элементтер жиыны. Массивті бір қалыпты анықталған (регулярлық) типте деп те атайды. Массив элементтерін және оның атауын белгілеу алгаритм тақырыбындағы белгілермен бірдей. Массивті екі түрлі сипаттау мүмкін. Біріншісінде бағдарламаға енгізілетін типтер бөлімінде массив тип атауы арқылы сипатталады.

Сипаттау үлгісі:

Type<тип атауы>= array[t-T1] of T2;

Var <Массив атауы > : <тип атауы>;

Мұндағы Array [T1] of T2- массивті анықтау.

Т2- массив элементтерінің типі (оны негіздік тип деп атайды) ;

Т1-элемент индексінің типі (ол integer, read, типтерінен басқа кез келген жай тип болуы мүмкін) ;

Тип атауы- типті (массивті) анықтайтын кез келген белгілеме айнымалы;

Массив атауы- типі тип атауынан тұратын айнымалы;

TYRE (тип), ARRAY(массив), OF- қызметші сөздер. Бір өлшемді (сызықтық) массивтерді сипаттау. Мысалы:

Type m1=array [1………, 10] of real

m2=array [1………, 20] of integer

m2=array [0……. ., 25] of char;

var a, b: m1; c: m2; r: m3;

Мұндағы 1, 10, 1 . . . 20, 0 . . . 25- шектеулі (аралық) типтер; а, в, с, г-типтер TYRE бөлімінде анықталған массивтердің атаулары (а, в- айнымалылардың типі- m1; m1- real типті 10 элементтен тұратын массив; индекстер- 1 . . . 10 шектеулі типінде жататын бүтін сандар тағы сол сияқты) .

Бағдарламаға TYRE бөлімін енгізбей, массивті Var бөлімінде де сипаттау мүмкін. Мысалы: а, в массивтерін мынадай түрде сипаттауға болады: Var а, в: array [1 . . . , 10] of real:

Бірақ күрделі типтерді TYRE бөлімінде анықтау бағдарламаны оқуды көп жеңілдетеді және ол бағдарламалаудың жақсы тәсілі.

1-мысал: а[1], а[2], . . . , а[10] -мм арқылы есептеген, жергілікті жерде соңғы 10 жылда жауған жауын- шашын мөлшерілері болсын. Оның бір жылдық орта мөлшері мен әр жылдағы ауынқуын есептеу керек.

Program - f;

Uses crt;

Type ms=array [1…. . 10] of real;

Var a: ms; k: integer; s, d: real;

Begin clzscz;

S:=0;

Writeln (‘Әр жылдық ж-ш мөлшерін’) ;

Writeln (‘ендірген соң <ENTER> пернесінбасыңыз’) ;

Writeln;

For k:=1 to 10 do Begin

Writeln(k, ‘-жылдың ж-ш мөлшерін=?’) ;

Readln(a[k] ) ;

S:=S+a[k] ;

End;

S:=S\10

Writeln(‘орта мән’, s:6:2) ;

Writeln;

For k:=1 to 10 do Begin

D:=S-a[k] ;

Writeln(k, ’жылдық ауытқу=’ d:6:2) ;

End.

Ескерту:

1) Массивті жадыға ендіру мен оны экранға шығаруды бөлек циклдер арқылы орындаған дұрыс;

2) Массивті анықтауда Т1 үшін 1 . . . n шектеулі типін алып, n-нің мәнін бағдарламаның CONST бөліміне енгізген қоюда мүмкін. Мысалы: Const n=10;

Type m1=array (1…. . n) of integer;

(n-нің орына үлкен сан алу да мүмкін) .

3) Бағдарламада к- айнымалысы цикл параметрі және индекс ретінде пайдаланылғандықтан, оны

Var k: integer;

немесе Var к:1…. . 10;

арқылы сипаттауға болады. Бағдарламада сипаттаудың бірінші түрі алынды.

2-мысал.

А 0 х n + a 1 x n-1 +……+a n-1 x+a n

Көпмүшелігінің мәнін есептеу керек. Көпмүшелікті Горнер схемасы бойынша мынадай түрге

(…. . ((a 0 x+ a 1 ) x+ a 2 ) x+……+a n-1 ) x+a n

Түрлендіріп алып, еселіктерін (кщэффиценттерін) бір өлшемді (сызықтық) массив элементтері ретінде қарастыруға болады. <Үшін> циклі бойынша мұның мәнін есептеу алгоритмі:

Алг Горнер (бүтін n, нақ х, нақ кесте а[0:n] нақ у) басы бүтін n

Ендіру n, x, a[0]

ЦC k үшін 1 бастап n дейін

Ендіру а[к]

У:=ух+а [к]

ЦС шығару у

Соңы.

Бағдарламасы

Program- Gorner;

Uses cut;

( Көп нүктенің орнына көпмүшеліктің )

(дәреже көрсекішін енгізіңіз) .

Const n=,, ,, ,, ;

Type ms=array [0…. n] of real;

Var a:ms; k: integer; x, y: real;

Begin clzcz;

Write(‘x-тің мәнін ендіріңіз=?’) ;

Readln(x) ; y:=0;

For k:=0 to n do begin

Readln(a[k] ) ;

Y:=y’ x+a[k] ;

End;

Write(‘y(‘, x:4:2, ’) =’, y) ;

End.

Массивтермен жұмыс, Сандық массивтің ең кіші, ең үлкен және орта мәнін табу.

Бір атау арқылы байланыстырылған бір типті айнымалыылардың (не олардың мәндерінің) жиындығы массив деп аталады. Сызықтық массив және матрицамен жұмыс істеу негіздері Паскольдағы сияқты.

1-мысал: 0, 99аралығындағы бүтін типті кездей соқ n соннан тұратын сызықтық массив құрып, оның минимумын, мексимумын және орта мәнін табу керек. (n=500)

1) Жаңа проект ашу;

2) Формада Labell, Buttan 1 комноненттерін орнатып, олардың Caption қасиеттеріне мәндер меншіктеу (біріншісінде бос ету, екіншісінде ОК мәнін меншіктеу) ;

3) ОК түймесінің Onllicк оқиғасын өңдейтін процедура құру;

Proceduze Tform 1 Button Click (Sender: T Object) ;

Const n=500; \\ массив элементтерінің соңы.

M=100 \\ кездейсоқ сандар алынатын.

\\ аралықтың жоғарғы шегі.

Var ms: array[1…n] of integer; \\ бүтін сандар массиві

K: integer; \\ массив индексі.

Min, max:integer; \\ ең кіші және ең үлкен сан

Sum: real; \\ сандар қосындысы

Begin

For k:=1 to n do

Ms[k] :=round (random(m) ) ; \\ массивті кездейсоқ

\\ бүтін сандармен толтыру

Min:= ms[1] ; max:=ms[1] ; sum:=0

For k:=1 to n do

Begin

Sun:=sum+ms[k] ;

If ms[k] <min then min:= ms[k

Else if ms [k] >max then max:=ms[k]

End.

Sum:=sum\n; Labell, Loloz:= cllohite;

Labell, Caption:=’min=’+Int Tostr(min) + # 13

+’maxs’ + InTost(max) + # 13 + ‘ orta man=’+FloatTostr(sum) ;

End.

4) Проектіні сақтап, іске қосу. Көрінген форманың ОК түймесін шерту. Нәтижелік форма 2, 11 суретте көрсетілген.

Form 1
x
Form 1:
:
:
─:

Min=0

Maxs=99

Ortaman=48. 686

: OK
Form 1:
Form 1:

2. 11- сурет. Нәтижелер шығарылған форма.

5) Проектіні сақтап, іске қосу. Форма көрінеді. Оның Button1 түймесін шерту. Енгізу терезесі көрінеді. Оған элементтерді енгізу. Нәтиже көрінеді.

(2. 12-сурет)

Х
:
:
:
:
─: 1-ші орынға шыққаны: 2-топ
: Бір студентің орташа уақыты: 13, 17
Х: ОК
:
:
:
:
─:
:

2. 12- сурет. Жарыс нәтижесі.

Ескерту: Енгізу терезесіне элементтерді цикл бойынша енгізу үшін әр элемент кловиатурадан енгізілген сайын оның ОК түймесін шерту не КҚ кловишін басу керек.

Матрица

Паскальда n жолдан, m бағаннан тұратын екі өлшемді жиымды матрица деп те атайды.

Оны type ms=array[1. . n, 1…m] of T;

Var a:ms

Арқылы сипаттау мүмкін. Мұндағы а- матрица, Т-матрица элементтерінің типі. Оның элементі а[к, j] арқылы белгіленеді. (k=1, 2, …. ., n; j=1, 2, …., m) (сипаттамада n, m - айнымалыларының орнына олардың мәндерін енгізіп қою керек не оларды n1, m1 (n1>=n, m1>m) түрінде жасып, мәндерін прогромманың CONST бөлімінде сипаттап қою керек. Матрица элементтерін енгізу, оларды қалпын сақтап экранға шығару циклдерінің жазылу түрлері:

  1. for k:=1 to n do

for j:=1 to m do read (a[k, j] ) ;

2) for k:=1 to n do

Begin writeln;

For j:=1 to m do write (a[k, j] :p:q) end.

Ескерту. Матрицаны экранға қалпын сақтап шығару үшін сыртқы циклге қатысты опературалар (ішкі цикл мен writeln) бір құрама оперотор түрінде қарастырылуы тиіс. Элементтердің мәндерін экранға тиянақты нүктелі түрде шығырған дұрыс.

1-мысал. Үшінші ретті А, В матрицаларының қосындысын (S) табу керек. [ Табылатын S=А+В матрицасының элементтері: S(к, і) ==а(к, j+, b(k, j) ]

Program mtrkosu;

Type ms=array [1…3] of real;

Var a, b, c: ms; k, j: integer;

Begin for k:=1 to 3 do

For j:=1 to 3 do

Read ([k, j] ) ; writeln;

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]

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Графикалық нысандарды бағдарламалау (с немесе Java)
MS Excel - дегі формулар мен функциялары
Динамикалық айнымалылар құрылымы
Жаңа ақпараттық технологиялар, оны білім беру жүйесінде пайдаланудың маңыздылығы
Динамикалық облыс
PHP тілі туралы
Информатика пәні бойынша лекциялар жинағы
Меншіктеу операторы, барлық тілде пайдаланылатын негізгі оператор
Көп өлшемді жиымдар
Математикалық модельдеудің түзілуімен есеперу эксперименті әдістемесі
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz