Программирование

Автор: Пользователь скрыл имя, 27 Октября 2011 в 16:02, курсовая работа

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

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

Содержание

Кіріспе.....................................................................................................................3
І. ПАСКАЛЬ ТІЛІНДЕГІ МОДУЛЬДЕР
1.1. Модулдер туралы жалпы түсінік...................................................................5
1.2. Пернетақтаны басқару функциялары............................................................9
1.3. Экранға мәтін шығару процедуралары мен функциялары........................11
1.4. Дыбыс генераторын программалау............................................................16 ІІ. ПАСКАЛЬ ТІЛІНДЕ СТАНДАРТТЫ МОДУЛЬДЕРДІ ҚОЛДАНУ
2.1. Турбо Паскальдың стандарт модулдеріне шолу.........................................18
2.2 Стандартты модульдерді сұрыптау...............................................................19
2.3.Graph модулінің жалпы сыпаттамсы............................................................22
ІІІ . МОДУЛЬДЕР, МОДЕЛЬДЕР ҚҰРУ
3.1. Модельдер кезінде дедуктивті және индуктивті тәсілдер..........................25
3.2. Құрылымды және модульді программалау.................................................26
ҚОРЫТЫНДЫ.......................................................................................................30
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ..................................................

Работа содержит 1 файл

айдана курсовой.doc

