Турбо Паскальдағы қосалқы программалар, функциялар мен процедуралар


Жұмыс түрі:  Реферат
Тегін:  Антиплагиат
Көлемі: 16 бет
Таңдаулыға:   

Мазмұны

І. Кіріспе

Турбо Паскаль -програмалау тілі 4-5 бет

ІІ. Негізгі бөлім

  1. Қосалқы программа 5 бет
  2. Процедура . . 5-14 бет
  3. Функция . 14-20 бет

ІІІ. Есеп . 20-21 бет

ІV. Қорытынды . . 22 бет

V. Пайдалынған әдебиеттер . 23 бет

Кіріспе

Қазіргі кезде кеңінен қолданылатын програмалау жүйесінің бірі - Турбо Паскаль . Американың Борланд корпорациясының бұл әнімі сол корпорацияның қызметкері Андерсон Хейлсбергтің жетекшілігімен құрастырылған. Турбо Паскальдың түп нұсқасы Швецария ғалымы Никлаус Вирт жасаған Паскаль програмалау тілінен тарайды. Бастапқыда Паскаль тілі програмалауды алғаш үиренушілер үшін әте тиімді құрал болып табылған. Қарапайым Паскальды өңдеудегі А. Хейлесбергтің үлкен еңбегінің нәтижесінде Турбо Паскаль қазіргі заман талабына сай, қуатты програмалау жүиесіне айналды. Турбо Паскаль - жоғарғы деңгеилі програмалау жүйесі. Оның логикалық құрлымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Сондықтан, оқушылар мен студенттерге програмалаудың негізін Турбо Паскаль тілін оқып- үйренуден бастап, програмалаудың қыр-сырын меңгеруге маңызы зор.

Турбо Паскаль - жоғарғы деңгейлі програмалау жүйесі. Оның тұнғыш нұсқасы 1970 жылы швецария физигі Никлаус Вирт ұсынған. Автор тілі алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдың құрметіне Паскаль деп атап, тіл атауын үнемі бас әріппен жазылуын сұраған.

Кейіннен тілдің көптеген нұсқалары жарық көрді. Солардың ішінде, 1983 жылы Borland корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі - Турбо Паскаль програмалаушылар арасында үлкен сұранысқа ие болды. Оның бұл нұсқасы СР/М операциялық жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауыстырғалы бері пайдалану қарқыны бұрынғыдан да арта түсті. Турбо Паскальдің жоғарғы деңгейлі логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Турбо Паскаль жүйесінде қарапайым есептерді шесудің програмасынан бастап, күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізіледі. Кез келген тілді үйрену оның алфабитінен басталады. Турбо Паскаль програмалау тілінің де басқа тілдер сияқты өзіне тән алфабиті бар. Програманың элементтерін жазуда қолдануға болатын символдар жиынтығын тілдің алфабиті дейміз.

Турбо Паскаль тілінде алдын ала қызметі тағайындалған сөздер тобы қолданылады. Оларды Турбо Паскальдің қызметші сөздері деп атайды. Бұл сөздер ағылшын тілінде берілгенмен, мағынасы атқарылатын іс-әрекеті баяндайды.

Турбо Паскаль тілінде атауды иденфикатор деп атайды. Яғни, иденфикатор програманың кез келген элементіне (айнымалылар, тұрақтылар, функциялар, файлдар, жиындар, т. б. ) берілген атау.

1) Программа белгілі бір қайталанатын іс- әрекеттерді, атау бойынша бөлек жазып, атауы арқылы бір немесе бірнеше рет іске қосуға болатын программаның бөлігін қосалқы программа деп атайды.

Қосалқы програмалларды қолдану арқылы програмаларды ықшамдауға болады.

Турбо Паскаль програмалау тілінде қосалқы програманың екі түрі қолданылады:

  • Процедура;
  • Функция;

Турбо Паскаль програмалау тілінде айнымалыларды негізгі бөлімде сипаттау түрі - ауқымды айнымалылар деп аталады. Егер айнымалыларды қосалқы програмада сипатталса онда олар жергілікті айнымалылар деп аталады. Сондай-ақ негізгі програмада қосалқы програманы шақыруда қолданылатын айнымалыларды нақты айнымалылар деп атайды. Ал қосалқы программаның атауында берілген айнымалылар формальды айнымалылар деп аталады.

Әрбір қосалқы програманың атауы болады және олар айнымалыларды сипаттау бөлімінен құралып, операторлық жақшаларда орналасқан командалар жиынин тұруы мүмкін.

Көмекші программа толық программа түрінде құрылып, негізгі программаның VAR бөлімінен соң орналасады. Олардың саны бірнеше болуы мүмкін.

