Паскаль тілінің негізгі түсініктері
Мазмұны
Кіріспе…………………………………………………………… |
3 |
1. Паскаль тілінің негізгі түсініктері................... |
5 |
1.1 Турбо паскаль тілінің |
6 |
1.2 Циклдік құрылымды алгоритмді
программалау ................. |
7 |
1.3 Алғы шартты цикл операторы. While
операторы .................... |
7 |
1.4 Келесі шарт бойынша циклді
ұйымдастыру................... |
9 |
2 Параметрлі
қайталану операторы. For операторы..................... |
11 |
2.1 Күрделі циклдер............... |
12 |
2.2 ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау................... |
13 |
2.3 Қайталау (цикл)........................ |
20 |
Қорытынды..................... |
22 |
Қолданылған әдебиеттер.................... |
23 |
Кіріспе
Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған тілдердің бірі
Turbo Pascal
программалау тілінің басқа
Жоғарғы деңгейлі программалау
тілдерінің бірі − Паскаль.
Қазіргі кезде Паскаль тілінің
кеңейтілген ондаған
Turbo Pascal
жүйесінде қарапайым есептерді
шешудің программасынан бастап,
күрделі мәліметтер қорын
Паскаль тілі бұрын құрылған (Фортран,
Алгол және т.б.) программалау
тілдерінен маңызды ерекшелігі
ол құрылымдық программалау
Басқару (шартты, таңдау және циклдік) операторлары бағдарлама жолдарының орындалу реттілігін өзгертеді. Шартты операторлар нәтижесі ақиқат болғанда (Иә) немесе нәтижесі жалған болған жағдайда (жоқ) деп жауап беретін белгілі бір логикалық шартты тексереді. Бұл оператордың жазылу түрі төмендегі үлгілердің біріне сәйкес келуі керек:
а) іf шарт then 1-оператор else 2-оператор; мұндағы, іf-оператордың аты (егер), then (онда), else(әйтпесе)- түйінді сөздері; шарт- логикалық өрнек (типі boolean); 1-оператор және 2-оператор- кез келген орындалатын операторлар.
Олай болса, мәліметтерді оқу файлдың соңы табылғанша жалғаса береді. Егер файл бос болса, яғни онда ешқандай жазба жоқ, онда одан мәліметтерді оқуға болмайды. Осы айтылғандарды тұжырымдай келе, алғы шарт циклін қолдану керек екеніне көзіміз жетті. Файл соңы белгісін анықтау үшін, EOF(Name Var)-процедурасын қолданады ағылшын тілінде EndOf File—файл соңы деген сөзден қысқартылып алынған. Жақшаның ішіне assing() процедурасында көрсетілген файлдың нақтылы атымен байланыстыратын айнымалы атауы жазылады. EOF(Name Var)-процедурасының мәні, False(жалған)-болады егер файл соңына жетпеген болса Ture(ақиқат)-болады, егер файлдың соңы анықталған болса. Олай болса, алғы шарт циклін қолданғанда Not EOF(Fileln)-шарты әзірше ақиқат болса, онда цикл орындала береді, яғни файл соңы анықталғанша.
Бағдарламалау тілдері төменгі деңгейден жылдар өте
келе жоғарғы деңгейлі бағдарламалау
тілдеріне дейін дамыған. Осы даму барысында
не жаңадан тілдер ойланып табылып немесе
бұрын болған тілдерді жетілдіру арқылы
жаңа бағдарламалау тілдерін жасаған.
Осы бағдарламалау тілдері арқылы біз
машинамен, яғни компьютермен қарым-
Бағдарламалау тідерімен бірге
бағдарламалау жүйесі де дамып келеді.
Жүйелік бағдарламалау, оқиғалы-бейімделуші
бағдарламалау, объектіге бағытталған
бағдарламалау – олар алуан түрлі.
Болашақта бағдарламалаудың жаңа, одан
әрі жетілдірілген түрлері
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)
ARCSIN(X)=ARCTAN(X/SQRT(1-SQR(
Тілдің операторлары
- BEGIN END құрама оператор;
- IF…THEN шартты оператор;
- CASE…OF таңдауоператоры;
- FOR… DO параметрлі қайталау операторы;
- REPEAT… UNTIL шартқа дейін қайталау операторы;
- WHILE… DO әзіргі шартқа байланысты қайталау;
1.1 Турбо mаскаль тілінің операторлары
Операторлар-программадағы
нұсқаулардың (бұйрықтар,алгоритмдер)
машиналық тілде жазылуы. Яғни
берілген есепті шешу
Операторлар қарапайым және
Күрделі (құрама) оператор бірнеше
қарапайым операторлар тұрады. Бұл
операторлар begin (басы) және end (соңы)
қызметші сөздер арасында
Құрама оператордың жалпы
Begin
1-оператор;
2-оператор;
3-оператор;
...
N-оператор;
End;
Begin (басы) және end (соңы) сөздерін операторлар жақшасы деп қарастырсақ, жоғарыдағы мысалды мына түрде жазуға болады:
(1-оператор; 2-оператор; ...; N-оператор).
Құрама операторлар ішінде тағы бір құарма оператор болуы мүмкін. Бұл жағдайда программа денесін құрама оператор деп қарастырса болады.Құрама операторға шартты көшу, таңдау және қайталау операторлары жатады.
1.2 Циклдік құрылымды алгоритмді программалау
Кейбір алгоритмдердің
белгілі бір бөліктері бірнеше
рет қайталанып орындалуы
Цикл – бұл прграмманың
- Алдын-ала шартты тексеру арқылы
- Келесі шарт бойынша
- Параметрдің мәніне тәуелді
Үш түрлі
жолмен ұйымдастыратын циклға
арнайы операторлар
1.3 Алғы шартты цикл операторы While операторы.
While операторы
жан жақты басқару үйлесімі
болып табылады. Алдын ала берілген
шартты тексеру арқылы циклді
ұйымдастыруға While операторы қолданылады.
While операторын циклдің қайталану
саны белгісіз болғанда
Жалпы жазылуы:
While <шарт> do
<циклдің денесі>;
While <шарт> do
Begin
…
End.
Мұндағы,
Қызметші сөздерінің қазақша
мағынасы: While –“әзір”, do –“орында”.
Ал, шарт-логикалық өрнек түрінде
жазылады. Берілген шартқа тәуелді
бірнеше рет қайталанып
While операторы
алгоритмдік тілдегі “әзір”
цикл командасына сәйкес “әзір”
әзір<шарт>
цб
<цикл>
цс
бітті.
Жоғарыдағы блок схемасы While операторымен ұйымдастырылатын циклді толық сипаттайды. While операторында, әрбір қайталанудың алдында берілген шарт тексеріледі. Шарт ақиқат болса, цикл денесі орындалады. Егер, шарт орындалмаса, цикл денесі де бірде-бір рет орындалмайда.
Егер, цикл денесі екі немесе екіден де көп операторлардан тұрса, оларды операторлар жақшасының ішіне жазамыз.
While <шарт> do
begin
<циклдің денесі>;
end;
While операторында
программалаушы циклдің өзгеру
қадамын өзі тағайындап
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 операторы құрамды оператордың
орындалуын талап етпейді.
Program pr2;
Var m:integer; {Бүтін}
z:real;{Нақты}
Begin
m:=100;
Repeat
z:=(300*m)/1000;
Writeln(m,’___’,z);
m:=m+100;
until m>1000;
readln
end.
2 Параметрлі қайталану операторы 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 қадаммен кему үшін М1>M2 шарты орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет орындалмайды.
Егер, цикл денесі
бірнеше оператордан тұрса, Begin және
End операторлар
Параметрдің мәніне тәуелді
циклді блок схемасында
Параметрлі қайталану операторының жазылуына және орындалуына мысал келтірейік:
Кесте 1.
Қайталану операторының жазылуы және орындалуы
Оператордың жазылуы |
Нәтижесі |
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*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.
2.1 Күрделі циклдер
Күрделі қайталанушы
процесстерді ұйымдастыруда
Мысылы, суретте екі параметрлі
цикл операторлары арқылы
2.2 ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау әдісі
Кез-келген есерті ЭЕМ-де шешу бірнеше кезеңдерден тұрады:
1) есептің қойылуын ұғу;
2) формальдау
деңгейі (есептің
3) шешу әдісін таңдау;
4) алгоритмін жазу(құру);
5) программасын құру;
6) программаның дұрыстығын тексеру;
7) есептеу және нәтижелерін өңдеу.
1-есеп. М натурал саны берілген. Оның жай сан екендігін анықтау керек.
Program pr1;
Var I,M,F: integer;
Begin
Repeat
Write(‘натуралсан енгізу М=’);
Readln(M);
Until M>0;
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. Натурал сан енгіземін.
- 2-ден М/2 аралығындағы натурал сандар М санының бөлгіші бола ма, соны тексеремін.
- F-тің мәніне байланысты нәтижені шығарамын.
Айнымалылар:
М-зерттелетін сан;
І-цикл айнымалысы;
F-көмекші айнымалы.
2-есеп. А натурал саны берілген. Оны жай көбейткіштерге жіктеу керек.
Program pr2;
Var I,A,F,J: integer;
Begin
Repeat
Write(‘натурал сан енгіз А=’);
Readln(A);
Until A>0;
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.
Есепті шешу алгоритмі:
- Программа денесін айнымалыларды сипаттаудан бастаймын;
- Натурал сан енгіземін;
- Параметрі І циклде А/2 – ден артпайтын натурал сандарды анықтаймын;
- Егер мұндай сан бөлгіш болса, онда А-ны кішірейту арқылы санын анықтаймын;
- 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(P>0) and (M>0);
F:= False;
If P>M 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-ден бастап ең кіші
санға дейінгі сандарды
- F-тің мәніне байланысты нәтижені шығарамын.
Айнымалылдар:
Р,М –зерттелетін сан;
І-цикл айнымалысы;
Ғ-көмекші айнымалы;
К-Р,М сандарының кішісі.
4-есеп. А
және М натурал сандары
Program pr4;
Var I,M,A,K,D: integer;
Begin
Repeat
Write(‘A=’);
Readln(A);
Write(‘M=’);
Readln(M);
Until (A>0) And (M>0);
If A>M 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 айнымалысында сақтаймын;
- Нәтижесін шығарамын.
Айнымалылар:
А,М- зерттелетін сан;