Екі өлшемді массивтерге мысал есептері

Автор: Пользователь скрыл имя, 12 Сентября 2013 в 19:23, курсовая работа

Описание работы

Өрнектерді өңдеуде дәстүрлі Паскаль, Бейсик программалау тілдері жиі пайдаланылады.Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі – Turbo Pascal. Turbo Pascal - жоғарғы деңгейлі программалау жүйесі.Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған.Автор тілді алғашқы арифметикалық есептеу машинасын жасаған французды ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап,тіл атуын үнемі бас әріппен жазылуын сұраған.Кейіннен тілді көптеген нұсқалары жарық көрді.Солардың ішінде, 1983 жылы Борланд корпорациясының қызметкері Андерсон Хейлсбергтің қосқан үлесі өте зор болды.Оның жетекшілігімен құрылған программа үлгісі – Турбо Паскаль програмалаушыларының арасында үлкен сұранысқа ие. Андерсон Хейлсбергті жасаған нұсқасы СР / М операциялық жүйесіне негізделген. Турбо Паскаль-дің жоғарғы деңгейлі логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді.

Содержание

Кіріспе............................................................................................................2
1.1.Турбо Паскаль туралы түсінік...............................................................2
1.2.ТП жүйесінің ерекшеліктері..................................................................2
1.3.ТП-да жұмыс істеу..................................................................................3
Негізгі бөлім.................................................................................................4
ТП-ғы типтердің жіктелуі..................................................................4
Массив.................................................................................................4
Массив элементтері үшін жазылатын өрнектер.............................8
Массивтерге мысал есептер...............................................................9
Екі өлшемді массивті сипаттау........................................................10
Екі өлшемді массивті енгізу және шығару....................................12
Екі өлшемді массивтерге мысал есептері.......................................13

Есеп 1................................................................................................................14
а) есептің берілгені......................................................................................14
ә) есептің алгоритімі...................................................................................14
б) программа бөлімі....................................................................................15
в)программа нәтитжесі ..............................................................................16
Есеп 2................................................................................................................17
а) есептің берілгені......................................................................................17
ә)есептің алгоритімі....................................................................................17
б) программа бөлімі....................................................................................18
в)программа нәтитжесі...............................................................................19

3. Қорытынды...................................................................................................20
4. Қолданылған әдебиеттер.............................................................................21

Работа содержит 1 файл

massivtermen_zh_1201_mys_isteu.doc

— 287.00 Кб (Скачать)

    Массив элементтері   компьютер жадында  тізбектеле  орналасады.Төменгі индексті массив  элементі кіші адрестерде, жоғарғы индекстердегі элементтер  жоғарғы арестерде сақталады.Көп өлшемді массивтердің оң жақ шеткі  индекстері бірінші болып өсіп отырады.Мысалы, А: array [1..5,1..5] of integer  массиві берілсе, ол компьтер жадында  адрестерінің өсуі бойынша  былай орналасады:

   А[ 1,1 ]

   А[ 1,2 ]

    ...

   А[ 1,5 ]

   А[ 2,1 ]

   А[ 2,2 ]

    ...

   А[ 5,5 ]

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

    Екі өлшемді  массивке мысал:

 Көбейту  кестесін  толтыруға  арналған программа  құру керек.

Program  kobeitu;

      Const n=9;

Var   i, j:integer;   k:array [2..n,1..n] of integer;

 begin

   for i:=1 to n do

     begin

        for j:=2 to n do

            begin

              k[j,i]:=j*i

              write(j,’x’,I,’=’,k[j,i]:3,’’:2);

           end;

          writeln;

     end;

end.

