Паскаль тілінің негізгі элементтері

Автор работы: Пользователь скрыл имя, 22 Октября 2013 в 17:59, курсовая работа

Описание работы

Паскаль тiлiн 1968 - 1971 жылдары швейцариялық ғалым Никлаус Вирт оқып - үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Бұл тілдің стандарты кейiнiрек бекiтiлдi, ол сол кездері кең таралған АЛГОЛ, ФОРТРАН, БЕЙСИК тiлдерiне қарағанда жетiлдiрiлген, жұмыс iстeyгe ыңғайлы тiл болды. Паскаль тiлi өзінің қарапайымдылығының және тиiмдiлiгiнің арқасында дүние жүзіне тез таралды. Қазiргi кезде барлық дербес компьютерлер осы тілде жұмыс iстей алады. Паскаль тiлiнде жазылған программаның дұрыстығын компьютерде тексеру және жiберiлген қатенi тузету оңай.1975 жылы стандартты Паскальдың компиляторымен Турбо Паскаль(3.0версия) программалау тілі пайда болды.Содан бері Паскаль жалпы білімдік,кәсіптік-техникалық мектептерде және жоғары білім беру орындарында «бірінші» программалау тілі ретінде қолданыла бастады.

Содержание работы

КІРІСПЕ......................................................................................................... ....3
I.ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ
1.1. Паскаль тілінің негізгі элементтері................................................5
1.2 . Мәлімет типтері................................................................................7
1.3. Программа құрылымы......................................................................9
ІІ. ДИНАМИКАЛЫҚ МАССИВТЕР
2.1. Массив дегеніміз не?......................................................................14
2.2. Массивтермен жұмыс...................................................................18
2.3. Массивтің максималды және
минималды элементтерін табу.............................................................21
2.4. Динамикалық массивтерді құру және жою.................................24
2.5. Динамикалық тұрақты объектілерді құру және жою.................25
2.6. Абстрактті типті динамикалық массив
объектісінің құрылуы..............................................................................26

ҚОРЫТЫНДЫ.........................................................................................28 ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР...........

Файлы: 1 файл

курсавой.doc

— 137.00 Кб (Скачать файл)

3) Тұрақтыларды (const) сипаттау;

4) Мәліметтер типтерін (true) анықтау;

5) Айнымалыларды (var) сипатгау;

6) Процедураларды (procedure) сипатгау;

7)  Функцияларды (function) сипатгау;

 
        Кітапханалық  модульдерді сипаттау бөлімі USES түйінді сөзімен басталып, сипаттау  бөлімінде басқаларынан бұрын  жазылуы керек. Программада қолданылатын модуль атауларының саны бірнеше болса,          олардыңарасыүтірменжыратылыпжазылады: 
uses CRT, Graph;

Программадағы тұрақтылар өз мәнімен (мысалы, 5,14,13.5, т.б.) немесе оған қойылған атау арқылы берілуі  мүмкін. Тұрақтылар өз атауы арқылы берілсе, онда оның атауын жаза отырып программаның кез келген жерінде пайдалануға болады, бірақ оның атауы мен мәні тұрақтыларды сипаттау бөлігінде төмендегідей түрде көрсетілуі тиіс. Мысалы: 
const p=3.14; e=2.7; a=’bol’; max=1000;

Айнымалыларды сипаттау бөлімінде программада қолданылатын барлық айнымалалыларды және олардың типтерін көрсету қажет:

 
var P,Q,R: Integer; 
A,B: Char; 
F1,F2: Boolean;

Программадағы кез келген операторды белгімен белгілеп қоюға болады.Бұл белгі арқылы қажетті жағдайда программаның кез  келген жолынан осы белгісі бар операторға көшіп, оны қайталап кезексіз орындауға болады. Белгі ретінде төрт цифрдан аспайтын кез келген санды немесе сөздерді қолдануға болады. Оператор тек бір белгімен ғана белгіленеді. Бір белгі бірнеше операторды белгілей алмайды. Белгілер операторлар бөлімінде сол оператордың алдына жазылып, арасы қос нүктемен ажыратылады. Сипаттау бөлімінде белгілер label түйінді сөзінен кейін жазылады.

Мысалы:  
label3,471,29,Quit; 
        Паскаль тілінде программа құрған кезде программада қолданылатын барлық компоненттер (айнымалылар, олардың типтері, тұрақтылар, белгілер т.б. ) сипаттау бөлімінде көрсетіліп кетуі қажет. Олай болмаған жағдайда программа қате деген мәлімет береді.

Операторлар бөлімінде  программа мазмұнына сәйкес бір  немесе бірнеше оператордың болуы мүмкін. Операторлар бір-бірінен нүктелі үтір (;) арқылы бөлініп жазылады. Операторлар бөлімі begin түйінді сөзінен басталап, end сөзімен аяқталады. Begin мен end сөздерін операторлық жақшалар деп те атайды. Сәйкесінше begin – ашылатын, end – жабылатын жақшалар.     Оператор дегеніміз - алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі.  
Операторлардың жалпы жазылу түрі төмендегідей болады:

 
BEGIN 
1-оператор; 
2-оператор; 
.................; 
n-1-оператор; 
n-оператор 
END. 
Әдетте программа мәтіні end сөзімен аяқталып, одан кейін нүкте қойылады. Егер программада бір емес, бірнеше операторлық жақшалар қолданылатын болса, онда нүктені тек ең соңғы орналасқан end сөзінен кейін қою қажет. Басқа end сөздерінен кейін нүктелі үтір (;) қойылады.

     Паскаль  тілінде құрылған қарапайым программалардың  біріне мысал келтірейік:

 
Program bastau; {программа тақырыбы} 
const pi=3.14159; { π тұрақтысының мәнін беру} 
var r, l :real; {r, l мәндерінің нақты сан екенін сипаттау} 
begin {Операторлар басы} 
readln(r); { r мәнін енгізу} 
l:=2*pi*r; {Шеңбер ұзындығын есептеу} 
write(‘шеңбердің ұзындығы= ’, l); {Нәтижені экранға шығару} 
end. {Программа соңы} 
Мұнда программа мәтіні қарайтылған қаріппен терілген, ал оң жақ шетте пішінді жақша ішінде түсініктеме мәтіні берілген, түсініктеме программа мәтініне ешқандай әсер етпейді, оны түсінуді жеңілдетеді, сондықтан әрбір программа түсініктемемен толықтырылуы тиіс.  
1-мысал  
program misal; {екі санның қосындысын есептеу} 
var 
x,y,s: integer; 
begin 
WriteLn('Бос орын арқылы екі сан енгіз '); 
ReadLn(x,y); 
s := x + y; 
WriteLn('Екі санның қосындысы ',s); 
end. 

 

 

 

 

 

ІІ. Динамикалық  массивтер

2.1  Массив дегеніміз  не?

Массив – ол реттелген  біртекті элементтердің жиыны. Массив жүйелі элементтерді құрастырады, ол элементтердің элементтердің нөмерлерін реттейді. Массив арифметикалық негіздерден, символдардан, құрылымдардан, көрсеткіштерден, файлдардан тұрады. Массивті жариялау инструкциясында массив элементінің саны көрсетіледі. Массив элементтері 0-ден бастап номерленеді. Массив элементіне ену үшін элемент индексін көрсетеміз.

Паскальда массивтерді өлшеу  саны шектелмеген. Жадыда массив элементі былай орналасқан. Элементтен элементке  өткенде массивтің оң индексі  тез өзгереді. Сол сияқты, жадыда матрица қатарымен орналасқан. Паскальда  массивті бағындыру операциясы жоқ.Массив элементін жариялауда басты белгілерді меншіктеуге болады. бірөлшемді массивтерді инициализациялау белгілердің формасы.

  тип [k] массиві- аты  {белгі тізімі}

     Мысалы :

int  a[5] ={1,5,3,4,2};

float b[ ]={1.2,3.4,4.5,-2.5,0.3,-55};

Индекс ретінде бүтін  типті өрнек константа немесе айнымалыны пайдалануға болады. Индекс 0-ден n-ге дейін өзгереді.

Массивтерді енгізу, шығару және өңдеу үшін for, while, dowhile циклдерін  қолдануға болады. 

Массивте өлшеулер қанша  болса квадратты жақшалардың  ішіндегі индекстер  сонша болады.  Әр индекс өз квадратты жақшасында болады. Элементке айналдыру массивіне  мысал:

a[i], a[i+2]- бірөлшемді

b[0] [0], b[i] [j], b[9] [19]- екіөлшемді

e[i] [j] [k], c[i+2] [2*j-1] [k]-үшөлшемді

СИ-де үзілісті шекаралы массивтер жоқ. Бірақ, егер программа орындалудан бұрын  массив элементнің саны белгілі болса, массив # define    директивасының көмегімен оны тұрақты ретінде  анықтауға болады. массив шекарасын  жариялауда  тұрақтыспецификаттарын анықтағанда аталған тұрақтыларды қолдануға болмайды. Программа  орындалу процессінде массив элементінің саны орындалса, ОП-ң динамикалық ерекшелеу қолданылады, мысалы  malloc функциясының көмегімен:

# define m5          //-m белгісінің анықталуы.

main( )    

{int   a[m] ;                         //- массивті жариялау

float b[m];  …….               //-m  элементіне.

Бірөлшемді символды массив- жол тұрақты\0 символымен аяқталуы керек. Паскальда жол- соңында нольдік  символы (\0) бар символды массив ретінде қарастырады.

Егер бірөлшемді массивтің  өлшем белгіленбеген болса, онда оны инициализацияланған белгілердің  санымен  анықтайды.

Мысалы, а массиві  5 элементтен тұрады, массив в- 6 элементтен.

Көп өлшемді массивті инициализациялау кезінде фигуралы жақшалардың ішінде үтірмен бөлінген, қабаттасқан тізімді белгілер қолданылады.

Мысалы:

int  a[2] [4]={{1,2,3,-4},   //-0-ші  қатар элементтері

                     {5,6,-7,8}},   //- «1-ші»

Жол инициализациясы  жақшаға алынған символ тізімі- массив элементі көмегімен немесе жол- тұрақтылығы- тізбекті символдар көмегімен болуы мүмкін. Сиволды массивті инициализациялау кезінде, жақша ішіндегі жол көмегімен компилятор жол аяғында өзі \0 сиволын қояды. Символды массивті инициализациялау және жариялау мысалы:

char    c[ ]= {‘0’, ‘T’, ‘E’, ‘T, ‘:’, ‘\0’ };

           char C[ ]=”ОТВЕТ”;

           char  C[7]=”ОТВЕТ”;

            char *C=”ОТВЕТ”;

             char C[7]; c=”ОТВЕТ:”;

Тұрақты жолды  бөлшектеп қарайық. Тұрақты жол- ол тырнақшаға алынған нөл және бірнеше  символдар.

     Мысалы:

    Char*a=”CИ++тілі”;

Си-де тұрақты  символ рұқсат етілген, ондағы тұрақты  сиволдар ішінде басқару символы орналыстырылған, мысалы терілген басқару символы.

Басқару символына  мысалдар:

\n- тексті шығару  кезінде келесі жолға көшу.

07- қысқа қоңырау.

     Мысал:

include  <conio.h>

include   <stdio.h>

ILE*f;              //-нәтиже файылы үшін.

/-------------------Негізгі функция---------

oid   main ()

//f= fopen (“0.2. rez”,  “w”);//- файлға шығару үшін

f=fopen (“con”,”w”);          //- экранға шығу үшін

clrscr ();                                //- экранды тазалау

char*str1=”\nБерілген  текст теру кезінде болмай \келесі жолға көтерілген. \n”

*str 2=” Берілген  тексте теру кезінде болмайды”  ”келесі жолға көшірілген\n”

 

Орындалған  программаның нәтижесі экранға шығарылады:

Берілген текст  теру кезінде болмайды.

Берілген текст  те теру кезінде болмайды.

Ұзын жолдың мысалы, теру кезінде орналыстырылған.

Екі қысқа жолға

Қоңырау!

Құрылым әртүрлі  типті элементтереді бір айнымалыға біріктіру үшін арналған. Құрылым  қарапайым және нұсқағыштармен байланысты болуы мүмкін.

Құрылым элементтері  өрістің бір немесе бірнеше типтері болуы мүмкін, скалярлы және массивтер, тағы сол сияқты басқа құрылымдар.

Құрылымның  арнаылындырылған типі біріктіру болып  табылады. Массивтерді, құрылымдарды және біріктірулерді комбинациялай отырып, үлкен әртүрлі құрылымды деректер құруға болады. олар қиын объекті модельдеуге модельдеуге мүмкіндік береді.

Құрылымды жариялау спецификаторы: Struct

Айнымалы құрылымды  типті сипаттау керек:

truct имя- структурного- типа список-полей;

Құрылымды  типті  жарияладың негізгі формасы:

Truct имя- структурного- типа

{Tun-1 поле-1;  //-список

  Tun-2 поле-2;  //-полей

………….//-структуры

тип -n поле-n;

};

Мысалы:

truct  stud       //- struct stud-имя- структурного типа

{int n2;          //-определение элементов структуры

         char fio  [20];

         float stip ;};  //- конец объявления типа структуры

          truct stud   st={12345,  “Иванов И.И.,100”}

          mst [25];

2.2  Массивтермен жұмыс

Массивтің негізгі  қасиеттерін терең түсінген жөн. Мысалы: қарапайым жағдайды алайық, айталық, маған 5 гимнастты жаттығу  жасату үшін программа құру керек.

Келесі инструкция көмегімен осы бесеуін құрып, оларға ат берейік.

       спортсмен  Aidar, Askar, Madi, Dina.

Содан соң мен  олардың әрқайсына бір жаттығуды  қайта- қайта орындауға команда  беруім керек.

Jump Jack (Aidar);

Jump Jack (Askar);

Jump Jack (Madi);

Jump Jack (Dina);

Бұл, әрине, қиын емес, ал егер спротсмендер жүзден аса  болса ше? Ал, егер мың болса ше?

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

     Ол  былай болады:

Бас спротсменнен тұратын группаны Buy  деп ат беріп: 1 ден 5 ке дейінгі индекс мәнін қайталау.

Ол былай  болады:

Бес спортсменнен тұратын группаны Guy деп ат беріп, 1-ден 5-ке дейінгі индекс мәнін қайталау. Группаның барлық мүшелері жаттығуды орындау керек, енді мен жүздеген жолдарды жазып отырмаймын, Guy массивінде қанша элемент қолданғңым келеді, сонша сан жазамын.

Guy [0] Guy[1] Guy[2]   Guy[3]

Мысал:

Void main prog()

{

   Athlete Guy[5];         // бес спортсменнен тұратын массивті жариялау.

   For (int which = 0; which<=4; which++);

{

Jump jack (Guy [which]); //әр спортсменмен жаттығу жасау  
}

}

Бұл программада  спортсмендер саны әсер етпейді. Массивті жариялау басқа да кез-келген объекті  жариялауға ұқсас, тек массивті жариялаудың айырмашылығы, массив атынан кейін тік жақшаның ішінде оның элементінің саны көрсетіледі.

Мысалы:

Int points [10]

Массив аты  барлық группа элементін білдіреді. Массив аты тік жақшаның алдындағы  нақты элементті білдіреді. Мысалы, келесі иентификатор 10 элементтен тұратын группаы білдіреді: Points

Ал, нақты бір  группа элементіне қатысты болса, былай  белгілейміз:

Points [1].

Өрнектеу  массиві:

Өрнектеуде  әдетте элементтері сан болып  келетін сандық массивтер қолданылады. Мысалы: тип мәні int немесе float. Бұндай массивтің әр-бір элементі сан болып келгендктен, оның мәні өрнгек орнына қойылады.

Массивтер аргумент ретінде:

Массивтер және оның элементтері функция аргументі  бола алады. Бұл жерде объекттің  қандай типін қолданып жатқанын білген маңызды.

Массив элементтерінің саны:

Егер жеті элементтен тұратын массивті жарияласаңыз, бірақ  оның үшеуін ғана қолдансаңыз, программа  түзетусіз жұмыс істейді. Көп  жағдайларда массив мөлшерін анықтау  мүмкін емес болады. мысалы, группадағы студенттер жасын анықтағыңыз келсе. Группада 26 студент бар, сол 28 студентке ғана арнап программа құрамыз. Бірақ, басқа группа үшін бұл программа жарамайды. Өйткені, ло групада 32 студент болуы мүмкін.

Массивті  былай жариялаймыз:

Int student_age[28];

Осы кезде ғана біз 28 мәнін, басқа 32 санына өзгерте аламыз.

Константа (тұрақты) көмегімен массив мөлшерін беру:

Массивті жариялау кезінде оның мөлшерін анықтау үшін айнымалы, яғни ұрақсыз сан қолдануға  болмайды. Мысалы, квадрат жақша  ішіндегі n-константа(тұрақты) болмаса, онда мынау жаиялау дұрыс емес:

        Athlete Guy[n];

Бұл қателік, яғни айнымалы сан программаны орындау  кезінде анықталады. Программаны  орындау алдында компилятор(түрлендіргіш) айнымалыларды сақтайтын жады облысын  ерекшелеу керек. Ол компилятор массив элементтерінің орынын резервтеу үшін керек. Программаны іске қосу кезінде айнымалыларға мәндерді меншіктей бастайды, барлық жады облысына таратылуы керек. дәл осы себеппен массив мөлшері константа көмегімен беріледі. Мысалы, массивке мән беру кезінде аталған константаны жариялау керек.

Информация о работе Паскаль тілінің негізгі элементтері