Жоспар:
Кіріспе..................................3
І. Бағдарламалау тіліне жалпы түсінік
1.1. Паскаль программасының негізгі элементтері .........6
1.2. Программа туралы жалпы түсінік.................8
ІІ Бөлім. Массивтерді программалау
2.1. Массивтер................................10
2.2. Массивті массивке енгізу...................15
2.3. Массивтің элементтерін өшіру .....................18
2.4.Массивтің элементтерін жағалап іздеу.....................20
2.5. Массивтің элементтерін екіге бөліп іздеу................22
2.6. Массивті индекстері арқылы сұрыптау.................26
Қорытынды .....................28
Пайдаланылған әдебиеттер...................29
Кіріспе
Қазіргі кезде программалау тілінің түрлері көп. Солардың ішіндегі ең
берілгендерді сипаттау;
алгоритмдік амалдарды бейнелеу немесе операторлық бөлік.
Берілгендер бейнелеу арқылы жазылса, амалдар оператор арқылы жазылады. Синтаксистік
Программа құрылымы төмендегіше болады:
Program ;
Блок: 1. Модульдерді қосу.
Белгілерді бейнелеу бөлігі.
Тұрақтыларды бейнелеу бөлігі.
Типтерді анықтау бөлігі.
Айнымалыларды бейнелеу бөлігі.
Функцияларды және процедураларды бейнелеу бөлігі
Операторлар бөлігі.
Бейнелеу бөлігіндегі программада пайдаланылатын белгілерге, тұрақтыларға, типтерге, айнымалыларға сипаттама
Uses –бұл жолда программада пайдаланылатын модульдер тізімінен тұрады. Модульдер
DOS- Паскаль тілінің DOS командаларын пайдалануды сүйемелдейді; CRT –
Label –белгі ретінде кез келген бүтін оң сан, символ,
Берілген мәндерді айнымалыға жазу үшін меншіктеу операторын пайдалануға
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы
І. Бағдарламалау тіліне жалпы түсінік
1.1. Паскаль программасының негізгі элементтері
Кезкелген табиғи тіл сияқты, программалау тілінің де өз алфавиті
Кезкелген программаның басты элементтері – айнымалылар, тұрақтылар және операторлар
Турбо Паскаль тілінде 80-ге жуық қызметші сөздер мен арнайы
Қызметші сөздердің ішінен программалауда жиі пайдаланыла-тындарының мағынасын түсіндіре кетейік.
1.2 кестеде арнайы символдар тізімі келтірілген. Программа мәтінінде қос
1.2 кесте. Паскаль тіліндегі арнайы символдар
( Қосу, біріктіру, жалғау амалдарының таңбасы
( Азайту, алу амалдарының таңбасы
( Көбейту, қиылысу амалдарының таңбасы
/ Бөлу амалының таңбасы
= Логикалық теңдік, тұрақтылар мен типтерді сипаттау элементі
Логикалық теңсіздік
< > "Кіші" және
= "Үлкен немесе тең" логикалық қатынасы
. Программа не модуль соңы, ондық бөлшектегі айыру таңбасы
, Тізім элементтерін айыру таңбасы
' Жол тұрақтысын шектеу таңбасы
: Айнымалыларды сипаттау, экранға шығару пішімінің элементі
; Сипаттауда және экранға шығаруда айнымалыларды айыру
.. Мәндердің өзгеру аралығын көрсету белгісі
:= Айнымалыға өрнек мәнін меншіктеу
( ) Арифметикалық және
[ ] Массив элеметттерінің
{ } Түсініктемелер жазу үшін
(( () Түсініктемелерді шектеу белігілері
Қызметші сөздер мен арнайы символдар программа құру үшін жеткіліксіз
1.2. Программа туралы жалпы түсінік
Паскаль тілімен алғашқы танысуды мысал арқылы қарастырсақ, қабырғалары
Program Audan;
var
a, b, h, s: integer;
begin
a:=6.5; b:=3.9; h:=4.7;
write('s=',s);
end. {программа тақырыбы}
{айнымалыларды сипаттау}
{программа басы}
{а,в, h есепте берілген мәндерді меншіктейміз }
{s айнымалысына өрнек мәнін меншіктеу}
{экранға айнымалы мәнін шығару}
{программа соңы}
Бұл программада кездесетін ағылшын сөздерінің аудармасы:
Program программа
var (variables) айнымалылар
integer бүтін
begin басы
write шығару
end соңы
Есепті шешу алгоритмі сызықтық алгоритм болатын және жай типті
Паскальда программаның жалпы түрде жазылуы мынадай бөлімдерден тұрады:
Program at_1;
Сипаттаулар бөлімі
begin
Операторлар бөлімі
end.
сурет. Паскаль тіліндегі программа құрылымы
Программа тақырыбы Program қызметші сөзінен және программа атауынан
Program ;
Ескерту. Турбо Паскалда программа тақырыбын жазбай кетуге де болады.
ІІ. Массивтерді программалау
2.1. Массивтер
Тәжрибеде біртекті мәліметтер жинағын құрамды бір мән ретінде қарастыру
Массивті тип ретінде сипаттағанда типтің атынан кейін “ =
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 5 6 7
Массив элементі A[1] A[2] A[3] A[4] A[5] A[6] A[7]
Мысал. Элементтерін пернетақтадан енгізу арқылы бір өлшемді бүтін сандар
Program Prost_13;
const n=20;
var
i, max, sum: integer;
Mas: array[1..n] of integer;
begin
for i:=1 to n do
begin Write(‘Mas[‘,i,’]=‘); Readln(Mas[i]); end; {Массивті
writeln; sum:=0;
for i:=1 to n do
begin
if (i=1) or (Mas[i]>max) then max:=Mas[i];
sum:=sum+Mas[i];
write(Mas[i],’ ‘);
end;
writeln; writeln(‘max=’,max,’ sum=’,sum);
readln;
end.
Мысал. n берілген натурал сан. Алғашқы n жай сандар
Program Prost_14;
const n=1000;
var
i, j, k: word; p:boolean;
MG: array[1..n] of word;
begin
MG[1]:=1; MG[2]:=2; MG[3]:=3; k:=3;
for i:=4 to n do
Repeat
k:=k+2; j:=3; p:=true;
Repeat
if k mod MG[j]=0 then p:= false;
j:=j+1;
until (p=false) or (j=i);;
if p then MG[i]:=k;
until p;
for i:=1 to n do
Write(MG[i],’ ‘);
readln;
end.
Программа басында MG массивіне алғашқы 3 жай сан енгізіледі.
Массив элементтерінің типі массив болса, оны екі өлшемді массив
Var M: array[1..10] of array[1..5] of
Мұны қысқаша былай жазуға да болады:
Var M: array[1..10, 1..5, 'a'..'d'] of
Массив элементтері индексті айнымалылар болып табылады. Элементті көрсету үшін
M[4, 2, 'c'] не M[4][2]['c'];
Егер екі массивтің сипатталуы ортақ болса, онда біреуінің элементтерін
Var
M1,M2: array[1..20] of real;
Begin
……..
M1 := M2;
……..
end.
Меншіктеу операторы орындалғанда екі массивтің элементтерінің мәндері бірдей
Массив – бір-бірімен қандай да бір ереже арқылы байланысқан
аты;
ондағы элементтердің номерлері;
өлшемі (элементтердің саны);
әрбір элементтің мәні.
Массивтердің бір өлшемді (векторлар) және екі өлшемді (матрицалар) деген
Массив түрі Аты Өлшемі Элемент номері Элемент мәндері
Бір өлшемді (векторлар) Х Х(4)
(массивте 4 элемент) (х1, х2, х3, х4) (-3.8, 7,
Екі өлшемді (матрица) А А(3,3)
(массивте 9 элемент бар: 3 жол, 3 баған)
a21 a22 a23
a31 a32 a33
Программадағы басқа объектілер сияқты, массив те анықталуы қажет. Ол
Мысал Түсініктеме
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;
Var x,y:P;
немесе
Var - айнымалыларды сипаттау бөлімінде:
Var x,y: array[1..5,1..5] of integer; Бүтін элементтерден тұратын X(5,5)
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 және
Алгоритмі:
Mas1, Mas2 массивтерін толтыру және экранға шығару;
Енгізу позициясын алу;
Mas3 массивіне кіретін элементтерді анықтау:
Mas1[1] .. Mas1[p-1];
Mas2[1] .. Mas2[n2];
Mas1[p] .. Mas1[n1];
Mas3 массивін толтыру және экранға шығару:
1 .. p-1 аралығында Mas3[i]:= Mas1[i];
p .. p+n2-1 аралығында Mas3[i]:= Mas2[i-p+1];
p+n2 .. n1+n2 аралығында Mas3[i]:= Mas1[i-n2];
p
Mas1 7 8 12 3 0 4 11 24
Mas2 2 13 7 6 15 элем.саны n2
p
p+n2
n1+n2
Mas3 7 8 12 3 2 13 7 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