Массивтерді программалау



Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 21 бет
Таңдаулыға:   
Жоспар:

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... ..3
І. Бағдарламалау тіліне жалпы түсінік
1.1. Паскаль программасының негізгі элементтері
... ... ... ... ... ... ... ... ... ... ... ..6
1.2. Программа туралы жалпы
түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..8
ІІ Бөлім. Массивтерді программалау
2.1.
Массивтер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ..10
2.2. Массивті массивке
енгізу ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... .15
2.3. Массивтің элементтерін өшіру
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 8
2.4.Массивтің элементтерін жағалап
іздеу ... ... ... ... ... ... ... .. ... ... ... ... ... ... ...20
2.5. Массивтің элементтерін екіге бөліп
іздеу ... ... ... ... ... ... ... .. ... ... ... ... ... ..22
2.6. Массивті индекстері арқылы
сұрыптау ... ... ... ... ... ... ... ... ... ... ... ... ... ..26
Қорытынды
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .28
Пайдаланылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... .29

Кіріспе
Қазіргі кезде программалау тілінің түрлері көп. Солардың ішіндегі ең
танымалысы Паскаль программалау тілі. Өйткені компьютерлік сауаттылық пен
программалауды алғашқы кезеңде үйретуге ең қолайлы тіл. Паскаль тілі
алгоритмдік тіл ішіндегі кеңінен тараған тілдердің бірі болып табылады.
Қарастырылатын Паскаль программалау тілінде программа екі бөліктен тұрады:
1. берілгендерді сипаттау;
2. алгоритмдік амалдарды бейнелеу немесе операторлық бөлік.
Берілгендер бейнелеу арқылы жазылса, амалдар оператор арқылы жазылады.
Синтаксистік жағынан Паскаль программасын екі бөлікке бөлуге болады:
программа тақырыбы, блок.
Программа құрылымы төмендегіше болады:
Program программаның аты;
Блок: 1. Модульдерді қосу.
2. Белгілерді бейнелеу бөлігі.
3. Тұрақтыларды бейнелеу бөлігі.
4. Типтерді анықтау бөлігі.
5. Айнымалыларды бейнелеу бөлігі.
6. Функцияларды және процедураларды бейнелеу бөлігі
7. Операторлар бөлігі.
Бейнелеу бөлігіндегі программада пайдаланылатын белгілерге, тұрақтыларға,
типтерге, айнымалыларға сипаттама беріліп (берілгендер атауы, олардың
типтері, мәндері және т.б.), олар хабарланады. Бейнелеу бөлігіндегі
көрсетілген бөліктердің бәрі бірдей бар болуы шарт емес. Бейнелеудің жеке
бөліктеріне қысқаша тоқталайық:
Uses –бұл жолда программада пайдаланылатын модульдер тізімінен тұрады.
Модульдер стандартты және пайдаланушының құрған модульдері болуы мүмкін.
Турбо Паскаль жүйесінде бірнеше стандартты модульдер бар. Олардың
негізгілері: SyStem – Паскаль тілінің процедуралары мен функцияларын, Турбо
Паскаль тілінің қосымша командаларын сүйемелдейді;
DOS- Паскаль тілінің DOS командаларын пайдалануды сүйемелдейді; CRT –
Тексттік режимде экранды басқарады; OVERLAY – оверлейлік программаларды,
PRINTER – принтерді пайдалануды, GRAPH – экранның графикалық режимінің
жұмысын сүйемелдейді. Бұлардың барлығы TURBO.TPU, GRAPH.TPU файлында
орналасқан. SyStem модулі тізімде көрсетуді қажет етпейді, ол автоматты
түрде қосылады. Программаның орындалу нәтижесін экраннан көру үшін экран
бетін кідіріс жасап, ұстап тұруды ұйымдастыру қажет. Кідірісті үш тәсілмен
ұйымдастыруға болды: 1) Readln операторымен; 2) символдық
айнымалы:=ReadKey операторымен; 3) While NOT Keypressed DO операторымен.
Label –белгі ретінде кез келген бүтін оң сан, символ, символдар тіркесі
пайдаланылады. Белгі операторды немесе программаның бөлігін табу үшін
қолданылады. Белгі оператор алдында орналасады да, қос нүте арқылы
ажыратылады. Қажеттіоператорға, программаның бөлігіне оралу белгі арқылы
жүзеге асырылады. Мысалы, Label 5,12,45,Sum, AB.
Берілген мәндерді айнымалыға жазу үшін меншіктеу операторын
пайдалануға болады. Мысалы, А:=15, BC:=-16.4.Программаны әмбебап етіп
жасау үшін айнымалылардың мәндерін өзгертетін түрде жазу қажет, бұл
жағдайда программа айнымалының әр түрі мәндері үшін дұрыс болады. Ол үшін
енгізу операторы READ пайдаланылады. Енгізу операторының жалпы түрі
READ(а1, а2,...,аn). Мұндағы а1, а2,...,аn – айнымалы атаулары, оларды
енгізу операторының параметрлері деп атайды. READ операторы орындалғанда
параметрлер өздеріне сәйкес мәндерді қабылдайды, бұл міндетті енгізу файлы
INPUT(енгізу) арқылы жүзеге асырылады.
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы
пайдаланылады. WRITE(а1, а2,...,аn). Мұндағы а1, а2,...,аn – жай
айнымалылар немесе апострофтар ішіне алынған символдар тобы болуы мүмкін.
Мысалы, егер В=17,15 болып, write (‘B=’,B) командасы орындалғанда, экранға
В=17,15дерегі көрінеді. Бүтін және нақты сандарды шығару үшін сандардың
форматын беру қажет. Формат айнымалы атынан соң қос нүкте арқылы жазылады.
Нақты сан форматы екі саннан тұрады: 1-сан – санға берілетін орын, 2-сан –
үтірден кейін алынатын бөлшек бөлік саны.

