Паскаль тілінің жалпы операторлары

Автор работы: Пользователь скрыл имя, 01 Декабря 2013 в 12:02, курсовая работа

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

Паскаль программалау тілінің алғашқы баламасы Швейцария ғалымы Никлаус Виртпен 1968 жылы құрастырылды. Алғашында, программалау тілі тек оқып-үйренуге арналды, себебі ол біршама детерминантты болған, яғни құрамыедағы барлық элементтері белгілі бір ережеге бағынған еді.

Содержание

1.0 Паскаль тілінің негізгі түсініктері
1.1 Турбо паскаль тілінің операторлары
1.2 Циклдік құрылымды алгоритмді программалау
1.3 Алғы шартты цикл операторы. While операторы
1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы
1.5 Параметрлі қайталану операторы. For операторы
1.6 Күрделі циклдер
1.7 ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау әдісі
1.8 Мысал есептер
1.9 Қайталау (цикл)

Вложенные файлы: 1 файл

Тогжан.doc

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

Цб  
Серия  
Цс

For операторы екі түрлі жазылады:

А) for I:=A to B do

Begin  
…  
End;  
Орындалу ережесі: Begin және End сөздерінің арасында жазылған операторлар I:=A, I:=A+1, I:=A+2,…,I:=B үшін орындалады. Мұндағы І цикл параметрі, А –параметрдің бастапқы мәні, В-параметрдің соңғы мәні.  
For Х:=М1 to M2 do S1;

Мұндағы, қызметші сөздер: For(үшін), to(дейін) циклдің қадамы +1-ге өсіп отыратынын көрсетеді, do(орында);

Х- скалярлық типтегі айнымалы циклдің параметрі;

М1-цикл параметрінің бастапқы мәні;

М2-цикл параметрінің соңғы мәні;

S1-параметріне тәуелді қайталанып орындалатын оператор. Сондықтан, S1-цикл денесі деп аталады.

Б) For I:=A DOWN TO B DO

Begin  
…  
End;  
Орындау ережесі: Begin және End сөздерінің арасында жазылған операторлар

I:=A, I:=A-1, I:=A-2,…, I:=B үшін орындалады.

For X:=M1 down to M2 do S1;

1-нұсқадан өзгешелігі to сөзінің орнына down to (төменге дейін) қызметші сөзі жазылады. down to циклдің өзгеру қадамы –1 тең екендігін көрсетеді. Мұндағы Х –тің мәні М1- ден М2-ге дейін –1 қадаммен кему үшін М1>M2 шарты орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет орындалмайды.

Егер, цикл денесі бірнеше оператордан тұрса, Begin және End операторлар жақшасынпайдаланамыз.  
Параметрдің мәніне тәуелді циклді блок схемасында төмендегідей сипаттайды.

Параметрлі қайталану операторының жазылуына және орындалуына мысал келтірейік:

Оператордың жазылуы Нәтижесі

For k:=-1 To 6 do Write (x,’,’) -1,0,1,2,3,4,5,6

For k:=3 To 3 do Write (x,’,’)_ 3

For k:=1 To 9 do Write (x,’,’) 1,2,3,4,5,6,7,8,9

For k:=-1 To -6 do Write(x,’,’) Цикл орындалмайды

For k:=10 down to 6 do Write(x,’,’) 10,9,8,7,6

For k:=0 down to –1 do Write(x,’,’) 0,-1

For k:=1 down to 16 do Write(x,’,’) Цикл орындалмайды

Қайталану санын келесі тәсілдермен анықтауға болады. Соңғы  мән – алғашқы мән +1 – бірінші жағдай үшін;

Алғашқы мән – соңғы мән +1 екінші жағдай үшін. Мысалы:Р=1*2*,…*10 сандарының көбейтіндісін есептеу.

Program pr3;

Var i,P :integer;

Begin

P:=1;

For i:=1 to 10 do

P:=P*1;

Writeln (‘P=’,P);

Readln  
End.

                                       1.6 Күрделі циклдер

Күрделі қайталанушы процесстерді ұйымдастыруда бір цикл операторы құрамында екінші бір цикл операторы болуы мүмкін. Бұл жағдай да бірінші цикл оператор – ішкі цикл деп аталады. Сыртқы және ішкі цикл ұйымдастыруда мына шарт орындалады: ішкі циклдің барлық операторы сыртқы цикл денесіне толық енеді Мысылы, суретте екі параметрлі цикл операторлары арқылы жазылған күрделі циклдің жұмысы сипатталынған.

 
   1.7 ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау әдісі.

Кез-келген есерті ЭЕМ-де шешу бірнеше кезеңдерден тұрады:  
1) есептің қойылуын ұғу;

2) формальдау деңгейі (есептің математикалық түрде қойылуы);

3) шешу әдісін таңдау;

4) алгоритмін жазу(құру);

5) программасын құру;

6) программаның дұрыстығын тексеру;

7) есептеу және нәтижелерін өңдеу.

                                   1.8 Мысал есептер

1-есеп. М натурал саны берілген. Оның жай сан екендігін анықтау керек.  
Program pr1;

Var I,M,F: integer;

Begin

Repeat

Write(‘натуралсан енгізу М=’);

Readln(M);

Until M>0;

F:=0;

For I:=2 TO M DIV 2 do

If M MOD I=0 then F:=1;

If F=0 then writeln (M:6,’жай сан’)

Else writeln (М:6,’жай сан емес’);

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

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

2. Натурал сан енгіземін.

3. 2-ден М/2 аралығындағы  натурал сандар М санының бөлгіші бола ма, соны тексеремін.

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

Айнымалылар:  
М-зерттелетін сан;

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

F-көмекші айнымалы.

2-есеп. А натурал саны  берілген. Оны жай көбейткіштерге  жіктеу керек.  
Program pr2;

Var I,A,F,J: integer;

Begin

Repeat

Write(‘натурал сан енгіз А=’);

Readln(A);

Until A>0;

Write(A:6,’=1’);  
F:=0; J:=A;

For I:=2 to A DIV 2 do

Begin

If J MOD I=0 then begin F:=1;

{Цикл мұндай І көбейткіштердің А санында нешеу екендігін анықтайды}

While J MOD I=0 DO

Begin

Write(‘*’,I);  
J:=J DIV I;

End;  
End;  
{F бірден үлкен жай көбейткіштердің табылғандығын анықтайды}

if F=0 then writeln (‘*’,A);

else writeln;

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

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

2. Натурал сан енгіземін; 

3. Параметрі І циклде  А/2 – ден артпайтын натурал сандарды анықтаймын;

4. Егер мұндай сан бөлгіш болса, онда А-ны кішірейту арқылы санын анықтаймын;

5.F-тің мәніне байланысты нәтижені шығарамын.  
Айнымалылар:

А-зерттелетін сан;

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

F-көмекші айнымалы.

3-есеп. Р және М натурал  сандары берілген. Олардың өзара  жай сандар екендігін анықтау  керек. Өзара жай сандардың  1-ден басқа ортақ бөлшектері болмайды.

Program pr3;

Var I,P,M,K: integer;

F: Boolean;

Begin

Repeat

Write(‘натурал сан енгіз P=’);

Readln(P);  
Write(‘натурал сан енгіз M=’);

Readln(M);

Until(P>0) and (M>0);

F:= False;

If P>M then K:=M else K:=P;

For I:=2 to K do

If (P MOD I=0) And (M MOD I=0) Then F:=TRUE;

If F then writeln (P,’,’,M,’ өзара жай сандар емес’)

Else writeln (P,’,’,M,’өзара жай сандар’);

End.

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

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

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

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

4. F-тің мәніне байланысты нәтижені шығарамын.  
Айнымалылдар:  
Р,М –зерттелетін сан;

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

Ғ-көмекші айнымалы;

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

4-есеп. А және М натурал  сандары берілген. Олардың үлкен ортақ бөлгішін

табу керек.

Program pr4;

Var I,M,A,K,D: integer;

Begin  
Repeat  
Write(‘A=’);  
Readln(A);  
Write(‘M=’);  
Readln(M);  
Until (A>0) And (M>0);

If A>M then K:=M else K:=A;

For I:=1 to K do

If (A MOD I=0) And (M MOD I=0) then D:=1;

Writeln (‘A,M сандарының ең үлкен ортақ бөлгіші=’,D);

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

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

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

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

болатындығн тексеремін;

4. Осы бөлгішті D айнымалысында сақтаймын;  
5. Нәтижесін шығарамын.

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

А,М- зерттелетін сан;

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

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 +..., мұндағы Х – кез-келген сан.

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

1. Программа денесін айнымалыларды сипаттаудан бастаймын;  
2. Қатардың мүшелерінің санын N және Х айнымалыны енгіземін;  
3. Циклде қатардың келесі санын анықтаймын және оны У қосындыға қосамын.

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

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

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

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

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

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

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

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

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

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

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

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

End.

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

  1. Программа денесін айнымалыларды сипаттаудан бастаймын;  
    2. Алғашқы екі санды L және W енгіземін және F-нің алғашқы мәнін беремін; 3. Циклде осы екі санда тексеремін, егер олар тең болса F-ті анықтаймын;  
    4. L:=W мәнін қайта меншіктеймін жәнк W-дің және мәнін енгіземін;  
    6. F-ке байланысты нәтижені шығарамын.
  2. Айнымалылар:  
    L-алдыңғы сан
  3. W-қарастырылып отырған сан
  4. F-қосымша айнымалы
  5. 8-есеп. Билеттің кезегінде ерлер және әйелдер тұр. Басынан бастап
  6. алғашқы әйелге дейін тұрған ер адамның санын анықтау керек.

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

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

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

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

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

K-санау саны

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация о работе Паскаль тілінің жалпы операторлары