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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

      Const int arraysize;

      Float prices [array size];

Сондықтан array size константа болғандықтан программадағы  оның мәнін өзгертуге болмайтындығын есте сақтаған жөн.

 

 

 

 

 

 

2.3  Массивтің максималды және минималды  элементтерін табу

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

Мысалы:

Find largest (values, from, to);

Функцияға іздеу  облысының басы мен соңын көрсететін индекс аргументін қосу өте құажет. Бұл функция максималды мәнді немесе қайдан табылғанын анықтау керек.

Мысалы, мынадай  сандық мәндер берілсін:

                  23,12,45,11,89,21,32,55,81,32

сандарға қарап, 89 максималды мән екенін оңай табуға болады. бірақ, біз сондай-ақ максималды мән 4-ші позициада деп айтуымыз да мүмкін (С++ те санақ 0-ден басталатынын ұмытпаған жөн) бәрімізге белгілі, компьютер бір мезгілде екі санды салыстыра алады. Ал, бірнеше саннан құралған группа ішінен өз бетінше максималды санды компьютер таба алмайды. Ол үшін біз әр санды жеке-жеке бір-бірімен салыстыру керек екенін компьютерге жеткізуіміз керек. сондықтан, компьютер екі санды салыстыру кезінде максималды мәнді есте сақтап, келесі санмен салыстыруы керек. максималды мәнді тапқанша солай жалғаса береді. Алғашында екі санды салыстырғанда, біреуі максималды болады. солай, кезекпен ол санды келесі элементтпен салыстыра отырып, максималды элементті іздйміз.

Оны былай көрсетуге  болады:

Int find largest (int number [ ]6 int from, int to)

{

int index;

int guess;

guess=from;     // Салысырудың бірінші элнменті

for (index=from; index<=to; index++)

{

           if (number[found] number [index])

          {

guess=index;  // Элементті ауыстыру

     }

}

   return guess;

}

Айнымалы  guess-те индекстің ағымды максималд элементі сақталады. Басында, ешқандай сан текскрілмегендіктен біз оған бірінші индекстің (from) мәнін меншіктейіз. Осындай жолмен, бұл позициада максималды элемент number [guess] табылады деп есептйміз.

Әрі қарай цикл басталады. Бүтін айнымалы index көмегімен ағымды массив индексі белгіленеді. Индекс мәні айнымалы from индексінен басталады. Ол іздеу позициясының бастауын білдіреді және айнымалы to мәнімен аяқталады, to іздеудің соңғы позициясын білдіреді.

Шақыру функциясын find largest()-ті массивтің максималды элементін іздейтін негізгі функциясына қосуға болады.

Мысал:

Массивті қолданып бүтін сандардан минималды элементті  табатын программа құру. Массив элементтеріне  кіру үшін көрсеткішті қолдану.

 

//  Поиск минимального элемента массива

//  (доступ к элементам при помощи указателя)

# include <stdio.h>

# include <conio.h>

#define HB 5   //  размер массива

void main()

{

     int a[HB];   // массив

     int *min;    //  номер минимального элемента

     int *p;        // указатель на элемент массива

    int I;

 

 

    printf (“\n Поиск минимального элемента массива \n”);

    printf (“ Введите в одной строке элементы массива,\n”);

    printf (“%i целых чисел,и нажмите <enter>\n”,HB);

    printf (“->”);

    p=a;

    for (i=1; i<=HB; i++)

          scanf (“%i”, p++);

    min=a;     // пусть первый элемент минимальный

    p=a+1;

 

    // теперь р содержит адрес второго элемента

   // сравним оставшиеся элементы массива с минимальным

   for (i=2; i<=HB; i++)

    {          if (*p< *min) min = p;

          p++;   //

    }   printf (“Минимальный элемент массива:%i\n”, *min);

   printf (“\n Для завершения нажмите <enter>”);

   getch();

    } 
   

  3.1  Динамикалық массивтерді құру  және жою

Жадының динамикалық  облысында new операторының немесе  malloc функциясының көмегімен массив құруға болады. Бірінші вариантқа тоқталайық, ол онша қауіпті емес және қолдануға ыңғайлы.

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

     int m=5;

    cin >> n;

    int (*a) [m]=new int [n][m];                                                                                  //1

    int **b=(int**) new int [n][m];                                                                             //2

Бұл фрагментте динамикалық массивті құрудың екі  түрі көрсетілген. 1-операторда new операторының көмегімен бөлінген бастапқы массив адресі жады аумағы а айнымалысымен беріледі, int типті m элементтен тұратын массив сілтемесі сияқты анықталған. Мұндай жағдайда дәл осындай белгілер типі new операторын  қайтарады.

2-операторда  бастапқы бөлінген жады аумағы b айнымалысымен беріледі, мұнда көрсеткіш ішіне көрсеткіш, оның ішіне int сипатталған.

Динамикалық массивте бірінші өлшемінің элементтерінің саны тұрақты болуы тиіс емес. Ал локальді және глобалді облыстарда анықталған массивтерде олай емес.

New операторының  көмегімен массивтің тек бірінші өлшемі белгі түрінде беріле алады. Қалған өлшемдері тұрақты болуы керек. Мысалы:

    int getDim () ;

    // екі  өлшемді массивтің құрылуы

    int (*pia3) [1024] = new int [getDim ()][1024];

    // қате: екінші өлшемі тұрақты түрде  берілген жоқ  

    int **pia4 = new int [4][getDim ()];

     Delete масивтерді жою операторы келесі формада болады:

    delete [ ] str1;

Бос тік жақшалар қажет. Олар компиляторға бұл жеке бірлік емес, массивке сілтеме екенін айтады. Str1 типі char-ға сілтеме, бұл жақшаларсыз компилятор массивтерді жою керектігін түсінбейді.

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