І. Бағдарламалау тіліне жалпы түсінік
1.1. Паскаль программасының негізгі элементтері

Кезкелген табиғи тіл сияқты, программалау тілінің де өз алфавиті бар.
Бұл алфавитті программалауда қолдануға болатын барлық символдар жиынтығы
деуге болады. Программалауда мағынасы мен қызметі алдын-ала анықталған және
өзгермейтін қызметші сөздер жиі пайдаланылады. Паскалда оларды операторлар,
амалдар (операциялар) атаулары ретінде және т.б. мақсаттарға пайдаланады.
Кезкелген программаның басты элементтері – айнымалылар, тұрақтылар
және операторлар болып табылады. Айнымалы деп, компьютер жедел жадының ат
берілген бөлігін (бір, не бірнеше ұя) айтады. Онда сақталатын ақпарат
айнымалының мәні болып есептеледі. Айнымалының мәні программа орындалу
барысында өзгеруі мүмкін. Ақпараттың түрі, мүмкін мәндерінің жиыны мен оған
қолдануға болатын түрлендірулер жиынтығы айнымалылардың типін (тегін)
анықтайды. Тұрақтының айнымалыдан айырмашылығы – оның мәнін программа
орындалу барысында өзгертуге болмайтындығында. Операторлар, программа
орындауға тиіс болатын небір амал–әрекеттерді көрсетеді.
Турбо Паскаль тілінде 80-ге жуық қызметші сөздер мен арнайы символдар
қолданылады. Тіл алфавиті латын әріптерінен, цифрлардан және арнайы
символдардан тұрады. Кейбір символдың қосағы да символ болып есептеледі.
1.1 кестеде қызметші сөздердің реттелген тізімі берілген. Оларды программа
мәтінінің қажетті жерінде қатесіз жазып пайдалану керек. Қызметші сөздерді
жазуға бас, не кіші әріптерді қатар қолдана беруге болады. Оларды атау
ретінде пайдаланбаған дұрыс.
Қызметші сөздердің ішінен программалауда жиі пайдаланыла-тындарының
мағынасын түсіндіре кетейік. Program, unit – программа мен модуль тақырыбын
жазу үшін керек. Var, const, procedure, function – айнымалыларды,
тұрақтыларды, ішкі програмаларды (процедуралар мен функцияларды), ал type,
array, string, record...end, file of... айнымалылар типтерін сипаттау үшін
қолданылады. Begin, end –бірнеше операторлар-ды біріктіріп, бір құрамды
оператор жасау үшін керек. If...then...else, for...to...do, for...downto...do,
repeat...until, case...of...end, while...do –басқару операторлары. Inplementation,
interface қызметші сөздері модулдерде ғана пайдаланылады. Div, mod, shl,
shr, and, or, not – арифметикалық және логикалық амал атаулары.
Constructor, destructor, object, public, virtual – объекті–бағдарлы
программалауда қолданылады.
1.2 кестеде арнайы символдар тізімі келтірілген. Программа мәтінінде
қос сиволдардың арасына үзік қоймай жазу керек.