Екі өлшемді а ж\ә  б матрицаларының қосындысы болатын s матрицасын тап.

      Program  kosu;

             Type ms=array[1..3,1..3] of real;

                Var a,b,s:ms; K,j :integer;

      Begin

         Writeln (‘а массив элементтерін  бос орын арқылы енгізіңдер:’);

            For k:=1 to 3 do

            For j:= 1 to 3 do

            Read  (a[k,j]); writeln;

         Writeln (‘б массив элементтеғрін  бос орын арқылы енгізіңдер:’);

           For k:=1 to 3do

           For j:=1 to 3 do

               Begin

                    Read (b[k,j]);

                    S[k,j]:=a[k,j]+b[k,j];

               End;

                Writeln(‘қосынды жиымының элементтері:’);

                 For k:=1 to 3 do

                       Begin

                            For j:=1 to 3 do wr3te (s[k,j]:5:2);

                            Writeln; End;

     End.

 

Есеп 1

Берілгені: өлшемі  nхm болатын А натурал сандар массивін  суретте берілген  үлгіге сәйкес етіп толтыр.

 

1   2   3   4   5   6   7

14  13  12  11  10  9   8

15  16  17  18  19  20  21

28  27  26  25  24  23  22

29  30  31  32  33  34  35

42  41  40  39  38  37  36

 

Есептің алгоритмі:

 

  1. Ең алдымен программаға атау бердім.Программаға берілген атау - esep1.Жалпы программа атауы оларды екінші бір программадан ажырату үшін қолданылады.
  2. uses қызметші сөз, яғни пайдалану деген мағынаны білдіреді.Оның көмегімен экранды тазалауды іске қостым.
  3. Тұрақтыларды сипаттау бөлімінде  const  енгіздім.
  4. Программа денесін айнымалыларды сипаттаудан бастаймыз.Сипаттау бөлімінде программада кездесетін барлық берілгендерді  типін,цикл басқару айнымалысын, массив типін хабарладым.Базалық тип ретінде басқа массив алынғандықтан, оларды төмендегідей сипаттадым.
  5. Программа денесін ашып, for  циклдік операторды қолдандым.Өйткені, есепті программалауда қайталанушы процесс бір айнымалының мәніне тәуелді болғандықтан.Бұл операторда айнымалы тек бір қадамға ғана өзгеріп отырады. I және j  бойынша цикл аштым.
  6. Екінші рет операторлық жақшаны ашып, ішіне мәліметтерді экранға шығару үшін – write " жазу " және  берілгендерді енгізу үшін -  readln   " жолды оқу " операторларын қолдандым.Оның көмегімен b[i,j]  элементтерін енгізе аламын.Операторлық жақшаны end  қызметші сөзі арқылы жабамын.
  7. Екінші рет I және j  бойынша цикл аштым.
  8. Үшінші оператарлық жақшаны ашып, шартты көшу операторын пайдаландым. Егер қызметші сөзінен кейінгі жазылған  шарт,яғни

          (i<>2) and (i<>4) and (i<>6)  ақиқат болса, онда a[i,j]:=b[i,j] операторы                          

          орындалады.Әйтпесе шарт анықталмаса  келесі шарт орындалады.                                                                                                                                                                   

     a[i,j] массивін жауапқа шығардым. Операторлық  жақша жабылады.

  1. Бірінші оператолық жақшаны, программа денесін жабамын, аяқтаймын.

 

 

 

 

 

Программа бөлімі:

 

Program Esesp1;

uses crt;

const n=7;

  type mak=array [1..6,1..n] of integer;

   var a,b:mak; i,j:integer;

begin clrscr;

  for i:=1 to 6 do

  for j:=1 to n do

begin

     write ('b[',i,',',j,']='); readln (b[i,j]) ;

end;

  for i:=1 to 6 do

begin

  for j:=1 to n do

begin

   if (i<>2) and (i<>4) and (i<>6) then a[i,j]:=b[i,j]

else a[i,j]:=b[i,(n+1)-j];

   write (a[i,j],' ');

end;

writeln;

end;

end.


 

Есеп 2

 

  Берілгені: өлшемі  nхm болатын А натурал сандар  массивін  суретте берілген  үлгіге  сәйкес етіп толтыр.

 

1   12   13   24  25   36   37

2   11   14   23   26   35   38

3   10   15   22   27   34   39

4     9   16   21   28   33   40

5     8   17   20   29   32   41

