Турбо Паскаль тілінің операторлары



Мазмұны

Кіріспе

1.0 Паскаль тілінің негізгі түсініктері ... ... ... ..2

1.1 Турбо паскаль тілінің операторлары ... ... .4

Негізгі бөлім

1.2 Циклдік құрылымды алгоритмді программалау ... 5

1.3 Алғы шартты цикл операторы. While операторы ... ... ..6

1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы ... ... ... ... 8

1.5 Параметрлі қайталану операторы.
For операторы ... ...9

1.6 Күрделі циклдер ... ... ... ..11

1.7 ЭЕМ.де есеп шығару кезеңдері.
Қадам бойынша орындау әдісі ... ... ... ... ... ..11

1.8 Мысал есептер ... ... ... ... ... ... ... ..12

1.9 Қайталау (цикл) ... ... ... ... ... ... ... ... .19

2.0 Сызықты және тармақты құрылымды алгоритмдерді программалау ... 21

2.1 Қайталанған құрылымды алгоритмдерді программалау ... .28

Қорытынды

Әдебиеттер тізімі ... ... ... ... ... ... ..20
1.0 Паскаль тілінің негізгі түсініктері.

Алфавиті
Паскаль тілінде: латынның әріптері (Аа, ..., Zz) араб цифрлары (0,...,9) және арнайы таңбалар қолданылады. Арнайы таңбалар:
-арифметикалық және салыстыру амалдары (+,-,*,/,>,<,< >,<=,>=,@);
-арифметикалық және логикалық функциялар (DIV,MOD, NOT,AND,OR,IN,SHL,SHR).
-әр түрлі тыныс белгілері:
{} немесе (**)-түсініктеме жазатын жақшалар;
[] – массив индекстерін және жиын элементтерін белгілеу;
() – айнымалы тізімін белгілеу;
‘ ‘ – апостроф; := - меншіктеу белгісі;
; - операторлар мен хабарларды ажырату;
: - айнымалыны бөліп көрсету;
= - айнымалының типін типтің сипаттамасынан немесе тұрақтыны өз мәнінен бөліп көрсету;
, - тізім элементтерін ажырату;
Программа құрылымы
Программа келесі бөлімдерден тұруы мүмкін, бұл бөлімдер (тек соңғыдан басқасы) бір-бірінен нүктелі-үтір арқылы ажыратылады:
• программа тақырыбы;
• белгілер бөлімі;
• тұрақтылар бөлімі;
• типтерді сипаттау бөлімі;
• процедура мен функцияларды сипаттау бөлімі;
• программа денесі;
Программалау барысында алдын-ала анықтауды қажет етпейтін мәліметтердің стандартты типтері мен программалаушының өзі анықтайтын типтерді пайдалануға болады.
Стандартты типтер
- бүтін типтер-SHORTINT, INTEGER, LONGIN, BYTE,WORD;
- нақты типтер – REAL, SINGLE, DOUBLE, EXTENDED, COMP;
- логикалық тип -BOOLEAN ; символдық тип CHAR ; жолдық тип STRING ; ASCII –жолдық- PCHAR; текстік файл TEXT;
Басқа типтердің барлығы типтер бөлімінде, айнымалылар немесе тұрақтыларды сипаттау бөлімінде анықталуы қажет. Нақты типтен басқа қарапайым типтер үшін мына функциялар анықталады:
DEC(N) N-ді азайту (қысқарту)
INC(N) N-ді үлкейту (ұзарту)
ORD(N) N-нің рет нөмірі
ODD(N) N-нің жұптығын тексеру
PRED(N) N-нің алдынғы мәні
SUCC(N) N-нің келесі мәні
Нәтижесі бүтін болатын мәліметтердің бүтін типтерімен жұмыс істеу үшін келесі арифметикалық функциялар қолданылады:
ABS(N) N-нің абсолют шамасы
A DIV B бүтін бөлу
A MOD B қалдықты бөлу
+ қосу
* көбейту
- азайту
TRANC(X) Х нақты санның бүтін бөлігі;
ROUND(X) Х нақты санды бүтінге дейін дөңгелектеу;
SQR(X) N санын квадраттау;
Логикалық функциялар: NOT- терістеу; OR - біріктіру немесе логикалық қосу; AND -қиылысу немесе логикалық көбейту; XOR - екінің модулі бойынша қосу.
Стандартты функциялар
ABS(X)-Х-тің абсолют мәні
ARCTAN(X)- Арктангенс Х
COS(X)-Косинус Х
SIN(X)- Синус Х
EXP(X)- е2
FRAC(X)- Х-тің бөлшек бөлігі
ARCCOS(X)=ARCTAN(SQRT(1-SQR(X))/X)
ARCSIN(X)=ARCTAN(X/SQRT(1-SQR(X)))
Тілдің операторлары
• BEGIN END құрама оператор;
• IF…THEN шартты оператор;
• CASE…OF таңдауоператоры;
• FOR… DO параметрлі қайталау операторы;
• REPEAT… UNTIL шартқа дейін қайталау операторы;
• WHILE… DO әзіргі шартқа байланысты қайталау;
Қолданылған әдебиеттер:

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

2. Паскаль тіліндегі программалау негіздері.
А.Б.Дәулетқұлов, С.С.Алғазы

3. “Алгоритмы и программы на языке Turbo Pascal''
Ю.Федоренко

4. “Алгоритмдеу және программалау негіздерін оқыту”
Б.Д.Сыдықов

5. “Паскаль тілінің негіздері”
Б.Нақысбек
Г.Қалықова

