Программа денесі(операторлар тізбегі)



бет2/21
Дата15.09.2017
өлшемі5,46 Mb.
#33792
түріПрограмма
1   2   3   4   5   6   7   8   9   ...   21

Program bastau; {Программа тақырыбы}

const pi = 3.14159; { тұрақтысының мәнін беру}

var r, l real; {r,l мәндерінің нақты (аралас) сан екенін сипаттау}

begin {Операторлар басы}

r: =5.5; {r мәнін беру}

l:=2*рі*r; {Шеңбер үзындығын есептеу}

write (‘Радиусы 5,5 см болатын шеңбер ұзындығы =’, l);{Нәтижені экранға шығару}

end. {Программа соңы}

Мұнда программа мәтіні қарайтылған қаріппен терілген, ал оң жақ шетте және оның төменгі жолында пішінді жақша ішінде түсініктеме мәтіні берілген. Түсініктеме программа мәтініне ешқандай әсер етпейді, ол түсінуді жеңілдетеді, сондықтан әрбір программа түсініктемемен толықтырылуы тиіс. Әрине, бұл программасыз да шеңбер ұзындығын есептеуге болады, бірақ 200-300 шеңбер ұзындығын табу керек болса, компьютер программасы өте тиімді әрі нәтижесі тез шығарылады. Ол үшін жоғарыдағы программаға аздаған ғана түзету жазса жеткілікті.

Күрделі есеп программасын құру үшін алдымен осындай қарапайым есеп шығарып үйрену қажет. Қате жібермес үшін программа блок-схема түрінде немесе алгоритмдік тілде құрастырылады.

Жоғарыдағы программаның алғашқы жолы — оның тақырыбы, екінші және үшінші жолы — сипаттау бөлімі, begin (басы) жене end (соңы) сөздерінің ортасында орналасқан операторлар, яғни әр түрлі амалдар орындау бөлімі. Программаның сөздік элементтері ағылшын тілінде. Оны қазақшаға (орысшаға) аударуға болады, алгоритмдік тіл де солай жасалған. Бірақ барлық елдер программадағы негізгі немесе түйінді сөздерді өз тіліне аудармай, олардың ағылшынша нұсқасын пайдаланады, олар көп емес (60— 70 сөз). Сондықтан ағылшын тілін үйренуді осы түйінді сөздерден бастап әрі қарай дамыту оқушылар үшін тиімді болады.



ТІЛДІҢ АЛФАВИТІ

Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Оған әріптер, цифрлар және арнайы белгілер (символдар) жатады.

Тіл ерекшеліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеуге болады:


  • атаулар (идентификатор);

  • цифр;

  • айыру белгілері;

  • арнайы символдар.

Атау символдары ретінде латын алфавитінің 26 әріпі мен цифрлары қолданылады.

Әріп ретінде латын алфавитінің бас әріптері мен кіші әріптері:A B C D E FGHIJKLMNOPQRST U V W X Y Z abcde f g h i j k 1 m n o p q r s t uvwxyzжәне астын сызу таңбасы (_) қолданылады. Бас әріптер мен кіші әріптердің маңызы бірдей болып есептеледі, мысалы, X пен х-тің айырмасы жоқ, дәл сол сияқты ALFA1, aLfa1 және alfa1 де бір атаудың жазылу түрлері болып саналады. Атауларда әріптер цифрлармен араласып жазыла береді, бірақ атаудың алғашқы символы міндетті түрде әріп болуы тиіс, мысалы, VES1, SALMAK2, Baga5,T7S25, ART25var8 т.б.

Атау ретіyде ASCII — код кестесінің негізгі символдары (латын әріптері) пайдаланылады, ал ол кестенің қосымша бөлімінің сим­волдары (қазақ, орыс, араб т.б.) атау ретінде қолданылмайды, олар тек апострофқа — жоғарғы үтірге (‘’) алынған тұрақты сөз тіркестері немесе пішінді жақшаларға алынған түсініктеме ретінде ғана кездеседі.

Ондық цифрлар: 0,1, 2, 3, 4, 5, 6, 7, 8, 9 таңбалары.

Оналтылық цифрлар ондық цифрлардан және А-дан Ғ-қа (немесе а-дан f-қа) дейінгі латын әріптерінен тұрады.

Арнайы символдарға пунктуация және арифметикалық операция (амалдар) белгілері жатады.



Арифметикалық амал белгілері (+) қосу; (*)көбейту; (-) азайту; (/) бөлу.

DIV — бүтін бөлу (бүтін санды бүтін санға бөлгендегі бөліндінің бүтін бөлігін табу), мысалы, 10 div 3 амалының нәтижесі 3.

MOD — қалдықты табу (бүтін сандарды бөлген кездегі бүтін қалдықты табу), мысалы, 10 mod 3 — нәтижесі 1.

Логикалық амал белгілері:

AND — және (логикалык көбейту) операциясы;

OR — немесе (логикалык қосу) операциясы;

NOT — емес (терістеу немесе жоққа шығару) операциясы;

XOR — арифметикалық немесе амалы;

SHL — биттер (1 мен 0-дер) тіркесін солға ығыстыру;

SHR — биттер (1 мен 0-дер) тіркесін оңға ығыстыру.

Айыру белгілеріне бос орын, барлық басқару символдары, тыныс белгілері, ENTER (келесі жолға көшіру) пернесін басу белгісі және түсініктемелер жатады. Айыру белгілері атауларды, сандарды мағыналарына сәйкес арнаулы кызмет атқаратын түйінді өздерді бір-бірінен бөліп тұрады. Түсініктеме {және} немесе (*және*) белгілерімен қоршалып, солардың ішіне жазылады, ол бір немесе бірнеше жолдардан тұруы мүмкін. Компиляторға арналған директива (түсінік белгі) алдына $ белгісі қойылады. Алдында $ белгісі жоқ түсініктемеге компиляция жасалмайды.

Сонымен, айыру белгілері: _ (бос орын); , (үтір); . (нүкте); : (кос нүкте); ; (нүктелі үтір); '(апостроф); (,); [,]; {,}.

