Практикалык жумыс

Автор работы: M*********@mail.ru, 28 Ноября 2011 в 14:03, реферат

Краткое описание

Паскаль тілін 1970 жылы швецария ғалымы Николас Вирт ойлап тапқан және оны VII ғасырда өмір сүрген француз ғалым-философы Блэз Паскальдің құрметіне PASCAL деп атаған болатын. Қазіргі кезде Паскаль программалау тілінің көптеген версиялары бар және олар бір-бірімен сәйкес келе бермейді.
Блэз Паскаль 1623 жылы францияның Клермон-Ферран қаласында өмірге келген. Оның қабілете жас кезінде көбінесе математика саласынан көп көріне бастаған. Ол 1662 жылы дүниеден қайтқан соң бүкіл әлемде ұлы маематик ретінде қалды. Математикадан басқа Паскальдің таланты физика, философия, әдебиеттану мақсатында есептеу машинасын ойлап тапты. Оның әкесі салық жинаушы болғандықтан бұл машина есептеу жұмыстарында өте қажетті болды.

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

1) Жүктеу түрлері. ТР ортасында жұмыс жасаудың негізгі жолдары. Программа мәтінін редакторлеу, өңдеу процессі.
Программаны редакторлеу, өңдеу командаларын Pascal-дің командалық менюі көмегімен орындап үйрену. Программаны құрастыру. Оның бөлімдері. Бөлімдерін сипаттау. Программаның әрбір бөлімінің атқаратын қызметі.

Begin тақырыбына арналған есептер.

Меншіктеу, енгізу, шығару командаларын пайдаланып қарапайым программаларды құрастыру. Read, Readln, Write, Writeln командалары.

Тармақталу командалары. Құрама операторлар.

Құрама шарттар. Мәтіндік шарттар. Таңдау командасы.

Шарттың алдында қойылатын циклдарды ұйымдастыру. While do циклдағы құрама операторлар. Шарттың соңында қойылатын Until, Repeat циклдарын ұйымдастыру.

Циклдағы құрама операторлар For, to, do операторлары.

Бір өлшемді массивтер. Матрицалар.

Функциялар және Процедуралар.

Қатарлар.

Графика.

Графиктік режимде текст шығару процедуралары.

Есептер шығрау.

Содержимое работы - 1 файл

Практикалық жұмыс 1.doc

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

мұндағы: A - соңғы салынған доғаға орнатқан параметрлер мәндерінен тұратын стандартты ArcCoordsType-типті шама.

       Эллипс  немесе эллипстік доғалар салу үшін ELLIPSE процедурасы қолданылады, жазылуы:

       ELLIPSE(X, Y,A, B, Rx, Ry);

мұндағы: Х,Ү - эллипс центрінің координаттары,

А,В - бастапқы және соңғы бұрыштар,

Rx.Ry - эллипстіңХосі және Үосі бойынша радиустары.

       Боялған эллипсті алдын-ала Setfillstyle, Setcolor процедураларында бояу стильдерін беріп, FILLELLIPSE процедурасын қолданып салады, жазылуы:

       FILLELLIPSE(X, Y, Rx, Ry);

мұндағы: Х,Ү - эллипс центрінің координаттары,

Rx,Ry - эллипстіңХосі және Үосі бойынша радиустары.

       Шеңбердің боялған секторын салу үшін PIESLICE процедурасы қолданылады, жазылуы:

       PIESLICE(X, Y,A, B, R);

мұндағы:

Х,Ү- шеңбер центрінің  координаттары,

А,В – сектордың  бастапқы және соңғы бұрыштары,

R – шеңбердің радиусы.

       Эллипстің боялған секторын салу үшін SECTOR процедурасы қолданылады, жазылуы:

       SECTOR(X, Y,A, B, Rx, Ry);

мұндағы:

X, Ү - эллипс центрінің координаттары,

А,В - сектордың  бастапқы және соңғы бурыштары,

Rx.Ry - эллипстіңХосі және Үосі бойынша радиустары.

       Секторлар іші алдын-ала Setfillstyle немесе Setfillpattern процедураларында орнатылған стильдермен толтырылып боялады. 
 

18.06.2011 жыл 