6. Интернет сайт WWW.RAMBLER.RU

Мазмұны

Кіріспе

1. Паскаль тілінің негізгі түсініктері ... ... ... ..2

1.1 Турбо паскаль тілінің операторлары ... ... .4

Негізгі бөлім

1.2 Циклдік құрылымды алгоритмді программалау ... 5

1.3 Алғы шартты цикл операторы. While операторы ... ... ..6

1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы ... ... ... ... 8

1.5 Параметрлі қайталану операторы.
For операторы ... ...9

1.6 Күрделі циклдер ... ... ... ..11

1.7 ЭЕМ-де есеп шығару кезеңдері.
Қадам бойынша орындау әдісі ... ... ... ... ... ..11

1.8 Мысал есептер ... ... ... ... ... ... ... ..12

9. Қайталау (цикл) ... ... ... ... ... ... ... . ... 19

2.0 Сызықты және тармақты құрылымды алгоритмдерді программалау ... 21

2.1 Қайталанған құрылымды алгоритмдерді программалау ... .28

Қорытынды
Әдебиеттер тізімі ... ... ... ... ... ... ..20

1. Паскаль тілінің негізгі түсініктері.

Алфавиті

Паскаль тілінде: латынның әріптері (Аа, ..., Zz) араб цифрлары (0,...,9)
және арнайы таңбалар қолданылады. Арнайы таңбалар:
-арифметикалық және салыстыру амалдары (+,-,*,,,, ,=,=,@);
-арифметикалық және логикалық функциялар (DIV,MOD,
NOT,AND,OR,IN,SHL,SHR).
-әр түрлі тыныс белгілері:
{} немесе (**)-түсініктеме жазатын жақшалар;
[] – массив индекстерін және жиын элементтерін белгілеу;
() – айнымалы тізімін белгілеу;
‘ ‘ – апостроф; := - меншіктеу белгісі;
; - операторлар мен хабарларды ажырату;
: - айнымалыны бөліп көрсету;
= - айнымалының типін типтің сипаттамасынан немесе тұрақтыны өз мәнінен
бөліп көрсету;
, - тізім элементтерін ажырату;
Программа құрылымы
Программа келесі бөлімдерден тұруы мүмкін, бұл бөлімдер (тек соңғыдан
басқасы) бір-бірінен нүктелі-үтір арқылы ажыратылады:
• программа тақырыбы;
• белгілер бөлімі;
• тұрақтылар бөлімі;
• типтерді сипаттау бөлімі;
• процедура мен функцияларды сипаттау бөлімі;
• программа денесі;
Программалау барысында алдын-ала анықтауды қажет етпейтін мәліметтердің
стандартты типтері мен программалаушының өзі анықтайтын типтерді
пайдалануға болады.
Стандартты типтер
- бүтін типтер-SHORTINT, INTEGER, LONGIN, BYTE,WORD;
- нақты типтер – REAL, SINGLE, DOUBLE, EXTENDED, COMP;
- логикалық тип -BOOLEAN ; символдық тип CHAR ; жолдық тип STRING ;
ASCII –жолдық- PCHAR; текстік файл TEXT;
Басқа типтердің барлығы типтер бөлімінде, айнымалылар немесе
тұрақтыларды сипаттау бөлімінде анықталуы қажет. Нақты типтен басқа
қарапайым типтер үшін мына функциялар анықталады:
DEC(N) N-ді азайту (қысқарту)
INC(N) N-ді үлкейту (ұзарту)
ORD(N) N-нің рет нөмірі
ODD(N) N-нің жұптығын тексеру
PRED(N) N-нің алдынғы мәні
SUCC(N) N-нің келесі мәні
Нәтижесі бүтін болатын мәліметтердің бүтін типтерімен жұмыс істеу үшін
келесі арифметикалық функциялар қолданылады:
ABS(N) N-нің абсолют шамасы
A DIV B бүтін бөлу
A MOD B қалдықты бөлу
+ қосу
* көбейту
- азайту
TRANC(X) Х нақты санның бүтін бөлігі;
ROUND(X) Х нақты санды бүтінге дейін дөңгелектеу;
SQR(X) N санын квадраттау;
Логикалық функциялар: NOT- терістеу; OR - біріктіру немесе логикалық қосу;
AND -қиылысу немесе логикалық көбейту; XOR - екінің модулі бойынша қосу.
Стандартты функциялар
ABS(X)-Х-тің абсолют мәні
ARCTAN(X)- Арктангенс Х
COS(X)-Косинус Х
SIN(X)- Синус Х
EXP(X)- е2
FRAC(X)- Х-тің бөлшек бөлігі
ARCCOS(X)=ARCTAN(SQRT(1-SQR(X))X)
ARCSIN(X)=ARCTAN(XSQRT(1-SQR(X)))
Тілдің операторлары
• BEGIN END құрама оператор;
• IF...THEN шартты оператор;
• CASE...OF таңдауоператоры;
• FOR... DO параметрлі қайталау операторы;
• REPEAT... UNTIL шартқа дейін қайталау операторы;
• WHILE... DO әзіргі шартқа байланысты қайталау;

1. Турбо mаскаль тілінің операторлары.
Операторлар-программадағы нұсқаулардың (бұйрықтар,алгоритмдер)
машиналық тілде жазылуы. Яғни берілген есепті шешу мақсатында орындалатын
іс-әрекеттердің машинаға түсінікті түрде жазылуы. Сонда, программа денесі
бірінен кейін бірі жазылған операторлар тізбегінен тұрады. Операторлар
арасына нүктелі үтір (;) белгісі қойылады.
Операторлар қарапайым және күрделі (құрама) операторлар болып екі топқа
бөлінеді. Егер оператор құрамында басқа операторлар боламса, онда ол
қарапайым оператор деп аталады. Бұл топқа: меншіктеу, процедураны шақыру,
шартсыз көшу – GOTO, бос орын операторы жатады.

