Жауап.кз вопросы и ответы
0 голосов
спросил от Ulia в категории Ұстаз

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

6 Ответы

0 голосов

Мазмұны

     Аннотация................................................................................................3

I.   Кіріспе .....................................................................................................4

II.  Зерттеу бөлімі:

  1. Матрица ұғымы. Матрицалар..................................................................5
  2. Сызықты теңдеулер жүйесін матрицалар арқылы жазу.................. 6
  3. Матрицаларға қолданылатын амалдар.............................................8
  4. Сирек матрицаларды бейнелеу..........................................................9
  5. Сирек матрицаны транспозициялау алгоритмі
  6. Pascal ABC тілінде)..........................................................................10
  7. Екі сирек матрицаларды символдық қосу алгоритмі.......................12
  8. Екі сирек матрицаларды қосу алгоритмі....... ..................................14
  9. Екі сирек матрицаны көбейту алгоритмі..........................................16

III.  Қорытынды............................................................................................18

  Қосымшалар...............................................................................................19

  Пайдаланылған әдебиеттер  ......................................................................23

  Ғылыми –зерттеу журналы .......................................................................24

  Жетекшінің  пікірі  ............................................................................................25

АННОТАЦИЯ

Ғылыми-жобалық зерттеу жұмысының мақсаты:

Матрицаларға қолданылатын амалдарды, матрицаның селдір екендігін ескере отырып, Паскаль бағдарламалау тілінде қарастырып өңдеу.  

Ғылыми-жобалық зерттеу жұмысынан күтілетін болжам:

Ұсынылып  отырған жоба бағдарламалауды  үйренушілерге селдір матрицалармен орындалатын алгоритмдерді құрастыруға,  селдір матрицалардың бейнелеуін жылдам меңгеруіне, негізгі қағидаларға сүйене отырып матрицаларға қолданылатын түрлі алгоритмдерді  Паскаль бағдарламалау тілінде өндеп,  қолдана  алуына көмектеседі.

Ғылыми-жобалық зерттеу жұмысының кезеңдері:

1. Матрица ұғымын, матрица  формаларын, бейнелеу терминологиясын,  матрицаларға қолданылатын амалдарды  зерттеу;

2. Матрицаларды қолдану  маңыздылығын  ашып көрсету.

3. Сирек матрицаларды бейнелеудің тиімді жолдарын  қарастыру.

4. Сирек матрицаларға арналған алгоритмдерді Паскаль бағдарламалау тілінде өңдеу.

Ғылыми-жобалық зерттеу жұмысының әдісі:

  1. Түрлі ақпарат көздерінен жиналған деректерге сүйене отырып, сирек матрицалардың бейнелеуін ұйымдастыруды және олармен  орындалатын алгоритмдерді Pascal ABC программалау ортасында қарастыру.
  2.  Зерттеу нысаны: Сирек матрицалар. Матрицаларға қолданылатын амалдар.

Ғылыми-жобалық зерттеу жұмысының жаңалығы:

Сирек матрицаларды бейнелеудің тиімді  түрлерін  жан-жақты зерттей отырып, оларға қолданылатын амалдарды Pascal ABC бағдарламалау тілінде құрылған нақты программалардың жұмысы  арқылы көрсетілуі.

Жоба 3 бөлімнен тұрады, жалпы көлемі-26 бет.

ответил от Ulia
0 голосов
Кіріспе

Зерттеу -жобалық жұмыстың өзектілігі:
Сирек матрицалар көптеген экономикалық, практикалық есептерді шешуде кездеседі: сызықтық алгебрада, векторлық кеңістікте сызықтық бейнелеуді зерттегенде, дифференциалдық теңдеулерді шешуде, электр желілер теориясында, генетикада, социологияда. Заманауи техниканың дамуына байланысты, сирек матрицалар үлкен жүйелерді енгізетін коптеген қолданбалы есептерде кездеседі деп күтілуде. Математикалық модель зерттелетін нысанның неғұрлым көбірек параметрін ескерсе, со ғұрлым нәтижесі дәл және тиімді болады. Параметрлер  саны өскен сайын,  матрицаның өлшеміде өседі. Соған байланысты есепті компьютерде шешу барысында келесі сипаттамаларға назар аударылады: жады, жылдамдық, еңбек сіңіру. Егер сызықты теңдеулер жүйесі сирек болса, онда  бүкіл матрицаны сақтау, өңдеу тиімсіз деп есептеледі. Сондықтан матрицаның тек нольге тең емес элементтерін сақтап, өңдеу ұсынылады.  Елімізде жаңа саяси-әлеуметтік, жаңа экономика, әлем өркениетінің өктем талабынан туған  жаңа жүйелер дүниеге келуде. Экономикалық есептерді шешуде( мысалы, жеке шаруашылық қожалықтың маусымды  жұмысын тиімді ұйымдастыру),  экологиялық мәселелерді шешуде математикалық модельдеудің, сонымен қатар, оны зерттеу, шешу құралы ретінде матрицаларды қарастыру бүгінгі таңда өзекті  деп, ойлаймын.

