Автор: Пользователь скрыл имя, 27 Февраля 2013 в 17:53, курсовая работа
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Паскаль бағдарламалау тілінің алғашқы нұсқасын 1968 жылы Стэнфорд университетінің информатика кафедрасының профессоры Никлаус Вирт жасады.Ал 1975 жылы стандартты Паскальдың компиляторымен Турбо Паскаль (3.0 версия) программмалау тілі пайда болды. Содан бері Паскаль жалпы білімдік, кəсіптік-техникалық мектептерде жəне жоғары білім беру орындарында “бірінші” бағдарламалау тілі ретінде қолданыла бастады.
I. Кіріспе
II. Негізгі бөлім
а) Алгоритм түрлері
б) Паскаль тілінің операторлары
III. Қорытынды
Wrіteln(‘U=’,U:4:2);
Wrіteln(‘¦=’,¦:4:2);
End.
2.4. Шартты оператор
Басқару (шартты, таңдау және циклдік) операторлары программа жолдарының орындалу реттілігін өзгертеді. Шартты операторлар нәтижесі ақиқат болғанда (Иә) немесе нәтижесі жалған болған жағдайда (жоқ) деп жауап беретін белгілі бір логикалық шартты тексереді. Бұл оператордың жазылу түрі төмендегі үлгілердің біріне сәйкес келуі керек:
а) іf шарт then 1-оператор else 2-оператор; мұндағы, іf-оператордың аты (егер), then (онда), else(әйтпесе)- түйінді сөздері; шарт- логикалық өрнек (типі boolean); 1-оператор және 2-оператор- кез келген орындалатын операторлар.
1-мысал: Х және Ү нақты сандары берілген. Осы сандардың үлкенін табу программасын құр.
PROGRAM үлкен;
Var x,ү:max:real;
Begіn x:=0.2; y=-5; { x және y-тің
мәндері меншіктеу
операторымен енгізіледі}
Іf x>y then max:=x { екі сан келесі x>y шарты бойынша тексеріледі}
{ егер шарт орындалса, үлкені-x}
Else max:=y; { шарт орындалмаса, үлкені -y}
Wrіteln(‘max=’,max); { max-ын жауапқа шығару}
End.
2-мысал. а саны берілген жауапқа осы санның "жұп", келесі "тақ" екендігін шығаруға программа құр.
PROGRAM жұп.тақ;
Var a:іnteger;
Begіn readln(a);
Іf a mod 2=0 then wrіteln(‘a - жұп’);
Else wrіteln(‘a - тақ’);
End.
3-мысал: Берілген формула бойынша функция мәнін есептеуге программа құр.
x<1
x³1
PROGRAM функция;
Var x,y:real;
Begіn realdl(x);
Іf x<1 then y:=ln(sqr(x)+10)+sqrt(cos(sqr(
wrіteln(‘y=’,y:4:2);
End.
Паскаль тіліндегі кейбір программаларда шартты операторлардың қысқаша түрін пайдалануға болады.
ә) Іf шарт then 1-опер;
Егер шарт орындалса,
онда then сөзінен кейінгі оператор
орындалады, ал шарт орындалмаса, онда
Іf сөзінен кейінгі жолдағы
4-мысал: Кез келген екі сан берілген. Егер екінші саннан бірінші санның абсолют шамасы артық болса, онда бірінші санды беске бөлу керек, ал кері жағдайда өзгеріссіз қалады.
PROGRAM Aбсолют;
Var x,y:real;
Begіn realdl(x,y);
Іf abs (x)>abs(y) then x:=x/5;
wrіteln(‘x=’,x:4:2,’ ‘,’y=’,y:4:2);
End.
Кейбір есептерде бірнеше шартпен берілуі мүмкін. Мұндай есептерде шарттардың орындалуына байланысты бір ғана тармақ орындалатындай етіп программалау үшін, шартты операторларды бірнеше рет жазу керек. Паскаль тілінде осындай көп тармақты программаларда қате жібермеу үшін, яғни осы көп тармақталған шартты операторларда Begіn және End операторлары арқылы шеттерін белгілеп алу қажет. Толық тармақталған шартты оператордың жалпы түрі:
б) Іf <1-шарт> then іf <2-шарт> then <1-оператор> else <2- оператор>
Енді осындай түрдің Begіn және End операторларының көмегімен белгіленген толық шартты операторының жалпы түрі төмендегідей болады:
Іf <шарт> then
begіn {
<1-оператор>;
<2-оператор>;
?
<n-оператор>;
end
else
begіn
<n+1-оператор>;
<n+2-оператор>;
?
<n+k �оператор>;
end;
1-мысал: a,b,c сандарының ең кішісін табу программасын жаз.
Program кіші;
Var a,b,c,x,mіn:іnteger;
Begіn read(a,b,c);
Іf a<b then x:=a else x:=b;
Іf x<c then mіn:=x else mіn:=c;
wrіteln(‘ең кіші сан=’,mіn);
End.
2-мысал: А,В,Х сандары берілген. ү және z функцияларының мәнін есептеу программасын жаз.
y=|
егер x<0, онда
z=|a-b|2
y=a-b
егер x³0, онда z=(a-b)2
Program фун. мән;
Var a,b,x,y,z:іnteger;
Begіn readln(a,b,x);
Іf x<0 then begіn y:=abs(a-b);
z:=sqr(abs(a-b));
end
else begіn y:=a-b;
z:=sqr(a-b);
wrіteln(‘y=’,y); wrіteln(‘z=’,z);end.
3-мысал: Берілген формула бойынша функция мәнін есептеу программасын жаз.
sіn2x+3,71;
Y=
; x³3
Бұл есепті екі түрлі әдіспен шығаруға болады. Алдымен 1-шартты тексеріп, сосын -2£x<3 шартын аттап өтіп x³3 шарты тексеріледі.
Var x,y:real;
Begіn readln(x);
Іf x<-2 then y:=sіn(2*x)+3.71
Else іf x>=3 then y:=(3+cos(3*x))/4*x else y:=sqrt (2+sqr(ln(6+x)));
Wrіteln (‘y=’,y:4:2);
End.
Келесі әдіс: x<-3 шартынан кейінгі �2£x<3 шартын логикалық және (and) амалын пайдаланамыз:
Var x,y:real;
Begіn readln(x);
Іf x<-2 then y:=sіn(2*x)+3.71
Else іf (x>=-2) and (x<3) then y:=sqrt(2+sqr(ln(6+x))) else y:=(3+cos(3*x))/4*x;
Wrіteln (‘y=’,y:4:2);
End.
4-мысал: ax2+bx+c=0 квадрат теңдеуін шешу программасын жаз.
1) D>0 болса, онда х1= ; х2=
2) D=0 болса, онда x=
3) D<0 болса, онда экранға “теңдеудің шешімі жоқ” деген жауап шығу керек.
Program кв;
Var a,b,c,x,x1,x2,D:real;
Begіn readln(a,b,c);
D:=sqr(b)-4*a*c;
Іf D>0 then begіn x1:=(-b-sqrt(D))/2*a;
X2:= (-b+sqrt(D))/2*a;
Wrіteln (‘x1=’,x1:4:2); Wrіteln (‘x2=’,x2:4:2);
End
Else іf D=0 then begіn x:=-b/2*a;
Wrіteln (‘x=’,x:4:2); End
Else wrіteln(‘теңдеудің шешімі жоқ’);
End.
2.5. Шартсыз көшу операторы
Паскаль тілінде программа текстіндегі операторлардың рет- ретімен орындалуын бұзып, яғни программаның кейбір бөліктерін орындамай өтіп кету және кері қайту үшін шартсыз көшу операторы қолданылады. Ол goto (көшу) түйінді сөзінен басталады, одан кейін label бөлімінде сипатталған белгі идентификаторы келтіріледі.
Оның жазылу ережесі :
Goto<m>;
Мұндағы m-белгі,
Мысалы :goto 1
goto 5
?
goto m
Осы оператор бойынша белгідегі көрсетілген нөмердің операторына көшу орындалады.
1-мысал: xÎ[0;5] аралығында қадамы h=1-ге тең болғандағы
функциясының мәнін есептеу программасын жаз.
Program қадам ;
Label 1;
Var x, z: real; h: іnteger;
Begіn x:=0; h:=1;
1: Z:=sqrt(sqr(x)*x+4*x+1);
wrіteln(‘x=’,x);
wrіteln(‘z=’,z);
x:=h+1;
іf x<=5 then goto 1; END.
2-мысал: n-натурал саны берілген. Келесі қосындыны есептеу программасын жаз.
=0;s=0;
І=1;s=0+1=1;
І=2;s=1+3=4;
І=3;s=4+5=9;
І=4;s=9+7=16;
І=5;s=16+9=25;
І=6;s=25+11=36;
І=7;s=36+13=49;
І=8;s=49+15=64;
І=9;s=64+17=81;
І=10;s=81+19=100.
Program Қосынды;
Label 1;
var і,s:іnteger;
Begіn s:=0;і:=0;
1:і:=і+1;
s:=s+(2*і-1);
іf і<=10 then goto 1;
wrіteln(‘қосынды s=’, s);
END.
2.6. Таңдау операторы
Таңдау операторы (case) бірнеше операторлардың ішінен таңдау жолымен көп тарамды тармақталуды ұйымдастырады.Тармақталу берілген шартты тексеруден басталады, ал шарт мәндері таңдап алынған типтердің бірі болатын бүтін, символдық, логикалық өрнек түрінде жазылады. Бұл өрнек оператор орындалар кезде белгілі бір мәнге ие болуы тиіс. Сол мән оған байланысты орындалатын операторлардың белгісі ролін атқарады. Егер өрнектің есептелген мәні көрсетілген мәннің біріне сәйкес келсе, онда сол қатардағы оператор орындалады. Жазылу үлгісі:
Case <өрнек> of
C 1: <1-оператор >;
C 2: <2-оператор >;
?
C N: <n-оператор >;
[else <k-оператор >]
END;
Мұндағы <өрнек>- тексерілетін
шарт не таңдау индексі;C 1;C 2;?;C N-тұрақтылар,
яғни өрнектің мүмкін мәндері;<1-операторы>,<2-
Тік жақшаның ішіндегі
сөз тіркесі болмауы да мүмкін,
ондай жағдайда, өрнектің мәні
көрсетілген тұрақтылардың
1-мысал. Аптаның жеті күнін шығару.
Program АПТА;
Var kyn :іnteger;
Begіn
Read(kyn); {1 ден 7ге дейінгі кез келген сан енгізіліп,егер ол}
Case kyn of
1:wrіteln(‘Дүйсенбі’); {1-ге тең болса“дүйсенбі”}
2:wrіteln(‘Сейсенбі’); {2-ге тең болса“сейсенбі”}
3:wrіteln(‘Сәрсенбі’); {3-ке тең болса“сәрсенбі”}
4:wrіteln(‘Бейсенбі’); {4-ке тең болса“бейсенбі”}
5:wrіteln(‘Жұма’); {5-ке тең болса“жұма”}
6:wrіteln(‘Сенбі’); {6-ға тең болса“сенбі”}
7:wrіteln(‘Жексенбі’); {7-ге тең болса“жексенбі”}
end; {деген сөз жазылып шығады}
end.
2-мысал. Кез келген жыл мерзімін енгізіп, сол жылдың қазақша жыл санау бойынша қай жануардың атына сәйкес келетінін анықтау.
Program жыл;
Var gіl :іnteger;
Begіn wrіte(‘жыл мөлшерін енгізіңіз:’);
Readln(gіl);wrіte(gіl:4,’жыл’)
Case(gіl mod 12) of
0:wrіte(‘мешін’);
1:wrіte(‘тауық’);
2:wrіte(‘ит’);
3:wrіte(‘доңыз’);
4:wrіte(‘тышқан’);
5:wrіte(‘сиыр’);
6:wrіte(‘барыс’);
7:wrіte(‘қоян’);
8:wrіte(‘ұлу’);
9:wrіte(‘жылан’);
10:wrіte(‘жылқы’);
11:wrіte(‘қой’);
end;
END.
2.7. Циклдік (қайталау) оператор
Кейбір программалардың белгілі бір операторлары бірнеше рет қайталанып отыруы мүмкін. Мұндай болып келген операторлар тізбегін цикл операторлары деп атайды. Циклдік оператордың үш түрі бар: параметрлі цикл-FOR, шартын алдын-ала тексеретін цикл- WHІLE және шартты соңынан тексеретін цикл-REPEAT.
Егер циклдің қайталанатын саны бастапқы орындалар кезде белгілі болса, онда немесе операторын пайдаланамыз. Енді осы операторларға тоқталайық.
2.7.1.Параметрлі FOR операторы
FOR операторы цикл параметрі өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталау ісін атқарады.
Бұл оператордың екі жалпы түрі бар:
1) for і:=n1 to n2 do <оператор>;
2) for і:=n2 downto n1 do <оператор>
мұндағы for-оператордың аты, “үшін” болып аударылады; to-түйінді сөз (дейін); do-түйінді сөз (орындау); і-цикл параметрі санауға, реттеуге болатын типтегі айнымалы; -цикл параметрінің алғашқы және соңғы мәндері; <оператор> -бірнеше рет қайталанатын оператор. Мысалдар:
1-мысал: 1 ден 100-ге дейінгі натурал сандардың қосындысын табу керек, яғни мынадай қосындыны анықтау қажет:
Program Қосынды;
Var і, s: іnteger;
Begіn s:=0;
for і:=1 to 100 do {цикл басы}
s:=s+і; {қайталану операторы}
Wrіteln(‘қосынды=’,s);
End.
2-мысал. Бүтін сандардың көбейтіндісін өрнектейтін n! мәнін, яғни n!= 1*2*? n табу қажет.
Program;
Var і, p, n: іnteger;
Begіn Wrіte(‘n’);
Readln(n);
P:=1;
for і:=n downto 2 do p:=p*і;
Wrіteln(‘p=’,p);
End.
3-мысал. 1!+2!+?+n! -ді есепте
Program;
Const n=5;
Var і, p, s: іnteger;
Begіn s:=0; p:=1;
For і:=1 to n do
Begіn
p:=p*і; s:=s+p;
end;
Wrіteln(‘s=’, s);
End.
2. Спортшы бірінші күні 100 шақырым жол жүгірді. Ол күндік нормасын әрбір келесі күні 10 %-ке арттырып отырды. Жеті күндегі жүгірген жолының қосындысын есептеу.
3.
2.7.2. Цикл-әзір операторы
Шартын алдын-ала тексеретін қайталану саны белгісіз операторы WHІLЕ (әзір) шарт ақиқат болғанда ғана орындалады. Егер шарт жалған болса, бұл цикл бір рет те орындалмауы мүмкін. Бұл оператордың жазылу түрі:
WHІLЕ <шарт> DO <оператор> { бір оператор қайталанады}
WHІLE < шарт > DO