Альтернатив
Else тармағы
Альтернатив – мүмкін болған екі ұйғарындының бірін ғана талғап алуға мәжбүрлік.
1.5. Паскаль тілінің қайталану операторлары және көмекші
программалары
Қайталау (цикл) операторлары белгілі бір операторды немесе операторлар тобын бірнеше рет орындау мүмкіндігін ұйымдатыруға қолданылады. Қайталанатын операторлар тобы циклдің денесін құрайды. Паскальда циклдің үш түрі бар: for (үшін циклі), while (әзір), repeat (дейін). Қайталау саны белгілі болған жағдайда үшін циклін пайдаланған жөн. Ал қайталау саны белгісіз боғанда әзір, дейін циклдерін қолданамыз, бірақ циклге кіру немесе циклден шығу шарттары белгілі жағайда қолданылады.
1.5.1. Үшін циклінің ұйымдастырылуы
For-do циклі қайталау саны алдын ала белгілі болған жағдайда қолданылады.
Жалпы түрі:
For <айнымалы аты>:=<бастапқы мән> to <соңғы мән> do <цикл денесі>;
For <айнымалы аты>:=<бастапқы мән> downto <соңғы мән> do <цикл денесі>;
Мұндағы бастапқы мән және соңғы мән сан немесе өрнек болуы мүмкін.
For-do қадам оң болғанда, For-downto қадам теріс болғанда қолданылады. For...do циклінде қадам 1-ге, For...downto циклінде қадам 1-ге тең. Толығырақ айтқанда, берілген цикл түрі төмендегідей анықталған:
а) диапазон арқылы басқарушы айнымалы мәні ауыспалы және бір уақытта қайталау саны цикл ішіне жинақталады;
б) ауыспалы мән өзгеріп отырады (өспелі немесе кемімелі);
в) жеке құбылыс әрбір итерацияда орындалады (цикл операторының ішінде).
Үшін цикліне келесі жай мысалды қарастырайық:
For i:=1 to 10 do M[i]:=i*2
Берілген мысалда қайталау циклі 10-ды меншіктейді, сонымен бірге і басқарушы айнымалы 1,2, ..., 9, 10 мәндерін қабылдайды.
Басқарушы айымалыда диапазон мәні өрнекпен берілуі мүмкін және есептеуден алдын цикл орындалады:
for j:=x+2 downto x-2 do
begin
M[j*2-1]:=Func(A, B);
Proc(M, j);
end;
Бұл мысалда j айнымалы мәні жүйелі түрде бастапқы мәннен х+2 соңғы мәнге х-2 дейін қысқартылады.
Үшін циклдің құрылымдық диаграммасы көрсетілген:
Үшін циклінің операторы
Диапазон
Басқарушы айымалыны қолдану кезінде төмендегіше шек қойылады:
Басқарушы айымалыны қолдануда міндетті түрде қарапайым ағымдық блокта жазылуы керек.
Басқарушы айымалы міндетті түрде дискретный тип болуы керек.
Бастапқы және соңғы мән диапазонда тип және типпен бірге басқарушы айнымалы болуы керек.
Басқарушы айнымалы мәнін цикл ішінде өзгертуе тыйым салады (мысалы, меншіктеу операторы).
Егер де цикл операторының орындалуы шартты өту операторымен үзілмесе, онда басқарушы айнымалы мәні цикл соңында анықтамайды,
Басқарушы айнымалыны әрқашан бастапқы мәнді инициализациялайды. Кей жағдайда to қызметші сөзі әрбір басқарушы айнымалының қайталау бірілігінде қолданылады. Егер бастапқы мән соңғы мәннен үлкен болса, онда for операторы ішінде программа орындалмайды. Кейде цикл операторында downto қызметші сөзін қолданса,онда басқарушы айнымалы мәні әрбір қайталау бірлігінде кемиді. Егер бастапқы мән мен соңғы мән тең болса, онда for операторы ішінде программа орындалады. Мысалы:
Program Sholpah;
uses crt;
var s, n, i: integer;
begin clrscr;
read (n); s:=1;
for i:=1 to n do s:=s+1;
writeln (‘s=’,s);
readkey;
end.
For…to (downto)…do циклінің құрылымы 3-суретте көрсетілген.
-
For айнымалы :=< бастапқы
мән> to (downto) <соңғы мән> do
|
|
Оператор 1
.
.
.
оператор n
|
|
3-сурет. For…do (downto)…do циклінің құрылымы.
1.5.2. Әзірге циклін қолданып программалау
Жалпы түрі: while <шарт> do <цикл денесі>;
Мұндағы while - әзірше;
dо - орындау;
While циклінде алдымен шарт тексеріледі. Егер шарт сақталынса (true), онда <цикл денесі> орындалып, қайтадан шарт тексеріледі. Егер де шарт сақталынбаса (false), онда <цикл денесі> орындалмайды, басқару while –дан кейінгі операторға беріледі.
Әзір циклінің синтаксистикалық диаграммасы мынандай.
Әзір циклі.
Бұл құрылымды оператор қайталау операторына жинақталады. Әрбір ішкі оператор бульдік өрнек мәнін тексеріп, қайталау критерийіне қызмет етеді: егер бұл өрнек true мәніне ие болса, онда келесі итерация орындалады, ал керісінше өрнек false мәніне ие болса, онда цикл операторы жұмысын тоқтатады. Егер өрнектің бастапқы мәні falsе болса, онда цикл орындалмайды.
Мысалы:
While M[i]<>0 do i:=i+1;
While…do және Repeat…Until циклдерінің негізгі үш айырмашылығы бар:
Repeat операторында циклден шығу шарты соңында тексеріледі. Сондықтан да цикл денесі, шартқа тәуелсіз, міндетті түрде бір рет орындалады;
While…do операторында шарт жалған (false) болғанда цикл соңына шығады, ал Repeat…Until операторында циклден шығу шарты (true) болғанда қанағаттандырылады;
While…do операторында цикл денесі бір ғана жай немесе құрмалас оператордан тұрады, ал Repeat…Until операторларының арасына бір немесе бірнеше операторлар орналасуы мүмкін.
While…do циклінің жалпы құрылымы:
While <шарт>do
begin
оператор 1;
оператор 2;
.
.
.
оператор n;
end;
While…do циклінің Насси – Шнайдерман құрылымдық диаграммасы
4-суретте көрсетілген.
-
While <шарт>do
|
|
Оператор 1
.
.
.
оператор n
|
4-сурет. While...dо циклінің құрылымы.
Мысалы:
While x<=4 do
begin
if x>0 then y:=sqr(x) else
y:=x+2; writeln (‘y=’,y); end;
Дейін циклін қолданып программалау
Дейін циклі әзір цикліне ұқсас.
Жалпы түрі:
Repeat <цикл денесі> Until <шарт>;
Мұндағы repeat - қайталау;
<цикл денесі> - операторлар тобы;
Until – дейін
Until сөзінің алдына нүктелі үтір (;) қойылмайды.
Мысалы, цикл түрі.
Repeat
Proc 1 (x, y+i);
i:=i-1
Until i=0
Бұл жағдайда і нөлден үлкен болғанға дейін орындалады.
Төмендегі дейін циклінің синтаксистикалық диаграммасы көрсетілген.
Программада цикл құрылымында Repeat…Until операторын (цикл денесі) Repeat және Until сөзін қоршап кейінге сақтайды. Қандай жағдайда да жүйелілік операторы цикл ішінен шығып, бір рет орындалады, содан кейін циклдің аяқталуын тексереді. Егер бұл шарт орындалса, цикл аяқталады. Керісінше жағдайда цикл денесі тағы бір рет қайталанады, содан кейін тағы циклдің аяқталуын шартты түрде тексеріледі. Repeat…Until операторының жазылу формасы төмендегідей.
Repeat
оператор 1;
оператор 2;
.
.
.
оператор n;
until <шарт>;
5-суретте Repeat…Until циклдік құрылымы бейнеленген.
-
repeat
|
Оператор 1
.
.
.
оператор n
|
|
Until <шарт>
|
5-сурет. Repeat…Until циклдік құрылымы.
Ескерту: Repeat және Until сөзін сақтау үшін денесін қоршаймыз.
Мұнда begin…end операторы қажет емес, бірақ оларды қолдануға тыйым салмайды.
With біріктіру операторы
Меншіктеу операторын ықшамды түрде жазу үшін біріктіру операторы қолданылады. Ол программада өрістік элементтерді белгілемелері бойынша ғана өрнектеуге мүмкіндік береді.
Біріктіру оператордың жазылу түрі:
With <жазу атауы> do
Begin
<операторлар>;
End;
Егер With-ге қатысты операторлар құрамы болммаса, онда begin-end жақшалары қолданылмайды.
With операторы іске қосылып , компьютердің өзі өріс айнымалыларын толық атау түрінде қабылдайды.Кейде жазу өрісінің өзі басқа өрістерден тұруы мүмкін.Мысалы, студенттің «аты-жөні» өрісіне оның ішкі өрісі етіп «адресі», «жұмыс стажы» т.б. өрістерді енгізуге болады.
Процедура және функция командалары.
Практикалық есептерде программа құрғанда, ол үлкен программаның белгілі бір бөлігін әр түрлі мәндер бойынша бірнеше рет қайталап пайдалануға тура келеді. Мұндай бір типтес программа бөлігін программаның әр бөлігінде қайталап жаза бермеу мақсатында оны жеке қосалқы программа ретінде бөліп жазған қолайлы.
Жеке программа түрінде бөлек жазылған, қажет кезінде оған оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы бөлігін қосалқы программа (подпрограмма) дейді. Қосалқы программаға автоматты түрде енуге және одан шығуға болады.
Қосалқы программаны пайдалану төмендегідей мүмкіндіктер береді.
-негізгі программаның көлемі кішірейеді
-негізгі программада пайдаланылған айнымаларды қосалқы программада да пайдалауға болады.
- қосалқы программаға берілген зерде ұяшықтарын ол роындалмай тұрғанда бос ұяшық ретінде (бос айнымалы ретінде) пайдалануға болады.
-қосалқы программаны пайдалану структуралық программалауға мүмкіндік береді.
Паскаль тілінде алгоритмдік тіл тәрізді қосалқы программаның екі түрін дайдаланалады. Олар: процедура (PROCEDURA) және функция (FUNCNION).
Бір программада бір немесе бірнеше процедура және функция пайдалануы мүмкін.
Паскаль тілінде процедуралар мен функциялар программаның басында айнымалылар бейнелеп болғаннан кейін жазылады.
Жоғарыда ескертілгендей негізгі және қосалқы программада бір айнымалы, мысалы, Р қатар пайдаланылу мүмкін, бірақ әр программада Р-ның физикалық мағынасы бірдей болуы шарт емес. Атау берілген операторлар тізбегін Паскаль тілінде процедура дейді. Яғни, әр қосалқы программаның (процедураның немесе функцияның) атауы болуы керек, қосалқы программаға сол атау негізінде оралады.
Процедуралар.
Кез келген процедура программаға ұқсас түрде жазылады. Олардың басы, операторлар бөліктері болады.
Жазылуы:
PROCEDURE АТЫ (формальды параметрлер тізімі);
Бейнелеу бөлімі
BEGIN
Операторлар бөлімі
END;
Мұндағы:
PROCEDURE АТЫ - процедура аты
формальды параметрлер тізімі – мұнда параметрлер формальды параметрлер тізімінен тұрады. Бұлардың ішіндегі процедураға берілнтіндері – айнымалы, тұрақты типтегі өрнек болуы да мүмкін. Процедураның өзінен мән алатын параметрлердің мәнднрі айнымалы болуы да мүмкін.
Процедураны параметрсіз де пайданауға болады.
Программаның орындалуы негізгі программаның оператоларының орындалуынан басталады. Негізгі программада қашан процедураның орындалуын қажет болғанда ғана процедураға көшеді. Бұл жағдайда берілгендер негізгі программадан процедураға (енетін параметрлер) беріледі. Процедура орындалып болған соң оның нәтижесі (шығатын параметрлер), процедураға негізгі программадан қай жерден көшті, сол жерге береді.Одан соң негізгі программа орындала бастайды.
Процедуралардың ерекшеліктері:
1.Паскаль тілінде процедураның құрылымы негізгі программаның құрылымымен бірдей.Яғни, процедура тақырыбынан соң (PROCEDURE атау) жаңа айнымалыларды ( локальды айнымалыларды) бейнелейді, одан соң BEGIN және END операторлық жақша арасына процедура денесі (операторлар тізбегі) жазылады.Бірақ END қызмет сөзінен соң міндетті түрде ";" тұруы қажет. Себебі процедурадан соң негізгі программаның операторлары жалғасады.
2. Процедура атауынан соң формальды параметрлер тізімнің болуы, болмауы шарт емес.Онымен бірге процедура мәні белгілі сан болуы да шарт емес.Мысалы, арнайы белгілер көмегімен бірнеше квадрат сызу қажет болсын.Оны мына программа арқылы орындауға болады.
Кей жағдайларда процедураның ішінде процедураны пайдалануға тура келеді. Айталық, бірінші процедура (А процедурасында) екінші процедураны (В процедурасын) пайдалануға тура келеді делік, бірақ В процедураны әлі хабарланбаған болсын. Жалпы жағдайда Паскаль тілінде алдын ала хабарланбаған конструкцияны падалануға болмайды. Бірақ бұл проблеманы Паскаль тілінде былай шешуге болады: А процедурасын (1-процедура) бейнелемей тұрып, ЭЕМ–ге бұл процедурадан кейін программада бейнелейтін басқа екінші (В- процедура) процедура пайдаланатынын ескерту қажет. Ол ескерту FORWARD; операторы арқылы жүзге асырылады.
Жоғарыда айтылғындарды ескерсек, программаның құрамы былай болады;
PROGRAM атау :
………….
PROCEDURA В (формалды параметрлер): FORWARD
ROCEDURA (формалды параметрлер):
………….
В (параметрлер); В процедурасын пайдаланудағы А процедурасының блогы
…………… PROCEDURA B (*параметр тізімсіз*)
…………… B процедурасының блогы
……………
BEGIN
…………… A және B процедураларын
…………… пайдаланатын негізгі
…………… программа
END.
Тәжірибелі программалаушы әрқашан да жеке-жеке программаларды программа кітапханадан жинап, қажетті процедура ретінде пайдалана алады.
Паскаль тілінің кейбір жазылуына (версиясында) кітапханадан қажетті процедураны «ала түру» EXTERN (немесе EXNERNAL) операторын пайдаланады
Кітапханадан қажетті процедураны алу үшін процедураның басынан (тақырыбынан) соң (PROCTDURA атау) EXTERN; операторы жазылады.
Функциялар
Басқа да тілдер тәрізді Паскаль тілінде де фукцияны арнайы программа ретінде жеке жазуға болады, сондықтан оны көмекші программа ретінде қарауға болады.
Функция – программаның процдура - программадан еркешелігі мынады;
функция бір ғана белгілі мән қабылдадайды, яғни функция – праграмма алынатын нәтеже біреу-ақ.
Нәтеже функция аты арқылы алынады да, негізігі программа пайдаланылады.
Функция программаның жазылу түрі:
FUNCTION- аты (формалды парамметрлер) : тип;
Бейнелеу бөлігі
BЕGIN
END Параметрлер бөлігі
Функция фактілі параметрлердің мендері берілгеннен кейін өз аты арқылы шақырылады. Онымен қатар фуныкцияны тікелей өрнектің ішінде шақыруға болды.
Проедура мен функция айырмашылықтары түсіну үшін екі санды қосу программасын процедура және функция түрінде жазалық.
1-мысал. Екі санның қосындысын табайық.
a) PROGRAM KPR;
VAR A: INTEGER;
PROCEDURE KOS (B. C: INTEGER; VAR K: INTEGER);
BEGIN
K:= B + C
END;
BEGIN
KOS (15.4.A);
WRITELN (‘KOC=’A:2)
END
PROGRAM KEN
VAR A: INNEGER :
FUNCNION KOS (B.C:INTEGER):INTEGER:
BEGIN
KOS:= B + C
END;
BEGIN
A:= KOS (15.4);
WRITELN(‘KOC=’. A:2)
END.
II. Тарау. Паскаль тілін оқытуды интерактивті тақта арқылы ұйымдастыру жолдары
2.1. Интерактивті тақта және онымен жұмыс жасау технологиясы
Б‰кіл єлем бойынша интерактивті таќтаны алѓаш рет 1991 жылы SMART Technologies Inc корпорациясы ±сынѓан болатын. Б±л жања технологияныњ педагогикалыќ м‰мкіншіліктерін алѓашќылардыњ бірі болып оќытушылар баѓалады. Интерактивті таќта сабаќты т‰рлендіруге кµмектеседі. Ол сабаќты жарыќ жєне ќызыќты µткізеді.
Ж±мыс барысында алдымен интерактивті таќтаны компьютерге жєне проекторѓа ќосамыз. Компьютермен басќару ‰шін экранѓа ќол тигізсе ѓана жеткілікті. Сіздер таќтаны ќолдана отырып файлдармен, интернетпен, арнайы маркерлердіњ кµмегімен вебсайттар жєне бейнекµріністермен ж±мыс істей аласыздар.
Интерактивті таќталар т‰зу жєне кері проекциялы болады. Т‰зу проекция тіреуде немесе таќтаныњ алдында, жоѓарѓы жаѓында орналасады. Ал кері проекция таќтаныњ ар жаѓында орналасады.
Сенсор технологиясыныњ интерактивті таќталары екі тєсілмен іске асады. Сенсордыњ резистілік интерактивті таќтасы ж±ќарѓан жол бастаушылары экран бетіне жанасќанын сезетін екі ќабатынан т±рады. Сондай таќталар мектептерге µте ыњѓайлы келеді. Олар жоѓалып кету немесе сынып ќалу сияќты арнайы талаптарды ќажет етпейді.
DVIT технологиясы экран б±рыштарымен орналасады жєне єрбір жанасуды бекітеді, оѓан кішкентай цифрлік бейнекамераларды ќолданады.
Интерактивті таќта – б±л мєжілістердіњ нєтижелі µтуіне, іскер презентацияларѓа, семинарларѓа жєне оќулыќ ж±мыстарѓа ыњѓайлы заманѓа сай аспап.
Интерактивті таќталар тек ќана проекторѓа арналѓан ‰лкен экран артыќшылыќтарын жєне маркерлік таќталарды µзіне біріктіріп ќана ќоймай, сонымен ќатар барлыќ тањбалауларды жєне µзгертулерді саќтауѓа р±ќсат етеді, уаќытында істелген талќылауды алыстамай жєне сµйлеуге кедергі жасамай компьютердіњ ќосымшаларын басќарады.
Интерактивті таќта – б±л жабдыќ, лекторѓа немесе баяндамашыѓа ‰ш єрт‰рлі ќ±ралды біріктіруге р±ќсат етеді: бейне аќпараттарѓа арналѓан экранды, ќарапайым маркерлік таќтаны жєне интерактивті мониторды. Таќта слайдтар жасауѓа, видео ќоюѓа, ±сыныстар істеуге, сурет салуѓа, єрт‰рлі схемаларды сызуѓа, кез келген µзгертулерді енгізуге жєне оларды компьютерлік файл т‰рінде саќтауѓа, яѓни болашаќта µњдеу ‰шін, баспаѓа шыѓаруѓа немесе электрондыќ почта арќылы жіберуге м‰мкіндік береді.
Бейненіњ кез келген деректерімен ж±мыс істеу ‰шін интерактивті таќтаны компьютерге жєне проекторѓа ќоссаќ жеткілікті. Интерактивті таќтамен ж±мыс істеу ‰шін арнайы білімді жєне даѓдыны ќажет етпейді.
Интерактивті таќтамен ж±мыс істеу
Интерактивті таќтаѓа жазу ‰шін арнайы электрондыќ маркермен немесе саусаќты ќолданады. Баяндаушы ќолына арнайы маркерді алып, экранды бейнемен ж±мыс істеуі м‰мкін: ерекшелеуге, астын сызуѓа, схемалар салуѓа, мєтінге µзгертулер енгізуге болады.
Таќта т‰рлі т‰сті ‰ш маркермен жєне µшіргішпен жабдыќталѓан. Баяндаушы т‰сіндіруінде ќолданатын маркердіњ т‰сін алдын ала беруі м‰мкін. Сосын интерактивті таќта оны автоматты т‰рде елейді. Мысалы: ќызыл маркер немесе µшіргіш.
Арнайы электрондыќ маркердіњ кµмегімен немесе тіпті саусаќпен жоѓарѓы жаѓына тањбалау арќылы бейнелеуге болады, сонымен ќатар олар арнайы файл т‰рінде компьютерде саќталады.
Баяндаушы экранда манкердіњ кµмегімен бейненіњ кµрінісін ѓана ерекшелеп ќоймай, оѓан ќоса мєтінді µзгертуге, компьютердіњ ќосымшаларын маркер арќылы немесе компьютердіњ тышќаны сияќты саусаќпен басќаруѓа, шексіз функцияларды ќолдануѓа жєне презентацияны аса кµрнекті жєне наќты кµрсетуге м‰мкіндік береді.
Достарыңызбен бөлісу: |