Пунктуация белгілерінің атқартын қызметтері мына 1-кестеде көрсетілген.

Қатынас таңбалары немесе салыстыру белгілері:

= (тең), <> (тең емес), < (кіші), > (үлкен), < = (үлкен емес, таңбасының орнына), > = (кіші емес, ≥ таңбасының орнына).

Әрбір символдың өзінің реттік номеріне сәйкес белгіленген коды болады, ол мемлекеттік стандарт түрінде бекітілген. Әр елдің стандарттары негізіне америкалық кодтар стандарты алынған (American Standart Code for Information Interchange — ASCII), компьютерде жұмыс істеу барысында оларды да білген дұрыс. Паскаль тілінде кейбір символдар пайдаланылмайды: мысалы, %, &, », және т. б.


1-кесте

Белгілер

Атқаратын міндеттері

{және} немесе

(*және*)


Түсініктеме мәліметтерді жақшамен беру

[және]

Жиым элементтерінің индекстерін және

жолдың ұзындығын көрсету белгісі



(және)

Өрнектерді және параметрлер тізімін бөліп көрсету белгілері

‘ (апостроф)

Символдың және тіркестік тұрақтыларды белгілеу таңбасы

:=(меншіктеу)

Айнымалыларға немесе типі көрсетілген

тұрақтыларға мәне беру, яғни меншіктеу белгісі



; (нүктелі үтір)

Операторларды бір-бірінен ажырату белгісі

: (қос нүкте)

Объектілерді типтерге ажырату және

операторларға белгі салу таңбасы



=(теңдік)

Тұрақтылардың мәнін көрсету және салыстыру белгісі

, (үтір)

Тізімдегі элементтерді бір-бірімен бөліп көрсету белгісі

..(екі нүкте)

Диапазонның шекарасын көрсету

. (нүкте)

Программаның соңын белгілеу, санның бүтін және бөлшек бөліктерін ажырату белгісі

@

Айнымалылардың, типі көрсетілген тұрақтылардың адрестерін белгілеу

# (номер белгісі)

Символды коды бойынша белгілеу

$ (ақша белгісі)

Компилятор директивасын немесе он алтылық сан белгісін көрсету


*


Паскаль тіліндегі түйінді сөздер бір-бірімен айыру белгілерімен бөлінген алдын ала анықталған белгілі бір мағынасы бар сөз тіркестері. Паскаль тіліндегі түйінді сөздерді үш топқа бөлуге болады, олар: қордағы (резервтегі) сөздер, стандартты атаулар немесе идентификаторлар және бейстандарт идентификаторлар. Тіл операторларында қарапайым сөйлем жазу үшін мағынасы мен қолдану тәсілі алдын ала анықталған символдар тіркесінен тұратын қордағы түйінді сөздер пайдаланылады. Олардың жалпы саны 80-нен астам. Алгоритмдік тілде бұлар қазақ, орыс тілінде қысқартылып жазылса, программалау тілінде — ағылшын тілінде жазылады.

Программалау тілдерінде «өрнек», «оператор», «тіл синтаксисі» мен «семантикасы» ұғымдары кең пайдаланылады.



Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген айнымалылар, атаулар, функциялар, жиымдар т. б. мағынасы бар сөздер тізбегі өрнек деп аталады. Математикадағы формулалар, арифметикалық өрнектер, алгебрадағы көпмүшелер программалау тілінде тек осы өрнек ұғымы арқылы беріледі.

Программалау тілінің белгілі бір іс-әрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сөйлеміоператор деп аталады.

Tiл объектілерін, яғни программада пайдаланылатын мәліметтердің құрылымы мен ұйымдастырылуын алдын ала анықтайтын сөйлемдер жиыны программаның сипаттамасы болып табылады.

3-ДӘРІС. Орындалатын операторлар.
Қарастырылатын сұрақтар:

  1. Меншіктеу операторы. Процедураларды шақыру.

  2. Енгізу және шығару. Құрама оператор.

  3. Құрылымдық операторлар. Шартты операторлар (if...then...else). Таңдау операторы (саsе...of..end).

  4. Параметрлі цикл операторы (for...tо...dо... және for...downto...do).

  5. Шарты басында тексерілетін цикл операторы (while...dо...). Шарты соңында тексерілетін цикл операторы (repeat.. .until).

Паскаль тілінің басқару операторларына шартсыз және шартты көшу операторлары, цикл (қайталау) ұйымдастыру операторлары жатады. Бұлардың соңғылары құрылымы күрделі операторлар арқылы жүзеге асырылады.

Программа операторлары, негізінен, жазылу ретімен орындалады. Олардың бұл орындалу тәртібін өзгерту үшін жоғарыда айтылған шартты немесе шартсыз көшу (өту) операторы GOTO қолданылады (оқылуы: гоу ту). Қойылған шартты тексеру арқылы оператордың орындалу ретін өзгертуге немесе өзгертпеуге болады. Шартты тексеру операторлары мен цикл операторлары көбінесе құрылымдық операторлар арқылы ұйымдастырылады.



Құрылымдық операторлар. Құрылымдық операторлар басқа операторларды белгілі бір ереже бойынша біріктіру жолымен құрылады. Олар үш топқа — құрама, шартты және қайталау операторларына жіктеледі.

Құрама оператор. Құрама оператор бір-бірінен нүктелі үтір арқылы бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей отырып, оларды бір оператор тәрізді орындалатын етіп біріктіру жолымен ұйымдастырылады.

Құрама оператор тілдің ережесіне сәйкес программаның кез келген жеріңде тұра береді де, бір оператор сияқты орындалады.

begin

1-оператор;



2-оператор;

...


п-1-оператор;

n-оператор

end.

Мұндағы операторды шектеп тұратын BEGIN (басы), END (coңы) түйінді сөздері операторлық жақшалар деп аталады, BEGIN сөзінің соңына және END сөзінің алдындағы оператордан кейін нүктелі үтір «;» қойылмайды. Құрама оператордың ішінде тағы да құрама оператор болуы мүмкін. Мысалы, әріптермен белгіленген операторлар жақшалармен көрсетілгендей ((A,B,C,D), (K,L,M), Е, (R,S)) топталатын болса, онда программадағы құрама операторлар былай құрылады:



begin

begin


А операторы;

В операторы;

С операторы;

D операторы;

end;


begin

К операторы;

L операторы;

М операторы;

end;


Е операторы;

begin


R операторы;

S операторы;

end


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 (g) k2 түрінде қарастыруға болады, мұнда (g)— салыстыру белгілерінің бірі, k1, k2 — тұрақты, айнымалы немесе кез келген өрнек болуы мүмкін. Бір мезгілде бірнеше шартты, яғни күрделі құрама шартты жазу үшін логикалық амалдарды пайдалануға болады. Шартты операторды оқу, түсіну жеңіл болуы үшін оны сатылы түрде былай жазу қалыптасқан:

IF <логикалық өрнек>

THEN 1-оператор

ELSE 2-оператор;

Шартты операторда төмендегідей түрде құрама оператор жиі пайдаланылады:

IF <логикалык өрнек>

THEN


BEGIN

1-оператор;

2-оператор;

...


n-1-оператор;

n-оператор;

END.

Мысал:


If x>0

then a:=’оң сан’

else a:=’теріс сан’;
ТАҢДАУ ОПЕРАТОРЫ

Жоғарыда біз тармақталу командасында (операторында) белгілі бір шарттың орындалу немесе орындалмауына байланысты алгоритмнің 1-операторы немесе 2-операторы орындалатынын қарастырдық. Алайда, көбінесе мүмкін болатын жағдай екеу емес, одан да көп бола береді, яғни процесс көп тармақты болады. Таңдау командасы былай орындалады. Алдымен, селектор-өрнек мәні есептеледі де, ол тұрақтылармен салыстырылады. Егер өрнектің мәні 1-тұрақтыға тең болса, онда 1-оператор орындалады, ал өрнектің мәні 2-тұрақтыға тең болса, онда 2-оператор, 3-тұрақтыға тең болса, онда 3-оператор т.б. тізімдегі тек бір ғана оператор орындалады да, таңдау командасы осымен аяқталады. Егер селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмесе, онда else сөзінен кейін тұрған оператор орындалады. Кейде опера­тор құрамында else қатары болмайды, ондайда end сөзінен кейін тұрған жол орындалады. Сонымен, таңдау командасында селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмеген кезде else тармағы болмаса (ол команданың қысқартылған түрінде болмай­ды), онда таңдау командасының бірде-бір операторы орындалмайды.

Өрнектің және тұрақтылардың мәндері бір типке жатып, олар бүтін саңдық (-32768...32767 аралығында), логикалық немесе символдық (литерлік) типтердің бірі болуы тиіс.

Сонымен, тандау операторы селектор мен тұрақты мәндерінің сәйкес келуіне байланысты бір ғана операторды орындауы тиіс. Кейде өрнектің мәні тұрақтының көрсетілген мәндерінің ара­лығында болуы ықтимал, мұндайда тұрақтының мәні кесінді тәрізді сандар бірлігін қамтиды.

Әрбір тұрақты үшін бір ғана опера­тор орындалады, бірақ қажет болған жағдайда бірнеше операторды біріктіріп, кұрама оператор ретінде де орындауға болады. ELSE сөзінен кейін де нүктелі үтірмен бөлінген бірнеше оператор орналастырып, селектор-өрнек мәні тұрақтыға тең болмаған жағдайда да операторлардың бірнешеуін атқаруға мүмкіндік бар. CASE операторын қолданғанда, келесі ережелерді есте ұстаған жөн:


  1. Case сөзінен кейінгі өрнек мәні дискретті типке (лат. discretus — үзікті, өсуі не кемуі бойынша бөліп алуға болатын) жатуы тиіс; бүтін санды тип үшін ол integer болады;

  2. Операторлар алдындағы тұрақтылар типі селектор-өрнек типімен бірдей болуы керек;

  3. Тұрақтылар мәндері бір-бірінен айрықша болып, қайталанбауы тиіс, олардың мәні диапазонға сәйкес келгенде де, бір-бірімен қиылыспай өз аралықтарын ғана қамтуы қажет.

Мысал:

case x of

1: Write(‘дүйсенбі’);

2: Write(‘сейсенбі’);

3: Write(‘сәрсенбі’);

4: Write(‘бейсенбі’);

5: Write(‘жұма’);

6: Write(‘сенбі’);

7: Write(‘жексенбі’);

end;
ҚАЙТАЛАУ ОПЕРАТОРЛАРЫ

Көп жағдайда аргументтердің әр түрлі мәні бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін циклдік құрылымды алгоритмдер — қайталау операторлары қолданылады. Олар әр түрлі заңдылық негізіндегі ереже бойынша құрылады.

Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар: арифметикалык цикл —FOR, шартын алдын ала тексеретін цикл — WHILE және шартты соңынан тексеретін цикл —REPEAT.

Егер шартын алдын ала тексеретін циклдегі операторды (немесе құрама операторды) неше рет қайталау керек екендігі белгісіз болып, оның тек қайталану (аяқталу) шарты берілсе, онда WHILE, REPEAT операторлары пайдаланылады. Ал FOR операторы қайталану саны алдын ала белгілі болған кезде қолданылады.

WHILE операторы. Алдын ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (оқылуы - уаил, аударылуы: әзірше) және DO (оқулы- ду, орындау болып аударылады) түйінді сөздері қолданылып орындалады.

WHILE <қайталану шарты> DO <цикл тұлғасы>; мұндағы қайталану шарты — логикалық өрнек, цикл тұлғасы — қайталанып орындалып отыратын қарапайым немесе құрама оператор. Цикл әрбір орындалар алдында қайталану шартының мәні есептеледі, егер ол ақиқат — true болса, цикл тұлғасы орындалады да, шарт қайта тексеріледі. Қайталану шарты жалған — false болса, циклді орындау доғарылып, while операторынан кейінгі жолдар атқарыла бастайды.