Ғылыми-жобалық зерттеу жұмысының міндеті:
-    Бағдарламаларға  қажет  енгізілетін және шығарылатын  шамалардың құрылымын талдау;
-    Pascal ABC  программалау тілінде сирек матрицалармен  транпозициялау, қосу, көбейту  амалдарын бағдарламалау;
-    Бағдарламаларды компьютерде орындап, нәтижелерін талдау.
-    Бағдарламалау барысында іс-әрекеттерді тек матрицаның нөльге тең емес элементтерімен жүргізу.

Зерттеу бөлімі

Матрица ұғымы. Матрицалар.
Матрица деп,   - жол және   - бағаннан тұратын сандар немесе әріптерден құрылған тік бұрышты кестені айтады. Матрица латынның үлкен әріптерімен белгіленеді A,B,C,…Матрица ұғымы 19 ғ-дың ортасында ирланд математигі У.Гамильтон (1805 — 1865), ағылшын математигі А.Кэли (1821 — 1895) және Дж.Сильвестер (1814 — 1897) еңбектерінде берілген. Матрица теориясының негізін 19 ғ-дың  2-ші жартысы мен 20 ғасырдың басында  К.Вейерштрасс (1815 — 1897) пен неміс математигі Ф.Фробениус (1849 — 1917) қалаған. Металл өңдеуде — штамптауда, престеуде қолданылатын тесігі не ойығы бар жұмыс құралы. Полиграфияда — литера құюда, стереотиптерді дайындау-да қолданылатын (әдетте, латуннан, қоладан жасалған).
Матрица(нем. Matrіse, лат. matrіx — аналық) —математикада кез келген жиынның элементтерінен құрылған және m жол мен n бағаннан тұратын тік төртбұрышты А кестесі. Матрицаны түзетін нысандар оның элементтері деп аталады. Матрицаның элементтері оның жолдары немесе бағаналарының бойымен орналасады. Матрицаның элементтері аіj түрінде қос индекспен өрнектеледі, мұндағы бірінші индекс і — Матрицаның аіj элементі орналасқан жолының нөмірін, екінші индекс j — оның аіj элементі орналасқанбағананың нөмірін көрсетеді. Матрица символдық түрде не дөңгелек жақша, не қос тік сызық арқылы өрнектеледі. Мұндай матрицаны (m n) өлшемді тікбұрыштыматрица деп, ал егер m=n болса, квадрат матрица деп, n санын оның реті деп атайды.
 
Матрица

Матрицаны қысқаша былай белгілейді: (аіj) .
Жолдарының саны мен бағаналары санының бірі немесе екеуі де шексіз болатын матрицаны шексіз матрица деп түсінеміз. Бір ғана жолдан немесе бір ғана бағанадан тұратын матрицалар да болады.
аіі диагональ элементтері ғана нөлден өзгеше болатын квадрат матрицаны диагональ матрица деп аталып, dіag(а1 … аn) таңбасымен белгіленеді. Диагональ матрицаның барлық элементтері (аі=1) болса, бірлік матрица деп аталады. Егер барлық (аі=а) болса, онда скаляр матрица шығады. Барлық элементтері нөлге тең матрица  нөлдік марица  деп аталады.
Жолдары мен бағаналарын ауыстыру арқылы алынған матрица транспозицияланған матрица деп аталып, А немесе АТ арқылы белгіленеді.
 
Үшбұрыштығы матрица.