1.2 кесте. Паскаль тіліндегі арнайы символдар
( Қосу, біріктіру, жалғау амалдарының таңбасы
( Азайту, алу амалдарының таңбасы
( Көбейту, қиылысу амалдарының таңбасы
Бөлу амалының таңбасы
= Логикалық теңдік, тұрақтылар мен типтерді сипаттау элементі
Логикалық теңсіздік
"Кіші" және "үлкен" логикалық қатынастар
= "Кіші немесе тең" логикалық қатынасы
= "Үлкен немесе тең" логикалық қатынасы
. Программа не модуль соңы, ондық бөлшектегі айыру таңбасы
, Тізім элементтерін айыру таңбасы
' Жол тұрақтысын шектеу таңбасы
: Айнымалыларды сипаттау, экранға шығару пішімінің элементі
; Сипаттауда және экранға шығаруда айнымалыларды айыру
.. Мәндердің өзгеру аралығын көрсету белгісі
:= Айнымалыға өрнек мәнін меншіктеу
( Арифметикалық және логикалық өрнек жақшалары
)
[ Массив элеметттерінің индексін бөлу, аралғын көрсету
]
{ }Түсініктемелер жазу үшін пайдаланылатын жақшалар
(( ()Түсініктемелерді шектеу белігілері

Қызметші сөздер мен арнайы символдар программа құру үшін жеткіліксіз
болып табылады. Сондықтан да, Паскаль тілінде арнайы операторлар,
стандартты модулдерде топтастырылған стандартты процедуралар мен функциялар
кеңінен пайдаланылады. Олар туралы кейінірек әңгіме етпекпіз.
1.2. Программа туралы жалпы түсінік
Паскаль тілімен алғашқы танысуды мысал арқылы қарастырсақ, қабырғалары
6.5, 3.9, биіктігі 4.7 болатын трапецияның ауданын табу керек. Оның
программалық құрылымы төмендегіше болады:
Program Audan; {программа тақырыбы}
var
a, b, h, s: integer; {айнымалыларды сипаттау}
begin {программа басы}
a:=6.5; b:=3.9; h:=4.7; {а,в, h есепте берілген мәндерді меншіктейміз
s:=(a+b)*h2; }
write('s=',s); {s айнымалысына өрнек мәнін меншіктеу}
end. {экранға айнымалы мәнін шығару}
{программа соңы}

Бұл программада кездесетін ағылшын сөздерінің аудармасы:

Program программа
var (variables) айнымалылар
integer бүтін
begin басы
write шығару
end соңы

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

Program at_1;
Сипаттаулар бөлімі
begin
Операторлар бөлімі
end.

1. сурет. Паскаль тіліндегі программа құрылымы
Программа тақырыбы Program қызметші сөзінен және программа атауынан
тұрады. Атау – латын әріптерінен, цифрлардан, астын сызу белгілерінен ғана
тұратын, саны 63-тен аспайтын символдар жолы. Сонымен, программа
тақырыбының жазылуы:
Program программа атауы;
Ескерту. Турбо Паскалда программа тақырыбын жазбай кетуге де
болады. Тақырыптан кейін, программада пайдаланылатын белгілерді,
тұрақтыларды, типтерді, айнымалыларды, ішкі программаларды және т.б.
сипаттаулар бөлімі орналасуы тиіс. Содан кейін, міндетті түрде, операторлар
бөлімі болуы тиіс. Операторлар бөлімінің басына begin, ал аяғына end
сөздері жазылып, соңына нүкте қойылуы шарт.Программада операторлар бір, не
бірнеше жолдарға жазылып, нүктелі үтірлермен айырлады. Қатар тұрған екі
айыру таңбасының арасында бос оператор бар деп есептелінеді. Программа
мәтінін құрғанда, оның бөлім-дері мен күрделі элементтерінің құрылымы айқын
көрінетіндей етіп жазу, сауаттылықты көрсетіп қана қоймайды, оны оқуды да,
жаңартуды да бір-шама жеңілдетеді. Ол үшін үзіктерді, жол шегіністерін, бос
жолдарды және түсініктемелерді керегінше, ретімен пайдаланып отырған жөн.
Күрделі программаны баптау кезінде бір, не бірнеше операторларды фигуралық
жақшалармен қоршау арқылы, олардың орындалуын уақытша тоқтату тәсілі жиі
қолдданылады.

ІІ. Массивтерді программалау
2.1. Массивтер

Тәжрибеде біртекті мәліметтер жинағын құрамды бір мән ретінде
қарастыру жиі кездеседі. Мысалы: тізбек, вектор, қатар, кесте. Массив
дегеніміз индекстелген, типті бірдей, саны шекті элементтердің жинағы.
Массив элементінің бір, тіпті бірнеше индексі де болуы мүмкін. Массив
индекстерінің типті ретті тип қана бола алады. Массив элементтерінің саны
индекстердің саны немесе олардың өзгеру аралығы арқылы анықталады. Массив
элементтерінің типіне (базалық тип) ешқандай шек қойылмайды.
Массивті тип ретінде сипаттағанда типтің атынан кейін “ = ”
белгісі, содан соң array қызметші сөзі, тік жақшалардың ішіне оның
индекстері және of сөзінен кейін базалық типі көрсетіледі. Типтерді
сипаттаудың мысалы:

Type
TMas1= array[1..100] of real;
TMas2= array[byte] of char;
TMas3= array[(Fam, Name, Otch)] of string;

Массивті айнымалы ретінде сипаттағанда оның атынан кейін “ : ”
белгісі қойылып, содан соң тип аты жазылады. Массивтерді сипаттаудың
мысалы:

Var
Mas1: TMas1; Mas2: TMas2; Mas3: TMas3;

Тәжрибеде массив айнымалысының тікелей (типсіз) сипатталуы жиі
пайдаланылады, мысалы:

Var
A: array[1..10] of real;
B: array[byte] of char;
D: array[(Fam, Name, Otch)] of string;

Массив элементін пайдаланғанда оның атынан кейін тік жақшалардың ішінде
индексі (индекс айнымалы, өрнек болуы да мүмкін) көрсетілуі тиіс:

Элемент 1 2 3 4
индексі
Бір өлшемді Х Х(4) (х1, х2, х3, (-3.8, 7, 2.5,
(векторлар) (массивте 4 х4) 3), яғни
элемент) х1=-3.8, х2=7,
х3=2.5, х4=3
Екі өлшемді А А(3,3) a11 a12 a13
(матрица) (массивте 9 a21 a22 a23
элемент бар: 3 a31 a32 a33
жол, 3 баған)

Программадағы басқа объектілер сияқты, массив те анықталуы қажет. Ол
үшін Type – типтерді сипаттау бөлімінде массив өлшемі мен элементтердің
типі беріледі. Содан соң Var бөлімінде құрылған массив типіне ат беріледі.
Бір өлшемді және екі өлшемді массивтерді сипаттау мысалдары төмендегі
кестеде көрсетілген:
Мысал Түсініктеме
Type – типтерді сипаттау бөлімінде: Төрт нақты элементтен тұратын
Type T=array[1..4] of real; А массиві берілген
Var a:T;
немесе
Var - айнымалыларды сипаттау бөлімінде:
Var a: array[1..4] of real;
Type – типтерді сипаттау бөлімінде: Бүтін элементтерден тұратын
Type P=array[1..5,1..5] of integer; X(5,5) және Y(5,5) массивтері
Var x,y:P; берілген
немесе
Var - айнымалыларды сипаттау бөлімінде:
Var x,y: array[1..5,1..5] of integer;

2.2. Массивті массивке енгізу
Массив элементтерін енгізу және шығару цикл операторлары арқылы бір-бір
элементтен ұйымдастырылады.
Массив элементтерін енгізудің 3 тәсілі:
1. Элементтерді клавиатурадан енгізу
а) Бір өлшемді массив:
For i:=1 to n do
readln(a[i]);
б) екі өлшемді массив
For i:=1 to n do
For j:=1 to m do
readln(a[i,j]);
2. Массив элементтерін кездейсоқ сандармен толтыру
а) Бір өлшемді массив:
For i:=1 to n do
a[i]:=random(50);
б) екі өлшемді массив
For i:=1 to n do
For j:=1 to m do
a[i,j]:=random(50);
3. Массив элементтерін формула бойынша толтыру
а) Бір өлшемді массив:
For i:=1 to n do
a[i]:=sqr(i);
б) екі өлшемді массив
For i:=1 to n do
For j:=1 to m do
a[i,j]:=sqr(i)j;
Элементтерінің саны, сәйкесінше, n1 және n2 болатын Mas1 және Mas2
сандар массивтері берілген. Mas1 массивіне оның берілген p (1≤p≤n1+1)
позициясынан бастап Mas2 массивін енгізіп, жаңа Mas3 массивін жасақтаңыз
(7.2 суретті қараңыз).
Алгоритмі:
o Mas1, Mas2 массивтерін толтыру және экранға шығару;
o Енгізу позициясын алу;
o Mas3 массивіне кіретін элементтерді анықтау:
1) Mas1[1] .. Mas1[p-1];
2) Mas2[1] .. Mas2[n2];
3) Mas1[p] .. Mas1[n1];
o Mas3 массивін толтыру және экранға шығару:
1) 1 .. p-1 аралығында Mas3[i]:= Mas1[i];
2) p .. p+n2-1 аралығында Mas3[i]:= Mas2[i-p+1];
3) p+n2 .. n1+n2 аралығында Mas3[i]:= Mas1[i-n2];
p Mas1 7 8 12 3 0 4 11 24 9 6 элем.саны
n1
Mas2 2 13 7 6 15 элем.саны n2
p p+n2 n1+n2 Mas3 7 8 12 3 2 13 7 6 15 0
4 11 24 9 6
7.2 сурет
Program Prost_33;
const n1=10; n2=5;
var i, p: integer;
Mas1: array[1..n1] of integer;
Mas2: array[1..n2] of integer;
Mas3: array[1..n1+n2] of integer;
begin
Randomize;
for i:=1 to n1 do
begin Mas1[i]:=Random(30); Write(Mas1[i]:3); end;
writeln;
for i:=1 to n2 do
begin Mas2[i]:=Random(30); Write(Mas2[i]:3); end;
writeln;
Repeat
write(‘Қай позициядан бастап: ’);
Readln(p);
until (p=1) and (p=n1+1);
for i:=1 ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
С++ программалау тілінде Бір өлшемді массивтер. Сұрыптау
Жаңа ақпараттық технологиялар, оны білім беру жүйесінде пайдаланудың маңыздылығы
Бір өлшемді массивтер
Алгоритм түрлері және программалау
«Турбо паскаль жүйесінде бір өлшемді массивтерді ұйымдастыру технологиясы»
Турбо паскальда екі өлшемді массивтерді ұйымдастыру технологиясы
Массив элементтерін сорттау
Массив
Екі өлшемді массивтер
Бір өлшемді массивтерді сұрыптау алгоритмдері
Пәндер