Қайталану командалары



Мазмұны:
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4
1 Қайталану командалары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
1.1Циклдік операторлар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .6
1.2FOR циклдік операторы ( Үшін циклі ) ... ... ... ... ... ... ... ... ... ... ... ... ... ..7
1.3FOR циклінің блок . схемасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..7
1.4WHILI ... DO ЦИКЛДІК ОПЕРАТОРЫ ( ӘЗІРШЕ ЦИКЛІ ) ... ... ... ... ..13
1.5REPEAT ... UNTIL ЦИКЛДІК ОПЕРАТОРЫ ( Дейін ) ... ... ... ... ... ... ...14

2 Цикл ішіндегі циклдер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...16
2.1Цикл ішіндегі циклдер ұйымдастыру мысалдары ... ... ... ... ... ... ... ... ... 16

3 Мысалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
3.1 Герон формуласымен үшбұрыштардың ауданын табу программасы...18
3.2 Экранға Х . тің барлық 1 . ден 100 . ге дейінгі бүтін мәндері үшін Y=X2.50*X.30 өрнегінің нәтижесін шығару программасы ... ... ... ... ... ... ..18
3.3 Дәл жоғарыдағы өрнектің Х . тің 1 . 100 . ге дейінгі бүтін жұп мәндері үшін нәтиже шығару программасын құру ... ... ... ... ... ... ... ... ... ... ... ... ... .19
3.4 Сандардың қатынасының мәндерін есептейтін стандартты Mod және Div функцияларын While циклі арқылы ауыстыру
программасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
3.5 S=1+2+3+4+5 қатарын есептеу программасын құру ... ... ... ... ... ... ... ..20
3.6 Y =X2 функциясын Х . тің мәндері 1, 4, 7, 10 болғанда шығару программасын REPEAT циклімен құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
3.7 Радиустары әртүрлі 5 шеңбердің аудандарының қосындысын табу программасын құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .22
3.8 1 . ден N . ге дейінгі жұп сандардың квадраттарының қосындысы мен тақ сандардың түбірлерінің көбейтіндісін табу программасы ... ... ... ... ... 22

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..24
Пайдаланған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..25
Қосымшалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .27

Мазмұны:
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... .4
1 Қайталану
командалары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...5
1.1Циклдік
операторлар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... 6
1.2FOR циклдік операторы ( Үшін циклі
) ... ... ... ... ... ... ... ... .. ... ... ... ... ... 7
1.3FOR циклінің блок –
схемасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
.7
1.4WHILI ... DO ЦИКЛДІК ОПЕРАТОРЫ ( ӘЗІРШЕ ЦИКЛІ ) ... ... ... ... ..13
1.5REPEAT ... UNTIL ЦИКЛДІК ОПЕРАТОРЫ ( Дейін ) ... ... ... ... ... ... ...14

2 Цикл ішіндегі
циклдер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ..16
2.1Цикл ішіндегі циклдер ұйымдастыру
мысалдары ... ... ... ... ... ... .. ... ... ..16

3
Мысалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .18
3.1 Герон формуласымен үшбұрыштардың ауданын табу программасы...18
3.2 Экранға Х – тің барлық 1 – ден 100 – ге дейінгі бүтін мәндері үшін Y=X2-
50*X-30 өрнегінің нәтижесін шығару программасы ... ... ... ... ... ... ..18
3.3 Дәл жоғарыдағы өрнектің Х – тің 1 – 100 – ге дейінгі бүтін жұп мәндері
үшін нәтиже шығару программасын
құру ... ... ... ... ... ... ... ... ... ... ... ... ... ..19
3.4 Сандардың қатынасының мәндерін есептейтін стандартты Mod және Div
функцияларын While циклі арқылы ауыстыру
программасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... 19
3.5 S=1+2+3+4+5 қатарын есептеу программасын
құру ... ... ... ... ... ... ... ..2 0
3.6 Y =X2 функциясын Х – тің мәндері 1, 4, 7, 10 болғанда шығару
программасын REPEAT циклімен
құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... .21
3.7 Радиустары әртүрлі 5 шеңбердің аудандарының қосындысын табу
программасын
құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .22
3.8 1 – ден N – ге дейінгі жұп сандардың квадраттарының қосындысы мен тақ
сандардың түбірлерінің көбейтіндісін табу программасы ... ... ... ... ... 22