Күрделі (құрама) оператор бірнеше қарапайым операторлар тұрады. Бұл
операторлар begin (басы) және end (соңы) қызметші сөздер арасында жазылады.
Әр оператордан кейін (;) нүктелі үтір таңбасы қойылады.
Құрама оператордың жалпы жазылуы:
Begin

1-оператор;
2-оператор;
3-оператор;
...
N-оператор;
End;
Begin (басы) және end (соңы) сөздерін операторлар жақшасы деп
қарастырсақ, жоғарыдағы мысалды мына түрде жазуға болады:
(1-оператор; 2-оператор; ...; N-оператор).
Құрама операторлар ішінде тағы бір құарма оператор болуы мүмкін. Бұл
жағдайда программа денесін құрама оператор деп қарастырса болады.Құрама
операторға шартты көшу, таңдау және қайталау операторлары жатады.

1.2 Циклдік құрылымды алгоритмді программалау.
Кейбір алгоритмдердің белгілі бір бөліктері бірнеше рет қайталанып
орындалуы мүмкін. Мұндай алгоритмдерді циклдік құрылымға ие алгоритмдер
дейді. Қайталанатын бөліктерді, яғни циклдерді әртүрлі тәсілдермен
құрастырады.
Цикл – бұл прграмманың орындалу барысында бірнеше рет қайталанатын
бөліктері. Циклдерді пайдалану арқылы салыстырмалы түрде қысқа программалар
жазуға, программаның көлемін едәуір қысқартуға болады. Бірақ осы программа
арқылы ЭЕМ өте үлкен көлемдегі есептеулерді орындайды. Турбо Паскаль да
циклдік құрылымды алгоритмді программалауды үш түрлі жолмен ұйымдастыруға
болады.
1. Алдын-ала шартты тексеру арқылы
2. Келесі шарт бойынша
3. Параметрдің мәніне тәуелді
Үш түрлі жолмен ұйымдастыратын циклға арнайы операторлар қолданылады.
Олардың әрқайсысын талқылайық.

1.3Алғы шартты цикл операторы While операторы.
While операторы жан жақты басқару үйлесімі болып табылады. Алдын ала
берілген шартты тексеру арқылы циклді ұйымдастыруға While операторы
қолданылады. While операторын циклдің қайталану саны белгісіз болғанда
пайдаланған ыңғайлы. Қайталанушы процесс қойылған шартты тексеру арқылы
жүзеге асырылады. Яғни, шарт ақиқат болса цикл қайталанылады да, шарт
жалған болса, циклден шығу орындалады. While операторы екі бөліктен тұрады:
циклдің тақырыбынан және циклдің денесінен.
Жалпы жазылуы:
While шарт do
циклдің денесі;
While шарт do
Begin
...
End.
Мұндағы, Қызметші сөздерінің қазақша мағынасы: While –“әзір”, do
–“орында”. Ал, шарт-логикалық өрнек түрінде жазылады. Берілген шартқа
тәуелді бірнеше рет қайталанып орындалатын операторды – циклдің денесі деп
атаймыз. Орындалу ережесі: Begin және End сөздерінің арасында жазылған
оперпторлар шарт ақиқат болғанда орындалады
While операторы алгоритмдік тілдегі “әзір” цикл командасына сәйкес
“әзір” цикл командасының жазылуы және блок схемасы:
әзіршарт
цб
цикл
цс
бітті.

Жоғарыдағы блок схемасы While операторымен ұйымдастырылатын циклді толық
сипаттайды. While операторында, әрбір қайталанудың алдында берілген шарт
тексеріледі. Шарт ақиқат болса, цикл денесі орындалады. Егер, шарт
орындалмаса, цикл денесі де бірде-бір рет орындалмайда.
Егер, цикл денесі екі немесе екіден де көп операторлардан тұрса, оларды
операторлар жақшасының ішіне жазамыз.
While шарт do
begin
циклдің денесі;
end;
While операторында программалаушы циклдің өзгеру қадамын өзі тағайындап
отырады. Егер әрекет белгісі “” не тең болмаса немесе екінші сан да 0-
гетең болмаса, онда программаның орындалу процесінде бұл циклді айналып
өтеді, яғни цикл бір рет те орындалмайды. Программаны жүктеп, оның қалай
жұмыс істейтін F7 пернесін қолдану арқылы тексереміз. Мысалы:
Z=Y3 функциясының мәнін есептеу керек, мұндағы Y=1,2,3,4,5,6,7.Программаның
нәтижесінде Y-тің мәні мен сәйкес функцияның мәні кесте түрінде шығады. Y-
тің өзгеру қадамы 1-ге тең.
Program pr1;
Var Z,Y: integer; {берілген айнымалыны сипаттау}
Begin
Z:=1;{Y-тің бастапқы мәнін меншіктеу}
While y=6 do {цикл тәуелді болатын шарт}
Begin
Z:=sqr(Y)*Y; { Y –тің мәнін Z-ті есептеу}
Writeln ( ‘Y=’,Y,’___ Z=’,Z) ; { Y және Z экранға шығару}
Y :=Y+1 ; { Y –тің өзгеру қадамы}
End ;
End.
Нәтижесі:
Y=1 ! Z=1
Y=2 ! Z=8
Y=3 ! Z=27
Y=4 ! Z=64
Y=5 ! Z=125
Y=6 ! Z=196
Y=7 ! Z=343