Сызықтық теңдеулер жүйесiн матрицалар арқылы жазу.
Сызықтық теңдеу – белгісіздері (айнымалы шамалары) 1-дәрежелі болып келетін және белгісіздердің көбейтінділері қатыспайтын теңдеу. Мысалы,
а1х1 + а2х2 +…+ + аnхn = b (1)
түріндегі теңдеу n белгісізі (аі≤0, і=1, 2, …, n) бар сызықтық теңдеуге жатады. Егер (1) теңдеудегі аi=0 (і=2, 3, …, n) болып, бірақ а1≤0 болса, онда ол а1х = b немесе ах = b(а1 = а) түріндегі бір белгісізі бар сызықтық теңдеуге айналады. Берілген айнымалыларға қатысты бірнеше сызықтық теңдеулер жиынтығы Сызықтық теңдеулер жүйесін құрады:
a11x1 + a12x2 +…+ a1nxn = b1
a21x1 + a22x2 +…+ a2nxn = b2
……………………………….
am1x1 + am2x2 +…+ amnxn = bm
Бұл жүйенің теңдеулеріндегі x1, x2, …, xn белгісіздерінің орнына табылған мәндерін қойғанда сол теңдеулерді тепе-теңдікке айналдыратын а1, а2, …, аn сандар жиынтығы сызықтық теңдеулер жүйесінің шешімдері деп аталады. Егер n айнымалылы m сызықтық теңдеу берiлiп, айнымалының осы m теңдеудiң барлығын да қанағаттандыратын сан мәнiн табу керек болса, онда n айнымалылы m сызықтық теңдеулер жүйесi берiлген делiнедi. Оны әдетте, былайша жазады:

   

мұндағы x 1 , x 2 ,…,x n - белгiсiздер (айнымалылар), a ij (i=1,2,…,m;  j=1,2,…,n) - белгiсiздiң коэффициенттерi, b 1 , b 2 ,…,b m -босмүшелер делiнедi. Мысалы:                       
Белгiсiздердiң барлық теңдеулердi қатарынан қанағаттандыратын сан мәндерiнiң жиынын ол теңдеулер жүйесiнiң шешiмi дейдi. Ең болмағанда бiр шешуi бар жүйе үйлесiмдi, бiрде-бiр шешуi жоқ теңдеулер  жүйесi үйлесiмсiз делiнедi.
Тек бiр шешiмi бар үйлесiмдi теңдеулер жүйесi анықталған, бiрден көп шешiмi бар теңдеулер жүйесi анықталмаған делiнедi.
(3.2) сызықтық теңдеулер жүйесiнiң коэффициенттерiнен жасалған матрицаны А арқылы, айнымалылардан және босмүшеден жасалған баған матрицаларды сәйкесiнше, х және В арқылы белгiлейiк:

   ,                  

Сонда (3.2) сызықтық теңдеулер жүйесi матрицалар арқылы былайша жазылады:

     

Сызықтық теңдеулер жүйесiнен айнымалыларының коэффициенттерiнен жасалған А матрицаны берiлген теңдеулер жүйесiнiң матрицасы дейдi, ал ол матрицаға босмүшенi бiр бағана етiп тiркеп жазғаннан шыққан матрицаны теңдеулер жүйесiнiң кеңейтiлген матрицасы дейдi де,   арқылы белгiлейдi:

  ,
ответил от Ulia
0 голосов
Матрицаларға қолданылатын амалдар.
Матрицаға қосу, көбейту алгебралық амалдар қолданылады. А тікбұрышты (m n) матрицасының санына көбейтіндісі деп барлық аіj элементтерін санына көбейткенде шығатын матрицаны айтады: . Бұл амалдар: А+В=В+А, А+(В+С)=(А+В)+С, ( + )А= = А+ А, (А+В)= А+ В, ( -А)=(- )А қасиеттерін қанағаттандырады.  Матрицаның қосындысы оның құраушыларының қосындысына тең. Матрицаны көбейту амалы 1-көбейткіш бағаналарының саны 2-көбейткіш жолдарының санына тең тік бұрышты матрицалар үшін ғана орындалады. (m p) өлшемді А матрицаның (p n) өлшемді В матрицасына көбейтіндісі элементтері сіj=аі1b1j+аі2b2j+ +…+аіpbpj, і=1,…,m, j=1,…,n болатын (m n) өлшемді C матрицасы болып табылады.

Сирек матрицаларды бейнелеу.
Есептеу шығындарын азайту мақсатында  нольдік элементтері көп(мысалы 2/3 бөлігі) матрицаларды  сирек матрица деп атап,  оларды бейнелеудің, сақтаудың келесі схемасын пайдалануға болады [3].
Матрица нольдік емес элементтер мәндері және олардың баған индекстері екі массивте сақталады. Оларды сәйкесінше АN  және JN деп белгілейміз. Сонымен қатар, тағы бір массив пайдаланамыз (IA деп атайық). Ол әр қатар АN  және JN массивіндегі нешінші  символдан бастап сипатталатынын көрсетеді.

Мысалы:   0  0  1  3  0  0  0  5  0
                   0  0  0  0  0  0 0   0  0
                   0  0  0  0  0  7  0   1  0         үшін

Позиция:  1   2   3   4   5   6
           IA=1      4    4       6
          JA=  3  4  8      6  8
          AN= 1  3  5      7  1 матрицаның жолдық(қатарлық) бейнеленуі болып табылады.
