жадыны үнемдейдi және қатенi iздеудi жеңiлдетедi.
Санақтық тип - ие болатын мәндерiнiң тiзiмiмен берiледi. Мәндер тұрақты
болады және жақша iшiнде үтiрмен анықталып жазылады. Мәндердiң тiзiмi
реттелген жиынды құрайды. Бiрiншi мәннiң реттiк нөмерi-ноль, екiншiнiкi-бiр, т.с.с.
Мысалы:
var
planeta:(mars, pluton, saturn, mercury);
kun:(1, 2, 3, 4, 5, 6, 7);
Бұл мысалдағы planeta, kun айнымаларының типi санақтық, себебi,
айнымалыны сипаттау бөлiмiнде var резервтелген сөзiнен кейiн айнымалылардың
қабылдайтын тұрақты мәндерi жақша iшiнде тiзiммен көрсетiлген. Planeta
айнымалысы mars, pluton, saturn, mercury мәндерiне, ал kun айнымалысы 1, 2, 3, 4, 5,
6, 7 мәндерiне ие бола алады.
Жоғарыдағы мысал бойынша planeta, kun типтерiн жасасақ, олар былай
сипатталады.
type planeta = ( mars, pluton, saturn, mercury);
kun = (1, 2, 3, 4, 5, 6, 7);
пайдаланушы жасаған осы типтер айнымалыны сипаттау үшiн былай қолданылады:
var p1, p2,p3 : planeta;
k1, k2 : kun; tys : (ak, kara, sary, kyzyl);
Бұл мысалда type сөзiнен кейiн пайдаланушы жасаған planeta, kun типтерi
сипатталған, яғни, олардың мәндерi ретінде бiрнеше планета мен күндер номері
анықталған.
Ал var сөзiнен кейiн p1, p2, p3 айнымалылары planeta типiмен, k1, k2
айнымалылары kun типiмен сипатталған. Яғни, p1,p2,p3 айнымалылары planeta
типiнiң бiр мәнiне, ал k1, k2 айнымалылары kun типiнiң бiр мәнiне ие болады. Ал
tys айнымалысы ak, kara, sary, kyzyl мәндерiнің бiріне ие болады
Аралықтық тип – берiлген айнымалының қабылдайтын мәндерiнiң төменгi және
жоғарғы шегiн көрсететiн екi тұрақты шаманы анықтайды.
Тұрақтыларға қойылатын талаптар:
1. Тұрақтылар бiр типтi болу керек.
2. Типтер real-дан басқа кез келген скаляр болады.
3. Бiрiншi тұрақты екiншiден кiшi болу керек.
Мысал: type
kunder=1..31;
arip=’а’..’я’
var
d,a: kunder; l: arip
Kunder деген типтi пайдаланушы өзi жасады. Төменгi шегi 1, жоғарғы шегi 31,
типтерi – byte. Осы типтегi d, a айнымалылары 1..31 аралығындағы мәндердiң
бiреуiн қабылдайды. Сол сияқты, arip типiндегi l айнымалысы а..я аралығындағы
әрiптердiң бiрiне ие болады.
Сұрақтар
1. Таңдау операторы қай кезде қолданылады?
2 Таңдау айнымалысы қандай қызмет атқарады?
3. Тандау операторынын жазылу форматы қандай?
4. Тандау операторынын орындалуын түсiндiр ?
5. Тандау операторын пайдалану ережелерi қандай
1. Стандарттық типтердi ата.
2. Пайдаланушының типтерi қай кезде қолданылады?
3. Санақтық тип қалай жазылады?
4. Аралықтық тип қалай жазылады?
№6 зертханалық жұмыс Программалауға модульдық ыңғай.
Циклдер.
Теориялық бөлім
Параметрлi қайталану. Қайталанатын әрекеттердiң саны алдын-ала белгiлi
болғанда For операторы пайдаланылады. Бұл оператор параметрлi қайталану деп
аталады, себебi, қайталану саны параметр немесе басқарушы айнымалы деп
аталатын айнымалының мәнiне байланысты болады. Бұл айнымалыда қайталану
саны көрсетiледi. Қайталанатын әрекеттер цикл денесi деп аталады.
Жазылу форматы:
For <циклдiң параметрi>:= <s1> to <s2> do
<оператор>; { өсу ретімен }
For <циклдiң параметрi> := < s2> downto < s1> do <оператор>;
{ кему ретімен}
Мұндағы: s1, s2 - параметрдiң бастапқы және соңғы мәндерi;
For … do - циклдiң тақырыбы;
<оператор> –цикл денесi.
Цикл денесi жай немесе құрама оператор болуы мүмкiн.
For операторы мынаны анықтайды:
– параметрдiң өзгеру аралығын және цикл денесiнiң қайталану санын;
– параметр мәнiнiң өзгеруiн ( to-өсу, downto-кему);
FOR операторы параметр барлық мәндерiне ие болып бiткенше, цикл денесiнiң
орындалуын қайталауды тоқтатпайды.
Егер s2>s1 болса, цикл денесi (s2-s1+1) рет орындалады.
Егер s1>s2 болса, цикл денесi орындалмайды.
Алғы шартты цикл. Егер iс-әрекеттiң қайталану саны белгiсiз, бiрақ қайталану
шарты белгiлi болса, онда
while немесе
repeat операторлары қолданылады.
While (әзiр) операторында қайталану шарты цикл денесiнен бұрын тексерiледi.
Сондықтан while операторы алғы шартты цикл деп аталады.
Жазылу форматы:
While <қайталану шарты> do
<цикл денесi>
Қайталану шарты – бульдiк (логикалық) өрнек, цикл денесi - жай немесе құрама
оператор. Цикл денесi орындалудан бұрын шарттағы өрнектiң мәнi анықталады.
Егер ол мән true болса, цикл денесi орындалады. Шарттық өрнектiң мәнi тағы да
анықталады, егер нәтижесi false болса циклдың жұмысы аяқталып, while-ден
кейiнгi бiрiншi оператор орындалады.
Кейiнгi шартты цикл. Циклдің бұл түрінде:
- қайталану шарты цикл денесiнен кейiн тексерiледi, сондықтан кейiнгi шартты
цикл деп аталады.
- қайталанатын iс-әрекеттер кем дегенде 1 рет орындалады.
- шарттың нәтижесi true болғанда циклдiң орындалуы тоқтайды.
Жазылу форматы: repeat
<оператор;>
: {цикл денесi}
< оператор;>
until <циклді аяқтау шарты>;
Repeat және
until сөздерiнiң арасындағы операторлар
цикл денесi болады.
Кейiнгi шартты циклдiң орындалу тәртiбi: алдымен цикл денесi
орындалады, одан соң циклден шығу шарты тексерiледi. Егер нәтиже false болса,
цикл денесi тағы да орындалады, егер true болса, циклден шығады.
1-мысал: 999 саны енгiзілгенше бүтiн сандарды енгізе отырып, олардың
қосындысын табу.
…
x: integer; sum: real;
begin
sum:=0;
repeat
write (‘х-тi енгiз’); readln(x);
if x<> 999
then sum:=sum+x;
until x=999;
writeln (‘сандардың қосындысы=’,sum); readln;
end.
Айнымалыларға түсiнiктеме:
х-енгiзiлетiн бүтiн сандар; sum-олардың қосындысы (real);
Бағдарламаның басында қосынды 0-ге теңестiрiледi. Одан соң repeat сөзiмен цикл
ашылады. Цикл денесiнде “х-тi енгiз” сұрауымен х айнымалының мәнi енгiзiледi. If
операторы ол санның 999-ге тең емес екендiгiн тексередi. Егер тең болмаса, Sum
қосындысының мәнiне х саны қосылады. Циклдiң соңындағы until х=999 циклдiң