1.4 Келесі шарт бойынша циклді ұйымдастыру Repeat операторы.

Циклдің процестері ұйымдастыруда Repeat операторы циклдің қайталану
саны белгілі болғанда қолданылады. Мұндай жағдайлар көбінесе программаларды
құрғанда кездеседі. Әрине бұл оператор бірден белгісіз санның қайталануынан
немесе берілген формуламен есептелетін болса ғана қолданылады.

Repeat операторының жалпы жазылуы:
Repeat
циклдің денесі
Untilшарт
Мұндағы, қызметші сөздері Repeat- қайтала, Until- соған дейін деген
мағынада қолданылады. Цикл денесі – қайталанып орындалатын бір немесе
бірнеше операторлардан тұрады. Цикл денесін құрайтын операторлар санын
шектеу қойылмайды. Шартты тексеру логикалық өрнек арқылы жүргізіледі.
Орындалу ережесі: Repeat сөзінен кейін жазылған операторлар бір рет
орындалады. Шарт жалған болса операторлар қайталанып орындала береді. Шарт
ақиқат болғада ғана тоқтайды, яғни орындалмайды.
Repeat операторы алгоритмдік тілдегі “дейін” цикл командасына ұқсас.
“Әзір” цикл командасынан “дейін” циклінің айырмашылығы: қойылған шартқа
тәуелсіз бірнеше цикл денесі орындалады. Сонан кейін, шарт тексеріледі.
Демек, шарт ақиқат болмаса цикл денесі кемінде бір рет орындалады. Repeat
операторының қызметін суреттегі блок схема арқылы сипаттауға болады.

Repeat операторы құрамды оператордың орындалуын талап етпейді. Бірақ
бұл Repeat операторы циклдің бір рет те орындалуын қажет ететін жағдайда
циклдарды жазуға жарамайды. Егер мұндай жағдайда болса, онда алғышарт
операторын қолдануымыз керек. Мысалы: 1кг ірімшік 300 теңге тұрады.
Ірімшіктің 100,200,300,...1000 граммына төленетін теңгені анықтайтын және
есептің жауабын кесте түрінде шығарудың программасын жазайын.
Program pr2;
Var m:integer; {Бүтін}
z:real;{Нақты}
Begin
m:=100;
Repeat
z:=(300*m)1000;
Writeln(m,’___’,z);
m:=m+100;
until m1000;
readln
end.

1.5 Параметрлі қайталану операторы For операторы.

Циклдік құрылымды алгоритмді программалауда қайталанушы процесс бір
айнымалының мәніне тәуелді болса, For операторын қолданамыз. Айнымалы тек
бір қадамға ғана өзгере отырып циклді басқарыды. Бұл айнымалы циклдің
параметрлі қайталану операторы деп аталынады. Санағышы бар параметрлі цикл
операторы цикл қайталануын бақылайтын санағыштың алғашқы және соңғы мәндері
алдын ала белгілі болған кезде ғана қолданылады.
For операторы алгоритмдік тілдегі параметрлі қайталану командасына
сәйкес келеді.
і үшін m1 бастап m2 дейін h қадам
Цб
Серия
Цс
For операторы екі түрлі жазылады:
А) for I:=A to B do
Begin
...
End;
Орындалу ережесі: Begin және End сөздерінің арасында жазылған
операторлар I:=A, I:=A+1, I:=A+2,...,I:=B үшін орындалады. Мұндағы І цикл
параметрі, А –параметрдің бастапқы мәні, В-параметрдің соңғы мәні.
For Х:=М1 to M2 do S1;
Мұндағы, қызметші сөздер: For(үшін), to(дейін) циклдің қадамы +1-ге
өсіп отыратынын көрсетеді, do(орында);
Х- скалярлық типтегі айнымалы циклдің параметрі;
М1-цикл параметрінің бастапқы мәні;
М2-цикл параметрінің соңғы мәні;
S1-параметріне тәуелді қайталанып орындалатын оператор. Сондықтан, S1-цикл
денесі деп аталады.
Б) For I:=A DOWN TO B DO
Begin
...
End;
Орындау ережесі: Begin және End сөздерінің арасында жазылған
операторлар I:=A, I:=A-1, I:=A-2,..., I:=B үшін орындалады.
For X:=M1 down to M2 do S1;
1-нұсқадан өзгешелігі to сөзінің орнына down to (төменге дейін) қызметші
сөзі жазылады. down to циклдің өзгеру қадамы –1 тең екендігін көрсетеді.
Мұндағы Х –тің мәні М1- ден М2-ге дейін –1 қадаммен кему үшін М1M2 шарты
орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет
орындалмайды.
Егер, цикл денесі бірнеше оператордан тұрса, Begin және End
операторлар жақшасынпайдаланамыз.
Параметрдің мәніне тәуелді циклді блок схемасында төмендегідей
сипаттайды.

Параметрлі қайталану операторының жазылуына және орындалуына мысал
келтірейік:

Оператордың жазылуы Нәтижесі
For k:=-1 To 6 do Write (x,’,’) -1,0,1,2,3,4,5,6
For k:=3 To 3 do Write (x,’,’)_ 3
For k:=1 To 9 do Write (x,’,’) 1,2,3,4,5,6,7,8,9
For k:=-1 To -6 do Write(x,’,’) Цикл орындалмайды
For k:=10 down to 6 do Write(x,’,’) 10,9,8,7,6
For k:=0 down to –1 do Write(x,’,’) 0,-1
For k:=1 down to 16 do Write(x,’,’) Цикл орындалмайды