— 203.50 Кб (Скачать)
 

   KeyPressed функциясы Boolean типті - пернетақта буферінің бос не бос емес-тігін білдіреді. Егер функция орындалғанға дейін бірде-бір түйме басылмаса, онда мәні False, әйпесе мәні True болады. Ерекшелігі, фунция  программаның орындалуын кідірпейді.

   ReadKey функциясы Char типті- мәні пернетақта буферінен оқылған символ.  Егер функция орындалғанға дейін бірде бір  перне басылмаған болса, онда программаның орындалуы кезкелген бір перне басылғанша кідіртіледі. ReadKey функциясының жәрдемімен кезкелген перненің кодын оқуға болады. Символы бірінші байтқа жазылған перненің кодын оқу үшін ReadKey функциясын  1 рет, ал қалғандарына 2 рет қолдану керек.

      Кезкелген перненің кеңейтілген  кодын анықтауға мүмкіндік беретін  программа құрыңыз. Программаны  аяқтау үшін "Үзік" пернесін  (коды -  #32) басу қажет болсын.

   Program  Prost_52;

       uses  CRT;

        var  ch : char;

   begin

        repeat

           ch := ReadKey;

           if  ch = #0  then  ch := ReadKey;

           Writeln(ord(ch));

        until ch = #32;

   end.

   1.3.  Экранға мәтін шығару процедуралары мен функциялары

 

   1982 жылдан бастап IBM фирмасы CGA (Color Graphics Adapter) түсті графикалық адаптерін пайдаланатын дербес компьютерлерді шығара бастады. Бұл адаптер монитор экранына 16 түспен мәтіндік режимде 40х25 не 80х25 символ, ал графикалық режимде 320х200 не 640х200 пиксел (нүкте) шығаруға мүмкіндік берді. CGA-ның мәтіндік мүмкіндіктері IBM фирмасының кейінгі буын адаптерлерінде (EGA, MCGA, VGA, SVGA)  стандарт ретінде сақталған. CRT модулі осы типті адаптерге қатысты мүмкіндіктерді қарастырады. 

          TextMode процедурасы адаптердің жұмыс режимін анықтайды. Процедура тақырыбы:

   Procedure  TextMode (TM: Word); 

          Мұнда TM - мәтіндік режимнің коды. CRT модулінде оның негізгі 4 тұрақты мәні бар:

   

       const

          BW40    =  0;   { 40х25  ақ-қара режим }

          Co40      =  1;   { 40х25  түсті режим }

          BW80    =  2;   { 80х25  ақ-қара режим }

          Co80      =  3;   { 80х25  түсті режим }

           

   TextMode  процедурасымен  қойылған  соңғы режимнің коды LastMode жаһанды айнымалысында сақталады.  Оны экранның бұрынғы қалпын қайтару үшін пайдаланады. TextMode  процедурасы орындалғанда  экран тазаланып, оның бұрынғы түсі жойылады және көрсеткіш экранның сол жақ жоғарғы бұрышына қойылады. Мәтіндік режимде экранда бейнеленетін әрбір символдың позициясы жатық (x) және тік (y) кординаталарымен анықталады. Экранның сол жақ жоғарғы бұрышының координаталары (1,1) болады да, x оңға қарай, y төмен қарай өседі:   

          TextColor  процедурасы экранда бейнеленетін символдың түсін анықтайды. Процедура тақырыбы: 

                                Procedure  TextColor (Color: Byte); 

          TextBackground  процедурасы экран (символ) төсегінің түсін анықтайды. Процедура тақырыбы: 

   Procedure  TextBackground (Color: Byte); 

   Мұнда Color - түс коды. CRT модулінде оның  17 тұрақты мәні бар:

       const 

         Black    =    0    {қара}
         Blue    =    1    {көк}
         Green    =    2    {жасыл}
         Cyan    =    3    {көгілдір}
         Red    =    4    {қызыл}
         Magenta    =    5    {күлгін}
         Brown    =    6    {қоңыр}
         LightGray    =    7    {сұрғылт}
         DarkGray    =    8    {сұр}
         LightBlue    =    9    {ашық  көк}
         LightGreen    =  10    {ашық  жасыл}
         LightCyan    =  11    {ашық  көгілдір}
         LightRed    =  12    {алқызыл}
         LightMagenta    =  13    {қызғылт}
         Yellow    =  14    {сары}
         White    =  15    {ақ}
         Blink    =128    {жыпылықтау}
 

          ClrScr процедурасы экранды (терезені) тазалайды және оны TextBackground  процедурасы анықтаған төсек түсімен толтырады. Көрсеткіш экранның сол жақ жоғарғы бұрышына қойылады. Мысал: 

        Экран төсегінің түсін өзгерте  отырып, түсті мәтін  шығару.  

Program Prost_53;

   uses CRT;

      var ch: char;

   begin

      TextBackground(1); ClrScr;

      TextColor(14); Writeln('Алгоритм'); Ch:=ReadKey;

      TextBackground(6); ClrScr;

      TextColor(3); Writeln('Программа');

      Ch:=ReadKey;

      TextBackground(0); ClrScr;

   end. 

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

                              Procedure  Window (x1, y1, x2, y2: Byte); 

         Мұнда (x1, y1) - терезенің сол жақ  жоғарғы, ал (x2, y2) - оң жақ төменгі  бұрышының экрандық координаталары. Процедура орындалғанда экрандық  координаталар соңғы терезеге  қатысты өзгереді. Яғни, терезенің  сол жақ жоғарғы бұрышының координаталары (1,1), ал оң жақ төменгі бұрышының координаталары  (x2-x1, y2-y1)   болады. CRT модулінде ең соңғы ашылған терезенің (x1, y1)  координаталары WindMin, ал (x2, y2) - WindMax жаһанды айнымалыларында сақталады. 

          GotoXY процедурасы көрсеткішті экранның (терезенің) берілген позиция-сына қояды. Процедура тақырыбы:

                           

   Procedure  GotoXY (x, y: Byte); 

         Мұнда (x, y) -  көрсеткіштің жаңа  координаталары. Берілген координаталар  экранның (терезенің) шекарасынан шығып кеткен жағдайда процедура орындалмайды.

         WhereX және WhereY функциялары (типтері: Byte)  көрсеткіштің ағымдық x және y  координаталарын береді.

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

          DelLine процедурасы экранның (терезенің) көрсеткіш тұрған жолын тазалайды, төменгі жолдар (болса) бір позицияға жоғары көтеріледі.

          InsLine процедурасы экранның (терезенің) көрсеткіш тұрған позициясына жаңа жол енгізеді, көрсеткіш тұрған жолдан бастап төменгі жолдардың барлығы бір позицияға төмен түседі.

          LowVideo, NormVideo, HighVideo процедураларының көмегімен символдарды экранға сәйкес төменгі, қалыпты және жоғарғы жарықтылықпен шығаруға болады.

          AssignCRT процедурасы f файлдық айнымалысын экранмен (видеожадына тікелей қатысу арқылы) байланыстырады. Процедура тақырыбы: 

   Procedure  AssignCRT  (f: Text); 

         Экранда әуелі, ақ түспен "МАТЕМАТИКА" сөзі жазылған жасыл терезе, кейін сары түспен "ИНФОРМАТИКА" сөзі жазылған күлгін терезе шығару.

Program Prost_54;

        uses CRT;

        var

           ch: char;

   begin

         TextBackground(2);  TextColor(15);

         Window(15, 5, 45, 13); ClrScr;

         GotoXY(7, 5);  Write('М А Т Е М А Т И К А');

         Ch:=ReadKey;

         TextBackground(5); TextColor(14);

         Window(30, 11, 62, 19); ClrScr;

         GotoXY(7, 5); Write('И Н Ф О Р М А Т И К А');

         Ch:=ReadKey;

         TextBackground(0); ClrScr;

   end. 

   1.4.   Дыбыс генераторын программалау 

          Дербес компьютердің дыбыс шығару мүмкіндіктерін программада пайдалану оның дыбыстық жиіліктегі электромагниттік тербелістер  шығара алатын  дыбыс генераторының  жұмысын басқаруға негізделген. CRT модулінде дыбыстарды программалауға арналған 3 процедура бар. 

          Sound  процедурасы  берілген жиілікпен дыбыс шығаратын ДК динамигін іске қосады.  Процедура тақырыбы: 

                                Procedure Sound  (F: Word); 

           Мұнда F- герцпен берілген дыбыс жиілігі. Процедура программаның орындалуын жалғастыра береді және динамиктің дыбыс шығаруы NoSound  процеду-расы орындалғанша тыйылмайды. 

          NoSound  процедурасы  динамиктің  дыбыс шығаруын  тияды.

          Delay процедурасы программаның орындалуын берілген уақытқа кідіртеді. Процедура тақырыбы: 

   Procedure  Delay (T: Word); 

          Мұнда T - миллисекундпен берілген  уақыт. Әртүрлі жиіліктегі дыбыстарды  белілі бір ұзақтықпен шығару  үшін, әдетте, Sound - Delay - NoSound схемаcы пайдаланылады.  Мысал: 

      4 октавадан тұратын музыкалық гамманы ілгері және кейін орындау.

   Program  Prost_55;

   uses CRT;

      const

         F: array[1..12] of real = (130.8, 138.6, 146.8, 155.6, 164.8, 174.6,

                                                185.5, 196.0, 207.7, 220.0, 233.1, 246.9);

         temp=100;

      var   i, j:  integer;

   begin

       for i:=0 to 3 do

          for j:=1 to 12 do

      begin

             Sound(Round(F[j]*(1 shl i)));

             Delay(temp);

             NoSound;

          end;

       for i:=4  downto  1  do

       for j:=12  downto  1  do

      begin

             Sound(Round(F[j]*(1 shl i)));

             Delay(temp);

             NoSound;

          end;

   end. 
 
 
 
 
 
 
 
 

   ІІ. ПАСКАЛЬ ТІЛІНДЕ СТАНДАРТТЫ МОДУЛЬДЕР 

   2.1. Турбо Паскалдың стандарт модулдеріне  шолу 

   Турбо Паскалда көптеген әртүрлі типтерді, тұрақтыларды, процедуралар мен функцияларды жинақтап сақтайтын 8 стандартты модулдер бар. Олар: SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3  және GRAPH3. Турбо Паскаль 7.0 пакетінде GRAPH, TURBO3  және GRAPH3 модулдері бөлек-бөлек TRU-файлдарда жазылған, ал қалғандары TURBO.TPL кітапханалық файлдың құрамына кіреді.  Ескеретін бір жағдай, SYSTEM модулінен басқа модулдерді пайдаланғанда міндетті түрде USES анықтауын қолдану керек. Стандартты модулдерді қысқаша сипаттап өтейік.

Информация о работе Программирование