Динамикалық бөлінген жадымен басқарумен байланысты проблемалардан құтылу үшін стандартты кітапхананың vector, list немесе string сияқты контейнерлік типтерді қолдану керек. Олар жадыны автоматты түрде басқарады.

 

3.2  Динамикалық тұрақты объектілерді  құру және жою

Программист топта  объект құра алады және инициализациядан кейін оның белгілерінің өлшемдерін жасыра алады. Бұған тұрақты объектіні жариялау арқылы жетуге болады. Ол үшін new операторының келесі формасы қолданылады:

const int *pci = new const int (1024) ;

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

Екіншіден, new айнымалысымен  қайтарылған көрсеткіш тұрақтыны  көрсетуі тиіс. Жоғарыдағы мысалдағы pci const int көрсеткішіне қызмет жасайды.

Құрылған объектінің динамикалық тұрақтылығы инициализацияланғанда алынған белгілердің  ары қарай өзгере алмайтындығын білдіреді. Бірақ уақыт өте келе динамикалық объектті delete операторы басқарады. Мысалы:

delete pci;

Delete операторының  операндінің const int көрсеткіштік  типтері бар.

Қатарлы элементтердің динамикалық тұрақты массивін құру мүмкін емес, себебі, мұндай массив элементтерін new операторында инициа-лизациялауға болмайды. Келесі инструкция компиляция кезіндегі қатеге байланысты:

const int *pci = new const int [100]; // қате.

 

3.3  Абстрактті типті динамикалық массив объектісінің құрылуы

Абстрактті  типті динамикалық массив объектісін құру барысында жай массивті құрғанда қолданылатын объектілер – массивтің  әр элементі үшін аргументсіз  конструктор  шақырылады. Массив динамикалық жадыға кіреді. Мысалдар қарастырайық:

    # include <iostream.h>

    class c1;

    {

    public:

             c1 () { cout << "с1 класының конструкторы;" << end; }

             void* operator new (unsigned int);

             ~c1 () {}

    };

    void* c1:: operator new (unsigned size)

   {

        coud << " с1 класының operator new () функциясы;" << end1;

        return (void*) ((long) 0x9000 << 16 ); // 9000:0000 адресі

    }

    void main ()

   {

       c1 *clp = new c1 [3]; //

       cout << "бастапқы массив адресі = " << clp << end1;

    }

    Программа шешуі төмендегідей:

    Класс  конструкторы с1;

    Класс  конструкторы с1;

    Класс  конструкторы с1;

    Бастапқы  массив адресі = 0х8f850e08.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                           

                                                     ҚОРЫТЫНДЫ                  

          Бұл курстық жұмыста тізім  құру үшін қолданылған массив  және динамикалық массив туралы  толық қарастырылған. 

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

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

Программалаудың барлық объектіге  бағыттылған тілдері дамып жатқан тілдер болып табылады, олардың стандарттары анықталуда және кеңеюде. Бұндай дамудың салдары программалаудың әр түрлі жүйелерінің компиляторларының кіріс тілдеріндегі болмай қоймайтын айырмашылықтарына байланысты болады. Қазіргі кезде жиі таралған программалау жүйелері  Microsoft C++, Visual Basic, J++, Sun және Borland фирмаларының программалау жүйелері болып табылады. Pascal  программалау жүйесіндегі мәтіндік редакторды, компиляторды, байланыс редакторын (жинақтаушы), отладтық құралдарды және визуалдық программалауды қолдану мүмкіншілігін жинақтаған интегралданатын ортаның бар болуына байланысты.

 Паскаль т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версия) программалау тілі пайда болды.Содан бері Паскаль жалпы білімдік,кәсіптік-техникалық мектептерде және жоғары білім беру орындарында «бірінші» программалау тілі ретінде қолданыла бастады.

Программалау  тілі–ЭЕМ-де шешілетін әр түрлі есептердің программасын компьютерге түсінікті формада жазу боп табылады. Программалау тілдері жоғарғы және төменгі деңгейлі тілдер болып бөлінеді.Қолданбалы мазмұнды есептерді шешуге бағытталған, командалардың мол жиынтығынан тұратын табиғи тілге ұқсас программалау тілі-жоғарғы деңгейлі программалау тілі деп атайды.Қазіргі кезде олардың бірнеше түрі бар.Жоғарғы деңгейлі программалау тілдерінің бірі-Паскаль тілі.

Паскаль тілінде  мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын  ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.

WRITE.WRUTELN-шығару операторы болса,

READ.READLN-енгізу операторы.

          Символдық және сандық мәндерді енгізгенде, көбінесе EOLN (еnd of  linе - жол соңы) стандартты функциясын пайдалану қолайлы болады. Бұл Функция мәні "жолдың соңы болды " немесе "мәндер беріліп болды" дегенді білдіретін Enter пернесі басылғанда ғана ақиқат (TRUE) болады да,қалған жайғдайлардың барлығында жалған (FALSE) болады. Бұл Функция көбінесе циклдік операторларда пайдаланылады.

Курстық жұмысымды қортындылай келе енгізуу және шығару операторлары туралы көптеген мағұлмат алдым.Сонымен бірге ТУРБО ПАСКАЛЬ программасы туралы мағұлматты  толықтай қамтыдым.

 

 

 

 

 

 

 

 

 

                              

                                 ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР

 

1. Алексеев Е. Р. "Турбо Паскаль 7.0" Идеалный учебный курс. Численные методы. Москва - 2006.

2.Гринев А.К., Максимов Д.В.    MS Word ХР. –М.: «Солон-Р», 2003.

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