Қайталану санын келесі тәсілдермен анықтауға болады. Соңғы мән –
алғашқы мән +1 – бірінші жағдай үшін;
Алғашқы мән – соңғы мән +1 екінші жағдай үшін. Мысалы:Р=1*2*,...*10
сандарының көбейтіндісін есептеу.
Program pr3;
Var i,P :integer;
Begin
P:=1;
For i:=1 to 10 do
P:=P*1;
Writeln (‘P=’,P);
Readln
End.

1.6Күрделі циклдер
Күрделі қайталанушы процесстерді ұйымдастыруда бір цикл операторы
құрамында екінші бір цикл операторы болуы мүмкін. Бұл жағдай да бірінші
цикл оператор – ішкі цикл деп аталады. Сыртқы және ішкі цикл ұйымдастыруда
мына шарт орындалады: ішкі циклдің барлық операторы сыртқы цикл денесіне
толық енеді
Мысылы, суретте екі параметрлі цикл операторлары арқылы жазылған
күрделі циклдің жұмысы сипатталынған.

7. ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау әдісі.
Кез-келген есерті ЭЕМ-де шешу бірнеше кезеңдерден тұрады:
1) есептің қойылуын ұғу;
2) формальдау деңгейі (есептің математикалық түрде қойылуы);
3) шешу әдісін таңдау;
4) алгоритмін жазу(құру);
5) программасын құру;
6) программаның дұрыстығын тексеру;
7) есептеу және нәтижелерін өңдеу.

1.8 Мысал есептер
1-есеп. М натурал саны берілген. Оның жай сан екендігін анықтау керек.
Program pr1;
Var I,M,F: integer;
Begin
Repeat
Write(‘натуралсан енгізу М=’);
Readln(M);
Until M0;
F:=0;
For I:=2 TO M DIV 2 do
If M MOD I=0 then F:=1;
If F=0 then writeln (M:6,’жай сан’)
Else writeln (М:6,’жай сан емес’);
End.
Есепті шешу алгоритмі:
1. Программа денесін айнымылылардан сипаттаудан бастаймын.
2. Натурал сан енгіземін.
3. 2-ден М2 аралығындағы натурал сандар М санының бөлгіші бола ма, соны
тексеремін.
4. F-тің мәніне байланысты нәтижені шығарамын.
Айнымалылар:
М-зерттелетін сан;
І-цикл айнымалысы;
F-көмекші айнымалы.
2-есеп. А натурал саны берілген. Оны жай көбейткіштерге жіктеу керек.
Program pr2;
Var I,A,F,J: integer;
Begin
Repeat
Write(‘натурал сан енгіз А=’);
Readln(A);
Until A0;
Write(A:6,’=1’);
F:=0; J:=A;
For I:=2 to A DIV 2 do
Begin
If J MOD I=0 then begin F:=1;
{Цикл мұндай І көбейткіштердің А санында нешеу екендігін анықтайды}
While J MOD I=0 DO
Begin
Write(‘*’,I);
J:=J DIV I;
End;
End;
{F бірден үлкен жай көбейткіштердің табылғандығын анықтайды}
if F=0 then writeln (‘*’,A);
else writeln;
end.
Есепті шешу алгоритмі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. Натурал сан енгіземін;
3. Параметрі І циклде А2 – ден артпайтын натурал сандарды анықтаймын;
4. Егер мұндай сан бөлгіш болса, онда А-ны кішірейту арқылы санын
анықтаймын;
5. F-тің мәніне байланысты нәтижені шығарамын.
Айнымалылар:
А-зерттелетін сан;
І,J-цикл айнымалысы;
F-көмекші айнымалы.
3-есеп. Р және М натурал сандары берілген. Олардың өзара жай сандар
екендігін анықтау керек. Өзара жай сандардың 1-ден басқа ортақ бөлшектері
болмайды.
Program pr3;
Var I,P,M,K: integer;
F: Boolean;
Begin
Repeat
Write(‘натурал сан енгіз P=’);
Readln(P);
Write(‘натурал сан енгіз M=’);
Readln(M);
Until(P0) and (M0);
F:= False;
If PM then K:=M else K:=P;
For I:=2 to K do
If (P MOD I=0) And (M MOD I=0) Then F:=TRUE;
If F then writeln (P,’,’,M,’ өзара жай сандар емес’)
Else writeln (P,’,’,M,’өзара жай сандар’);
End.
Есепті шешу алгоритмі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. Р,М натурал сан енгіземін;
3.Параметрі І циклде 2-ден бастап ең кіші санға дейінгі сандарды анықтаймыз
және әрбір Р,М сандарының бөлгіші болатындығын тексеремін;
4. F-тің мәніне байланысты нәтижені шығарамын.
Айнымалылдар:
Р,М –зерттелетін сан;
І-цикл айнымалысы;
Ғ-көмекші айнымалы;
К-Р,М сандарының кішісі.
4-есеп. А және М натурал сандары берілген. Олардың үлкен ортақ бөлгішін
табу керек.
Program pr4;
Var I,M,A,K,D: integer;
Begin
Repeat
Write(‘A=’);
Readln(A);
Write(‘M=’);
Readln(M);
Until (A0) And (M0);
If AM then K:=M else K:=A;
For I:=1 to K do
If (A MOD I=0) And (M MOD I=0) then D:=1;
Writeln (‘A,M сандарының ең үлкен ортақ бөлгіші=’,D);
End.
Есепті шешу алгоритімі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. А, М натурал сан енгіземін;
3. Параметрі І циклде 1-ден бастап ең кіші санға дейін сандарды анықтаймын
және олардың әрқайсысы бірмезгілде А,М сандарының бөлгіші болатындыығн
тексеремін;
4. Осы бөлгішті D айнымалысында сақтаймын;
5. Нәтижесін шығарамын.
Айнымалылар:
А,М- зерттелетін сан;
І-цикл айнымалысы;
D-ең үлкен ортақ бөлгіш;
К- А,М сандарының кішісі.
5-есеп. S және В натурал сандары берілген. Олардың ең кіші еселігін табу
керек.
Program pr5;
Var I,K,S,B,D:integer;
Begin
Repeat
Write(‘S=’);
Readln(S);
Write(‘B=’);
Readln(B);
Until(S 0) and (B0);
If SB then K:=S else K:=B;
For I:=1 to K do
If (S MOD I=0) And (B MOD I=0) then D:=1;
EKOE:=D*(S DIV D)*(B DIV D);
Writeln (‘S,B сандарының ең кіші ортақ еселігін‘);
Writeln (‘EKOE=’, EKOE);
End.
Есепті шешу алгоритмі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. S, В натурал сан енгіземін;
3. Параметрі І циклде 1-ден бастап ең кіші санға дейін сандарды анықтаймын
және олардың әрқайсысы бірмезгілде S,B сандарының бөлгіші болатындығын
тексеремін;
4. Осы бөлгішті D айнымалысында сақтаймын;
5. EKOE:=D*(S DIV D)*(B DIV D);екендігін ескеріп нәтижені шығарамын.
Айнымалылар:
S,B-зерттелетін сан;
I-цикл айнымалысы;
D-ең үлкен ортақ бөлгіш;
EKOE-ең кіші ортақ еселік
K-S,B сандарының кішісі.
6-есеп. Мына қатардың алғашқы С мүшесінің қосындысын табу керек.

