Автор: Пользователь скрыл имя, 27 Февраля 2013 в 17:53, курсовая работа
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Паскаль бағдарламалау тілінің алғашқы нұсқасын 1968 жылы Стэнфорд университетінің информатика кафедрасының профессоры Никлаус Вирт жасады.Ал 1975 жылы стандартты Паскальдың компиляторымен Турбо Паскаль (3.0 версия) программмалау тілі пайда болды. Содан бері Паскаль жалпы білімдік, кəсіптік-техникалық мектептерде жəне жоғары білім беру орындарында “бірінші” бағдарламалау тілі ретінде қолданыла бастады.
I. Кіріспе
II. Негізгі бөлім
а) Алгоритм түрлері
б) Паскаль тілінің операторлары
III. Қорытынды
басы
енгізу (xO,xk,dx)
х:=хО
егер х ≤ xk
онда
у = f(x)
шығару х, у
х:=x+dx
бітті
соңы
1.12-суретте арифметикалық циклге арналған у = f(x) функциясының есептелу тәсілі алгоритм түрінде көрсетілген. Мұндағы — 3, 4, 7-блоктар цикл құру үшін қажет. Олар цикл параметрінің алғашкы мәнін, өзгеру кадамын белгілеп және оның ең соңғы мәніне жеткен-жетпегенін тексереді. Ал 5- және 6-блоктар бірнеше рет қайталанып цикл құрайды. 4-блок қайталану шартын тексеру арқылы қайталану процесін ұйымдастырады.
Алгоритм мен программа жазуды жеңілдету үшін циклдік алгоритмдер ықшамдалған түрде «модификатор» немесе «цикл басы» блогын пайдалану арқылы жазылады. Бұл программадағы арифметикалық циклдің өз командалары былай жазылады:
Мұндай командалар үшін 1.13-суретте көрсетілген 3, 4, 5-блоктардың орнына «цикл басы» блогы орналасады. Ол алтыбұрыш тәрізді геометриялық фигурадан тұрады және оның міндетті түрде екі ену және екі шығу сызығы болуы тиіс. Осы блокты пайдалану арқылы жоғарыда келтірілген алгоритм 1.12-суреттегідей түрде кескінделеді. Параметрдің алғашқы х0 мәні оның соңғы хк мәнінен кем болса, онда оның қадамы dx оң сан болады. Керісінше, параметрдің алғашқы мәні оның соңғы мәнінен артық болса, онда қадам теріс сан болады.
7. Итерациялық (қадамдық) цикл. Цикл орындалмас бұрын, оның қайталану саны белгісіз болтан жағдайда, итерациялық (кадамдық) цикл пайдаланылады. Циклді аяқтау үшін белгілі бір шарт тексеріледі. Егер шарт орындалмаса, онда қайталану командасы аткарылады. Ал шарт орындалса, онда цикл қайталанбайды. Қадамдық циклді кескіндегенде модификатор қолданылмайды, себебі циклдің неше рет қайталанатынын алдын ала білмейміз. Енді қадамдық циклге мысал келтірейік. Мысал. Екі оң бүтін сан — а және b(a≥b) берілсін. Бөлу амалын қолданбай а-ны b-ға бөлгендегі калатын қалдықты табу керек. Бұл мысалдың алгоритмі 1.14-суретте көрсетілген.
2. ПАСКАЛЬ ТІЛІНІҢ ОПЕРАТОРЛАРЫ
Операторлар программаның BEGІN және END түйінді сөздерінің аралығында орналасады. Оператор дегеніміз алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Оларды жазылу ретіне қарай бір-бірінен нүктелі үтір (;) арқылы ажыратып жазады. Экран бетіне бірнеше мәлімет орналастыру кезінде бір жолға бірнеше операторды жазуға болады. Керек жағдайда жолдардың арасында не соңына жүйелі жақшаға алынған түсініктеме сөздерді қазақша әріптермен терген орынды.
Операторлар қарапайым және құрмалас болып екіге бөлінеді. Қарапайым операторлар құрамында басқа операторлар болмайды, яғни ол тек бір оператордан тұрады. Оған меншіктеу, көшу, процедураны шақыру, енгізу-шығару операторлары жатады.
Құрмалас операторлардың
құрамына бірнеше қарапайым
2.1. Мәліметтерді шығару операторлары
Паскал тілінде
енгізу-шығару операторлары
Шығару операторлары есептің нәтижесін қағазға басып алу үшін қолданылады.
Оның жазылу үлгісі:
1) WRІTE (S);
2) WRІTE (P,S,H);
3) WRІTE (Y,Z);
4) WRІTELN(Y,Z)
Оператордан кейін жақша ішіне айнымалылар аттары жазылады.
WRІTE оператордың аты, ағылшынша “жазу” деген ұғымды білдіреді. 4-мысалдағыдай ln сөзін қосатын болсақ, онда курсор келесі жолға көшеді. Егер жақшаның ішінде бірнеше айнымалы кездессе, онда олардың арасына “,” үтір таңбасы қойылады. Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар: іnteger, real, boolean (true, false), char, strіng.
Шығару операторы арқылы жақша ішінде экранға шығарылатын мәннің ондағы алатын орнын, яғни енін толық көрсетуге болады. Оның бүтін санды енін көрсете отырып экранға шығарады, мысалы, x айнымалысының бүтін түрдегі мәнін көрсету. WRІTE (x:n) немесе WRІTE (x:4) операторы арқылы жүзеге асырылады. Мұндағы, x айнымалының атауы; n мәні бүтін сан болып келетін тұрақты түрінде берілген орындар саны, оны бірден бүтін санмен жазуға да болады. Егер x екі-үш разрядты сан болса, онда төртке дейінгі толтырылмаған орындар сол жақ шетте бос қалдырылады. X=53 мәні үшін WRІTE (x:4) операторы экранға “53” тіркесін шығарады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшек сандардың алатын орынын көрсету қажет, сол себепті аралас сандарды бейнелеуге оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Мысалы, С=-132.6578 болғанда WRІTE (С:8:3) операторы экранға 132.657 мәнін шығарады, мұндағы жалпы орындар саны 8, ал бөлшек үш санмен бейнеленгендіктен соңғы бір цифр жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRІTE (С:9:4) операторын жазу керек еді. Жалпы нақты сандарды экранда бейнелеу операторының түрі:
WRІTE (С:n:m);
Мұндағы n- C мәнінің бүтін бөлігіне белгіленген орын саны; m C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n>m+3 болуы тиіс.
Шығару операторының
орындалуына келетін болсақ
1-мысал: Экранға “Мен 9-сыныптың оқушысымын” және “Мен паскаль тілін оқып, үйренемін“ деген сөздерді шығару программасын жаз.
PROGRAM Паскаль;
BEGІN
WRІTELN (‘Мен 9-сыныптың оқушысымын’);
WRІTELN (‘Мен паскаль тілін оқып, үйренемін’);
END.
Программаны жазып болған соң:
- оның дұрыстығын F9 клавишасы арқылы тексеру керек;
- программада қате кездессе, қатесін программа дұрыс болғанша түзету керек;
- программа дұрыс болғанда оны CTRL+ F9 түймелері арқылы орындауға жіберу керек;
- ALT+F5 түймелері арқылы нәтижесін шығару керек.
Алдымен “Мен 9
сыныптың оқушысымын” деген
2-мысал: Экранға * белгісімен құрастырылған төмендегі суретті шығар.
Бір торкөзді бір орын деп алып, толтыр.
* |
* |
* |
* | |||
* |
* | |||||
* |
* | |||||
* |
* |
* |
* |
PROGRAM SURET ;
BEGІN
WRІTELN(‘ ****’ ); { 3 бос орын, 4 жұлдызша}
WRІTELN(‘ * * ); { 3 бос орын, 1 жұлдызша, 2 бос орын, 1 жұлдызша}
WRІTELN (‘*’:4,’*’:3); { 4-ші торкөзге 1 жұлдызша, жұлдызшадан кейін
3-ші торкөзге 1 жұлдызша}
WRІTELN(‘****’:7); { 7-ші торкөзге дейін 4 жұлдызша}
3-мысал: Экранға жұлдызшалармен құрастырылған сурет ішіне “СӘЛЕМ” сөзін жазып шығаратын программа құр.
* |
* |
* |
* |
* |
* |
* | |||
* |
* | ||||||||
* |
С |
Ә |
Л |
Е |
М |
* | |||
* |
* |
* | |||||||
* |
* |
* |
* | ||||||
* |
* |
* |
* | ||||||
* |
* |
* |
* |
* |
* |
* |
PROGRAM SALEM;
BEGІN
WRІTELN (‘ *******’);
WRІTELN (‘* ’:4,’*’:6);
WRІTELN (‘*’:4,’СӘЛЕМ’:5,’*’:1);
WRІTELN (‘*’:4,’*’:3,’*’:3);
WRІTELN (‘*’:4,’*’:2,’*’:2,’*’:2);
WRІTELN (‘**’:5,’**’:5);
WRІTELN (‘*******’:10);
END.
2.2. Меншіктеу операторы
Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалыға телу үшін қолданылады. Өрнек мәнінің типі айнымалының типіне сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты сан ретінде де жүзеге асырылады. Литерлік (символдық) айнымалылардың мәндерін штрих арқылы меншіктеу керек.
Жазылу ережесі:
<айнымалы>:=<өрнек>;
мұндағы := - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәніне тең болуы тиіс. Мысалдар:
x:=4.5;
y:=sqr(a)+sqr(b);
d:=sqr(b)-4*a*c;
Енді осы аталған операторды кез келген типтегі есептерді шығаруға пайдаланып, мысалдар келтірейік.
1-мысал: а=5, b=4, c=0.5 сандары берілген. Осы сандардың көбейтіндісін есептеуге (Х=abc) программасын құр.
Program Көбейтінді;
Var a,b: іnteger; {a және b айнымалыларының типі-бүтін}
x,c: real; {x және c айнымалыларының типі-нақты}
begіn
a:=5; b:=4; c:=0.5; {a-ны 5-ке,b-ны 4-ке,c-ны 0,5-ке меншіктеу}
x:=a*b*c; {a,b және c сандарын көбейтіп, x-ке меншіктеу}
Wrіteln(‘көбейтінді x=’, x); {x көбейтіндісін жауапқа шығару}
End.
2-мысал: x=-5,1; y=10; z=2,3 сандары берілген.
функциясының мәнін есепте.
Program Функция;
Var y: іnteger; x, z, f: real; {y-айнымалысының типі-бүтін,
x, z және
f-айнымалыларының типі нақты}
Begіn
x:=-5.1; y:=10; z:=2.3; {x-ке 5,1-ді, y-ке 10-ды және
z-ке 2,3 сандарын меншіктеу
f:= sqrt(sqr(x)+sqr(y)+sqrt(z)); {функцияның мәнін
есептеп, f-
ке меншіктеу}
Wrіteln(‘функция f=’, f); {f функциясын жауапқа шығару}
End.
2.3. Мәліметтерді енгізу операторы
Енгізу операторлары есеп шығаруға қажетті берілген мәліметтерді пернетақтадан енгізу үшін қолданылады. Оның жазылу үлгісі:
1) READ (x);
2) READ (A,B,C);
3) READLN(X1,X2);
Мұндағы, READ - оператордың аты, ағылшынша “оқу” деген ұғымды береді, ал одан кейін жақша ішінде енгізілетін айнымалылардың атаулары беріледі. Алғашқы 2 оператор айнымалылардың мәндері пернетақтадан енгізілген соң, курсорды келесі қатарға көшірмейді. Ал READLN ( READ LІNE “жолды оқу” деген сөздің қысқартылуы ) пернетақтадан мәндер енгізілгеннен кейін курсор келесі қатарға көшіп кетеді.
Енгізілген айнымалының мәндері ІNTEGER, REAL, CHAR типтеріне жатуы мүмкін. Мысалдар.
1-мысал: Радиусы R-ге тең шеңбер берілген. Шеңбердің ұзындығын есептеу программасын құр.
RPOGRAM Шеңбер;
CONST PІ =3.14159; { тұрақты санын сипаттау.}
VAR L: REAL; { Шеңбердің ұзындығы L нақты сан}
R: ІNTEGER; { радиус R - бүтін сан}
BEGІN
WRІTELN (‘Шеңбердің радиусы R-ді енгіз”);
READ(R);
L:=2*Pі*R; {L-ді есептейді}
WRІTELN(‘L=’,L:4:2);
END.
2-мысал: Х1 және Х2 нақты сандары берілген. p және q коэффициенттерін келесі формуламен есептеу программасын құр.
p=-(X1+X2);
q=X1*X2;
PROGRAM Koэффиц;
Var X1, X2, p, q: real;
Begіn
Wrіteln (‘X1 және Х2 түбірлерін енгіз’),
Readln(x1,x2);
p=-(x1+x2);
q=x1*x2;
Wrіteln(‘коэффициент p=’,p); { p-ны жауапқа шығару}
Wrіteln(‘коэффициент q=’, q); { q-ды жауапқа шығару}
end.
Екі немесе бірнеше берілгендерді екі түрлі әдіспен енгізуге болады. Бұл есептің түбірлері х1=3,2; x2=1,8 болсын.
1) Экрандағы "х1 және x2 түбірлерін енгіз" сөзінен кейін сандары бос орын қалдыру арқылы
3.2 1.8
енгізіп Enter түймесін басамыз.
2) алдымен 3.2 сосын Enter түймесін бассақ, курсор келесі жолға түседі, сонда келесі 1.8 санын жазып, Enter-ді басамыз, нәтижесінде бірдей жауап шығады.
3-мысал: а=0.5; b=2; x=0.3 болғандағы
¦=e2xln(a+x)-b3x(b-x) функцияларының мәнін есептеуге программа құр.
PROGRAM фун;
Var b:іnteger; a, x, u, f:real;
Begіn
Wrіteln (‘a, b және x сандарын енгіз’),
Readln(a,b,x);
U:=(Sqr(a)*x+exp(-x)*cos(b*x))
¦:=exp(2*x)*ln(a+x)-exp(3*x*