№13.       Графиктік режимде текст шығару процедуралары. 

       Графиктік режимде текст шығару үшін OUTT.EXT және OUTTEXTXY процедуралары қолданылады. OUTTEXT процедурасы тексті курсор тұрған жерден бастап шығарады. Сондықтан бұл процедураны қолданғанда алдымен Moveto процедурасымен курсордың тұрған орнын көрсетіп кету керек. Көп жағдайларда бұл процедураны қолданған ыңғайсыз болғандықтан OUTTEXTXY процедурасы қолданылады, процедураның жазылуы:

       ОUТТЕХТХҮ(Х, Ү, 'text');

мұндағы:    Х,Ү - текст басталатын жердің нүктесінің координаттары.

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

       Экранға сандар шығару

       PROGRAM Gr10;

       USES Graph;

       VAR d1,d2,X: Integer; Y:Real; ZString;

       BEGIN d1:=Detect; InitGraph(dl, d2, ‘ ‘), Setbkcolor(2);

       X:=150; Str(X,Z); Outtextxy( 100,100, ‘X= +Z);

       Y:=231.25; Str(Y:4:2,Z);

       Outtextxy(100,110,Z);

       ReadLn;

       CloseGraph; END. 

       Экранға текстерді әртүрлі стандартты және пайдаланушының өзі орнататын шрифтермен де шығаруға болады, ол үшін SETTEXTSTYLE процедурасы қолданылады, жазылуы: 

       SETTEXTSTYLE(F, D, С);

мұндағы: F- таңбалған шрифт түрі(0 - биттік, 1 - штрихтық, 2 - кіші, 3 - сансериф, 4 –готикалық шрифт),

D - текстіңжазылу бағыты(0 - горизонтальді, 1 – вертикальді быт),

С - символдар  өлшемі(1 - биттік, 2 - екі еселенген, т.с.с. 10-ға дейін). 

      Шрифтің өлшемдерін пайдаланушының өзі  SETUSERCHARSIZE процедурасының көмегімен орнатса да болады, жазылуы:

       SETUSERCHARSIZE(MX, DX, MY, DY);

мұндағы:

MX, DX, - шрифтің горизонтальді өлшемін анықтайтын параметрлер, MX/DX қатынасының қалыпты жағдайдағы шрифтің еніне көбейтіндісі жаңа шрифінің шамасын береді.

MY, DY - шрифтің вертикальді өлшемін анықгайтын параметрлер,

MY/DY қатынасының қалыпты жағдайдағы шрифтің биіктігіне көбейтіндісі жаңа шрифтің биіктігінің шамасын береді. Бұл шамалардың мәнін: биіктігін ТЕХТНEIGHTжәне енін TEXTWIDTH фунщияларын қолданып есептеуге болады, мысалға:

       X:=Textwidth(T);Y:=Textheight(T));

       Бір қатарда жазылған символдардың орналасуын өзгерту үшін SETTEXTJUSTIFY процедурасы қолданылады, жазылуы:

       SETTEXTJUSTIFY(H, V);

мұндағы:

      Н - символдарды горизонтальді бағытта  түзеу:

0 - символды  солға қарай жылжыту,

1 - орталықгандыру,

2 - оңға қарай  жылжыту.

       V- символдарды вертикальді бағытта түзеу:

0 - символды  төменге қарай жылжыту,

1 - орталықтандыру,

