Екі өлшемді массивтерге мысал есептері
Курсовая работа, 12 Сентября 2013, автор: пользователь скрыл имя
Описание работы
Өрнектерді өңдеуде дәстүрлі Паскаль, Бейсик программалау тілдері жиі пайдаланылады.Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі – 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,’’:
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
Есептің алгоритмі:
- Ең алдымен программаға атау бердім.Программаға берілген атау - esep1.Жалпы программа атауы ол
арды екінші бір программадан ажырату үшін қолданылады. - uses қызметші сөз, яғни пайдалану деген мағынаны білдіреді.Оның көмегімен экранды тазалауды іске қостым.
- Тұрақтыларды сипаттау бөлімінде const енгіздім.
- Программа денесін айнымалыларды сипаттаудан бастаймыз.Сипаттау бөлімінде программада кездесетін барлық берілгендерді типін,цикл басқару айнымалысын, массив типін хабарладым.Базалық тип ретінде басқа массив алынғандықтан, оларды төмендегідей сипаттадым.
- Программа денесін ашып, for циклдік операторды қолдандым.Өйткені, есепті программалауда қайталанушы процесс бір айнымалының мәніне тәуелді болғандықтан.Бұл операторда айнымалы тек бір қадамға ғана өзгеріп отырады. I және j бойынша цикл аштым.
- Екінші рет операторлық жақшаны ашып, ішіне мәліметтерді экранға шығару үшін – write " жазу " және берілгендерді енгізу үшін - readln " жолды оқу " операторларын қолдандым.Оның көмегімен b[i,j] элементтерін енгізе аламын.Операторлық жақшаны end қызметші сөзі арқылы жабамын.
- Екінші рет I және j бойынша цикл аштым.
- Үшінші оператарлық жақшаны ашып, шартты көшу операторын пайдаландым. Егер қызметші сөзінен кейінгі жазылған шарт,яғни
(i<>2) and (i<>4) and (i<>6) ақиқат болса, онда a[i,j]:=b[i,j] операторы
орындалады.Әйтпесе шарт
a[i,j] массивін жауапқа шығардым. Операторлық жақша жабылады.
- Бірінші оператолық жақшаны, программа денесін жабамын, аяқтаймын.
Программа бөлімі:
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
Есептің алгоритмі:
- Ең алдымен программаға атау бердім.Программаға берілген атау – esep2.Жалпы программа атауы оларды екінші бір программадан ажырату үшін қолданылады.
- uses қызметші сөз, яғни пайдалану деген мағынаны білдіреді.Оның көмегімен экранды тазалауды іске қостым.
- Тұрақтыларды сипаттау бөлімінде const енгіздім.
- Программа денесін айнымалыларды сипаттаудан бастаймыз.Сипаттау бөлімінде программада кездесетін барлық берілгендерді типін,цикл басқару айнымалысын, массив типін хабарладым.Базалық тип ретінде басқа массив алынғандықтан, оларды төмендегідей сипаттадым.
- Программа денесін ашып, for циклдік операторды қолдандым.Өйткені, есепті программалауда қайталанушы процесс бір айнымалының мәніне тәуелді болғандықтан.Бұл операторда айнымалы тек бір қадамға ғана өзгеріп отырады. I және j бойынша цикл аштым.
- Екінші рет операторлық жақшаны ашып, ішіне мәліметтерді экранға шығару үшін – write " жазу " және берілгендерді енгізу үшін - readln " жолды оқу " операторларын қолдандым.Оның көмегімен b[i,j] элементтерін енгізе аламын.Операторлық жақшаны end қызметші сөзі арқылы жабамын.
- Екінші рет I және j бойынша цикл аштым.
- Үшінші оператарлық жақшаны ашып, шартты көшу операторын пайдаландым. Егер қызметші сөзінен кейінгі жазылған шарт,яғни (j<>2) and (j<>4) and (j<>6) ақиқат болса, онда a[i,j]:=b[i,j] операторы
орындалады.Әйтпесе шарт
a[i,j] массивін жауапқа шығардым. Операторлық жақша жабылады.
- Бірінші оператолық жақшаны, программа денесін жабамын, аяқтаймын.
Программа бөлімі:
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.
Қорытынды:
Кестелік негізде
құрылған есептердің немесе шарттарды
шешімі үшін массивтерді қолдану
тиімді болып табылады.Екі
Программалауды
алғаш бастап үйренушілерге
бір өлшемді масивпен жұмыс
істеу өте ыңғайлы, ал Турбо
Паскаль программалау тілін
Көптеген
программалау есептерінің
Қолданылған әдебиеттер:
- Кеңесбаев М.С.,Салғараева Г.И. «Программалау тілдері»
- Б. Бөрібаев, Б. Нақысбеков, Т. Мадиярова
«Информатика
және есептеуіш техника
- Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов
«Турбо Паскаль»
- О.Камардинов «Информатика»
- Фаронов В.В. «Турбо Паскаль»
- А. Хамметов, Б. Құтқожина «Турбо Паскаль»