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

Автор: Пользователь скрыл имя, 22 Ноября 2011 в 18:33, контрольная работа

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

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

Содержание

Кіріспе
Паскаль тілінің негізгі түсініктері ..............................2

1.1 Турбо паскаль тілінің операторлары .........................3
Негізгі бөлім

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

1.9 Қайталау (цикл)......................................................................17
Әдебиеттер тізімі...........................................................................20

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

паскаль тіліндегі негізгі түсініктер.doc

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

Writeln ( ‘Y=’,Y,’___ Z=’,Z) ; { Y және Z экранға шығару}

Y :=Y+1 ; { Y –тің өзгеру қадамы}

End ;

End.

Нәтижесі:

Y=1 !  Z=1

Y=2 ! Z=8

Y=3 ! Z=27

Y=4 ! Z=64

Y=5 ! Z=125

Y=6 ! Z=196

Y=7 ! Z=343

1.4 Келесі шарт бойынша  циклді ұйымдастыру Repeat операторы.

    Циклдің процестері ұйымдастыруда Repeat операторы циклдің қайталану саны белгілі болғанда қолданылады. Мұндай жағдайлар көбінесе программаларды құрғанда кездеседі. Әрине бұл оператор бірден белгісіз санның қайталануынан немесе берілген формуламен есептелетін болса ғана қолданылады.

     Repeat операторының жалпы жазылуы:

Repeat

<циклдің денесі>

Until<шарт>

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

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

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

    Repeat операторы құрамды оператордың  орындалуын талап етпейді. Бірақ  бұл Repeat операторы циклдің бір  рет те орындалуын қажет ететін  жағдайда циклдарды жазуға жарамайды. Егер мұндай жағдайда болса, онда алғышарт операторын қолдануымыз керек. Мысалы: 1кг ірімшік 300 теңге тұрады. Ірімшіктің 100,200,300,...1000 граммына төленетін теңгені анықтайтын және есептің жауабын кесте түрінде шығарудың программасын жазайын.

Program pr2;

Var m:integer; {Бүтін}

       z:real;{Нақты}

Begin

m:=100;

Repeat

z:=(300*m)/1000;

Writeln(m,’___’,z);

m:=m+100;

until m>1000;

readln

end.

1.5 Параметрлі қайталану операторы For операторы.

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

    For операторы алгоритмдік тілдегі  параметрлі қайталану командасына  сәйкес келеді.

     і үшін m1 бастап m2 дейін h қадам

Цб

Серия

Цс

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. ЭЕМ-де есеп шығару кезеңдері. Қадам бойынша орындау әдісі.

    Кез-келген есерті ЭЕМ-де шешу бірнеше кезеңдерден  тұрады:

    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.  Натурал  сан енгіземін.

  1. 2-ден М/2 аралығындағы натурал сандар М санының бөлгіші бола ма, соны тексеремін.
  2. 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

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