Матрицаның символдық бейнесі деп
IA=1          4    4       6
JA=  3  4  8         6  8       массивтерін атайды.

Сирек матрицаны транспозициялау алгоритмі
(Pascal ABC тілінде)

Енгізіледі:  0  0  х  0  х  х                             
                     х  0  0  х  0  0
                     0  0  х  х  0  0
                     х  0  х  х  0  0
                     0  х  0  0  х  х      матрицасы.
Х-тердің орнында 0-ге тең емес элементтер орналасады.
Мысалы:
 an[1]:=8; an[2]:=-1; an[3]:=4; an[4]:=3; an[5]:=3; an[6]:=7; an[7]:=-2; an[8]:=-1;
an[9]:=1;  an[10]:=6;  an[11]:=7; an[12]:=5;  an[13]:=4;
 Сәйкесінше:
 ja[1]:=5;  ja[2]:=6;  ja[3]:=3;  ja[4]:=4;  ja[5]:=1;  ja[6]:=3;  ja[7]:=4;  ja[8]:=4; ja[9]:=3;   ja[10]:=1;   ja[11]:=2;   ja[12]:=6;   ja[13]:=5;
 Ia[1]:=1;  Ia[2]:=4;  Ia[3]:=6;  Ia[4]:=8;  Ia[5]:=11;  Ia[6]:=14;
Сирек матрицаны транспозициялау алгоритмі- І тәсіл.
(Pascal ABC программалау тілінде)
 uses crt;
const n=5;
      m=6;
var an:array[1..13] of integer;
    JA:array[1..13] of integer;
    IA:array[1..6] of integer;
    ant:array[1..13] of integer;
    JAt:array[1..13] of integer;
    IAT:array[1..m+1] of integer;
       mh, nh,i,kol: integer;
       j, IAB, IAA, jp, k: byte;
       label 40, 60;
  BEGIN
 clrscr;
for i:=1 to 13 do   readln(an[i],' ');
for i:=1 to 13 do  readln (ja[i],' ');
for i:=1 to m do   readln (ia[i],' ');
     for i:=1 to 13 do   write(an[i],' ');
     writeln;
     for i:=1 to 13 do  write(ja[i],' ');
     writeln;
     for i:=1 to m do   write(ia[i],' ');
     writeln;
     MH:=M + 1;
     NH:=N + 1;
     for i:=2 to mh do IAT[i]:=0;
     IAB:=IA[NH]-1;
     for I:=1 to IAB do begin
                        J:=JA[I] + 2;
                        IF J<=MH then IAT[J]:=IAT[J]+1;
                        end;
     IAT[1]:=1;
     IAT[2]:=1;
     IF M=I then   GOTO 40;
     for I:=3 to MH do IAT[I]:=IAT[I]+IAT[I-1];
     for I:=1 to N do begin
     IAA:=IA[I];
     IAB:=IA[I+1]-1;
      IF IAB<IAA then GOTO 60;
      for JP:=IAA to IAB do begin
      J:=JA[JP] + 1;
      K:=IAT[J];
      JAT[K]:=I;
      ANT[K]:=AN[JP];
      IAT[J]:=K + 1;
      end;
     60: end;
     40: writeln;
     for i:=1 to 13 do   write(ant[i],' ');
     writeln;
     for i:=1 to 13 do  write(jat[i],' ');
     writeln;
     for i:=1 to m do   write(iat[i],' ');
     writeln;
     end.

Сирек матрицаны транпозициялаудың  II –ші тәсілі:

uses crt;
const n=5;
      m=6;
var an:array[1..13] of integer;
    JA:array[1..13] of integer;
    IA:array[1..6] of integer;
    ant:array[1..13] of integer;
    JAt:array[1..13] of integer;
    IAT:array[1..m+1] of integer;
       mh, nh,i: integer;
       j,IAB,IAA,jp,k: byte;
  BEGIN
 clrscr;
     for i:=1 to 13 do   readln(an[i],' ');
for i:=1 to 13 do  readln (ja[i],' ');
for i:=1 to m do   readln (ia[i],' ');
for i:=1 to 13 do   write(an[i],' ');
     writeln;
     for i:=1 to 13 do  write(ja[i],' ');
     writeln;
     for i:=1 to m do   write(ia[i],' ');
     writeln;
     MH:=M + 1;
     NH:=N + 1;
     for i:=2 to mh do IAT[i]:=0;
     IAB:=IA[NH]-1;
     for I:=1 to IAB do begin
                        J:=JA[I] + 2;
                        IF J<=MH then IAT[J]:=IAT[J]+1;
                        end;
     IAT[1]:=1;
     IAT[2]:=1;
     IF M<>I then  begin
     for I:=3 to MH do IAT[I]:=IAT[I]+IAT[I-1];
     for I:=1 to N do begin
     IAA:=IA[I];
     IAB:=IA[I+1]-1;
      IF IAB>=IAA then begin
      for JP:=IAA to IAB do begin
      J:=JA[JP] + 1;
      K:=IAT[J];
      JAT[K]:=I;
      ANT[K]:=AN[JP];
      IAT[J]:=K + 1;
     end;
     end;
     end;
     writeln;
     for i:=1 to 13 do   write(ant[i],' ');
     writeln;
     for i:=1 to 13 do  write(jat[i],' ');
     writeln;
     for i:=1 to m do   write(iat[i],' ');
     writeln;
     end;
     end.
ответил от Ulia
0 голосов
Екі сирек матрицаларды символдық қосу алгоритмі.

Енгізіледі: IA, JA –бірінші матрицаның  символдық бейнесі.
                   IB, JB – екінші матрицаның  символдық бейнесі.
Шығарылады: IC, JC- бірінші және екінші матрицалардың қосындысы болатын  матрицаның символдық бейнесі.
N-қатарлар саны; M- бағандар саны;
Аралық шамалар: М өлшемді  IX массиві.
Мысалы:      0 0 2 0 -1 0                     1 0 -1  0 0  5                             1 0 1 0 -1 5
                     4 0 3 3  7  0                     0 0  0  0  -2 0                            4 0 3 3  5 0
                    -2 0 0 0  0  -1         +        4 6   0  2  0  0            =              2 6 0 2 0  -1
                     0 1 0 1   0  0                    0 -1  1  0  0  0                            0 0 1 1 0  0      

Бұл матрицалар үшін
 ja[1]:=5;ja[2]:=3;ja[3]:=4;ja[4]:=3; ja[5]:=1;
 ja[6]:=5; ja[7]:=1; ja[8]:=6;ja[9]:=4; ja[10]:=2;
 Ia[1]:=1;   Ia[2]:=3;   Ia[3]:=7;   Ia[4]:=9;   Ia[5]:=11;

 jb[1]:=1; jb[2]:=6;jb[3]:=3; jb[4]:=5; jb[5]:=4; jb[6]:=2; jb[7]:=1; jb[8]:=2;  jb[9]:=3;  
 Ib[1]:=1;  Ib[2]:=4;  Ib[3]:=5;  Ib[4]:=8;  Ib[5]:=10;

                 
uses crt;
const n=4;
      m=6;
var JA:array[1..10] of integer;
    IA:array[1..n+1] of integer;
        Jb:array[1..9] of integer;
    Ib:array[1..n+1] of integer;
        ix:array[1..m] of integer;
    Jc:array[1..19] of integer;
    Ic:array[1..n+1] of integer;
        X:array[1..M] of integer;
       i,ip: integer;
       j,IAB,IAA, IBA,IBB,jp: byte;
  BEGIN
 clrscr;
     for i:=1 to 10 do  write(ja[i],' ');
     writeln;
     for i:=1 to n+1 do   write(ia[i],' ');
     writeln;
     for i:=1 to 9 do write(jb[i],' ');
     writeln;
     for i:=1 to n+1 do write(ib[i],' ');
     writeln;
    IP:=1;
     for  I:= 1 to N do begin
 IC[I]:=IP;
 IAA:=IA[I];
 IAB:=IA[I+1]-1;
   IF(IAB>=IAA)  then  for JP:=IAA to IAB do begin J:=JA[JP]; JC[IP]:=J; IP:=IP+1;IX[J]:=1; end;
  IBA:=IB[I]; IBB:=IB[I+1]-1;
  iF(IBB>=IBA) then  for JP:=IBA to IBB do begin J:=JB[JP]; if IX[J]=0 then begin JC[IP]:=J; IP:=IP+1;  end; end;
        end;
        IC[N+1]:=IP+1;
     for i:=1 to n+1 do write(ic[i],' ');
       writeln;
      for i:=1 to ip-1 do write(jc[i],' ');
     end.

Екі сирек матрицаларды қосу алгоритмі

Енгізіледі:
IA, JA, AN – бірінші матрицаның бейнесі
IB, JB, BN – екінші матрицаның бейнесі;
IC, JC – қосынды матрицаның символдық бейнесі.
N – матрицалардың қатарлар саны.

Шығарылады:
 CN – қосынды матрицаның  нольге тең емес элементтерінің мәндері.

Аралық шамалар:  
Х – нольге тең емес элементтерді жинақтау үшін аналған кеңейтілген массив.
Х өлшемі М-ге тең(матрицадағы бағандар саны).

uses crt;
const n=4;
      m=6;
var an:array[1..10] of integer;
    JA:array[1..10] of integer;
    IA:array[1..n+1] of integer;
    bn:array[1..9] of integer;
    Jb:array[1..9] of integer;
    Ib:array[1..n+1] of integer;
    ix:array[1..m] of integer;
    cn:array[1..19] of integer;
    Jc:array[1..19] of integer;
    Ic:array[1..n+1] of integer;
    X:array[1..m] of integer;
       i,ICB,ICA,ICH, ih,ip: integer;
       j,IAB,IAA, IBA,IBB,jp,k: byte;
        BEGIN
 clrscr;
 for I:=1 to 10 do  read(an[i]);
     writeln;
     for I:=1 to 10 do  read(ja[i]);
     writeln;
     for I:=1 to n+1 do  read(Ia[i]);
     writeln;
for I:=1 to 9 do  read(bn[i]);
     writeln;
     for I:=1 to 9 do  read(jb[i]);
     writeln;
     for I:=1 to n+1 do  read(Ib[i]);
     writeln;
     for i:=1 to 10 do   write(an[i],' ');
     writeln;
     for i:=1 to 10 do  write(ja[i],' ');
     writeln;
     for i:=1 to n+1 do   write(ia[i],' ');
     writeln;
      for i:=1 to 9 do write(bn[i],' ');
     writeln;
     for i:=1 to 9 do write(jb[i],' ');
     writeln;
     for i:=1 to n+1 do write(ib[i],' ');
     writeln;
        IP:=1;
     for  I:= 1 to N do begin
 IC[I]:=IP;
 IAA:=IA[I];
 IAB:=IA[I+1]-1;
   IF(IAB>=IAA)  then  for JP:=IAA to IAB do begin J:=JA[JP]; JC[IP]:=J;
   IP:=IP+1;IX[J]:=1; end;
  IBA:=IB[I]; IBB:=IB[I+1]-1;
  iF(IBB>=IBA) then  for JP:=IBA to IBB do begin J:=JB[JP]; if IX[J]=0
  then begin JC[IP]:=J; IP:=IP+1;  end; end;
        end;
        IC[N+1]:=IP+1;
        for I:=1 to n-1 do begin
      IH:=I+1;
      ICA:=IC[I];
      ICB:=IC[IH]-1;
      IF ICB>=ICA then begin for ip:=ICA to ICB do X[JC[IP]]:=0;
      IAA:=IA[I]; IAB:=IA[IH]-1;
      IF IAB>=IAA then begin for ip:=IAA to IAB do X[JA[IP]]:=AN[IP]; end;
      IBA:=IB[I];
      IBB:=IB[IH];
      IF(IBB>=IBA) then  for ip:=IBA to IBB do begin J:=JB[IP];
      X[J]:=X[J]+BN[IP];end;
      for IP:=ICA to ICB do  CN[IP]:=X[JC[IP]];
end;
      end;
               writeln;
      for i:=1 to ip do write(cn[i],' ');
     writeln;
      for i:=1 to n+1 do write(ic[i],' ');
       writeln;
      for i:=1 to ip do write(jc[i],' ');
     end.

Екі сирек матрицаны көбейту алгоритмі.

1)    Екі сирек матрицаны символдық көбейту алгоритмі:

Енгізіледі:
IA, JA  – бірінші матрицаның символдық бейнесі
IB, JB, BN – екінші матрицаның символдық  бейнесі;
NP – бірінші матрицаның қатарлар саны.
NQ – бірінші матрицаның бағандар және екінші матрицаның қатарлар  саны
NR – екінші матрицаның бағандар саны.
Шығарылады:
 IC, JC – көбейту нәтижесінде алынатын  матрицаның символдық бейнесі.
Аралық шамалар:  
Х –массив.
Х өлшемі –NP
IP-JC дағы  бірінші бос орын көрсеткіші.

 
 IP:=1;
 For I:=1 to nr do  IX[I]:=0;
 For  I:=1 to np do begin
 IC[I]:=IP;
 IAA:= IA[I];
 IAB: =IA[I + 1]-1;
 IF IAB >= IAA then begin  for JP: = IAA to IAB do begin  J: =JA[IP];  IBA:=IB[J];
 IBB: = IB[J + 1]-1;
 IF IBB >=IBA then  for kp:= IBA to IBB do  begin  K:=JB[KP]; if  IX[K]< >1 then
begin   JC[IP]:=K;  IP: = IP+1; IX[K]: = I; end;
end;

end;         End;       End;
 IC(NP + l)=IP;

2)    Екі сирек матрицаны сандық  көбейту алгоритмі:
Енгізіледі:
IA, JA, AN – бірінші матрицаның бейнесі
IB, JB, BN – екінші матрицаның бейнесі;
IC, JC – көбейтінді  матрицаның символдық бейнесі.
NP – бірінші матрицаның және көбейтінді матрицаның қатарлар саны.
Шығарылады:
  CN – көбейтінді  матрицаның  нольге тең емес элементтерінің мәндері.
Аралық шамалар:  
Х – нольге тең емес элементтерді жинақтау үшін аналған кеңейтілген массив.
Х өлшемі  көбейтінді матрицасының бағандар санына тең.
 
 For I:=1 to np do begin  ICA:=IC[I];  ICB:=IC[I + 1]-l;
 IF ICB>= ICA then begin for J:= ICA to  ICB do X[JC[J]]:=0;
 IAA:= IA[I];
 IAB:=IA[I + 1]-l;
 For JP: = IAA to IAB do begin J:=JA[JP];  A:= AN[JP]; IBA:=IB[J]; IBB:= IB[J+1]-1;
 IF IBB>=IBA then for KP:= IBA to IBB do
begin  K:=JB[KP];  X[K]: = X[K] + A*BN[KP];end;
 End;
End;
 For  J:=ICA to ICB do  CN[J]:=X[JC[(J]];
End.
ответил от Ulia
0 голосов
Қорытынды.

1.    Жұмыстың негізгі нәтижелері: Сирек(селдір) матрицаларды  сақтап, өндеу үшін матрицаның стандартты емес бейнеленуі, нақты айтқанда матрицаның жолдық(қатарлық) бейнеленуі қарастырылды. Осы бейнелеуді пайдалана отырып,  Pascal ABC тілінде сирек матрицалар үшін матрицаны транспозициялау,екі сирек матрицаларды қосу, екі сирек матрицаны көбейту алгоритмдері құрылып, орындалды. Информатика курсында матрицалармен жұмысты бағдарламалау білу маңызды роль атқарады. Жұмыс  материалы  оқушыларға мектеп курсының материалдарына қолданбалы құндылығын арттыра түсуде өзіндік септігін тигізеді деген ойдамын. Сонымен қатар бұл жұмыстағы ақпаратты өзгеше жүйелеу, ұсыну  тәсілі оқушыларды  дайын ақпараттық фактілерді, заңдар мен ережелерді біліп қана қоймай, өз бетінше ізденуге, алған білімдерін қолдана  алуға ықпалын тигізеді деп ойлаймыз.
2.    Жұмысты пайдалану жөніндегі ұсыныстар:
    Логикалық тұрғыдан аяқталған алгоритм фрагменттерін подпрограмма ретінде рәсімдеуге болады;
    Енгізілетін мәліметтердің өзгеру ауқымын, типін алдын ала болжамдап, нақтылау;
    Шығарылатын мәліметтер форматын нұсқау;
    Матрица элементтерін тікелей енгізу мүмкіндігі қарастырылған;
Программаларды тестілеу барысында енгізу-шығару мәліметтерін бақылау, дұрыс енгізілгенін қадағалау. Бұл жобада біз информатика саласындағы  күрделі тақырыптардың бірін қарастыра отырып, оқушыларға, экономикалық факультет білімгерлеріне сирек матрицалармен орындалатын амалдарды программалаудың тиімді әрі оқушылардың білім деңгейі үшін қолжетімді әдісті ұсынып отырмыз. Бұл зерттеу жобалық жұмысты мектепте информатика сабағында матрицаларды   үйретуді бастағанда, информатикадан  факультатив сабақтарында қолданып, нәтижесін талдап,  салыстыруға ұсынамыз.   

Қосымшалар:
Қосымша1. Матрицаны транспозициялау
 
 
 

Қосымша 2. Екі сирек матрицаларды символдық қосу.  
 
 
Қосымша 3. Екі сирек матрицаларды сандық қосу.

  

 
 

      Пайдаланылған әдебиеттер тізімі:

1.     «Қазақстан»: Ұлттық энцклопедия / Бас редактор Ә. Нысанбаев – Алматы «Қазақ энциклопедиясы» Бас редакциясы, 1998 жыл. ISBN 5-89800-123-9, VI том
2.    Рахимбекова З.М. Материалдар механикасы терминдерінің ағылшынша-орысша-қазақша түсіндірме сөздігі ISBN 9965-769-67-2
3.     Писсанецки С. Технология разреженных матриц: Пер. с англ. - М.: Мир, 1988.
4.    Интернет сайттары:1)kk.wikipedia.org/wiki; 2)www.bioaa.info.
5.    Тьюарсон Р. Разреженные матрицы.: Пер. с англ.  М.: Мир, 1977.
6.    Джордж А., Лю Дж. Численное решение больших разрежённых систем уравнений = Computer Solution of Large Sparse Positive Definite Systems. — М.: Мир, 1984.
ответил от Ulia
0 голосов

Ғылыми – зерттеу журналы

Ғылыми-зерттеу жұмысының кезеңдері

Зерттелетін тақырыпқа байланысты атқарылатын жұмыстар

Мерзімі

1

Тақырыпты жүйелеу

  1. Ұсынылған тақырыпшаларды саралау
  2. Ғылыми жоба тақырыбын таңдау
  3. Жұмыс  жоспарын жасау

Қыркүйек 2014

2

Тақырыпты зерттеу

  1. Ғылыми жоба тақырыбын бекіту
  2. Ғылыми жетекші тағайындау
  3. Тақырыпқа байланысты әдебиет жинақтау.
  4. Паскаль тілінде матрицаны сақтау тәсілдерін қарап шығу.

Қазан 2014

Қараша 2014

3

Тәжірибе жұмыстары

  1. Матрица ұғымына байланысты анықтама, терминдерді  қарап шығу
  2. Тақырып бойынша әдебиеттен, интернет ресурстарынан ақпарат жинау.
  3. Фортран және Паскаль бағдарламалау тілдерін салыстыру.
  4. Операторлардың Фортран және  Паскаль тіліндегі жазылу форматын  кестеге түсіру, салыстыру.
  5. Сирек матрицаларды бейнелеудің тиімді, түсінікті схемаларын қарастыру.
  6. Арнайы сирек матрицалар үшін амалдарды қолдануды программалау.
  7. Программаларды өндеу, компьютерде орындап, нәтижеге қол жеткізу.
  8. Жиналған материалдарды саралап, ғылыми жобаны компьютерде теріп жазу.

Желтоқсан

Қаңтар

Ақпан

Наурыз

4

Қорытынды

  1. Ғылыми жобаны мектепте қорғау
  2. Түптеп тапсыру

Сәуір

         Ғ.Мұратбаев атындағы орта мектептің

    9«б» сынып оқушысы Наметов Алмаздың

 «Селдір матрицаларға арналған алгоритмдерді Паскаль бағдарламалау тілінде өңдеу» тақырыбында   орындаған ғылыми-жобалық зерттеу жұмысына

СЫН  ПІКІР

  Жоғарыда аталған ғылыми жобаның мектеп информатика саласында айтарлықтай құндылығы бар. Жобада селдір матрицалардың ерекшелігі, оларды бейнелеу, сақтау схемасы, қазіргі таңдағы оларды зерттеу жағдайы егжей-тегжейлі қарастырылған. Бұл тақырыпқа оқушының қызығушылығы, бағдарламалауға икемділігі автор жұмысында анық байқалады.

   Тақырып бойынша негізгі материалдар интернеттен,  орыс тілді әдебиеттерден  алынып, талданған. Қазақ тілінде тақырыптық ақпарат әдебиетте де, интернеттеде кездеспеді. Наметов Алмаз сирек матрицаларға қолданылатын амалдарды бағдарламалау  барысында негізгі  ұстанған қағидасы: алгоритмнің аз «еңбек сіңіруі»  және компьютерде жеңіл өнделуі.  Тақырып бойынша қолжетімді ақпараттың аздығына қарамастан, оқушы өз бетінше сирек матрицаларды бейнелеудің ыңғайлы схемасын таңдап,  Pascal ABC бағдарламалау тілінде сирек матрицалар үшін транспозициялау, екі матрицаны қосу, екі матрицаны көбейту  алгоритмдерін  жазып, компьютерлік тестілеуден өткізген.  Құрастырылған алгоритмдердің  жұмыс жасап, нәтижесін берген. Өнделген бағдарламалар қосымша тіркелген.

    Наметов Алмаз өзіндік сыни көзқарасы бар, болашағынан үміт күттіретін жас ізденуші.

    Алдағы уақытта автордың еңбегі жалғасын тауып, белгілі бір экономикалық мәселелердің математикалық моделін зерттеуге оң ықпалын тигізеді деген  ойдамын. Іздену жұмысына оң баға бере отырып, қорғауға ұсынамын.

Ғылыми жетекшісі                              Ғ.Мұратбаев атындағы №17 орта мектебінің 

                          информатика пәні мұғалімі

                          Сеиткулова Зауре Бейсенбековна


 
 

ответил от Ulia

Похожие вопросы

0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
0 ответов
0 голосов
1 ответ
0 голосов
1 ответ