Программа атауы
Мазмұны:
Кіріспе................................................................................................................4
І. Жиымдар......................................................................................................5
1.1 Жиым түсінігі...............................................................................................5
1.2 Жиымның сипаттамалары...........................................................................5
II. Бір типті жиым...........................................................................................7
2.1 Бір типті жиымның типтер бөлімінде сипатталуы....................................7
2.2 Бір типті жиымның айнымалылар бөлімінде сипатталуы........................9
2.3 Жиымдар арасында амалдар қолдану.......................................................14
2.4 Жиым элементтерін реттеу әдістері..........................................................20
Қорытынды.......................................................................................................29
Қолданылған әдебиеттер................................................................................30
Курстық жобалауға тапсырма
Мен осы курстық жобалауда жиымдарды қолданып, есептерді шығару, және
Кіріспе
«Алгоритм және бағдарламалау негіздері» пәнінен қарастырылып отырған «Бір типті
Жоғарғы деңгейлі программалау тілдерінің бірі – Паскаль. Оның алғашқы
Turbo Pascal нұсқасын 1983 жылы Borland International Inc(АҚШ) фирмасының
І. Жиымдар
1.1 Жиым түсінігі
Программалау кезінде пайдаланылатын айнымалы шамалар қарапайым және индексті айнымалылар
Қарапайым типтер қатарына жататын стандартты (integer, real) және
1.2 Жиымның сипаттамалары
Жиымды сипаттау үшін оның элементтерінің қандай тип екенін және
Жиым сипаттамалары:
Типі – жиым элементтерінің жалпы типі;
Көлемі – жиым индекстерінің саны;
Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
Пішімі – көлем және шектеулер жиындары.
Паскаль тілінде жиымды программада қолдану үшін оларды міндетті түрде
ІІ. Бір типті жиым
2.1 Бір типті жиымның типтер бөлімінде сипатталуы
Жиымды екі түрде сипаттауға болады:
1. Типтер бөлімінде сипаттау үлгісі:
Type
Жиым типінің атауы = array [жиым индексінің аралығы]
Мысалы:
type
GRUP = array [1..8] of integer;
Мұндағы:
Жиым типінің атауы – жиым элементінің жиынын сипаттайды;
Индекс типі – тізбектелген немесе шектелген типтерді көрсету;
Элемент типі – жиым элементтерінің типін көрсету.
Турбо Паскальда жиым элементтері нөмірленеді. Жиымның әрбір элементіне индексін
Берілген жиымдардың бірінші элементіне қатынас алу үшін жиым атауынан
А [1]
12 11 5 -2 405 -3 9 -7
жиымның
бірінші
(1 – сурет)
Берілген жиымдардың кез-келген элементтеріне арифметикалық операцияларды, салыстыру және меншіктеу
Жиым атауы [индексі]:=нәтиже
Мысалы:
а) А жиымының бірінші элементіне – 12 санын меншіктеу
ә) А жиымының бесінші элементіне - 405 санын
б) А жиымының екінші элемент нәтижесін экранға шығару үшін:
в) А жиымының бірінші элементіне нәтижені пернелер тақтасы көмегімен
г) А жиымының бірінші және үшінші элементтерінің қосындысын Sum
Типті сипаттау мысалдары:
Type mas = array [1..10] of real;
color = array [byte] of mas;
active = array [menu] of boolean;
Бірінші операторда жиымның 1-ден 10-ға дейін нөмірленетін типі заттық
Сонымен, жиымның элементтер типі әртүрлі болуы мүмкін, тек қана
Әдетте жиымды сипаттағанда оның индексінің жоғарғы шекарасы атаулы тұрақты
const n=6;
type intmas=array [1..n] of integer;
Тапсырмадан кейін массив типі бұл типтің айнымалысы кәдімгі
var a,b:intmas;
Егер талап етілген жиым типі программада тек бір орында
var a,b:array [1..n] of integer;
2.2 Бір типті жиымның айнымалылар бөлімінде сипатталуы
Жиымдарды программада қолдану үшін Турбо Паскаль программалау тілінде оларды
2. Айнымалылар бөлімінде жалпы жазылу түрі:
Var
жиым атауы: array [жиым индексінің аралығы] of элемент типі;
var
A:GRUP;
Мысалы, бөлшек сандарға арналған 18 элементтен тұратын GR жиымын
Var
GR:array [1..18] of real;
Берілген 9 элементтен тұратын А жиыміне бөлшек сандар енгізіп,
{$R+}
PROGRAM MASSIV; {Программа атауы}
TYPE {Типтерді сипаттау бөлімі}
MAS=ARRAY[1..9] OF REAL;{Шарт бойынша жиым типі}
VAR {Айнымалаларды сипаттау бөлімі}
A:MAS; {MAS типті А - массив}
I:INTEGER; {Циклді басқару айнымалысы}
BEGIN {Негізгі программа басы}
WRITELN (‘А - жиымның 9 элементін енгіз:’);
FOR I:=1 TO 9 DO {I - бойынша
READ (A[I]); {A [I] жиыміне нақты сандарды енгізу операторы}
FOR I:=1 TO 9 DO {I – бойынша
WRITE (‘A [‘,I,’]=’,A [I]);{A [I] жиымының элементін дисплейге шығару
END. {Негізгі программа соңы}
Жиымның кез-келген элементтерімен жұмыс істегенде программалау барысында олардың индекстерінің
Жиымдар қолданылатын программада “{R+}” директивасын жазу арқылы жиымдардың шектеулерін
Жиымды типтер бөлімінде анықтау программаны оқуды көп жеңілдетеді және
Программалауда бір өлшемді жиымдарды қолдану арқылы программаны ықшамдауға болады.
Мысалы: Шарт бойынша 15 белгісіз айнымалыны енгізу қажет болсын.
Бірінші жолы:
readln (a1, a2, a36, a4, a5, a6, a7, a8,
Екінші жолы:
for i:=1 to 15 do
readln (a[i]);
Көрсетілген мысалдардың орындалуының бірінші жолында айнымалыларды енгізу үшін 15
Мысалды орындаудың екінші жолында жиымды қолдану арқылы жинақы түрде
Көрсетілген мысалды қолдана отырып А [15] жиымындағы бүтін сандар
PROGRAM PRIM_MIN;
USES CRT;
VAR
A:ARRAY [1..15] OF INTEGER;
I, MIN:INTEGER;
BEGIN
CLRSCR;
WRITELN (‘ жиым элементтерін енгізіңіз–’ );
FOR I:= 1 TO 15 DO
BEGIN
WRITE (‘A [‘,I,’]=’);
READLN (A [I]);
END;
MIN:=A [1];
FOR I:= 1TO 15 DO
IF MIN > A[I] THEN MIN:=A [I];
WRITELN (‘MIN=’,MIN);
END.
Берілген программада var бөлімінде А [15] жиымы сипатталған: А:array
Программада жиым элементтерін енгізу үшін цикл операторы қолданылған:
FOR I:=1 TO 15 DO – I-ді 1-ден 15-ке
BEGIN – цикл басы;
WRITE (`A[,I,]=`); “A [I]=” тіркесін экранға бейнелеу;
READLN (A[I]); - жиым элементтерін енгізу;
END; - цикл соңы.
Шарт бойынша ең кіші элементті анықтау үшін min айнымалысына
FOR I:=1 TO 15 DO
IF MIN A [J]); DO
J=J+1;
FOR K:=I-1 DOWNTO J DO
A [K+1]:=A [K];
A [J]:=B;
END.
Кескіні:
1
1
3 1
1
2
1
1
3 9 2
3
1
1
3 9
2
4
1
1 2 3
5
5
1 2
1
7
Нәтиже
1
1 2
5-мысал.
PROGRAM M5;
USES CRT;
CONST N=20; {Жиым ұзындығы}
TYPE tvector=ARRAY [1..N] OF REAL;
VAR
Vector:tvector;
MIN:REAL;
Imin, s:INTEGER;
BEGIN
CLRSCR;
WRITELN (‘жиым элементтерін енгіз:’);
FOR I:=1 TO N DO
READ (Vector [I]); READLN;
FOR S:= 1 TO N-1 DO
BEGIN
{ең кіші элементті диапазонда іздеу}
MIN:=Vector [S];
IMIN:=S;
FOR I:=S+I TO N DO
IF Vector [i] MAX THEN MAX:=SPORTSMEN[I];
WRITELN;
WRITELN (‘ең ұзын бойлы ойыншы =’ MAX:4)
END.
----------------------------------------------------------------------------------------------------
ойыншылардың бойының ұзындығын көрсет:
190 185 202 216 195 182 204 175 200
ең ұзын бойлы ойыншы = 216
----------------------------------------------------------------------------------------------------
7- мысал.
10 элементтен тұратын бүтін сандар жиымның оң элементтерінің арифметикалық
Program m7;
Var a:array [1..10] of integer;
S, i, k :integer; P:real;
Begin
for i:=1 to 10 do
readln (a[i]); {жиым элементтерін енгізу}
for i:=1 to 10 do
if a [i]>0 then begin S:=S+a [i]; k:=k+1; end;
P:=S/k;
writeln (‘оң элементтердің арифметикалық ортасы’,P);
End.
8 - мысал.
Нақты сандар жиымның ең үлкен, ең кіші элементтерін табыңдар.
Program m8;
Const n=20;
Var a:array [1..n] of real;
i, k, t:integer; max, min:real;
Begin
for i:= 1 to n do
readln (a[i]);
max:=a [i];k:=1;min:=a [i];t:=1;
for i:=2 to n do
Begin
if maxa [i] then begin min:=a [i];t:=i;end;
End;
Writeln (‘max=’,max, ‘min=’,min)
End.
9- мысал.
20 элементтен тұратын жиым элементтерінің ішінен ең үлкенін табу
PROGRAM M9;
CONST N=20;
VAR A : ARRAY [1..N] OF REAL;
I : INTEGER;
MAX : REAL;
BEGIN
WRITELN (‘енгізіңіз’,N, ‘жиым элементтерін’);
FOR I:= 1 TO N DO READ (A[I]);
MAX:=A [1];
FOR I:= 2 TO N DO
IF A [I]>MAX THEN MAX:=A[I];
WRITELN (‘ең үлкен элемент:’,MAX:6:2);
END.
10- мысал.
10 элементтен тұратын бүтін жиымнан теріс элементтердің саны
PROGRAM M10;
CONST N=10;
VAR A : ARRAY [I..N] OF INTEGER;
I, SUM, NUM : INTEGER;
BEGIN
WRITELN (‘енгізіңіз’,N, ‘жиым элементтерін’);
FOR I:=1 TO N DO READ (A[I]);
SUM:=0;
NUM:=0;
FOR I:=1 TO N DO BEGIN
SUM:=SUM+A[I];
IF A[I]
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы туралы
Паскаль программасындағы функциялар мен процедуралар
Turbo pascal тілі
Turbo Pascal тілінің операторлары жайлы
Turbo Pascal программалау тілі туралы жалпы түсінік
Delphi программалау ортасы - Лекция
Delphi программалау ортасының негізі
Бейсик және Паскаль тiлдерiнде программа құру ерекшелiктерi
Turbo Pascal программалау тілі
Паскаль программалау тіліне жалпы түсінік