Turbo Pascal бағдарламаларында бір циклдің ішінде екінші цикл, оның ішінде үшінші цикл т.с.с. бір-біріне қабаттастырып ұйымдастыруға болады. Егер бір циклдің денесінің құрамында басқа бір циклдер болса, ондай циклді сыртқы цикл дейді. Ал цикл басқа бір циклдің құрамында болса, ондай циклді ішкі цикл дейді. Сыртқы және ішкі циклдерді ұйымдастыру тәртібі жай циклдерді ұйымдастыруға ұқсайды. Тек қана мынадай ережені еске сақтаған жөн: "Ішкі циклдердің барлық операторлары сыртқы циклдің денесінде болуы шарт". Цикл ішіндегі циклдердің орындалу тәртібі мынадай:
Алдымен сыртқы циклдің параметрінің алғашқы мәні бойынша сыртқы циклдің орындалуының шарты тексеріледі, егер сыртқы циклдегі шарт орындалса, онда басқару цикл денесіндегі ішкі циклге беріледі.
Ішкі циклдің параметрлерінің барлық мәндері бойынша ішкі циклдің орындалуы толық тексерілгеннен кейін басқару сыртқы циклге беріледі.
Сыртқы циклдің параметрінің келесі мәні бойынша сыртқы циклдің орындалуының шарты тексеріледі, егер сыртқы циклдегі шарт орындалса, онда басқару қайтадан ішкі циклге беріледі.
4.5. Санақты және шектеулі типтер
Паскаль бағдарламаларында айнымалыларды стандартты типтерден басқа бағдарламалаушылардың өздері анықтайтын скалярлық типтермен сипаттауға болады. Скалярлық типтер машина жадынан 1 байт орын алады, сондықтан бұл типтердегі элементгер саны 256-дан аспауы тиіс. Бағдарламаларда скалярлық типтердің қолданылуы түрлі типтерге әртүрлі амалдардың орындалуын қамтамасыз етеді (мысалы DIV, MOD сияқты тек қана бүтін типтерге қолданылатын функцияларды басқа типті шамаларға қолдануға болады), бағдарламалық текстің көрнекілігін арттырады, қателерді жөндеуді жеңілдетеді, бағдарламаның жадын үнемдеп, оның дискіден алатын орнын азайтады. Бұл типтерге санақты және шектеулі типтер жатады.
Санақты типтерге мәндері белгілі бір тәртіппен реттелген және белгілі бір мөлшерге дейін тізбектеліп берілетін скалярлық типтер жатады. Санақты тип атауынан кейін қос нүкте (егер VAR бөлімінде сипатталса) немесе тең (егер TYPE бөлімінде сипатталса) символы қойылып, жай жақша ішінде тұрақтылар тізімі жазылады. Тип атауы мен тұрақтылар ретінде идентификаторлар қолданылады. Бұл типтің айнымалылары осы тұрақтылардың кез-келгенін қабылдай алады. Тұрақтылардың әрқайсының өзінің реттік нөмірі болады. Тізімде бірінші тұрған тұрақтының нөмірі 0-ге тең, екінші тұрған тұрақтының нөмірі 1-ге тең, үшіншінікі - 2-ге тең, төртіншінікі -3-ке тең, т.с.с. Мысалы X айнымалысының мәндері тек апта күндерінің аттарын ғана қабылдайтын болса, онда айнымалы мәндері типтер бөлімінде төмендегідей сипатталады да, күндер аттары 0-ден 6-ға дейін ретгік нөмір қабылдайды:
TYPE Kun=(duisenby, seisenby, sarsenby, beisenby, juma, senby,jeksenby);
Х-тің қабылдай алатын мәндерін бірден айнымалылар бөлімінде сипаттағанда жазып кетуге болады, ол үшін айнымалыдан кейін жай жақшаның ішіне тұрақтыларды тізіп қойса жеткілікті, мысалы:
VAR X:(duisenby, seisenby, sarsenby, beisenby, juma, senby, jeksenby);
Шектеулі тип деп мәндері белгілі бір аралықтағы шамаларды ғана қабылдайтын айнымалылардың типін айтады.
Бағдарламалауда шектеулі типтерді қолданғанда келесі ережелерді ескерген жөн:
1. Шектеулі тип шекараларындағы тұрақтылар бір типті болуы тиіс.
2. Негізгі типке нақтыдан басқа барлық типтерді қолдануға болады.
3. Бастапқы шекараның мәні соңғы шекара мәнінен аспауы тиіс.
4. Егер шектеулі типтің мәндері санақты болса, онда оның негіздік типін төмендегі мысалдағыдай алдын-ала типтер бөлімінде сипаттап алу керек.
TYPE Alfavit= 'A'..'Z'; Element=(Ge,C,O,N,Na,K,Li,Cu,Zn);
VAR
Him:Ge..Zn; // Him Ge-ден Zn-ке дейінгі элементтер атын қабылдай алады.
Gas: Ge.. N; // Gas Ge-ден N-re дейінгі газ аттарын қабылдай алады.
Metall:Na..Zn; // Metall Na-дан Zn-ке дейінгі металл аттарын қабылдай алады.
Alfavit: 'A'.. 'Z'; // Alfavit А-дан Z-ке дейінгі әріптерді қабылдай алады.
X: 1..256; // X 1-ден 256-ға дейінгі сандарды қабылдай алады.
Бақылау сұрақтары мен тапсырмалар.
Қайталану бағдарламалары дегеніміз не?
Қайталану процестерін ұйымдастыру не үшін қажет?
Қайталану процестерін ұйымдастыру үшін қолданылатын операторлар.
Циклдік операторлар қандай операторлар тобына жатады?
Циклдік операторлардың қандай ерекшеліктері бар?
Цикл денесінің қайталану саны неге байланысты болады?
Мәңгі цикл деп нені айтады?
FOR циклінің жазылуы мен орындалуы.
WHILE циклінің жазылуы мен орындалуы.
REPEAT циклінің жазылуы мен орындалуы.
Кері цикл ұйымдастыру.
Цикл ішінде цикл ұйымдастыру және оның орындалу тәртібі.
Циклдік процесс қандай жағдайда тоқтауы мүмкін?
Санақты және шектеулі типтер дегеніміз не? Мысал келтіріңіз.
Барлық үш таңбалы 5-ке қалдықсыз бөлінетін сандарды табу бағдарламасын For операторымен құрыңыз.
Барлық екі таңбалы 5-ке бөлінетін тақ сандарды шығару бағдарламасын While операторымен құрыңыз.
Экранға бес таңбалы барлық жай сандарды шығару бағдарламасын Repeat операторымен құрыңыз.
Енгізілген 10 санның үлкенін табу бағдарламасын, тек пароль енгізілгенде ғана орындалатындай етіп While операторымен құрыңыз.
Барлық үштаңбалы 15-ке қалдықсыз бөлінетін сандарды шығару бағдарламасын Repeat операторымен құрыңыз.
Барлық екі таңбалы жай сандардың қосындысын табу шығару бағдарламасын While операторымен құрыңыз.