WHILE операторынын жазылу пішімі мен орындалуын төмендегідей түрде де оңай бейнелеуге болады.

WHILE <шарт>

DO

BEGIN



<1-оператор;>

<2-оператор;>

...


END;
Енді мысалдар қарастырайық.



1-мысал. Пернетақтадан енгізілген сандардың қосындысын табу программасын құр.
program kosjndy;

const


limit = 10; {Енгізілетін сандардың шектелуі}

var


count, item, sum: integer;

begin


count:=0; {Енгізілетін сандарды санау}

sum:= 0; {сандар қосындысы}

while(count{Циклдін қайталану шарты}

begin


count := count + 1;

write(count, ‘-ші бүтін санды енгізіңдер’);

readln(item); {Кезекті санды пернетақтадан енгізу}

sum := sum + item;

end;

write(‘Енгізілген сандардың қосындысы =’, sum);



end.

Бұл мысалда тұрақтыларды сипаттау бөліміндегі limit тұрақтысы енгізілетін сандарды шектеу рөлін атқарады. Айнымалыларды сипаттау бөліміндегі count, item, sum айнымалылары бүтін сандық типте көрсетілген.

Программа басында енгізілген сандарды санайтын count (санауыш) айнымалысы мен қосынды — sum нөлге теңестіріледі де, одан кейін 10 сан ентізіліп, оларды біртіндеп санау мен жинақтап қосу жүзеге асырыла бастайды.

Алдын ала WHILE операторы count<10 шартын тексереді. Шарт ақиқат болса, яғни орындалса, цикл тұлғасы болып келетін құрама оператор атқарылады, онда кезекті сан енгізіліп, қосынды осы сан мөлшеріне көбейеді. Сонан соң қайтадан цикл операторы орындалып шарт тексеріледі, ол ақиқат болса, тағы да цикл қайталанады т.с.с.



REPEAT операторы. REPEAT қайталау операторы WHILE операторына ұқсас, айырмашылығы — қайталану шарты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі — цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады (while операторында керісінше болатын). REPEAT операторы төмендегі түрге ие:

repeat s until p;

Бұл операторды орындау кезінде алдымен цикл денесі (s) орындалады, содан кейін шарт (р) тексеріледі. (р) шарты жалған болса, цикл денесі тағы да орындалады, т.с.с. цикл денесі шарт (р) ақиқат болғанша орындалады.

WHILE және REPEAT цикл операторларының айырмашылығын түсіну үшін 1 мен 300 аралығында жатқан 3 санының дәрежелерін есептейтін программа үзіндісін келтірейік.



WHILE циклы REPEAT циклы

a:=1; a:=1;

while a<300 do repeat

begin Writeln (a);

Writeln (a); a:=a*3

a:=a*3 until a>=300

end;
FOR операторы. Циклдегі операторларды қайталау саны алдын ала белгілі болған жағдайда FOR операторы қолданылады. Бұл оператор параметрлі цикл операторы деп те аталады, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрі қызметін атқаратын басқару айнымалысы арқылы беріледі. Пара­метр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындауды атқарады.

Оператор FOR сөзінен басталатын оның тақырыбынан, цикл тұлғасынан тұрады.

Оның жазылуы екі түрде болады:

for <айнымалы>:= to do <оператор>;

for <айнымалы>:= downto do <оператор>;

Мұндағы, S1 және S2 — цикл параметрінің алғашқы және сонғы мәндерін анықтайтын өрнектер; for ... do — цикл тақырыбын анықтайтын түйінді сөздер; <оператор> — цикл тұлғасы.

FOR — үшін, TO — дейін, DO — орындау деген мағынаны беретін түйінді сөздер. Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда ТО немесе DOWNTO (DOWN — төмен, ТО — дейін, DOWNTO — кері қарай) түйінді сөздері пайдаланылады. Егер қадам +1-ге тең болса, онда опе­раторда ТО, ал қадам -1-ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сан түрінде немесе өсуі, кемуі бойынша реттелетін болуы тиіс, әйтпесе оларды бүтін мән беретін арифметикалық өрнек түрінде жазуға да болады. Цикл тұлғасы (блок-схемадағы <оператор>) жай немесе құрама оператор болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәнінен соңғы мәніне дейінгі аралықты бірлік қадаммен қайталап өтпей тоқталмайды.

Цикл тақырыбы:



  • басқару айнымалысының (цикл параметрі) өзгеру диапазонын және цикл ішіндегі операторлардың қайталану санын;

  • цикл параметрінін өзгеру бағытын (өсуі — to, кемуі — downto) анықтайды.

Мысалы:

for k:=1 to 100 do Read (M[k] ); {Жиым элементтерін оқу}

for k:=10 downto 1 do Write (M[k]); {Жиым элементтерін жазу}

FOR операторы алғаш орындалардан бұрын S1 және S2 өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни <цикл параметрі>:=S1 операторы жүзеге асырылады.

Осыдан кейін цикл ішінде келесі әрекеттер орындалады:


  1. <цикл параметрі>S2 шарты тексеріледі (S1S2 шарты тексеріледі (S1>S2 үшін).

  2. Егер шарт жалған болса, онда FOR циклі ішіндегі операторлар орындалады. Ал, егер шарт орындалса, яғни ол ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейін тұрған жол атқарыла бастайды.

  3. Басқару айнымалысының мәні 1-ге өседі (to) немесе 1-ге кемиді (downto) де, әрі қарай FOR операторы қайталанып орындала береді.

  4. Цикл орындалуы барысында оның параметрінің мәнін өзгертуге болмайды (мысалы, меншіктеу операторы көмегімен).

Күрделі циклдер. Егер бір цикл тұлғасында басқа циклдік құрылым бар болса, онда олар қабатталған циклдер деп аталады. Құрамына басқа цикл кіретін цикл сыртқы болып саналады да, сыртқы цикл тұлғасына кіретін цикл ішкі болып есептеледі.

Көптеген есептерді шығару үшін бірінің ішіне бірі қабаттасқан осындай күрделі циклдерді пайдалануға тура келеді. Мұндай программаларда ішкі цикл толығымен сыртқы циклдің ішінде орналасуы қажет. Ішкі цикл құрамында басқа да ішкі циклдер болуы мүмкін.

Күрделі циклдер қарапайым while, repeat, for циклдері сияқты құрыла береді, бірақ қабатталған циклдер құру кезінде мына ережені есте ұстау қажет: ішкі циклдің барлық операторлары сыртқы циклдің ішінде орналасуы тиіс.

Күрделі циклдің құрылымын төмендегі көбейту кестесін жасау мысалынан көруге болады. Бұл мысалда for операторы пайдаланылады да, 2-ден 9-ға дейінгі көбейту кестесі бір бағанаға шығарылады.

Program kobejtu_kestesil;

var i, j : byte;

begin

for i := 2 to 9 do



begin

for і:= 1 to 10 do

writeln (i,’x’,j,’=’, i*j);

writeln


end

end.


Пунктуациялық ережелер

Операторларды жазу кезінде жазу ережесі сақталуы тиіс:

l.Uses, label, type, const, var түйінді сөздерінен кейін нүктелі үтір қойылмайды, ол сол сөздерден кейінгі сипаттау символдары өткен соң қойылады.


  1. Нүктелі үтір таңбасы begin сөзінен кейін және end сөзінің алдында қойылмайды, өйткені бұл сөздер оператор емес, тек операторлық жақшалар болып саналады.

  2. Нүктелі үтір таңбасы операторларды бір-бірінен ажырату үшін қажет, ол оператордан соң қойылмаса, компилятор қате деп санайды.

  3. Цикл операторларында while, repeat, do түйінді сөздерінен кейін және until сөзінің алдында нүктелі үтір қойылмайды.

  4. Шартты операторларда then сөзі мен else сөзінің алды, артына нүктелі үтір қойылмайды.


4-ДӘРІС. Айнымалылардың алдын ала аныкталған типтері (қарапайым).

  • Типтердің иерархиясы. Қарапайым типтер.

  • Нақты. Бүтін. Символдық. Логикалық (бульдік).

  • Интервалдық (аралық тип). Саналатын.

Тілдің қарапайым объектілеріне «сан», «идентификатор», «тұрақты», «айнымалы», «функция» және «өрнек» үғымдары кіреді. Программадағы негізгі амалдардың орындалуына керекті мәліметтердің сандық, логикалық немесе символдық (литерлік) мәндері болады. Олармен жұмыс істеу колайлы болу үшін алгебра курсындағы белгілеулерге ұқсас шартты атаулар пайдаланылады. Бұл атаулар әр түрлі мәндерді (сандық мән, символдық мән т.б.) қабылдауы мүмкін, сондықтан оның типі деген ұғым енгізіледі.

1. Сандар. Сандар мен айнымалылар бүтін және нақты болып бөлінеді. Бүтін сандар: +4, -100, 15743, 0 т.б. Разрядтылығы 16 биттен тұратын дербес компьютер үшін қолданылатын бүтін сандар (ағылшынша INTEGER) -32768-ден +32767 дейінгі аралықта ғана жазылады, бұдан үлкен сандар нақты сандарға айналдырылады.

Паскаль тілінде ондық және он алтылық бүтін сандар пайдаланылады. Он алтылық сандардың алдына $ белгісі қойылады. Мысалы, $АВС немесе $8В2.



Нақты сандар кәдімгі табиғи аралас сандар тәрізді санның бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады. Мысалы: 2.65, 0.5, -0.862, -6.0. Ал өте үлкен немесе өте кіші нақты сандар көрсеткіші бар экспоненциал сандар ретінде mЕ±р түрінде жазылады да, олардың диапазоны әлде қайда кең болады, мүндағы т — санның мантиссасы деп аталады; Е — оның дәрежесі дегенді білдіреді; р — дәреженің сандық мәні.

Дербес компьютерде нақты сандар (REAL) 2.9Е-39-дан 1.7E+38-ге дейін өзгере алады. Мәндері бұл аралықта болмайтын сандар үшін арнайы тәсілдер қолданылады.



2. Атау — идентификатор (identificationобъектінің белгілі бір символдар тіркесіне сәйкестігін бекіту) программаны және программадағы тұрақтыларды, типтерді, айнымалыларды, функцияларды, файлдарды т.б. белгілеп жазу үшін қажет.

Идентификаторлар тұрақтыларды, айнымалыларды, олардың түрін, функцияларды, программаларды, процедураларды, файл­дарды т.б. программа объектілерін белгілеу үшін қолданылады. Идентификатор міндетті турде әріптен басталатын сандар мен әріптердің тізбегінен тұратын атау. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені атауларды теру және кейіннен есте сақтау біраз уақыт пен жады көлемін қажет етеді. Бірақ оларды өте қысқартпай, мағынасына сәйкес атау беру қалыптасқан. Мысалы: X, XI, СУММА, P23PS6, DT54AS, ALFA, baga2, SALMAK, OMEGA2 т.б.

Идентификатор стандартты және бейстандартты (өзіміз берген атау) болып бөлінеді. Бейстандартты атауды тұтынушы (компьютерді пайдаланушы адам) өзі тағайындайды.

Тілді алғаш жасаушылар стандартты атауларды кейбір тіл элементтері типтерінің, шамалардың (тұрақты, айнымалы), стандартты функциялардың, процедуралардың атауларын алдын ала баршаға түсінікті етіп белгілеу үшін енгізген, оларды тек сол өз мағынасында қолдануымыз керек. Мысалы, REAL (нақты сан), INTEGER (бүтін сан), VAR (айнымалы), CONST (тұрақты), SIN, COS (тригонометриялық функциялар), EXP, LOG (математикалық функциялар), FALSE, TRUE (логикалық мәндер) т.б. ағылшын тілінің қысқартылған сөздері. Паскаль тілінде программа жазуда қолданылатын басқа да түйінді сөздер жай атаулар ретінде қолданылмайтын стандартты идентификаторлар болып есептеледі. Олар: AND, ARRAY, BEGIN, END, CASE, CONST, VAR, PROGRAM, IF т.б.

Өзіміздің тұрақтыларға және айнымалыларға беретін атауларымыз стандартты идентификаторлардан өзгеше болуы тиіс, мысалы: L12, BAGA, SYT, F105, МАТА. Біз мысал келтіріп, қарастырып отырған тіл — Тurbo Pascal деп аталатын дербес компьютерге арналған Паскаль программалау тілінің бір нұсқасы, мұнда идентификаторлар тек латын алфавитінің үлкен не кіші әріптері және цифрларды ғана пайдалануға рұқсат етілген.

Тұтынушылар қойған бейстандарт атауларға әркім өз қалауынша тағайындаған шама атаулары, яғни стандартқа кірмейтін иден­тификатор жатады. Олар төмендегі талаптарға сай құрылуы қажет:



  • Атау тек латын әріптерінен (астын сызу «_» белгісі де әріп болып саналады) басталуы тиіс. Тек белгілер (label) атауы ғана цифрдан да, әріптен де бастала береді;

  • Атаудың алғашқыдан кейінгі символдары әріптерден, цифрлардан немесе астын сызу белгісінен тұруы мүмкін;

  • Қатар орналасқан екі атау арасында кем дегенде бір бос орын белгісі болуы қажет;

  • Атаудағы символдар саны 127-ден аспауы қажет;

  • Атауда бас әріптер мен кіші әріптерді қатар пайдалануға рұқсат етілген, олардың ішкі кодтары әр түрлі болғанымен транс­лятор үшін ешбір айырмасы жоқ болып саналады. Бірақ мұны да ұтымды пайдаланған жөн, мысалы, ZatNomеri, BujmBagasу т.б.

3. Тұрақты немесе константа деп программаның орындалу барысында мәндері өзгеріссіз қалатын шамаларды айтады.

Тұрақтыға программаның орындалу барысында бірден сандық мән берсек те немесе оны программаның сипаттау бөлімінде идентификатор түрінде белгілеп алып, мән берсек те болады. Олар сандық, символдық, логикалық және тіркестік (integer, real, boolean, char, string) мәндерді қабылдай алады. Логикалық түрдегі тұрақтылар — true (ақиқат) немесе false (жалған) мәндерінің біріне ие бола алады.

Символдық және тіркестік (string) мәндер үшін орыс, қазақ алфавитінің әріптерін және кез-келген символдарды пайдалануға болады. Олар апостроф ішіндегі таңбалармен (литерлермен) жазылады, мысалы: ‘S=’ , ‘қосындысы’ , ‘функцияның мәні’ және т.б.

Тұрақтыларға мысалдар:



  • бүтін: х= -25; y = 1936; z= 123;

  • нақты: х=2.14; y=4Е15; z=-0.5Е-12; beta =-250.0;

  • символдық: s=’c’; sl=’h’; s2=’9’;

  • логикалық: B1= true; B2 = false;

  • тіркестік: С =’Turbo Pascal’;

Тұрақтыларға бейстандарт идентификаторлар атау ретінде берілуі тиіс. Егер программада оны құрастырған иесінің атауы бірнеше рет кездесетін болса, онда оны тұрақты түрінде берген жөн, өйткені бұл атау кейіннен өзгеріске ұшырамайды.

Барлық тұрақтылар программаның сипаттау бөліміндегі const түйінді сөзінен басталатын бөлікте көрсетілуі тиіс. Оның жазылу пішімі (формасы) төмендегідей:

const

Mening_atim = "Бакыт Бөрібайұлы";



Max = 1000;

Міn = 0;

Mektep_nomeri = 121;

4. Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әр уақытта әр түрлі мәнге ие бола алады. Айнымалылардың белгіленулері: ALFA, Ү, ХЗ, KOSINDI, BAGA, A1B8 т.б. Айнымалы атауы оның орындайтын міндетіне сәйкес түсінікті және қарапайым болғаны жөн. Айнымалылар атауы сипаттау бөлімінде var түйінді сөзінен кейін орналасады да, атауынан кейін қос нүкте қойылып, айнымалының типі көрсетіледі. Оның жазылу пішімі:

var <идентификатор> : <тип>

Мысалы:

Var А, В : integer;



Sum, baga : real;

Айнымалылар қарапайым және индексті болуы мүмкін. Қарапайым айнымалылар өз атаулары бойынша жазылады. Мысалы, delta, х, у, result, number_of _ student.



МӘЛІМЕТ ТИПТЕРІ

Программада пайдаланылатын мәліметтердің немесе шамалардың мәндері Паскаль тіліндегі алдын ала келісілген типтердің біріне тән болуы тиіс.



Мәліметтердің немесе шамалардың muni деп, олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтауды айтады, яғни тип дегеніміз шамалардың қабылдайтын мәндеріне берілетін сипаттама.

Мәліметтердің әрбір типі тек өзіне ғана сәйкес келетін операциялар жиынын орындата алады. Мысалы, 1 мен 2 мәндері бүтін сандар типіне жатады, оларды қосуға, азайтуға, көбейтуге және бөлуге болады. Ал, «IBM» және «PC» мәндері сөз тіркесі типіне жатады, бұларды біріктіріп жазуға ғана болады («IBM PC»). Қосуға, азайтуға, көбейтуге, бөлуге болмайды. Кез келген тұрақты, айнымалы, функция немесе өрнек өзіне тән бір типпен ғана сипатталады. Паскаль тілінде шамалардың типін көрсету міндетті болып табылады. Сондықтан программа алдында оның сипаттау бөлімінде пайдаланылатын барлық шама атаулары және оның типтері көрсетілуі қажет.

Паскаль тілінде пайдаланылатын барлық типтер скалярлық (қарапайым) және құрылымдық (структуралық) болып үлкен екі топқа бөлінеді. Скалярлық (қарапайым) типке шамалардың стан­дартты типі және жасанды тип (тағайындаған) жатады. Стандартты типтерге:


  • бүтін - INTEGER;

  • нақты — REAL;

  • логикалық — BOOLEAN;

  • символдық – CHAR;

  • жолдық - STRING.

Құрылымдық типтегі жиымдар — ARRAY, жазбалар — RE­CORD, жиындар — SET және файлдар — FILE түрлеріне бөлінеді.

Бұлардан өзге типтер программаның типтерді сипаттау бөлігінде анықталуы қажет. Тұрақты сандардың типін олардың сыртқы пішініне қарап-ақ ажыратуға болады, ал айнымалылар мен функциялар типтері программаның сипаттау бөлімінде көрсетіледі.

Логикалық шамалар екілік сандар жүйесіне сәйкес «1» және «0» деген мәндерді ғана қабылдайды. Мұндағы «1» тексерілетін белгілі бір шарттың — логикалық тұжырымның орындалатынын, яғни ақиқат екенін, ал «0» сол шарттың орындалмайтынын — түжырымның жалған екенін көрсетеді. Бұл екі мән программада ағылшын тіліндегі айтылуына сәйкес true (1) және false (0) болып жазылады.

Символдық шамалар апострофқа алынған бір символды ғана мән ретінде қабылдай алады, мысалы, R’ ‘Л’ ‘% т.б. Бірақ әрбір таңбаны оның кодына байланысты реттелген бүтін сандармен де өрнектеу мүмкіндігі бар.

Мәліметтердің қарапайым түрлерін стандартты типтер деп атау қалыптасқан. Стандартты типтердің real түрінен өзгелері реттелген деп аталады, өйткені оларды бүтін сан арқылы өрнектей отырып, өсуі не кемуі бойынша реттеп орналастыруға болады.

Стандартты типтер. Паскаль тілінде төмендегі қарапайым типтер пайдаланылады:


  • бүтін типтер - SHORTINT, INTEGER, LONGINT, BYTE, WORD;

  • нақты тип — REAL, SINGLE, DOUBLE, EXTENDED, COMP;

  • логикалық— BOOLEAN;

  • символдық — CHAR;

  • саналатын тип;

  • аралық (диапазонды) тип.

Бүтін сан түріндегі типтер. Паскаль тілінде бүтін шамалар үшін бес стандартты тип пайдаланылады. Олар 2-кестеде көрсетілген.

2-кесте

Бүтінсанды тип

Мәндер диапазоны

Қажетті жады

Integer

-32768..32767

2

ShortInt

-128..127

1

LongInt

-2147483648..2147483647

4

Byte

0..255

1

Word

0..65535

2


Нақты сан түріндегі типтер. Ондық сандар бүтіні мен бөлшегін бөлетін үтірі жылжымалы және тұрақты түрде жазылады. Үтірі тұрақты ондық сандар кәдімгі математикадағыдай жазылады, бірақ үтір орнына нүкте қойылады. Мысалы, 25.48, -127.25, 0.67, -8.0. Үтірі жылжымалы ондық сандар дәрежелік көрсеткіші берілген экспотенциалды түрде жазылады, мысалы, -1.25Е + 12 (1,25*1012), 1.3Е-05 (1,3*105) т.б. Олар 3-кестеде көрсетілген.

3-кесте



Нақты тип

Мәндер диапазоны

Мантиссаның цифрларының саны

Қажетті жады


Real

2.9E-39..1.7E38

11-12

6

Single

1.5E-45..3.4E38

7-8

4

Double

5.0E-324..1.7E308

15-16

8

Extended

1.9E-4951..1.1E4932

19-20

10

Comp

-2E+63+1..2E+63-1

19-20

8


Логикалық типтегі (BOOLEAN) шамалар, негізінен, екі мән қабылдайды — TRUE (ақиқат) және FALSE (жалған), олар компьютер жадында бір байт орын алады.

Символдық типтегі (CHAR) шамалар мән ретінде тек бір таңбаны ғана қабылдай алады. Мәннің символ екендігін көрсету үшін оны апостроф ішіне алып жазады. Мысалы, ‘а’ , ‘һ’ , ‘5’, ‘*’, т.б.

Жолдық типтегі шамалар (STRING) апостроф ішіне алынған символдар тізбегін қабылдайды. Мысалы, "компьютер", "универ­ситет", "main", "#&*" т.б.

Саналатын тип стандартты типке жатпайды, ол параметрлердің мәніне сәйкес келетін атаулар (идентификаторлар) тізімінен тұрады. Атаулар тізімі үтір арқылы ажыратылып, жай жақша ішіне жазылады. Мысалы:

атау = (1-идентификатор, 2-идентификатор,..., n-идентификатор);

kynder = (дүйсенбі’, ‘ сейсенбі ‘, ... , ' жексенбі );

Идентификаторлар орналасқан орны бойынша 0-ден бастап номерленеді. Бір идентификатор тек бір ғана саналатын типті көрсетеді.



Диапазондық немесе аралық тип. Мұнда көрсетілген шама қабылдай алатын мәннің алғашқысы (ең кіші) мен соңғысы (ең үлкен) екі нүкте арқылы бөлініп көрсетіледі.

Мысалы:


атау = <алғашқы мән>..<соңғы мән>;

Программада мынадай шамалар кездесуі мүмкін:

Apta_kunderi = 1..7; Aj_kunderi = 1..31;

Бұл типтегі шамалар көрсетілген алғашқы және соңғы мәнге дейінгі немесе олардың арасында жататын кез келген бөлігін пайдалана алады.

5-ДӘРІС. Айнымалылардың алдын ала анықталган типтері (кұрылымдық).


  1. Құрылымдық типтер.

  2. Жолдық.

  3. Массивтер.

  4. Жиындар.

Қарапайым типтер сақтауға жадының бір ғана ұяшығы жұмсалатын қарапайым мәндерге есептелген. Дегенмен, әртүрлі есептерді программалау кезінде логикалық байланысқан қарапайым мәліметтер жиынтығымен амалдауға тура келеді. Құрылымдық типтер қарапайым мәндерді күрделі құрылымдарға біріктіруге мүмкіндік береді. Құрылымдық типтерге массивтер, жазбалар, жиындар, файлдар және объектілер жатады.

Массивтер

Құрылымдық типтердің бірі – массив. Массив - базалық деп аталатын бір типті элементтердің бекітілген санынан тұратын байланысқан мәліметтер жиынтығы. Массивті анықтау үшін оның базалық типін, және де массивтегі элементтердің санын және оларды номерлеу әдісін көрсету жеткілікті. Массивтің жеке элементтеріне қатынас жасауға болады – ол үшін массив атауы мен қажетті элементтің номерін (индексін) көрсету жеткілікті.

Массивті сипаттау келесі түрге ие:

Type


s=array[i] of a

Мұндағы ARRAY және OF - массив және осыдан мағынасы бар резервтелген сөздер; s – массив атауы; i – индекстер типі (тік жақшаға алынады); a – массив элементтерінің типі (базалық тип). Массив элементтері кез-келген типті мәндер бола алады. Массивті индекстеу үшін Turbo Pascal-да мәліметтер типі қолданылады. Бұл бүтінсанды типтерлің кез-келгені (LongInt-тен өзгесі), Char және Boolean, сол сияқты саналатын және аралық типтер (LongInt негізіндегі аралық типтен өзгесі) бола алады. Нақты типтер массивтерді индекстеуге жарамайды. Төменде массивтерді сипаттау мысалдары.

Var

a1:array [byte] of Boolean;



a2:array [char] of Boolean;

a3:array [Red, Yellow, Green] of char;

a4:array [1..100] of integer;

Мұндағы а1 - boolean типті 256 (0..255) мәннен тұратын массив. а2 – бұл да 256 boolean типті мәннен тұратын массив, дегенмен, а1 массивінен айырмашылығы ол char типті мәндермен индекстеледі. а1 және а2 массивінің жеке элементтеріне қатынас жасау төмендегідей болады.

а1[90]:=false;

a2[z]:=true;

а1 және а2 массивтерінің мазмұны келесідей бола алады:

1-ші элемент 2-ші элемент 3-ші элемент ... 256-ші элемент

True False True False

(а1 массивінің 1-256 элементтері 0-ден 255-ке дейінгі сандармен белгіленетін болады, ал а2 массивінің элементтері – ASCII кестесінің символдарымен реті бойынша белгіленеді).

Үшінші мысал (а3) char типті үш элементтен тұратын массив болып табылады. Бұл массивтің элементтері Red, Yellow және Green атауларымен белгіленеді (мұнда интекстеу үшін саналатын тип қолданылған). Бұл элементтерге қатынас жасау мысалдарын 5-кестеден көруге болады.

5-кесте


Әрекет мысалы

Түсініктеме

a3[Red]:=chr(100)

а3 массивінің Red элементіне “d” әрпіне сәйкес келетін char типті мән меншіктеледі.

a3[Red]:=’d’

алдыңғы оператордың эквиваленті

Write(a3[Yellow])

a3 массивінің Yellow элементінің мәні экранға шығарылады

Read(а3[Green])

a3 массивінің Green элементінің мәніy пернетақтадан енгізу

а3 массивінің мазмұны төмендегідей көріне алады.

a3[Red] a3[Yellow] a3[Green]

‘A’ ‘$’ ‘8’

Төртінші мысал (a4 массиві) – бұл Integer типіне жататын 100 элементтен тұратын массив.

Мұнда индексті тип аралық тип (интервалды, диапазондық) тип болып табылады. (Осы аралық тип массивтерді индекстеу үшін өте жиі қолданылады, себебі индекстердің өзгеру шекарасын ең көрнекі түрде көрсетеді).

Массивтердің индексін тек айқын түрдегі мәндермен ғана емес, сол сияқты айнымалы, өрнек түрінде де беруге болады. Айталық қандай-да бір программада а5 және і айнымалылары жарияланған болсын.

Var


a5:array[1..20] of integer;

i:integer;

Содан кейін а5 массивінің элементтері мен і айнымалысына қандай-да бір мәндер берілді. Осыдан кейін программада а5 массивіне келесі қатынастар бола алады.

a5[i+1];


a5[2*i];

a5[i/2-5];

a55[22-i];

Мұнда тік жақшалардағы өрнектің мәндері (яғни индекстерінің мәндері) мүмкін мәндер шекарасынан (біздің жағдайымызда 1..20) асып кетпеуі керек.

Және де массивтерді тек жасырын типтер ретінде ғана емес, сол сияқты жеке атауы бар типтер ретінде типтерді сипаттау бөлімінде жариялауға болады.

Type


LogScale=array[1..100] of boolean;

Var


a1:LogScale

Массивтер жолдарға өте ұқсас. Шыныда да массив те жолдар сияқты біртипті элементтердің тізбегі, дегенмен, егер жол символдары тек Char типті мәндерден тұрса, ал массив элементтері әртүрлі типтерге жата алады, қарапайымдарға да, құрылымдық типтерге де.

Жолдардың және массивтердің жеке элементтеріне қатынас жасау бірдей – ол үшін жолдың немесе массивтің атауы мен индексін көрсету жеткілікті.

Дегенмен, айырмашылықтары да бар.

Егер жолдың ағымдағы ұзындығын өзгертуге болса, массивпен мұны жасай алмаймыз.

Жолдың ұзындығы 255 символмен шектелген болса, массив мұндай шектеулер жоқ.

Жене де жолдың ұзындығын бір ғана оператордың көмегімен енгізуге немесешығаруға болады (мысалы, Read(X) немесе Write(X), мұндағы Х – String типті мән), ал массивпен мұны жасауға болмайды.

Осы қарастырған массив бірөлшемді массив болып табылады. Оны басқаша вектор деп те атайды.

Мысал:

Бірөлшемді массивті енгізу және экранға шығару.



Program Mas1;

Var


A:array[1..20] of integer;

i, n:integer;

begin

Write(‘массивтегі элементтер санын енгіз ’);



ReadLn(n);

For i:=1 to n do

Begin

Write(‘A[‘, I, ‘]=’);



Readln(A[i]);

End;


For i:=1 to n do

Write(A[i]);

Readln;

End.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   21




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет