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

Автор: Пользователь скрыл имя, 22 Февраля 2012 в 23:15, курсовая работа

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

Паскаль тілі бұрын құрылған (Фортран, Алгол және т.б.) программалау тілдерінен маңызды ерекшелігі ол құрылымдық программалау идеясын өмірге біртіндеп енгізу.
Басқару (шартты, таңдау және циклдік) операторлары бағдарлама жолдарының орындалу реттілігін өзгертеді.

Содержание

Кіріспе…………………………………………………………………...……..
1. Паскаль тілінің негізгі түсініктері..............................................................
1.1 Турбо паскаль тілінің операторлары ..........................................................
1.2 Циклдік құрылымды алгоритмді программалау ......................................
1.3 Алғы шартты цикл операторы. While операторы .....................................
1.4 Келесі шарт бойынша циклді ұйымдастыру..............................................
2 Параметрлі қайталану операторы. For операторы................................
2.1 Күрделі циклдер..............................................................................................
2.2 ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау...................
2.3 Қайталау (цикл)...............................................................................................
Қорытынды............................................................................................................
Қолданылған әдебиеттер......................................................................................

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

нурсик.docx

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

І-цикл айнымалысы;

D-ең үлкен  ортақ бөлгіш;

К- А,М  сандарының кішісі.

5-есеп. S және В натурал сандары берілген. Олардың ең кіші еселігін табу керек.

Program pr5;

Var I,K,S,B,D:integer;

Begin

Repeat

Write(‘S=’);

Readln(S);

Write(‘B=’);

Readln(B);

Until(S >0) and (B>0);

If S>B then K:=S else K:=B;

For I:=1 to K do

If (S MOD I=0) And (B MOD I=0) then D:=1;

EKOE:=D*(S DIV D)*(B DIV D);

Writeln (‘S,B сандарының ең кіші ортақ еселігін‘);

Writeln (‘EKOE=’, EKOE);

End.

Есепті  шешу алгоритмі:

1. Программа  денесін айнымалыларды сипаттаудан  бастаймын;

2. S, В натурал сан енгіземін;

3. Параметрі  І циклде 1-ден бастап ең кіші  санға дейін сандарды анықтаймын  және олардың әрқайсысы бірмезгілде  S,B сандарының бөлгіші болатындығын  тексеремін;

4. Осы  бөлгішті  D айнымалысында сақтаймын;

5. EKOE:=D*(S DIV D)*(B DIV D);екендігін ескеріп нәтижені  шығарамын.

Айнымалылар:

S,B-зерттелетін  сан;

I-цикл  айнымалысы;

D-ең үлкен  ортақ бөлгіш;

EKOE-ең  кіші ортақ еселік

K-S,B сандарының  кішісі.

6-есеп. Мына  қатардың алғашқы С мүшесінің  қосындысын табу керек.

Y=1+X/2+X2/3+X3/4 +..., мұндағы Х – кез-келген сан.

Program pr6;

Var X,Y,Z: Real; I,N:integer;

Begin

Write(‘X-тің мәнін енгіз=’);

Readln (X);

Write (‘N-нің мәнін енгіз=’);

Readln(N);

Y:=1; Z:=1;

For I:=1 to N-1 do

Begin

Z:=Z*X;

Y:=Y+Z/(I+1) ;

End ;

Writeln(‘Y=’,Y) ;

End.

Есепті  шешу алгоритмі:

1. Программа  денесін айнымалыларды сипаттаудан  бастаймын;

2. Қатардың  мүшелерінің санын N және Х  айнымалыны енгіземін;

3. Циклде  қатардың келесі санын анықтаймын  және оны У қосындыға қосамын.

  1. Нәтижені шығарамын

Айнымалылар:

N-қатардың  мүшелерінің саны

X-қатардың  айнымалысы

D-ең үлкен  ортақ бөлгіш

EKOE-ең  кіші ортақ еселік

K-М,N сандарының  кішісі

Z-қосымша  айнымалы

I-цикл  айнымалысы

Y-қатардың  қосындысы.

7-есеп. Соңы 0 болатын сандар тізбегін енгізу  керек. Осы тізбекте ең болмағандва  қатар орналасқан екі бірдей  санның бар екендігін анықтау  керек.

Program pr7;

Var L,W: Real; F:Boolean;

Begin

Write(‘сан енгіз=’);

Readln (L);

Write(‘сан енгіз=’);

Readln (W);

F:=False;

Repeat

It W=L then F:=True;

L:=W;

Writeln(‘сан енгіз=’);

Readln (W);

Until W=0;

If F then writeln (‘тізбекте қатар орналасқан тең сандар бар’);

      Else writeln (‘тізбекте қатар орналасқан тең сандар жоқ’);

End.

Есепті  шешу алгоритмі:           

1. Программа  денесін айнымалыларды сипаттаудан  бастаймын;

2. Алғашқы  екі санды L және W енгіземін және F-нің алғашқы мәнін беремін;

3. Циклде  осы екі санда тексеремін, егер  олар тең болса F-ті анықтаймын;

4. L:=W мәнін  қайта меншіктеймін жәнк W-дің  және мәнін енгіземін;

  1. F-ке байланысты нәтижені шығарамын.

Айнымалылар:

L-алдыңғы  сан

W-қарастырылып  отырған сан

F-қосымша  айнымалы

8-есеп. Билеттің  кезегінде ерлер және әйелдер  тұр. Басынан бастап алғашқы  әйелге дейін тұрған ер адамның  санын анықтау керек.

Program pr8;

Var POL: STRING; I,K,N: integer;

Begin

repeat

Write(‘тізбектің ұзындығын енгіз N=’);

Readln(N);

Until N>0;

K:=0;

For I:=1 to N do

Begin

Writeln(‘жынысын енгіз’);

Readln(POL);

If POL=’MAN’  then K:=K+1

Else Break

End;

If K=0 then writeln (‘кезектің алдында ерлер жоқ’)

Else (‘кезектің алдында ерлер саны =’,K);

End.

1. Программа  денесін айнымалыларды сипаттаудан  бастаймын;

2. Тізбектің  ұзындығын енгіземін және есептеу  үшін К-ның алғашқы мәнін беремін;

3. Циклде  адамның жынысын енгіземін;

4. Егер  ер адам болса К-ның мәнін  бірге арттырамын;

5.Әйтпесе  циклді Break операторы арқылы тоқтатамын;

6.К-ның  мәніне байланысты нәтижені шығарамын.

Айнымалылар:

K-санау  саны

I-цикл  айнымалысы

N-кезекті  адамдардың саны

F-қосымша  айнымалы

Pol-адам  жынысы.

 

9-есеп.  5х-3у=1 Диафонтова теңдеуі арқылы  бүтін сандардың жиынын табу  керек. Бастапқы тексеруде алдымен  бірлік теңдіктері алынады. Одан  әрі, егер де 5х-3у>1 болса, онда 1-ге артады, егер 5х-3у>1болса, онда 1-ден х-қа артады.

Program pr9;

Var x,y: byte;

Begin

x :=1; y :=1;

repeat

if (5*x-3*y)>1 then y:=y+1;

if (5*x-3*y)<1 then x:=x+1 until (5*x-3*y)=1;

writeln(‘x=’,x, ‘y=’,y) ;

end.

Нәтижесінде: х=2y=3.

10-есеп. Логикалық ұғым бар: not a and b xor c. a,b,c логикалық ұғымдарын ақиқат мәнінде экранға шығару керек. Мен а,b,c мәндерін жұп сандармен сипаттап шығаруды ұсынамын.

Program pr10;

Var a,b,c: Boolean;

Begin

For a:=false to true do

      For b:=false to true do

              For c:=false to true do

If not a and b xor c then;

Begin

Write(‘a=’,a);

Write(‘b=’,b);

Write(‘c=’,c);

End;

End.

Нәтижесінде:

a=False

b= False

c=True

а= False

b= True

c= False

а= True

b= False

c= True

а= True

b= True

c= True

Программа екі күрделі оператордан тұрады: For a:=false to true do, осы операторға тағы екі қосылған For және If операторы. Соңғы then бөлімінің құрамында күрделі оператор бар, олар үш жай оператордан тұрады, Begin және End жақшаларымен қамтылған.

 

2.3 Қайталау (цикл)

 

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

     Цикл: Белгілі бір  А әрекетін жүзеге асыру үшін, N рет А1 әрекетін орындау керек.

    Графикалық блок-схемасын  қолданып, оны мына келесі түрде  көрсетуге болады:

      Мұндағы N саны, негізгі А әрекетін  орындау үшін, А1 әрекетінің орындалу  санын көрсетеді. Егер бұл сан  белгілі болса, онда біз қайталану  саны белгілі цикл түрімен  жұмыс атқарамыз. Жалпы циклдік  әрекеттерді олардың түріне қарай  негізгі үш түрге бөлнді.

А) Қайталау саны белгілі цикл

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

Б) Алғы шарт циклі

      Циклдің бұл түріне қайталану  саны белгісіз. Бірақ әрекет орындалу  үшін алдын ала берілген қандай  да бір  шарт тексеріліп  барып, орындалатын әрекеттер  жиыны жатады. Мысалы: Сіз сорпа  ішуге дайындалдыңыз. Тарелкадағы  сорпаны толығымен ішіп тауысу  үшін қасықпен неше рет көсеп  алу керек екені бізге алдын  ала белгісіз. Ал егер тарелка  бастапқыда бос болса, сіз тарелкадан  қасықпен сорпа алр ма едіңіз? Әрине жоқ, ол мүмкін емес. Осыдан  циклдің бұл түріне мынадай  қызықты тұжырым жасауға болады.Ол  нөл рет орындалады.

 

В) Соңғы  шарт циклі.

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

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

      Алғы шарт циклінің соңғы шарт  циклінен айырмашылығы циклдің  бірнеше түрінде әрекет ШАРТ=АҚИҚАТ  да орындалады. Ал екінші түрінде  ШАРТ =АҚИҚАТ болғанда цикл әрекет  жұмысын тоқтатады.

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

    

 

 

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        Қорытынды

 

        Операторлар-программадағы нұсқаулардың (бұйрықтар,алгоритмдер) машиналық тілде жазылуы. Яғни берілген есепті шешу мақсатында орындалатын іс-әрекеттердің машинаға түсінікті түрде жазылуы. Сонда, программа денесі бірінен кейін бірі жазылған операторлар тізбегінен тұрады. Операторлар арасына нүктелі үтір (;) белгісі қойылады.

    Операторлар қарапайым және күрделі  (құрама) операторлар болып екі  топқа бөлінеді. Егер оператор құрамында басқа операторлар боламса, онда ол қарапайым оператор деп аталады. Бұл топқа: меншіктеу, процедураны шақыру, шартсыз көшу - GOTO, бос орын операторы жатады.                              

   Күрделі (құрама) оператор бірнеше  қарапайым операторлар тұрады. Бұл  операторлар begin (басы) және end (соңы) қызметші сөздер арасында жазылады. Әр оператордан кейін (;) нүктелі  үтір таңбасы қойылады.

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

Мұндағы, қызметші сөздері Repeat- қайтала, Until- соған  дейін деген мағынада қолданылады. Цикл денесі - қайталанып орындалатын  бір немесе бірнеше операторлардан тұрады. Цикл денесін құрайтын операторлар  санын шектеу қойылмайды. Шартты тексеру  логикалық өрнек арқылы жүргізіледі.

    Орындалу ережесі: Repeat сөзінен кейін  жазылған операторлар бір рет  орындалады. Шарт жалған болса  операторлар қайталанып орындала  береді. Шарт ақиқат болғада ғана  тоқтайды, яғни орындалмайды.

    Repeat операторы алгоритмдік тілдегі  “дейін” цикл командасына ұқсас.  “Әзір” цикл командасынан “дейін”  циклінің айырмашылығы: қойылған  шартқа тәуелсіз бірнеше цикл  денесі орындалады. Сонан кейін,  шарт тексеріледі. Демек, шарт  ақиқат болмаса цикл денесі  кемінде бір рет орындалады. Repeat операторының қызметін суреттегі  блок схема арқылы сипаттауға  болады.

 

 

                              

                                       

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