Қорытынды
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ..24
Пайдаланған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... 25
Қосымшалар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... .27
Кіріспе

Жоғарғы деңгейлі программалау тілдерінің бірі − Паскаль. Оның
алғашқы вариантын 70-жылдары Швейцария ғалымы Н. Вирт жарыққа шығарған
болатын. Қазіргі кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар,
оның ішінде IBM PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын
Турбо Паскаль диалектісінің варианттары да жеткілікті.
Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық
информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп
тараған тілдердің бірі. Оның ыңғайлылығы:
• тіл алгоритм құрылымын сақтап құрылған. Мұнда программаны бірте-бірте
дамыту арқылы жинақты түрде құруға болады. Ол программалау тәсілін
үйрену үшін де қажет;
• тілге дамытылған берілгендер типтері енгізілген. Олар өңделетін
берілгендер элементтерін толық сәйкестендіріп сипаттауға және жаңа
берілгендер типтерін енгізуге мүмкіндік береді;
• мұнда кішігірім жеңіл программалармен бірге күрделі құрылымды
программаларды құру да мүмкін;
• тіл синтаксисі қиын емес; нұсқаулардың (операторлардың) саны
мүмкіндігінше азайтылған, т.б.
Паскаль тілінде құрылған программаны мәшинелік кіріспе тілге
аудару үшін компилятор пайдаланылады.
Паскаль тілі бұрын құрылған (Фортран, Алгол және т.б.)
программалау тілдерінен маңызды ерекшелігі ол құрылымдық программалау
идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі ол
деректер құрылымының концепциясының алгоритм түсінігімен қатар
программалаудың негізінде жатқан фундаменталды түсініктер қатарына кіруі.
1 Қайталану командалары.

Программаның белгілі бір бөлігінің орындалуын бірнеше рет
қайталау үшін қолданылатын командаларды қайталану командалары деп
атайды. Көптеген есептеулерде айнымалылардың әртүрлі мәндері үшін
кейбір операторлар бірнеше рет қайталанып орындауды қажет етеді. Бұл
операторларды , қайталап орындалуы үшін , программаға қайта – қайта
жаза берсек, онда программа құру үшін көп уақыт кетеді, әрі программалық
текст өте ұзақ және оқуға ынғайсыз болып жазылады. Сондықтан программалық
текстер қысқа әрі оқуға жеңіл болу үшін қайталану процесін циклдық
операторлар қолданып ұйымдастырады. Циклдік процесс ұйымдастыру үшін келесі
операторлар қолданылады:
1.FOR – параметрлі циклдік оператор;
2.WHILE – алдын – ала циклдің орындал шартын тексеретін оператор;
3.REPEAT – соңында циклдің тоқтау шартын тексеретін оператор.

1. Циклдік операторлар

Циклдік операторлар структуралық операторлар тобына жатады, өйткені
құрамына бірнеше операторлар кіреді. Программада алдымен циклдің тақырыбы
жазылады, онан кейін қайталанатын операторлар бөлімі – цикл денесі
жазылады. Цикл денесі бір немесе бірнеше операторлардан тұруы мүмкін.
Барлық циклдық операторлардың келесі ерекшелігі бар:
а) Қайталанатын операторлар ( циклдің денесі ) бір – ақ рет жазылады;
ә) Циклге тек қана басынан ( тақырыбы ) ғана кіруге болады;
б) Циклің айнымалылары алдын – ала циклге дейін анықталуы тиіс;
в) Цикл денесінде көшу операторын ( Goto ) қолданып программаның басқа
бөліктеріне шығуға болады.
д) Цикл ұйымдастырғанда, міндетті түрде циклден шығу шарты
орындалатынын қарастыру керек, әйтпесе программа орындалуы циклге келгенде
тоқтап тұрып қалады ( программа мәңгі циклденіп қалады ).
Цикл денесінің әр қайталауында цикл айнымалыларының мәндері де өзгеріп,
жаңа мән қабылдап отырады. Қайталану саны циклдің тақырыбында және цикл
денесінде берілетін айнымалылардың мәндеріне байланысты болады.

1.2 FOR циклдік операторы ( Үшін циклі ).

Параметрлі циклдік операторлар цикл денесінің қайталануы арқылы алдын –
ала белгілі болғанда қолданылады.Жалпы жазылу түрі төмендегідей болады:
FOR K : = M TO N DO
ЦИКЛ ДЕНЕСІ ;

МҰНДАҒЫ : К – циклдік айнымалы ( есептеуіш ), әр цикл орындалғанда К –
ға 1 қосылып тұрады.
М – К айнымалысының алғашқы мәні.
N – К айнымалының соңғы мәні.
Цикл денесі жай немесе құрама оператордан тұруы мүмкін, егер цикл
денесі құрама оператордан тұрса,онда ол операторлық жақшаға алынып
жазылады.
Циклдің параметрі ( К ) тек қана айнымалы болуы тиіс, ал М және N өрнек
болуы да мүмкін ( нақты Real – типтен басқа ). Көбінесе цикл параметріне
бүтін типті айнымалы қолданылады, оның мәні циклдің әр орындалуынан соң 1 –
ге артып отырады ( қадам 1 – ге тең ).

1.3FOR циклінің блок – схемасы

FOR циклінің блок – схемасы 1 қосымшада берілген.
Цикл денесінің орындалуы FOR операторындағы К параметрінің мәні соңғы М
параметрінің мәніне жеткенге дейін қайталанады.
Егер К мәні М мәнінен асып кетсе, онда қайталану процесі тоқтап,
басқару циклі денесінен кейін тұрған операторға беріледі.
Сондай – ақ FOR және DOWNTO операторларының көмегімен кері циклдер
ұйымдастыруға болады, кері циклдің жалпы жазылу түрі төмендегідей:
FOR := N DOWNTO M
Цикл денесі;
Мұндағы: К – циклдік айнымалы ( есептеуіш ), әр цикл орындалғанда – 1 –
ге азайып тұрады.
М – к айнымалысының алғашқы мәні. Т – К айнымалысының соңғы мәні.
Алты бұрыштың қабырғалары берілген. Үшбұрыштардың ауданын программаның
бір орындалуында шығару керек.
а)Егер есепті шығару үшін сызықты программа құратын болсақ, онда
программада үшбұрыштың қабырғаларын ендіру және оның жарты периметрі мен
ауданын есептеу формулаларын төмендегідей етіп алты рет жазу керек:

PROGRAM AUDAN;
VAR A, B, C: Byte; P, S:REAL;
BEGIN Write ( 1,’үшбұрыштың қабырғаларын енгіз:’ );
Readln ( A, B, C);
P:= ( A+ B + C )2;
S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 1 , ’ = ’ , S : 5 : 2 );
Write ( 2 , ’ үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:= ( A+ B + C )2;
S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 2 , ’ = ’ , S : 5 : 2 );
Write ( 3 , ’ үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:= ( A+ B + C )2; S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 23, ’ = ’ , S : 5 : 2 );
Write ( 4, ’ үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:= ( A+ B + C )2; S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 4 , ’ = ’ , S : 5 : 2 );
Write ( 5 , ’ үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:= ( A+ B + C )2; S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 4 , ’ = ’ , S : 5 : 2 );
Write ( 6 , ’ үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:= ( A+ B + C )2; S := SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , 5 , ’ = ’ , S : 5 : 2 );
Readln End.

ә) Программаны тармақталу командалары көмегімен төмендегідей етіп
құруға болады:

PROGRAM AUDAN 1;
LABEL 1;
VAR A, B, C: Byte; P, S: Real;
K : Byte;
BEGIN K:=1;
1: Write ( k, ‘үшбұрыштың қабырғаларын енгіз: ’);
Readln ( A, B, C );
P:=( A + B + C ) 2 ;
S:=SQRT ( P*(P – A)*(P – B)*(P – C) );
Writeln ( ‘ аудан S ’ , K , ’ = ’, S : 4 : 1 );
K:= K + 1;
If K = 6 Then Goto 1;
Readln End.

б)Енді дәл осы программаны FOR операторымен құратын болсақ, онда
программада үшбұрыштың қабырғаларын ендіру және оның жарты периметрі мен
ауданын есептеу формулаларын төмендегідей цикл денесінде бір – ақ рет жазса
жеткілікті. Цикл денесі К параметрінің 1 – ден 6 – ға дейінгі мәндерінде
қайталанып орындалады. Компьютер 6 рет Readln операторындағы айнымалылар
мәндерін сұрап, оларды клавиатурадан ендіргеннен кейін, 6 рет үшбұрыштың
ауданы Герон формуласымен есептеліп, экранға нәтиже шығарады.

PROGRAM AUDAN 1;
VAR A, B, C : Byte;
P, S : Real;
K : Byte;
BEGIN
For K:= 1 To 6 Do Begin
Write ( K,’үшбұрыштың қабырғаларын енгіз’ );
Readln ( A, B, C );
P:= ( A + B + C ) 2;
S:=SQRT (P*(P-A)*(P-B )*(P-C));
Writeln ( ‘ аудан S’ , K, ’=’ , S:5:2 );End;
Readln END.

Бұл программаны ТО операторының орнына DOWNTO операторын қолданып
төмендегідей кері цикл ұйымдастырып, құруға да болады:

PROGRAM AUDAN 1;
VAR A, B, C : Byte;
P, S : Real; K : Byte;
BEGIN
For K:=6 Downto 1 Do Begin
Write (K,’ ’үшбұрыштың қабырғаларын енгіз’ );
Readln ( A, B, C );
P:= ( A + B + C ) 2;
S:=SQRT (P*(P-A)*(P-B )*(P-C));
Writeln ( ‘ аудан S’ , K, ’=’ , S:5:2 );End;
Readln END.

Экранға Х – тің барлық 1 – ден 100 – ге дейінгі бүтін мәндері үшін Y=x2-
50*x-30 өрнегінің нәтижесін шығару командасы.

Программада Х идентификаторын өрнектің айнымалысы әрі циклдің параметрі
ретінде белгілеп, 1 – ден 100 – ге дейін қайталанатын цикл ұйымдастырамыз.
Цикл параметрі Х 1 – ді меншіктеп, өрнектің Х =1 болғандағы мәнін шығарады.
Цикл параметрінің келесі мәні 2 – ні меншіктеп, өрнектің Х =2 болғандағы
мәнін шығарады, әрі қарай цикл аяқталғанша өрнектің сәйкес мәндері шыға
береді. Цикл параметрі 101 мәнін қабылдағанда, цикл тоқтайды.

PRAGRAM Tendeu 1;
VAR X:Byte; Y:Longint;
BEGIN
For X:= 1 To 100 Do
Begin
Y:= SQR ( X ) + 50*X-30;
Writeln (‘Y=’, Y );
End;
Readln END.
Программаның блок-схемасы 2 қосымшада көрсетілген

Дәл жоғарыдағы өрнектің Х – тің 1 – 100 – ге дейінгі бүтін жұп мәндері
үшін нәтиже шығару программасын құру.

PRAGRAM Tendeu 3;
VAR X:Byte;
Y:=integer;
BEGIN
For X:=1 To 100 Do
If X Mod 2=0 Then
Begin
Y:= SQR ( X )+*X-30;
Writeln (‘Y =’, Y);
End;
Readln END.
Программаның блок-схемасы 3 қосымшада сипатталған.

Немесе бұл программа төмендегідей қысқаша етіп құруға да болады:
PRAGRAM Tendeu 4;
VAR X:Byte;
BEGIN
For X:=1 To 100 Do
Begin
X:=X+1;
Writeln (‘Y=’,SQR (X)+50*X-30);
End;
Readln END.
Программаның блок-схемасы ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Циклдік алгоритм
Си тіліндегі циклдік алгоритм және циклдік алгоритмді бағдарламау
Алгоритмдеу негіздері және бағдарламалау
Алгоритмдердің концепциялары мен қасиеттері
Алгоритм жазу жолдары
Шартты цикл операторлары C++
Қазіргі замандағы жоғары деңгей тілдері: қысқа мінездеме, негізгі түсініктер. Объектіге бағытталған программалау технологиясы
Паскаль тілінде циклдік операторлармен жұмыс
Алгоритм тілінде есеп шығару жолдары
Тармақталған алгоритмдерді программалау
Пәндер