Y=1+X2+X23+X34 +..., мұндағы Х – кез-келген сан.

Program pr6;
Var X,Y,Z: Real; I,N:integer;
Begin
Write(‘X-тің мәнін енгіз=’);
Readln (X);
Write (‘N-нің мәнін енгіз=’);
Readln(N);
Y:=1; Z:=1;
For I:=1 to N-1 do
Begin
Z:=Z*X;
Y:=Y+Z(I+1) ;
End ;
Writeln(‘Y=’,Y) ;
End.
Есепті шешу алгоритмі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. Қатардың мүшелерінің санын N және Х айнымалыны енгіземін;
3. Циклде қатардың келесі санын анықтаймын және оны У қосындыға қосамын.
5. Нәтижені шығарамын
Айнымалылар:
N-қатардың мүшелерінің саны
X-қатардың айнымалысы
D-ең үлкен ортақ бөлгіш
EKOE-ең кіші ортақ еселік
K-М,N сандарының кішісі
Z-қосымша айнымалы
I-цикл айнымалысы
Y-қатардың қосындысы.
7-есеп. Соңы 0 болатын сандар тізбегін енгізу керек. Осы тізбекте ең
болмағандва қатар орналасқан екі бірдей санның бар екендігін анықтау керек.
Program pr7;
Var L,W: Real; F:Boolean;
Begin
Write(‘сан енгіз=’);
Readln (L);
Write(‘сан енгіз=’);
Readln (W);
F:=False;
Repeat
It W=L then F:=True;
L:=W;
Writeln(‘сан енгіз=’);
Readln (W);
Until W=0;
If F then writeln (‘тізбекте қатар орналасқан тең сандар бар’);
Else writeln (‘тізбекте қатар орналасқан тең сандар жоқ’);
End.
Есепті шешу алгоритмі:
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. Алғашқы екі санды L және W енгіземін және F-нің алғашқы мәнін беремін;
3. Циклде осы екі санда тексеремін, егер олар тең болса F-ті анықтаймын;
4. L:=W мәнін қайта меншіктеймін жәнк W-дің және мәнін енгіземін;
6. F-ке байланысты нәтижені шығарамын.
Айнымалылар:
L-алдыңғы сан
W-қарастырылып отырған сан
F-қосымша айнымалы
8-есеп. Билеттің кезегінде ерлер және әйелдер тұр. Басынан бастап алғашқы
әйелге дейін тұрған ер адамның санын анықтау керек.
Program pr8;
Var POL: STRING; I,K,N: integer;
Begin
repeat
Write(‘тізбектің ұзындығын енгіз N=’);
Readln(N);
Until N0;
K:=0;
For I:=1 to N do
Begin
Writeln(‘жынысын енгіз’);
Readln(POL);
If POL=’MAN’ then K:=K+1
Else Break
End;
If K=0 then writeln (‘кезектің алдында ерлер жоқ’)
Else (‘кезектің алдында ерлер саны =’,K);
End.
1. Программа денесін айнымалыларды сипаттаудан бастаймын;
2. Тізбектің ұзындығын енгіземін және есептеу үшін К-ның алғашқы мәнін
беремін;
3. Циклде адамның жынысын енгіземін;
4. Егер ер адам болса К-ның мәнін бірге арттырамын;
5.Әйтпесе циклді Break операторы арқылы тоқтатамын;
6.К-ның мәніне байланысты нәтижені шығарамын.
Айнымалылар:
K-санау саны
I-цикл айнымалысы
N-кезекті адамдардың саны
F-қосымша айнымалы
Pol-адам жынысы.

9-есеп. 5х-3у=1 Диафонтова теңдеуі арқылы бүтін сандардың жиынын табу
керек. Бастапқы тексеруде алдымен бірлік теңдіктері алынады. Одан әрі, егер
де 5х-3у1 болса, онда 1-ге артады, егер 5х-3у1болса, онда 1-ден х-қа
артады.
Program pr9;
Var x,y: byte;
Begin
x :=1; y :=1;
repeat
if (5*x-3*y)1 then y:=y+1;
if (5*x-3*y)1 then x:=x+1 until (5*x-3*y)=1;
writeln(‘x=’,x, ‘y=’,y) ;
end.
Нәтижесінде: х=2y=3.
10-есеп. Логикалық ұғым бар: not a and b xor c. a,b,c логикалық ұғымдарын
ақиқат мәнінде экранға шығару керек. Мен а,b,c мәндерін жұп сандармен
сипаттап шығаруды ұсынамын.
Program pr10;
Var a,b,c: Boolean;
Begin
For a:=false to true do
For b:=false to true do
For c:=false to true do
If not a and b xor c then;
Begin
Write(‘a=’,a);
Write(‘b=’,b);
Write(‘c=’,c);
End;
End.
Нәтижесінде:
a=False
b= False
c=True
а= False
b= True
c= False
а= True
b= False
c= True
а= True
b= True
c= True
Программа екі күрделі оператордан тұрады: For a:=false to true do, осы
операторға тағы екі қосылған For және If операторы. Соңғы then бөлімінің
құрамында күрделі оператор бар, олар үш жай оператордан тұрады, Begin және
End жақшаларымен қамтылған.

1.9 Қайталау (цикл)

Кейбір жағдайларда нәтижеге жету барысында, белгілі бір әрекет бірнеше
рет қайталанып орындалуы мүмкін. Шегені қағу үшін оны балғамен бірнеше рет
ұру керек. Бір сынып бөлмесінен, келесі сынып бөлмесіне бару үшін бірнеше
қадам жасау керек.
Цикл: Белгілі бір А әрекетін жүзеге асыру үшін, N рет А1 әрекетін
орындау керек.
Графикалық блок-схемасын қолданып, оны мына келесі түрде көрсетуге
болады:
Мұндағы N саны, негізгі А әрекетін орындау үшін, А1 әрекетінің
орындалу санын көрсетеді. Егер бұл сан белгілі болса, онда біз қайталану
саны белгілі цикл түрімен жұмыс атқарамыз. Жалпы циклдік әрекеттерді
олардың түріне қарай негізгі үш түрге бөлнді.
А) Қайталау саны белгілі цикл
Циклдің бұл түріне әрекеттің қайталану саны алдын ала белгілі болатын
түрі жатады. Мысалы, денешынықтыру сабағында мұғалім сіздерге стадионды
айнала үш айналым жасап жүгіруді тапсырды делік. Бұл тапсырманы орындау
үшін сіз бір айналымды үш рет қайталауыңыз керек. Басқа мысал,математикадан
үйге берілген тапсырмада бес есеп шығару керек болсын. Яғни, мұнда “есепті
шығару” әрекетін бес рет орындау керек. Мұндай мысалдарды біз өмірімізден
көптеп келтіруімізге болады. Көпшілік жағдайда негізгі әрекетті орындау
үшін, орындалатын әрекеттің қайталану саны белгілібола бермейді.
Мысалы,”өлең жатау” керек. Бұл жағдайда өлеңді жаттау үшін бір рет оқып
есте сақтауға да болады. Ал қарсы жағдайда екі рет және үш рет, төрт рет
оқып жаттауға болады, бұл жағдайда сізге өлеңді жаттау үшін неше рет оқу
керек екені алдын ала белгісіз.
Б) Алғы шарт циклі
Циклдің бұл түріне қайталану саны белгісіз. Бірақ әрекет орындалу
үшін алдын ала берілген қандай да бір шарт тексеріліп барып, орындалатын
әрекеттер жиыны жатады. Мысалы: Сіз сорпа ішуге дайындалдыңыз. Тарелкадағы
сорпаны толығымен ішіп тауысу үшін қасықпен неше рет көсеп алу керек екені
бізге алдын ала белгісіз. Ал егер тарелка бастапқыда бос болса, сіз
тарелкадан қасықпен сорпа алр ма едіңіз? Әрине жоқ, ол мүмкін емес. Осыдан
циклдің бұл түріне мынадай қызықты тұжырым жасауға болады.Ол нөл рет
орындалады.

В) Соңғы шарт циклі.
Циклдің бұл түріне қайталану саны белгісіз, бірақ алдыңғы циклден
айырмашылығы, одан әрекет орындалмас бұрын алдын ала шарт тексерілетін
болса, ал мұнда әрекет орындалғанна кейін шарт тексеріледі де әрекетті
қайталауға береді.

Соңғы шарт циклінің орындалуын айқындау үшін, өлшемдері көздерінен
үлкен болатын жұмсақ шарлар салынған електі көз алдымызға елестетейік. Егер
шарларды секіртетін болсақ, соғылу нәтижесінде олардың өлшемдері кішірейе
береді делік. Осы әрекет қашан шарлардың өлшемдері електің көзінен өтетін
болғанша қайталанып орындала береді. Яғни, шардың диаметрі електің көзінің
өлшемдеріне сәйкес болғанша шарт орындалады.
Алғы шарт циклінің соңғы шарт циклінен айырмашылығы циклдің бірнеше
түрінде әрекет ШАРТ=АҚИҚАТ да орындалады. Ал екінші түрінде ШАРТ =АҚИҚАТ
болғанда цикл әрекет жұмысын тоқтатады.
Қосымша ескертетін жағдай, қайталану саны белгілі циклін алғы шарт
циклінің дербес жағдайы ретінде қарастыруымызға болады. Шын мәнінде
стадионды айнала үш айналым жүргізуге ұсыныс жасалған болса, ал сіз одан
көп айналым жүгірсеңіз, ары қарай жүгірмей-ақ қойсаңыз болады.