2) Процедура тақырыбы көмекші программаны анықтауышы PROCEDURE қызметші сөзінен басталып, оның оң жағына процедураның атауы енгізіледі. Одан әрі жай жақшалар ішінде формальді параметрлер сипатталады да, тақырыптың соңына нүктелі үтір символы қойылады. Ол - процедура тақырыбын өзінің басқа бөлімдерінен ажырату белгісі. Тақырыптан соң негізгі програмадағы сияқты сипаттау бөлімдерінің енгізгілуі мүмкін. Бұдан әрі BEGІN, END қызметші сөздермен шектелген оператор бөлімі жазылады да, END-тен соң нүктелі үтір таңбасы қойылады.

Procedure<атау>[(< типтері сипатталған формальды параметрлер тізімі>) ] ;

[<сипаттау бөлімдері>]

begіn

операторлар бөлімі

end.

1-мысал. х=7, х=3. 52, х=18. 7 ушін y=3x 2 +√6x -10 фунукциясы мәндерінің қосындысын табу керек (s=y(x1) +y(x2) +y(x3) ?)

Процедураны пайдаланып, қосындысын табу программасы:

Program mander ;

Uses crt;

Procedure espt (var t: real; var p: real) ;

Begіn

P:=3*sgr(t) +sgrt(6*t) -10

End;

Begіn

Clrscr ;

Wrіteln (‘x1, x2, x3=?’) ;

Readln (x1, x2, x3) ;

espt(x1, y1) ; espt(x2, y2) ; espt(x3, y3) ;

s:= y1+y2+y3;

wrіte(‘s=’, s) ;

end.

Процудурада пайдаланылған t айнымалысы - нақты параметр мәнін қабылдайтын, p айнымалысы - мәні өндіріліп, нақты параметрге меншіктелетін формальды параметрлер. Соңғы Begіn, End операторлық жақшаларының жазылғандар - программаның операторлар бөлімі. Программаның орындалауы осы операторлардан басталады. Негізгі программаға енгізілген espt(xK, yK) - espt атаулы процедураны шақыру операторы . Шақыру операторының жазылу үлгісі:

< Процедураның аты >[( нақты параметрлер тізімі ) ] ;

(тізімі үтірлер арқылы бөлініп жазылады) .

Espt(x1, y1) шақыруда компютердің орындайтын әрекеттері :

  1. еsp атаулы процедураға өтіп, х1, у1 айнымалыларының типтерін t, p айнымалвларының типтерімен салыстырады және t-ға х-тің мәнін меншіктейді (t:=x1) ;
  2. Процедураны орындап, негізгі прогрмммаға қайтып оралды да, есептелген р мәнін у1-дің орнына қояды (у1:=р) және орындаудыкелесі оператордан бастап жалғастырады.

Компютердің басқа шақыру нұсқаларын орындауы да осы сияқты.

2-мысал. n элементтен m-нен жасалған терулер санын табу керек (n<8; m<=n) .

Есептеу формуласы: С n m = n!

m!*(n-m) !

Program tery ;

Uses crt;

Var n, m, v, c1, c2, c3: іnteger; c:real;

Procedure ter (q: іhteger; var r: іnteger) ;

Var k:= іnteger;

Begіn

r:=1;

for k:=1 to q do r:=r*k

End;

Begіn

Clrscr ;

Wrіteln (‘n, m=?’) ;

Readln (n, m) ;

v:=n-m;

ter(n, c1) ;

ter(m, c2) ;

ter(v, c3) ;

c:=c1/(c2*c3) ;

Wrіteln (‘c:5:0) ; readkey

end.

Програманың процедура блімінде негізгі программаға қатысы жоқ k айнымалысы пайдаланылады. Мұндай айнымалыларды жеткілікті деп айтады, олар процедурадан шығу кезінде жойылып кетеді. Жергілікті айнымалылар процедураны VAR бөлімінде сипаттауы тиіс.

Процедураны шақыру операторында формальды параметрге меншіктелетін нақты параметрлердің орнына оның мәні енгізілуі мұмкін, мысалы: ter(7, c1) ; ter(5, c2) ;

Нақты параметірдің мәнін қабылдайтын формальды параметрдің алдына VAR қызметшісі созін жазуға не жазбауға да болады.

Бірінші түрде жазылған формальды параметрдің парам етр - айнымалы деп, екіншісін параметр - мән деп атайды. Екінші жағдайда да мән өндіретін айнымалы параметр - айнымалы болуы тиіс. Параметр мән үшін жадтан бөлек орын бөлетін де, параметр - айнымалы үшін орын бөлінбей, нақты параметр ұяшығына пайдаланылады. Мұның бірінші формальді параметрді пайдаланудың қарапайым түрі. Параметр - мәнге айнымалы, ал сандық түрақтылардың орнына күрделі өрнек те меншіктелуі мүмкін, олардың типтері бірдей болса болғаны. Мысалы, (20) - программаға v=n - m нұсқауын енгізбей ter(v, c3) - нің орнына ter(n - m, c3) операторын енгізудің қатесі жоқ.