2 - төменге  қарай жылжыту. 
 

       Анимациялар. 

       Экранда фигуралардың жылжу эффектілері  циклдік процестермен жүзеге асырылады. Цикл денесінде бірінші фигураны бояу стильдері орнатылады, одан кейін жылжитын дене экранда алғашқы көрінетін орнының координаттарымен шығарылады. Сонан соң фигураның экранда кішкене уақыт көрініп тұруы үшін Delay процедурасы қолданылады. Одан кейін экрандағы барлық көрініс Cleardevice процедурасымен өшіріледі де цикл аяқталады.

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

    Графиктік режимде қателерді өңдеу 

       Графиктік бағдарлаималардың орындалу барысында  басқа бағдарламалардай (мысалы файлдарды енгізу-шығаруда) қателер шығуы мүмкін. Сондықтан графиктік бағдарламалардың дұрыс құрылғандығын тексеру үшін арнаулы GRAPHRESULT және GRAPHERRORMSG функциялары қолданылады. GRAPHRESULT функциясы бағдарламаларда өзінің алдында жазылған оператордың орындалуының дұрыстығын тексеріп, жіберілген қате кодын анықтайды. Бұл функцияның орындалуы файлдардағы IORESULT функциясына үқсайды.

       ЕГЕР соңғы графиктік амал дұрыс орындалса онда GRAPHRESULT функциясы 0-ді меншіктейді, ӘЙТПЕСЕ ол жіберілген қате кодтарының нөмірін қабылдайды. 

       If GraphResult = 0 Then

       Begin ... графиктік операторлар ... End

       Else Writeln('графиктік режимде қате кетті'); 
 
 

       GRAPHERRORMSG функциясының көмегімен бағдарламада жіберілген қате туралы текстік сипаттама шығаруға болады. Бұл функцияның типі жолдық қатар, ал нақты параметрі GRAPHRESULT функциясының мәні болып табылады, мысалы жоғарыдағы фрагментті бағдарламада қате кеткен кезде бірден оның қате туралы хабарымен бірге шығаруға болады:

       If GraphResult = O Then

       Begin... графиктік операторлар... End Else

       Writeln ('мынадай қате:', GraphErrorMsg(GraphResult)); 

       Қателер коды мен сипаттамалары  туралы мәлімет

   GRAPHRESULT      GraphErrorMsg(GraphResult)

   -0  GrOk (қате жоқ)

   -1  GrlnitGraph (графиктік режим ашылған жоқ)

   -2  GrNotDetected (драйвердің типі анықталмаған)

   -3  GrFileNotFind (графиктік драйве табылмаған)

   -4 GrlnvalidDriver (драйвердің типі сәйкес емес)

   -5 GrNoLoadMem (драйвердің орналасуына жад жетпейді)

   -6 GrNoScanMem (объекті көруге жадтан орын жетпейді)

   -7  GrNoFloodMem (бояуға жадтан орын жетпейді)

   -8  GrFontNotFound (шрифт орнататын файл табылмаған)

   -9 GrNoFontMem (шрифт орналастыруға жад жетпейді)

   -10 GrlnvalidMode (графиктік режим дұрыс емес)

   -11 GrError (жалпы қате)

   -12 GrIOError (енгізу-шығаруда қате жіберілген)

   -13 GrlnvalidFont (шрифт форматы дұрыс берілмеген)

   -14 GrlnvalidFontNum (шрифт нөмірі дұрыс берілмеген) 

     Шеңбер шығару бағдарламасында  жіберілген қателер туралы хабар беретін фрагмент қолдану.

   PROGRAM Gr12;

   USES Graph, Crt;

   VARd1,d2: Integer;

   BEGIN d1:=Detect; lnitGraph(d1, d2, '');

   lfGraphResult=0 Then Begin

   Setbkcolor(2); Circlet 100,200,50);

   ReadLn; CloseGraph; End Else

   Begin WritelnC'Қате: ',GraphErrorMsg(GraphResult));

   Readln End; END. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

19.06.2011 жыл 

№14.  

1) үй

          Program ui;

          uses graphABC;

          var gd,gm:integer;

           begin

           gd=0; gm:=0;

           rectangle(150,150,300,400);

           rectangle(170,170,195,195);

       rectangle(220,190,290,400);

       line(150,150,225,75);

       line(300,150,225,75);

       line(265,115,265,75);

       line(280,130,280,75);

       line(265,75,280,75);

       readln;

       end. 

         

2)машина

        

       Program mashina;

       uses graphabc;

       var gd,gm:integer;

       begin

       gd:=0;

       gm:=0;

       rectangle(100,100,200,300);

       rectangle(125,115,175,150);

       rectangle(200,180,600,300);

       circle(200,350,50);

       circle(450,350,50);

       readln;

       end. 

         

3)шырша

          Program elka;

       uses graphabc;

       var gd,gm:integer;

       begin

       gd:=0;

       gm:=0;

       line(100,100,150,50);

       line(200,100,150,50);

       line(100,100,200,100);

       line(100,150,150,100);

       line(200,150,150,100);

       line(100,150,200,150);

       line(100,200,150,150);

       line(200,200,150,150);

       line(100,200,200,200);

       rectangle(145,200,155,250);

       readln;

       end. 

         

4) бет

        Program smile;

       uses graphabc;

       var gd,gm:integer;

       begin

       gd:=0;

       gm:=0;

       circle(200,200,100);

Информация о работе Практикалык жумыс