2.0 Сызықты және тармақты құрылымды алгоритмдерді программалау

Тілдердің алфавиті

Qbasic тілінде Pascal тілінде
1 2
Латын алфавитінің бас және кіші 1.Латын алфавитінің бас және кіші
әріптері: A,B,...,Z; a,b,...,z қазақәріптері:қазақ, орыс алфавитінің
, орыс алфавитінің әріптері. әріптері.
2. Араб цифрлары: 0,1,2,..,9 2. Араб цифрлары: 0,1,2,...,9
3. Өрнек таңбалары: + қосу, - 3. Өрнек таңбалары: + қосу, -
азайту, азайту, * көбейту,
* көбейту, бөлу, ^ дәрежелеу. бөлу,дәрежелеу санды өзіне - өзін
4. Қатынас таңбалары: көбейту арқылы беріледі.
= тең не меншіктеу белгісі , 4. Қатынас таңбалары: тең не
улкен, = үлкен не тең , кіші ,меншіктеу белгісі, үлкен, үлкен
= кіші не тең , тең емес. не тең, кіші, кіші не тең, тең
5. Арнайы символдар: емес.
. нүкте 5. Арнайы символдар:
, үтір . нүкте
; нүктелі үтір , үтір
: қос нүкте ; нүктелі үтір
'' '' бос орын : қос нүкте
( , ) ашу,жабу жақшалары ' ' бос орын
“ , ” ашу, жабу тырнақшалары ( , ) ашу,жабу жақшасы
! леп белгісі ‘ , ’ ашу, жабу тырнақшалары
? сұрақ белгісі ! леп белгісі
# нөмір ? сұрақ белгісі
' дәйекшк – апостроф # нөмір
_ астын сызу белгісі ' дәйекше – апостроф
% процент _ астын сызу белгісі
$ ақша бірлігінің белгісі % процент
& амперсенд $ ақша бірлігінің белгісі
& амперсенд

Qbasic және Pascal программалау тілдерінің стандартты функциялары

Qbasic Pascal Түсініктеме
тілінде тілінде
SIN(x) Sin(x) Х-радиандық өлшем
COS(x) Cos(x) X-радиандық өлшем
ATN(x) arctan(x) Argtgx(-)
LOG(x) In(x) Inx (x0)
EXP(x) exp(x) Көрсеткіштік функция (e)
X^2 sqr(x) Х-тің квадрат дәрежесі
SQR(x) sqrt(x) Х-тің квадрат түбірі (x 0)
ABS(x) abs(x) Х-тің абсолют шамасы
FIX(x) trunc(x) Санның бүтін бөлігі
CINT(x) round(x) Санды бүтінге дейін дөңгелектеу
INT(x) int(x) Санның бүтін бөлігі
PI Pi(x) санының мәні (= 3.1415... )
RND(x) Rnd(x) (0;1) аралығындағы өндірілетін кездейсоқ
нақты сан
SGN(x) Sgn(x) Сан таңбасы. Оның қабылдайтын мәндері:
+1 (x0), 0 (x=0 үшін ), -1(x0 үшін)
- Tgx(x радиандық өлшемде)
TAN(x)

Ескерту:
1) егер х аргументі INTEGER типіне жататын болса, онда sqr (x),
abs(x) функциялары да INTEGER типті;
2) Round, Trunc функциялары REAL типті мәндерді INTEGER типіне
өзгертеді, ал Int – REAL типін қалдырады;
3) стандартты скалярлық функциялар қатарына жатпайтын тригонометриялық
функция мәнін есептеу үшін алдымен оны стандартты функциялар
арқылы өрнектейді;
4) негізгі оң сан болатын х дәрежесін ln(x) және exp(x)
функцияларын пайдаланып есептеуге болады (x0), яғни
х=exp(n*ln(x))

Паскаль тіліндегі стсндартты функциялар:
1. Ord(‘x ’) – ‘x ’ символының кодын анықтайды.
Мысалы, ord(‘A’)=65;
2. Chr(n) – коды бойынша символды анықтайды.
Мысалы, chr (66)= ’B’;
3. Succ (x) –REAL- дан басқа типтегі мәндер тізімінде соңғы мәнді

анықтайды. Мысалы, succ ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Паскаль тілінің алғашқы түсініктері
Turbo Pascal тілінің операторлары жайлы
Паскаль тілінде сызықтық программалармен жұмыс
Программалау тілі командаларының ортасы
Turbo Pascal 7.0 интегралдық программалау ортасын пайдалану
Турбо Паскаль бағдарламасының жазу ережелері, құрылымы және тілдің әліпбиі
Turbo Pascal тілінің операторлары
Turbo Pascal – дің жоғарғы деңгейлі логикалық құрылымы
ПАСКАЛЬ БАҒДАРЛАМАЛАУ ТІЛІНІҢ ГРАФИКАЛЫҚ МҮМКІНДІКТЕРІ
Турбо Паскаль программалау тілі және оның негізгі операторлары
Пәндер