ІІ Тарау. Шартты оператор
2.1 Шартты операторлар туралы түсінік
Паскаль тілінің программасы блоктардан тұрады. Қандай да бір блок ішінде басқа да кішігірім блоктар орналасуы мүмкін. Блоктар екі бөлімнен тұрады, Олардың алғашқысы – мәліметтерді сипаттау бөлімі, ал екіншісі – сол мәліметтерді пайдаланып, әр түрлі іс-әрекеттерді (операцияларды, амалдарды) атқару бөлімі.
Мәліметтерді сипаттау бөлімінің болуы міндетті емес, ал екінші негізгі бөлімнің болуы міндетті. Басқа блокқа кірмейтін блок жергілікті (локальді) блок деп аталады.
Сонымен кез келген программа синтаксистік ереже бойынша тақырып пен блоктардан тұрады.
Негізгі блок – негізгі программа блогы, сондықтан ол басқа блоктарға кірмеуі тиіс. Жергілікті блоктарға процедуралар мен функциялар кіреді, олар кейбір программаларда болмауы мүмкін.
Прграмма құрылымының диаграммасы
Программалардың негізгі обьектілері болып саналатын айнымалы, тұрақты және олардың типтері орналасқан блогына байланысты басты немесе жергілікті деп аталады. Программа обьектілерінің де жұмыс істеу, ықпал ету аймағы сол өздері орналасқан блокпен шектеледі. Блоктық құрылым программа мәтінін тиянақты түрде қатесіз құрастыруға мүмкіндік береді.
Турбо Паскаль программасының тақырыбын (атауын) жазбай кетуге де болады, бірақ жалпы Паскаль тілінің стандарты бойынша программада тақырып болуы қажет.
Сонымен Паскаль тіліндегі кез келген программаның тақырыбы, одан кейін сипаттау бөлімі және begin және end сөздерімен қоршалған операторлар бөлімі болуы керек. Сипаттау бөлімі толық жағдайда 7 бөліктен тұрады, олар:
1) программамен байланысатын кітапханалық модульдер атауларының тізімі (ол uses түйінді сөзімен басталады);
2) белгілерді (label) сипаттау;
3) тұрақтыларды (const) сипаттау;
4) мәліметтер типтерін (type) анықтау;
5) айнымалыларды (var) сипаттау;
6) процедураларды (procedure) сипаттау;
7) функцияларды (function) сипаттау;
Осы айтылғандарға байланысты программа құрылымы мынадай болуы қажет:
program <программа аты> (Input, Output)
uses <1-атау, 2-атау, 3-атау, ...>;
label ...;
const ...;
type ...;
var ...;
procedure <процедура аты>;
<процедура тұлғасы>;
function <функция аты>;
<функция тұлғасы>;
begin
<1-оператор>;
<2-оператор>;
…
end.
Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Кейде бір тармақ ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық өрнектің мәні пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар: if және case.
If шартты операторы. If егер операторы программадағы іс- әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады. Оның синтаксистік диаграммасы көрсетілген.
Диаграммадан көрінгендей бұл оператор мынадай түрлердің бірінде жазылады:
If <шартты өрнек>
THEN <1-оператор>
ELSE <2-оператор>;
Немесе қысқартылған түрде
If<шартты өрнек>
THEN <1-оператор);
(оқылуы: IF- иф, THEN- зен, ELSE -элс).Мұндағы 1- және 2- операторлардың өздері қарапайым немесе құрама оператор болуы мүмкін.
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын ала есептеледі, оның нәтижесі логикалық(boolean-бульдік) типте болады.Егер ол шарттың мәні TRUE ақиқат болса, яғни шарт ақиқат болып орындалса, онда THEN онда сөзінен кейін жазылған 1- оператор атқарылады, онда ELSE сөзінен кейінгі 2- оператор атқарылмайды.Екінші жағдайда, шарт мәні FALSE жалған болса, яғни теріс болып орындалмаса, онда ELSE сөзінен кейінгі 2- оператор атқарылып, 1- оператор атқарылмайды. If операторлары бірінің ішіне бірі кіріп қабаттасып та орындала береді.
Әдетте шарт өрнегін жазу үшін қатынас белгілері =,>, >=, <, <=, <> жиі пайдаланылады.Жалпы түрде шартты k1 x k2 түрінде қарастыруға болады, мұнда х-салыстыру белгілерінің бірі,к1,к2-тұрақты, айнымалы немесе кез келген өрнек болуы мүмкін. Бір мезгілде бірнеше шартты, яғни күрделі құрама шартты жазу үшін логикалық амалдарды пайдалануға болады.
Шартты операторды оқу, түсіну жеңіл болуы үшін оны сатылы түрде былай жазуға болады:
IF<логикалық өрнек>
THEN 1-оператор
ELSE 2-оператор;
Шартты операторды төмендегідей түрде құрама құрама оператор жиі пайдаланылады:
IF<логикалық өрнек>
THEN
BEGIN
1-оператор;
2-оператор;
. . . . . . . . . .
n-1-оператор;
n-оператор;
END.
Енді мысал қарастырамыз.
Достарыңызбен бөлісу: |