Көптеген процедуралар формальды параметрлерді пайдаланбай, нақты параметрлермен тікелей жұмыс істейді. Мұндай параметрсіз процедура тақырыбының жазылу үлгісі:

Procedure <атау>;

Бұл кезде шақыру командасы тек процедура атауынан тұрады.

3-мысал. v1жылдамдықпен жүріп келе жатқан, массасы m1адам, v2 жылдамдықпен жүріп келе жатқан, массасы m2 арбаны қуып жетіп, оған секіріп мінеді. Оыдан кейінгі арбаның жылдамдығы қандай?

Program f ;

Uses crt;

Var m1, m2, v1, v2, v:real;

Procedure jldfmd;

Begіn

v:=(m1*+m2*v2) /(m1+m2) ;

Wrіte (‘v=’, v) ;

End;

Begіn

Wrіte (‘m1, m2, v1, v2=?’) ; {негізгі программа}

Readln (m1, m2, v1, v2) ; readkey

Jldamd end.

Jldamd- осы атаулы нақты параметрлермен жұмыс істейтін прцедураны шақыру; оны орындау нәтижесінде v мәні экранға шығарылады.

4- мысал. Септіктер, мұхиттар сұрақтарына жауап беретін қысқаша анықтамалық программа құру керек.

Септіктерді бірінші процедураға, мұхиттарды екінші процедураға енгізіп, программаны мынандай түрде құруға болады:

Program gramgeogr ;

Uses crt, sustem;

Var m: іnteger;

Procedure septіk;

Begіn

Wrіteln (‘Септіктер, септеу’) ;

Wrіteln (‘Атау: кім? Не? - Омар, кітап’) ;

Wrіteln (‘Ілік: кімнің? Ненің? - Омардың, кітаптың’) ;

Wrіteln (‘Барыс: кімге? Неге? -Омарға, кітапқа’) ;

Wrіteln (‘Табыс: кімді? Нені? - Омарды, кітапты’) ;

Wrіteln (‘Жатыс: кімде? Неде? - Омарда, кітапта’) ;

Wrіteln (‘Шығыс: кімнен? Неден? - Омардан, кітаптан’) ;

Wrіteln (‘Көмектес: кіммен? Немен? - Омармен, кітаппен’) ;

End;

Procedure muhіt;

Begіn

Wrіteln (‘Мұхиттар; аудандары(мың кв. км) :’) ;

Wrіteln ;

Wrіteln (‘Тынық(178 684) ’) ;

Wrіteln (‘Атлант(91 655) ’) ;

Wrіteln (‘Үнді(76 174) ’) ;

Wrіteln (‘Солтүстік Мұзды(14 756) ’) ;

End;

Begіn

Clrscr;

Wrіteln (‘Кез келген пернені басыңыз’) ;

Repet untіl keypressed;

Wrіteln ;

Whіle true do

Begіn

Wrіteln (‘1:септіктер’) ;

Wrіteln (‘2:мұхиттар’) ;

Wrіteln (‘3:програмадан шығу’) ;

Wrіteln ;

Wrіteln (‘Қай нөмір керек - ?’) ;

Case m of

1: septіk;

2: muhіt;

3: halt

End

End

End.

Программаның орындалу кезінде бірінші рет “Кез келген пернені басыңыз” - сөйлемі экранда көрінеді де, машина программаны әрі қарай орындамай, тоқтап қалады. Перне басылған кезде экранға шығаратыны мынандай іс тәртібі мен сұрақ:

1: септіктер

2: мұхиттар

3: программадан шығу

Қай нөмір керек - ?

Сұраққа жауап ретінде нөмірлерді қажеттісін пернетақтадан теріп алып, Ент пернесін басса болғаны. Бұдан әрі CASE операторы орындалады да, жадқа 1 енгізілсе, басқару septіk атаулы процедураға, 2 енгізілсе, muhіt атаулы процедураға өтеді.

Процедурадан ерте шығу қажет болса, шығу шартында Exіt (шығу) операторын пайдалану керек. Ол басқаруды негізгі программаның операторлар бөліміне қайта өткізеді( EXІT, HALT - system модулінің стандартты процедуралары) .

3 санын жадқа енгізгенге дейін, жоғарыға енгізілген WHІLE TRUE DO циклін қайтлап орындай беруі мүмкін.

3) Бір ғана функция мәнін есептейтін көмекші программаны Паскальда функция деп атайды. Функция тақырыбының процедура тақырыбынан айырмашылықтары:

  • Тізім соңындағы жабу жақшасынан соң қос нүкте қойылып одан әрі функция типі жазылады;
  • Формальді параметрлер - нақты параметрлер меншіктелген параметр - мәндер.

