
2.1.Шартсыз өту операторы
Паскальда шартсыз өту операторын goto операторы және break, continue, exit, halt процедуралары кіреді. Шартсыз өту операторы программада жиі қолданылады.
Шартсыз өту операторы (goto) қарапайым оператор. Ол программа жұмысын өзгертіп тұрады. Шартсыз өту операторының жалпы түрі мынандай:
GOTO <таңба>
Мұндағы GOTO – Турбо Паскаль тілінде келесі шартты орындайды, ал <таңба> - идентификатор немесе 0 ден 9999 дейінгі бүтін сан. Егер программада бұл оператор болса, онда келесі Label-ға өтеді. Таңбадан кейін қос нүкте қойылады (<таңба>:).
Жалпы алғанда таңбаларды программада қолданбаған жөн. Ал егер қажет болған кезде келесі екі ережені есте сақтау керек:
Таңбаларды программаның орындалу ретін тек алға қарай (төмен қарай) орындалуы керек. Ал программаның ретін кері қарай орындалуы қажет болса циклді қолдану керек.
Таңба мен программаның орындалу ретін өзгертетін оператор ара қашықтығы жақын болуы тиіс. Олар бір бетте немесе бір экранда орналасқаны жөн.
Мысалы:
Program esep;
Uses crt;
Label 1;
Var x, y, s, z: real;
Begin clrscr;
Read (x, y); goto 1;
S:=2*x+y;
1: z:=x/y;
write (‘s, z =’, s, z);
readkey; end.
Break процедурасы циклді жылдам аяқтауға мүмкіндік береді.
Continue процедурасы жаңа итерациялық циклді бастауға және соңғы итерацияны аяқтауға мүмкіндік береді.
Exit прцедурасы жұмысты аяқтауға көмектеседі.
Halt (n) процедурасы n кодты программаның жұмысын аяқтауға мүмкіндік береді (n-бүтін сан). Соңында n коды ERRORLEVEL командасының көмегімен MS DOS операциясының системасын талдайды.
2.3.Таңдау командасы
Программалауда қойылған шартқа байланысты алгоритмнің тармағының саны көп болғанда CASE таңдау операторын қолдану тиімді. Таңдау операторының жалпы жазылуы:
Case S of
C1: 1-оператор;
C2: 2-оператор;
. . .
Cn: n-оператор;
Else
оператор;
End;
Мұндағы: С1, С2, Сn – тұрақтылар, S – кез-келген өрнек. S -өрнек есептелгенде шығындысы тұрақтылардың біріне тең болуы керек. Өрнектің мәні мен тұрақты сәйкес келгенде сол тұрақтымен белгіленген оператор орындалады. Сол себепті, өрнек пен тұрақты типі сәйкестендіріледі. Өрнектің типі integer, char, Boolean болуы керек. Өрнектің мәні бірде-бір тұрақтыға сәйкес келмесе else қызметші сөзінен кейінгі оператор орындалады.
Case (жағдай)-қызметші сөз. S real типінен басқа кез-келген скалярлық типте берілген айнымалы (не өрнек). Оны сұрыптаушы деп атайды.
Мысалы: Реттік нөмірі бойынша ай аттарын және жыл мезгілінің қайсысы екендігін анықтауды қарастырайық:
Program ai;
Uses crt;
Var x: byte;
begin clrscr;
Write (‘Айдың реттік нөмірін енгіз’); Readln (x);
Case x of
1:Write (‘Қаңтар’);
2: Write (‘Ақпан’);
3: Write (‘Наурыз’);
4: Write (‘Сәуір’);
5: Write (‘Мамыр’);
6: Write (‘Маусым’);
7: Write (‘Шілде’);
8: Write (‘Тамыз’);
9: Write (‘Қыркүйек’);
10: Write (‘Қазан’);
11: Write (‘Қараша’);
12: Write (‘Желтоқсан’);
Else
Writeln (‘бұл нөмірлі ай жоқ’);
end;
case x of
1, 2, 12: writeln (‘қыс’);
3..5: writeln (‘көктем’);
6..8: writeln (‘жаз’);
9..11: writeln (‘күз’);
end;
end.
Бұл программада таңдау операторы екі рет қолданылған.
Егер бірнеше тұрақтыға бір ғана оператор сәйкес келсе тұрақтыларды үтір (,) арқылы жазуға болады. Ал тұрақтылар диапазонын көрсету үшін (..) таңбасын пайдаланамыз.
Мысалы: Берілген сандардың жұп немесе тақ екендігін анықтау программасы:
Program sandar;
var y: byte;
Begin
Write (‘сан енгіз’); Readln (y);
case y of
0,2,4,6,8: Write (‘жұп сан’);
1,3,5,7,9:Write (‘тақ сан’);
10.. 100: Write (’10 мен 100 аралығындағы сан’);
else
Writeln (‘Теріс сан немесе 100-ден үлкен сан’);
end;
end.
Case операторының else бөлігін қолданбаса да болады. Мысалға жазықтықтағы А(х,у) нүктесінің қай ширекте жататындығын анықтау программасын келтірейік;
Progarm shirek;
var k: integer;
begin
write (‘қай ширек’); readln (k);
case k of
1: write (‘A (x,y) І-ширекте, x>0 және y>0’);
2: write (‘A (x,y) ІI-ширекте, x<0 және y>0’);
3: write (‘A (x,y) ІII-ширекте, x<0 және y<0’);
4: write (‘A (x,y) ІV-ширекте, x>0 және y<0’);
end;
end.
Бұл программа орындалғанда k айнымалысына енгізілген мән берілген тұрақтылардың біріне сәйкес келмесе, таңдау операторының else бөлігінің жоқ болуына байланысты бұл оператор бос күйінде қалады.
Мысалы:
program snak2; uses crt;
var m: integer
begin clrscr;
write (‘Төмендегі 4 өрнектің қайсысы’);
writeln (‘cos2x формуласы’);
writeln;
writeln (‘1: cos(x)*cos(x)+sin(x)*sin(x)’);
writeln (‘2: 2*cos(x)*sin(x)’);
writeln (‘3: cos(x)*cos(x)-sin(x)*sin(x)’);
writeln (‘4: sin(x)*sin(x)- cos(x)*cos(x)’);
writeln;
write (‘дұрыс деген нөмірді енгіз’);
writeln (‘1,2,3,4-?’); reаdln (m);
case m of
1: writeln (‘cos(x)*cos(x)+sin(x)*sin(x)’);
2: writeln (‘2*cos(x)*sin(x)’);
3: writeln (‘cos(x)*cos(x)-sin(x)*sin(x)’);
4: writeln (‘sin(x)*sin(x)- cos(x)*cos(x)’);
end; writeln;
if m=3 then write (‘Дұрыс’) else write (‘Дұрыс емес. Формауланы қайтала’);
end.
Паскальда санақты типтің мәндерін тікелей ендіруге не сыртқы құрылғыға шығаруға болмайды. Case операторында осы типке жататын m сұрыптаушысының мәндерін пайдалану үшін программада алдымен оларды m-ге меншкітеп алу қажет.
Мысалы:
функциясының мәнін есептеу керек.
Case операторына енгізілетін сұрыптаушы ретінде санақты типті айнымалыны алып, программаны мынадай түрде құруға болады:
Program man; uses crt;
var m: (ak, kara, sari); x,y:real;
begin clrscr;
write(‘x=?’); readln(x);
if x<2 then m:=ak
if (x>=2) and (x<=5) then m:=kara;
if x>5 then m:=sari;
case m of
ak: y:=3*x+5;
kara: y:=x*x-6;
sari: y:=4*x;
end;
writeln(‘y=’,y:6:2);
end.
1-мысал: Таңдау операторын қолданып үш елдің орталыңын және хлқының санын экраға шығару программасын құр:
Жаубы:
№ 2 тапсырма. Пернетақтадан трамвай билетінің нөмірі (1 орынды 6 сан) енгізіледі. Билеттің «бақытты» нөмір екенін анықтайтын программа құру керек. Бақытты билеттің алғашқы 3 цифрының қосындысы соңғы 3 цифрының қосындысына тең. Program esep_2; Uses crt; Var x, y, z, a, b, c, S, S1: real; Begin Clrscr; Writeln(‘bilet nomerin engiz…’); Readln(x, y, z, a, b, c); S:=x+y+z; S1:=a+b+c; If S=S1 then writeln(‘bakitty nomer’) else writeln(‘bakitty nomer emes’); End.
№ 3 тапсырма. N натурал саны берілген. Егер n саны тақ және оны екі еселегенде алынған сан 32767 - ден кем болса, онда ол санды 2 - ге көбейтіңдер. Басқа жағдайда санды өзгеріссіз қалдырыңдар. Program esep_4; Uses crt; Var n: integer; Begin Clrscr; Write(‘n - ді енгізіңдер: ’); Readln(n); If (n mod 2=1) and (n<32767) then n:=2*n; Writeln(‘n=’, n); Readln End.
№4 тапсырма : Адам жасына қарап, оларды әлі мектепке бармаған, мектеп оқушысы, жұмысшы, зейнеткер деген төрт топтың біріне жатқызатын бағдарлама құру. Адам жасы пернетақтадан енгізіледі.
Program esep_3;
Uses crt;
Var x: integer;
Begin
Clrscr;
Writeln(‘Adam jasyn engiz…’);
Readln(x);
If x6) and (x17) and (xabs(y) then
begin
x:=x/5;
writeln(‘x = ‘,x:5:2) end
else writeln(‘x = ‘,x, ‘ y = ‘,y);
End.
№5 тапсырма: Пернетақтадан трамвай билетінің номері (1 орынды 6 сан) енгізіледі. Билеттің «бақытты» номер екенін анықтайтын бағдарлама құру керек. Бақытты билеттің алғашқы 3 цифрының қосындысы соңғы 3 цифрының қосындысына тең.
Program esep_5;
Uses crt;
Var x, y, z, a, b, c, S, S1: real;
Begin
Clrscr;
Writeln(‘bilet nomerin engiz…’);
Readln(x, y, z, a, b, c);
S:=x+y+z;
S1:=a+b+c;
If S = S1 then writeln(‘bakitty nomer’)
else writeln(‘bakitty nomer emes’);
End.
Қорытынды
Курстық жұмысымның теориялық және практикалық сабақтарға әдістемелік ілесуші құрал ретінде жасалған, мақсаты оқушыларды Паскаль тілімен таныстыру және оны меңгерудегі алғашқы дағдыларды дамыту. Тақырыптық жағынан оқу құралы “Программалау ” курсының бөлімімен байланысқан.
Практикалық сабақтарда оқушылар теориялық мәліметтерді қолдана білуге үйренуі және Паскаль тілінің негізгі кезеңдерін:
таңдау операторларымен жұмыс істеу әдістерін;
тармақталу операторларымен жұмыс істеу әдістерін;
қайталану операторларымен жұмыс істеу әдістерін;
көмекші программаларымен жұмыс істеу әдістерін талдай білуді
меңгеруі тиіс .
Соның ішіндегі алып қарастыратын тақырыбым тармақталу операторларымен жұмыс істеу әдістерін қолдану. Курыстық жұмысым екі бөлімнен тұрады.Бірінші бөлімінде Паскаль тіліне толық мағлұмат болса ,ал екінші бөлімінде тармақталу операторы жөнінде толық түсініктеме.
Мен бұл тақырыпта Паскаль тіліне толық сипаттама бердім және осы тақырыпты толық ашалдым деп ойлаймын. Курыстық жұмысым бір тараудан тұрады. Бірінші тарауда Паскаль тілі туралы мәліметтер енгізілді. Соның ішінде қарапайым операторлар, таңдау және тармақталу операторлары, қайталану операторлары және көмекші программаларға толық сипаттама берілді.
Қорыта айтқанда, курстық жұмысқа қойылған мақсаттар түгел орындалды. Бұл кішігірім оқулықты мектеп пен жоғарғы оқу орындарында қолдануға болады.
Пайдаланылған әдебиеттер
.А. И. Петров, В. Е. Алексеев и др. Вычисльтельная техника и программирование, М., 1990
.О. Камардинов. Информатика. 1-бөлім, Ш., ЮКПО «Полигр.», 2000
.О. Камардинов, С.Азаматов. Информатика негіздері, А., «Рауан», 1993
.О.Камардинов. Паскаль тілінде программалау, А., РБК, 1994
.О.Камардинов. Есептеуіш техника және программалау, а., РБК, 1997
.Зубов В.С. Программирование на языке TURBO PASCAL. Версий 6.0 и 7.0 – М., 1997
.Файсман А. Профессиональное программирование на языке Турбо Паскаль, 1992
.Марченко А.Н, Марченко П.А. Программирование в среде Turbo Pascal 7.0: Торосенко В. П – 8-е изд-Киев.: Век, Спб.: Корона Принт, 2004.-506 б.
.О.Камардинов.Паскаль тілінде программалау,А.,РБК,1994ж
О.Камардинов.Оқу құралы.Шымкент,2000,246бет
Н.Ы.Омарова,К.У.Тұрмағамбетова,К.Н.Нүриденова.Паскаль тілінде программалау негіздері.Алматы, “Білім”баспасы,1996ж,-136б.
12. К.Боон.Паскаль для всех/Перевод с гол.В.С.Макарова.,Под ред.Н.Н.Слепова.-М.,1988г
13. Камардинов О. Есептеуіш техника және программалау. Алматы, 1997
14. Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
15.Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова, Қ.Қ.Мақұлов. Turbo Pascal.Алматы, 2004.
Ф 7.02-13 Курстық жұмыс
|
|
|
|
|