6     7   18   19   30   31   42

 

 

Есептің алгоритмі:

 

  1. Ең алдымен программаға атау бердім.Программаға берілген атау – esep2.Жалпы программа атауы оларды екінші бір программадан ажырату үшін қолданылады.
  2. uses қызметші сөз, яғни пайдалану деген мағынаны білдіреді.Оның көмегімен экранды тазалауды іске қостым.
  3. Тұрақтыларды сипаттау бөлімінде  const  енгіздім.
  4. Программа денесін айнымалыларды сипаттаудан бастаймыз.Сипаттау бөлімінде программада кездесетін барлық берілгендерді типін,цикл басқару айнымалысын, массив типін хабарладым.Базалық тип ретінде басқа массив алынғандықтан, оларды төмендегідей сипаттадым.
  5. Программа денесін ашып, for  циклдік операторды қолдандым.Өйткені, есепті программалауда қайталанушы процесс бір айнымалының мәніне тәуелді болғандықтан.Бұл операторда айнымалы тек бір қадамға ғана өзгеріп отырады. I және j  бойынша цикл аштым.
  6. Екінші рет операторлық жақшаны ашып, ішіне мәліметтерді экранға шығару үшін – write " жазу " және  берілгендерді енгізу үшін -  readln   " жолды оқу " операторларын қолдандым.Оның көмегімен b[i,j]  элементтерін енгізе аламын.Операторлық жақшаны end  қызметші сөзі арқылы жабамын.
  7. Екінші рет I және j  бойынша цикл аштым.
  8. Үшінші оператарлық жақшаны ашып, шартты көшу операторын пайдаландым. Егер қызметші сөзінен кейінгі жазылған  шарт,яғни (j<>2) and (j<>4) and (j<>6) ақиқат болса, онда a[i,j]:=b[i,j] операторы                          

          орындалады.Әйтпесе шарт анықталмаса  келесі шарт орындалады.                                                                                                                                                                   

     a[i,j] массивін жауапқа шығардым. Операторлық жақша жабылады.

  1. Бірінші оператолық жақшаны, программа денесін жабамын, аяқтаймын.

 

 

Программа бөлімі:

 

Program esep2;

uses crt;

const n=6;

  type mak=array [1..n,1..7] of integer;

   var a,b:mak; i,j:integer;

begin clrscr;

  for i:=1 to n do

  for j:=1 to 7 do

begin

     write ('b[',i,',',j,']='); readln (b[i,j]) ;

end;

for i:=1 to n do

begin

for j:=1 to 7 do

begin

     if (j<>2) and (j<>4) and (j<>6) then a[i,j]:=b[i,j]

else a[i,j]:=b[(n+1)-i,j];

      write (a[i,j],' ');

end;

      writeln;

end;

end.

 


 


 

Қорытынды:

   Кестелік негізде  құрылған есептердің  немесе шарттарды   шешімі үшін  массивтерді қолдану  тиімді болып табылады.Екі өлшемді  массивтерді программалау арқылы  кесте түрінде берілетін сандық  есептеулері  біршама ықшамдалады.Бірілген массивті  кез келен элементтеріне  арифметикалық операцияларды, салыстыру және меншіктеу   операторларын қолдануға  болады.Сонымен қатар, массивтерге  Турбо Паскаль программалау тіліндегі  айнымалы типіне сәйкес  келетін барлық  стандартты  процедуралар және  функциялар қолданылады.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Қолданылған әдебиеттер:

 

  1. Кеңесбаев М.С.,Салғараева Г.И. «Программалау тілдері»
  2. Б. Бөрібаев, Б. Нақысбеков, Т. Мадиярова

    «Информатика  және есептеуіш  техника негіздері»

  1. Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов

«Турбо Паскаль»

  1. О.Камардинов «Информатика»
  2. Фаронов В.В. «Турбо Паскаль»
  3. А. Хамметов, Б. Құтқожина «Турбо Паскаль»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




Информация о работе Екі өлшемді массивтерге мысал есептері