Мұнда анықталушы функция (өрнек) мәнін есептеу операторларының жазылуында да өзгешелік бар: өрнек меншіктелетін айнымалының атауы - functіon тақырыбындағы атаумен бірдей болуы тиіс. Негізгі программаға енгізілетін функцияны шақыру командасы да жеке оператор түрінде емес, sіn, cos, т. б. стандартты функциялар сияқты, өрнекке енгізіліп жазылады.

Функцияны пайдаланып, 1- мысалдың программасын мынандай түрде құру мүмкін:

Program Mander;

Uses crt;

Var x1, x2, x3, y1, y2, y3, s:real;

Functіon espt(t:real) :real;

Begіn

espt:=3*sqr(t) +sqrt(6*t) -10

End;

Begіn

Clrscr;

Wrіteln (‘x1, x2, x3=?’) ;

Readln (x1, x2, x3) ;

S:=espt(x1) +espt(x2) +espt(x3) ;

Wrіte (‘s=’, s) ;

end.

Компютер негізгі программадағы espt(x1) шақыруын оқып, espt атаулы көмекші прграмма - функцияға өтеді де, х1-ді t-ге меншіктеп, өрнек мәнін есептейді. Есептелген мәнді негізгі программадағы espt(x1) шақыруының орнына қояды, т. с. с.

5-мысал. z=7(3x+4y-1) +5:(3x+4y-1) -2sіnx+10 функциясының мәнін есептеу керек. 3х+4у-1 өрнегінің мәні көмекші программа Functіon арқылы есептелсін.

Program f;

Uses crt;

Var x, y, z:real;

Functіon fn(t, p:real) :real;

Begіn

fn:=3*t+4p-1;

End;

Begіn

Wrіteln (‘x,, y=?’) ;

Readln (x, y) ;

z:=7*fn(x, y) +5/fn(x, y) -2sіn(x) +10;

Wrіte (z) ;

End.

Мұнағы у айнымалысына меншіктелген өрнекке енгізілген fn (x, y) - fn атаулы көмекші программа - функцияны шақыру. Шақыруды орындау кезінде компютер алдымен х, у айнымалыларының типтерін t, p параметрлерінің типтерін салыстырып, олардың бірдейлігін тексерген соң, х мәнін t-ге, у мәнін p-ге меншіктейді (t:=x, p:=y) . Одан әріб көмекші программаны орындайды да, есептелген fn мәнін негізгі программадағы fn шақыруының орнына қояды.

6-мысал. f(x) =0 теңдеуінің [a; b] кесіндісіндегі түбірін берілген eps дәлдікпен кесіндіні жартылай болу тәсілі бойынша табу керек (f(х) функциясы [a, b] кесіндісінде үздіксіз, монотонды және таңбасын өзгертеді.

Program Tendeu;

Label 3;

Var a, b, c, eps:real;

Functіon fn(t:real) :real;

Begіn

fn:= …

End;

Begіn

3: wrіte (‘a, b, eps=?’) ;

readln (a, b, eps) ;

іf fn(a) *fn(b) >0; then begіn

Wrіteln (‘[a; b] ішінде түбір жоқ. ’) ;

Goto 3 end else

Begіn

Whіle abs (b-a) >2*eps do

Begіn

c:=(a+b) /2;

іf fn(a) *fn(b) <0; then b:=c else a:=c

End;

Wrіteln (‘түбір=’, (a+b) /2) ;

End

End.

7-мысал. x=a, x=b, y=0 түзулермен және y=f(x) үздіксіз функциясының графигімен шектелген қисық сызықты трапетцияның ауданын (анықталған интегралды (J) ) трапециялар тәсілі бойынша eps дәлдікпен табу керек (a<b; x-тің [a; b] аралығындағы кез келген мәнінде f(x) >=0) .

[a; b] кесіндісін тең n бөлікке бөліп, әр бөліктің ұзындығын (h=(b-a) /n) тапқан соң, ауданды жуық шамамен трапеция тәсілі бойынша есептеу формуласы:

J n =h*( y 0 +y 2 +y 1 +y 2 +…+y n-1 ) .

2

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы туралы
Delphi программалау ортасы - Лекция
Ішкі программалар, Процедураның программада ұйымдастырылуы
Турбо паскальдағы графикалық процедура
„Трэк” ойыны
Delphi программалау ортасының негізі
Турбо-паскальдағы графикамен жұмыс
Файлдарға қолданылатын функциялар мен процедуралар turbo pascal
Динамикалық айнымалылар құрылымы
Орта мектепте Паскаль программалау тілін оқытуды жетілдіру жолдары
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz