Паскаль (ағылш. Pascal) — бағдарламашыларды оқыту курстарында пайдаланылатын жоғары құрылымды бағдарламалау тілі.
Паскаль тіліндегі айнымалылар
Паскаль тілінің негізгі түсініктері. Алфавиті Арнайы таңбалар: - арифметикалық және салыстыру амалдары (+,-,*,/,>,<,< >,<=,>=,@); - арифметикалық және логикалық функциялар (DIV,MOD, NOT,AND,OR,IN,SHL,SHR). - әр түрлі тыныс белгілері: {} немесе (**)-түсініктеме жазатын жақшалар; [] – массив индекстерін және жиын элементтерін белгілеу; () – айнымалы тізімін белгілеу; ‘ ‘ – апостроф; := - меншіктеу белгісі;
- - операторлар мен хабарларды ажырату;
- - айнымалыны бөліп көрсету;
= - айнымалының типін типтің сипаттамасынан немесе тұрақтыны өз мәнінен бөліп көрсету; , - тізім элементтерін ажырату; Бағдарлама құрылымы Бағдарлама келесі бөлімдерден тұруы мүмкін, бұл бөлімдер (тек соңғыдан басқасы) бір-бірінен нүктелі-үтір арқылы ажыратылады: • бағдарлама тақырыбы; • белгілер бөлімі; • тұрақтылар бөлімі; • типтерді сипаттау бөлімі; • процедура мен функцияларды сипаттау бөлімі; • бағдарлама денесі; Бағдарламалау барысында алдын-ала анықтауды қажет етпейтін мәліметтердің стандартты типтері мен бағдарламалаушының өзі анықтайтын типтерді пайдалануға болады. Стандартты типтер - бүтін типтер - SHORTINT, INTEGER, LONGIN, BYTE,WORD; - нақты типтер – REAL, SINGLE, DOUBLE, EXTENDED, COMP; - логикалық тип - BOOLEAN ; символдық тип CHAR; жолдық тип STRING; ASCII – жолдық - PCHAR; текстік файл TEXT; Басқа типтердің барлығы типтер бөлімінде, айнымалылар немесе тұрақтыларды сипаттау бөлімінде анықталуы қажет. Нақты типтен басқа қарапайым типтер үшін мына функциялар анықталады: DEC(N) N-ді азайту (қысқарту) INC(N) N-ді үлкейту (ұзарту) ORD(N) N-нің рет нөмірі ODD(N) N-нің жұптығын тексеру PRED(N) N-нің алдынғы мәні SUCC(N) N-нің келесі мәні Нәтижесі бүтін болатын мәліметтердің бүтін типтерімен жұмыс істеу үшін келесі арифметикалық функциялар қолданылады: ABS(N) N-нің абсолют шамасы A DIV B бүтін бөлу A MOD B қалдықты бөлу + қосу
- көбейту
- азайту TRANC(X) Х нақты санның бүтін бөлігі; ROUND(X) Х нақты санды бүтінге дейін дөңгелектеу; SQR(X) N санын квадраттау; Логикалық функциялар: NOT- терістеу; OR - біріктіру немесе логикалық қосу; AND - қиылысу немесе логикалық көбейту; XOR - екінің модулі бойынша қосу. Стандартты функциялар ABS(X)-Х-тің абсолют мәні ARCTAN(X)- Арктангенс Х COS(X)-Косинус Х SIN(X)- Синус Х EXP(X)- е2 FRAC(X)- Х-тің бөлшек бөлігі ARCCOS(X)=ARCTAN(SQRT(1-SQR(X))/X) ARCSIN(X)=ARCTAN(X/SQRT(1-SQR(X))) Тілдің операторлары • BEGIN END құрама оператор; • IF…THEN шартты оператор; • CASE…OF таңдау операторы; • FOR… DO параметрлі қайталау операторы; • REPEAT… UNTIL шартқа дейін қайталау операторы; • WHILE… DO әзіргі шартқа байланысты қайталау; 1.1 Турбо паскаль тілінің операторлары. Операторлар - бағдарламадағы нұсқаулардың (бұйрықтар, алгоритмдер) машиналық тілде жазылуы. Яғни берілген есепті шешу мақсатында орындалатын іс-әрекеттердің машинаға түсінікті түрде жазылуы. Сонда, бағдарлама денесі бірінен кейін бірі жазылған операторлар тізбегінен тұрады. Операторлар арасына нүктелі үтір (;) белгісі қойылады. Операторлар қарапайым және күрделі (құрама) операторлар болып екі топқа бөлінеді. Егер оператор құрамында басқа операторлар боламса, онда ол қарапайым оператор деп аталады. Бұл топқа: меншіктеу, процедураны шақыру, шартсыз көшу – GOTO, бос орын операторы жатады. Күрделі (құрама) оператор бірнеше қарапайым операторлар тұрады. Бұл операторлар begin (басы) және end (соңы) қызметші сөздер арасында жазылады. Әр оператордан кейін (;) нүктелі үтір таңбасы қойылады. Құрама оператордың жалпы жазылуы: Begin 1-оператор; 2-оператор; 3-оператор; ... N-оператор; End; Begin (басы) және end (соңы) сөздерін операторлар жақшасы деп қарастырсақ, жоғарыдағы мысалды мына түрде жазуға болады: (1-оператор; 2-оператор; ...; N-оператор). Құрама операторлар ішінде тағы бір құрама оператор болуы мүмкін. Бұл жағдайда бағдарлама денесін құрама оператор деп қарастырса болады. Құрама операторға шартты көшу, таңдау және қайталау операторлары жатады. 1.2. Циклдік құрылымды алгоритмді бағдарламалау. Кейбір алгоритмдердің белгілі бір бөліктері бірнеше рет қайталанып орындалуы мүмкін. Мұндай алгоритмдерді циклдік құрылымға ие алгоритмдер дейді. Қайталанатын бөліктерді, яғни циклдерді әртүрлі тәсілдермен құрастырады. Цикл – бұл бағдарламаның орындалу барысында бірнеше рет қайталанатын бөліктері. Циклдерді пайдалану арқылы салыстырмалы түрде қысқа бағдарламалар жазуға, бағдарламаның көлемін едәуір қысқартуға болады. Бірақ осы бағдарлама арқылы ЭЕМ өте үлкен көлемдегі есептеулерді орындайды. Турбо Паскаль да циклдік құрылымды алгоритмді бағдарламалауды үш түрлі жолмен ұйымдастыруға болады. 1. Алдын-ала шартты тексеру арқылы 2. Келесі шарт бойынша 3. Параметрдің мәніне тәуелді Үш түрлі жолмен ұйымдастыратын циклға арнайы операторлар қолданылады. Олардың әрқайсысын талқылайық. 1.3. Алғы шартты цикл операторы While операторы. While операторы жан жақты басқару үйлесімі болып табылады. Алдын ала берілген шартты тексеру арқылы циклді ұйымдастыруға While операторы қолданылады. While операторын циклдің қайталану саны белгісіз болғанда пайдаланған ыңғайлы. Қайталанушы процесс қойылған шартты тексеру арқылы жүзеге асырылады. Яғни, шарт ақиқат болса цикл қайталанылады да, шарт жалған болса, циклден шығу орындалады. While операторы екі бөліктен тұрады: циклдің тақырыбынан және циклдің денесінен. Жалпы жазылуы: While <шарт> do <циклдің денесі>; While <шарт> do Begin … End. Мұндағы, Қызметші сөздерінің қазақша мағынасы: While –“әзір”, do –“орында”. Ал, шарт-логикалық өрнек түрінде жазылады. Берілген шартқа тәуелді бірнеше рет қайталанып орындалатын операторды – циклдің денесі деп атаймыз. Орындалу ережесі: Begin және End сөздерінің арасында жазылған оперпторлар шарт ақиқат болғанда орындалады While операторы алгоритмдік тілдегі “әзір” цикл командасына сәйкес “әзір” цикл командасының жазылуы және блок схемасы: әзір<шарт> цб <цикл> цс бітті.
Жоғарыдағы блок схемасы While операторымен ұйымдастырылатын циклді толық сипаттайды. While операторында, әрбір қайталанудың алдында берілген шарт тексеріледі. Шарт ақиқат болса, цикл денесі орындалады. Егер, шарт орындалмаса, цикл денесі де бірде-бір рет орындалмайда. Егер, цикл денесі екі немесе екіден де көп операторлардан тұрса, оларды операторлар жақшасының ішіне жазамыз. While <шарт> do begin <циклдің денесі>; end; While операторында бағдарламалаушы циклдің өзгеру қадамын өзі тағайындап отырады. Егер әрекет белгісі “/” не тең болмаса немесе екінші сан да 0-гетең болмаса, онда бағдарламаның орындалу процесінде бұл циклді айналып өтеді, яғни цикл бір рет те орындалмайды. бағдарламаны жүктеп, оның қалай жұмыс істейтін F7 пернесін қолдану арқылы тексереміз. Мысалы: Z=Y3 функциясының мәнін есептеу керек, мұндағы Y=1,2,3,4,5,6,7.бағдарламаның нәтижесінде Y-тің мәні мен сәйкес функцияның мәні кесте түрінде шығады. Y-тің өзгеру қадамы 1-ге тең. Program pr1; Var Z,Y: integer; {берілген айнымалыны сипаттау} Begin Z:=1;{Y-тің бастапқы мәнін меншіктеу} While y<=6 do {цикл тәуелді болатын шарт} Begin Z:=sqr(Y)*Y; { Y –тің мәнін Z-ті есептеу} 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.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-ке байланысты нәтижені шығарамын. Айнымалылар: L-алдыңғы сан W-қарастырылып отырған сан F-қосымша айнымалы 8-есеп. Билеттің кезегінде ерлер және әйелдер тұр. Басынан бастап алғашқы әйелге дейін тұрған ер адамның санын анықтау керек.
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 әрекетінің орындалу санын көрсетеді. Егер бұл сан белгілі болса, онда біз қайталану саны белгілі цикл түрімен жұмыс атқарамыз. Жалпы циклдік әрекеттерді олардың түріне қарай негізгі үш түрге бөлнді. А) Қайталау саны белгілі цикл Циклдің бұл түріне әрекеттің қайталану саны алдын ала белгілі болатын түрі жатады. Мысалы, денешынықтыру сабағында мұғалім сіздерге стадионды айнала үш айналым жасап жүгіруді тапсырды делік. Бұл тапсырманы орындау үшін сіз бір айналымды үш рет қайталауыңыз керек. Басқа мысал,математикадан үйге берілген тапсырмада бес есеп шығару керек болсын. Яғни, мұнда “есепті шығару” әрекетін бес рет орындау керек. Мұндай мысалдарды біз өмірімізден көптеп келтіруімізге болады. Көпшілік жағдайда негізгі әрекетті орындау үшін, орындалатын әрекеттің қайталану саны белгілібола бермейді. Мысалы,”өлең жатау” керек. Бұл жағдайда өлеңді жаттау үшін бір рет оқып есте сақтауға да болады. Ал қарсы жағдайда екі рет және үш рет, төрт рет оқып жаттауға болады, бұл жағдайда сізге өлеңді жаттау үшін неше рет оқу керек екені алдын ала белгісіз. Б) Алғы шарт циклі Циклдің бұл түріне қайталану саны белгісіз. Бірақ әрекет орындалу үшін алдын ала берілген қандай да бір шарт тексеріліп барып, орындалатын әрекеттер жиыны жатады. Мысалы: Сіз сорпа ішуге дайындалдыңыз. Тарелкадағы сорпаны толығымен ішіп тауысу үшін қасықпен неше рет көсеп алу керек екені бізге алдын ала белгісіз. Ал егер тарелка бастапқыда бос болса, сіз тарелкадан қасықпен сорпа алр ма едіңіз? Әрине жоқ, ол мүмкін емес. Осыдан циклдің бұл түріне мынадай қызықты тұжырым жасауға болады.Ол нөл рет орындалады.
В) Соңғы шарт циклі. Циклдің бұл түріне қайталану саны белгісіз, бірақ алдыңғы циклден айырмашылығы, одан әрекет орындалмас бұрын алдын ала шарт тексерілетін болса, ал мұнда әрекет орындалғанна кейін шарт тексеріледі де әрекетті қайталауға береді.
Соңғы шарт циклінің орындалуын айқындау үшін, өлшемдері көздерінен үлкен болатын жұмсақ шарлар салынған електі көз алдымызға елестетейік. Егер шарларды секіртетін болсақ, соғылу нәтижесінде олардың өлшемдері кішірейе береді делік. Осы әрекет қашан шарлардың өлшемдері електің көзінен өтетін болғанша қайталанып орындала береді. Яғни, шардың диаметрі електің көзінің өлшемдеріне сәйкес болғанша шарт орындалады. Алғы шарт циклінің соңғы шарт циклінен айырмашылығы циклдің бірнеше түрінде әрекет ШАРТ=АҚИҚАТ да орындалады. Ал екінші түрінде ШАРТ =АҚИҚАТ болғанда цикл әрекет жұмысын тоқтатады. Қосымша ескертетін жағдай, қайталану саны белгілі циклін алғы шарт циклінің дербес жағдайы ретінде қарастыруымызға болады. Шын мәнінде стадионды айнала үш айналым жүргізуге ұсыныс жасалған болса, ал сіз одан көп айналым жүгірсеңіз, ары қарай жүгірмей-ақ қойсаңыз болады.
Дереккөздер
Бұл мақаланы Уикипедия сапа талаптарына лайықты болуы үшін уикилендіру қажет. |
уикипедия, wiki, кітап, кітаптар, кітапхана, мақала, оқу, жүктеу, тегін, тегін жүктеу, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, сурет, музыка, ән, фильм, кітап, ойын, ойындар, ұялы, андроид, iOS, apple, ұялы телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ДК, веб, компьютер
Paskal agylsh Pascal bagdarlamashylardy okytu kurstarynda pajdalanylatyn zhogary kurylymdy bagdarlamalau tili Paskal tilindegi ajnymalylarPaskal tilinin negizgi tүsinikteri Alfaviti Arnajy tanbalar arifmetikalyk zhәne salystyru amaldary gt lt lt gt lt gt arifmetikalyk zhәne logikalyk funkciyalar DIV MOD NOT AND OR IN SHL SHR әr tүrli tynys belgileri nemese tүsinikteme zhazatyn zhakshalar massiv indeksterin zhәne zhiyn elementterin belgileu ajnymaly tizimin belgileu apostrof menshikteu belgisi operatorlar men habarlardy azhyratu ajnymalyny bolip korsetu ajnymalynyn tipin tiptin sipattamasynan nemese turaktyny oz mәninen bolip korsetu tizim elementterin azhyratu Bagdarlama kurylymy Bagdarlama kelesi bolimderden turuy mүmkin bul bolimder tek songydan baskasy bir birinen nүkteli үtir arkyly azhyratylady bagdarlama takyryby belgiler bolimi turaktylar bolimi tipterdi sipattau bolimi procedura men funkciyalardy sipattau bolimi bagdarlama denesi Bagdarlamalau barysynda aldyn ala anyktaudy kazhet etpejtin mәlimetterdin standartty tipteri men bagdarlamalaushynyn ozi anyktajtyn tipterdi pajdalanuga bolady Standartty tipter bүtin tipter SHORTINT INTEGER LONGIN BYTE WORD nakty tipter REAL SINGLE DOUBLE EXTENDED COMP logikalyk tip BOOLEAN simvoldyk tip CHAR zholdyk tip STRING ASCII zholdyk PCHAR tekstik fajl TEXT Baska tipterdin barlygy tipter boliminde ajnymalylar nemese turaktylardy sipattau boliminde anyktaluy kazhet Nakty tipten baska karapajym tipter үshin myna funkciyalar anyktalady DEC N N di azajtu kyskartu INC N N di үlkejtu uzartu ORD N N nin ret nomiri ODD N N nin zhuptygyn tekseru PRED N N nin aldyngy mәni SUCC N N nin kelesi mәni Nәtizhesi bүtin bolatyn mәlimetterdin bүtin tipterimen zhumys isteu үshin kelesi arifmetikalyk funkciyalar koldanylady ABS N N nin absolyut shamasy A DIV B bүtin bolu A MOD B kaldykty bolu kosu kobejtu azajtu TRANC X H nakty sannyn bүtin boligi ROUND X H nakty sandy bүtinge dejin dongelekteu SQR X N sanyn kvadrattau Logikalyk funkciyalar NOT teristeu OR biriktiru nemese logikalyk kosu AND kiylysu nemese logikalyk kobejtu XOR ekinin moduli bojynsha kosu Standartty funkciyalar ABS X H tin absolyut mәni ARCTAN X Arktangens H COS X Kosinus H SIN X Sinus H EXP X e2 FRAC X H tin bolshek boligi ARCCOS X ARCTAN SQRT 1 SQR X X ARCSIN X ARCTAN X SQRT 1 SQR X Tildin operatorlary BEGIN END kurama operator IF THEN shartty operator CASE OF tandau operatory FOR DO parametrli kajtalau operatory REPEAT UNTIL shartka dejin kajtalau operatory WHILE DO әzirgi shartka bajlanysty kajtalau 1 1 Turbo paskal tilinin operatorlary Operatorlar bagdarlamadagy nuskaulardyn bujryktar algoritmder mashinalyk tilde zhazyluy Yagni berilgen esepti sheshu maksatynda oryndalatyn is әreketterdin mashinaga tүsinikti tүrde zhazyluy Sonda bagdarlama denesi birinen kejin biri zhazylgan operatorlar tizbeginen turady Operatorlar arasyna nүkteli үtir belgisi kojylady Operatorlar karapajym zhәne kүrdeli kurama operatorlar bolyp eki topka bolinedi Eger operator kuramynda baska operatorlar bolamsa onda ol karapajym operator dep atalady Bul topka menshikteu procedurany shakyru shartsyz koshu GOTO bos oryn operatory zhatady Kүrdeli kurama operator birneshe karapajym operatorlar turady Bul operatorlar begin basy zhәne end sony kyzmetshi sozder arasynda zhazylady Әr operatordan kejin nүkteli үtir tanbasy kojylady Қurama operatordyn zhalpy zhazyluy Begin 1 operator 2 operator 3 operator N operator End Begin basy zhәne end sony sozderin operatorlar zhakshasy dep karastyrsak zhogarydagy mysaldy myna tүrde zhazuga bolady 1 operator 2 operator N operator Қurama operatorlar ishinde tagy bir kurama operator boluy mүmkin Bul zhagdajda bagdarlama denesin kurama operator dep karastyrsa bolady Қurama operatorga shartty koshu tandau zhәne kajtalau operatorlary zhatady 1 2 Cikldik kurylymdy algoritmdi bagdarlamalau Kejbir algoritmderdin belgili bir bolikteri birneshe ret kajtalanyp oryndaluy mүmkin Mundaj algoritmderdi cikldik kurylymga ie algoritmder dejdi Қajtalanatyn bolikterdi yagni ciklderdi әrtүrli tәsildermen kurastyrady Cikl bul bagdarlamanyn oryndalu barysynda birneshe ret kajtalanatyn bolikteri Ciklderdi pajdalanu arkyly salystyrmaly tүrde kyska bagdarlamalar zhazuga bagdarlamanyn kolemin edәuir kyskartuga bolady Birak osy bagdarlama arkyly EEM ote үlken kolemdegi esepteulerdi oryndajdy Turbo Paskal da cikldik kurylymdy algoritmdi bagdarlamalaudy үsh tүrli zholmen ujymdastyruga bolady 1 Aldyn ala shartty tekseru arkyly 2 Kelesi shart bojynsha 3 Parametrdin mәnine tәueldi Үsh tүrli zholmen ujymdastyratyn ciklga arnajy operatorlar koldanylady Olardyn әrkajsysyn talkylajyk 1 3 Algy shartty cikl operatory While operatory While operatory zhan zhakty baskaru үjlesimi bolyp tabylady Aldyn ala berilgen shartty tekseru arkyly cikldi ujymdastyruga While operatory koldanylady While operatoryn cikldin kajtalanu sany belgisiz bolganda pajdalangan yngajly Қajtalanushy process kojylgan shartty tekseru arkyly zhүzege asyrylady Yagni shart akikat bolsa cikl kajtalanylady da shart zhalgan bolsa ciklden shygu oryndalady While operatory eki bolikten turady cikldin takyrybynan zhәne cikldin denesinen Zhalpy zhazyluy While lt shart gt do lt cikldin denesi gt While lt shart gt do Begin End Mundagy Қyzmetshi sozderinin kazaksha magynasy While әzir do orynda Al shart logikalyk ornek tүrinde zhazylady Berilgen shartka tәueldi birneshe ret kajtalanyp oryndalatyn operatordy cikldin denesi dep atajmyz Oryndalu erezhesi Begin zhәne End sozderinin arasynda zhazylgan operptorlar shart akikat bolganda oryndalady While operatory algoritmdik tildegi әzir cikl komandasyna sәjkes әzir cikl komandasynyn zhazyluy zhәne blok shemasy әzir lt shart gt cb lt cikl gt cs bitti Zhogarydagy blok shemasy While operatorymen ujymdastyrylatyn cikldi tolyk sipattajdy While operatorynda әrbir kajtalanudyn aldynda berilgen shart tekseriledi Shart akikat bolsa cikl denesi oryndalady Eger shart oryndalmasa cikl denesi de birde bir ret oryndalmajda Eger cikl denesi eki nemese ekiden de kop operatorlardan tursa olardy operatorlar zhakshasynyn ishine zhazamyz While lt shart gt do begin lt cikldin denesi gt end While operatorynda bagdarlamalaushy cikldin ozgeru kadamyn ozi tagajyndap otyrady Eger әreket belgisi ne ten bolmasa nemese ekinshi san da 0 geten bolmasa onda bagdarlamanyn oryndalu procesinde bul cikldi ajnalyp otedi yagni cikl bir ret te oryndalmajdy bagdarlamany zhүktep onyn kalaj zhumys istejtin F7 pernesin koldanu arkyly tekseremiz Mysaly Z Y3 funkciyasynyn mәnin esepteu kerek mundagy Y 1 2 3 4 5 6 7 bagdarlamanyn nәtizhesinde Y tin mәni men sәjkes funkciyanyn mәni keste tүrinde shygady Y tin ozgeru kadamy 1 ge ten Program pr1 Var Z Y integer berilgen ajnymalyny sipattau Begin Z 1 Y tin bastapky mәnin menshikteu While y lt 6 do cikl tәueldi bolatyn shart Begin Z sqr Y Y Y tin mәnin Z ti esepteu Writeln Y Y Z Z Y zhәne Z ekranga shygaru Y Y 1 Y tin ozgeru kadamy End End Nәtizhesi 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 Kelesi shart bojynsha cikldi ujymdastyru Repeat operatory Cikldin procesteri ujymdastyruda Repeat operatory cikldin kajtalanu sany belgili bolganda koldanylady Mundaj zhagdajlar kobinese bagdarlamalardy kurganda kezdesedi Әrine bul operator birden belgisiz sannyn kajtalanuynan nemese berilgen formulamen esepteletin bolsa gana koldanylady Repeat operatorynyn zhalpy zhazyluy Repeat lt cikldin denesi gt Until lt shart gt Mundagy kyzmetshi sozderi Repeat kajtala Until sogan dejin degen magynada koldanylady Cikl denesi kajtalanyp oryndalatyn bir nemese birneshe operatorlardan turady Cikl denesin kurajtyn operatorlar sanyn shekteu kojylmajdy Shartty tekseru logikalyk ornek arkyly zhүrgiziledi Oryndalu erezhesi Repeat sozinen kejin zhazylgan operatorlar bir ret oryndalady Shart zhalgan bolsa operatorlar kajtalanyp oryndala beredi Shart akikat bolgada gana toktajdy yagni oryndalmajdy Repeat operatory algoritmdik tildegi dejin cikl komandasyna uksas Әzir cikl komandasynan dejin ciklinin ajyrmashylygy kojylgan shartka tәuelsiz birneshe cikl denesi oryndalady Sonan kejin shart tekseriledi Demek shart akikat bolmasa cikl denesi keminde bir ret oryndalady Repeat operatorynyn kyzmetin surettegi blok shema arkyly sipattauga bolady Repeat operatory kuramdy operatordyn oryndaluyn talap etpejdi Birak bul Repeat operatory cikldin bir ret te oryndaluyn kazhet etetin zhagdajda cikldardy zhazuga zharamajdy Eger mundaj zhagdajda bolsa onda algyshart operatoryn koldanuymyz kerek Mysaly 1kg irimshik 300 tenge turady Irimshiktin 100 200 300 1000 grammyna tolenetin tengeni anyktajtyn zhәne eseptin zhauabyn keste tүrinde shygarudyn bagdarlamasyn zhazajyn Program pr2 Var m integer Bүtin z real Nakty Begin m 100 Repeat z 300 m 1000 Writeln m z m m 100 until m gt 1000 readln end 1 5 Parametrli kajtalanu operatory For operatory Cikldik kurylymdy algoritmdi bagdarlamalauda kajtalanushy process bir ajnymalynyn mәnine tәueldi bolsa For operatoryn koldanamyz Ajnymaly tek bir kadamga gana ozgere otyryp cikldi baskarydy Bul ajnymaly cikldin parametrli kajtalanu operatory dep atalynady Sanagyshy bar parametrli cikl operatory cikl kajtalanuyn bakylajtyn sanagyshtyn algashky zhәne songy mәnderi aldyn ala belgili bolgan kezde gana koldanylady For operatory algoritmdik tildegi parametrli kajtalanu komandasyna sәjkes keledi i үshin m1 bastap m2 dejin h kadam Cb Seriya Cs For operatory eki tүrli zhazylady A for I A to B do Begin End Oryndalu erezhesi Begin zhәne End sozderinin arasynda zhazylgan operatorlar I A I A 1 I A 2 I B үshin oryndalady Mundagy I cikl parametri A parametrdin bastapky mәni V parametrdin songy mәni For H M1 to M2 do S1 Mundagy kyzmetshi sozder For үshin to dejin cikldin kadamy 1 ge osip otyratynyn korsetedi do orynda H skalyarlyk tiptegi ajnymaly cikldin parametri M1 cikl parametrinin bastapky mәni M2 cikl parametrinin songy mәni S1 parametrine tәueldi kajtalanyp oryndalatyn operator Sondyktan S1 cikl denesi dep atalady B For I A DOWN TO B DO Begin End Oryndau erezhesi Begin zhәne End sozderinin arasynda zhazylgan operatorlar I A I A 1 I A 2 I B үshin oryndalady For X M1 down to M2 do S1 1 nuskadan ozgesheligi to sozinin ornyna down to tomenge dejin kyzmetshi sozi zhazylady down to cikldin ozgeru kadamy 1 ten ekendigin korsetedi Mundagy H tin mәni M1 den M2 ge dejin 1 kadammen kemu үshin M1 gt M2 sharty oryndaluy kerek Eger bul shart oryndalmasa cikl denesi birde bir ret oryndalmajdy Eger cikl denesi birneshe operatordan tursa Begin zhәne End operatorlar zhakshasynpajdalanamyz Parametrdin mәnine tәueldi cikldi blok shemasynda tomendegidej sipattajdy Parametrli kajtalanu operatorynyn zhazyluyna zhәne oryndaluyna mysal keltirejik Operatordyn zhazyluy Nәtizhesi 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 Cikl oryndalmajdy 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 Cikl oryndalmajdy Қajtalanu sanyn kelesi tәsildermen anyktauga bolady Songy mәn algashky mәn 1 birinshi zhagdaj үshin Algashky mәn songy mәn 1 ekinshi zhagdaj үshin Mysaly R 1 2 10 sandarynyn kobejtindisin esepteu Program pr3 Var i P integer Begin P 1 For i 1 to 10 do P P 1 Writeln P P Readln End 1 6Kүrdeli ciklder Kүrdeli kajtalanushy processterdi ujymdastyruda bir cikl operatory kuramynda ekinshi bir cikl operatory boluy mүmkin Bul zhagdaj da birinshi cikl operator ishki cikl dep atalady Syrtky zhәne ishki cikl ujymdastyruda myna shart oryndalady ishki cikldin barlyk operatory syrtky cikl denesine tolyk enedi Mysyly surette eki parametrli cikl operatorlary arkyly zhazylgan kүrdeli cikldin zhumysy sipattalyngan 1 7 EEM de esep shygaru kezenderi Қadam bojynsha oryndau әdisi Kez kelgen eserti EEM de sheshu birneshe kezenderden turady 1 eseptin kojyluyn ugu 2 formaldau dengeji eseptin matematikalyk tүrde kojyluy 3 sheshu әdisin tandau 4 algoritmin zhazu kuru 5 bagdarlamasyn kuru 6 bagdarlamanyn durystygyn tekseru 7 esepteu zhәne nәtizhelerin ondeu 1 8 Mysal esepter 1 esep M natural sany berilgen Onyn zhaj san ekendigin anyktau kerek Program pr1 Var I M F integer Begin Repeat Write naturalsan engizu M Readln M Until M gt 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 zhaj san Else writeln M 6 zhaj san emes End Esepti sheshu algoritmi 1 bagdarlama denesin ajnymylylardan sipattaudan bastajmyn 2 Natural san engizemin 3 2 den M 2 aralygyndagy natural sandar M sanynyn bolgishi bola ma sony tekseremin 4 F tin mәnine bajlanysty nәtizheni shygaramyn Ajnymalylar M zertteletin san I cikl ajnymalysy F komekshi ajnymaly 2 esep A natural sany berilgen Ony zhaj kobejtkishterge zhikteu kerek Program pr2 Var I A F J integer Begin Repeat Write natural san engiz A Readln A Until A gt 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 Cikl mundaj I kobejtkishterdin A sanynda nesheu ekendigin anyktajdy While J MOD I 0 DO Begin Write I J J DIV I End End F birden үlken zhaj kobejtkishterdin tabylgandygyn anyktajdy if F 0 then writeln A else writeln end Esepti sheshu algoritmi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 Natural san engizemin 3 Parametri I ciklde A 2 den artpajtyn natural sandardy anyktajmyn 4 Eger mundaj san bolgish bolsa onda A ny kishirejtu arkyly sanyn anyktajmyn 5 F tin mәnine bajlanysty nәtizheni shygaramyn Ajnymalylar A zertteletin san I J cikl ajnymalysy F komekshi ajnymaly 3 esep R zhәne M natural sandary berilgen Olardyn ozara zhaj sandar ekendigin anyktau kerek Өzara zhaj sandardyn 1 den baska ortak bolshekteri bolmajdy Program pr3 Var I P M K integer F Boolean Begin Repeat Write natural san engiz P Readln P Write natural san engiz M Readln M Until P gt 0 and M gt 0 F False If P gt 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 ozara zhaj sandar emes Else writeln P M ozara zhaj sandar End Esepti sheshu algoritmi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 R M natural san engizemin 3 Parametri I ciklde 2 den bastap en kishi sanga dejingi sandardy anyktajmyz zhәne әrbir R M sandarynyn bolgishi bolatyndygyn tekseremin 4 F tin mәnine bajlanysty nәtizheni shygaramyn Ajnymalyldar R M zertteletin san I cikl ajnymalysy Ғ komekshi ajnymaly K R M sandarynyn kishisi 4 esep A zhәne M natural sandary berilgen Olardyn үlken ortak bolgishin tabu kerek Program pr4 Var I M A K D integer Begin Repeat Write A Readln A Write M Readln M Until A gt 0 And M gt 0 If A gt 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 sandarynyn en үlken ortak bolgishi D End Esepti sheshu algoritimi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 A M natural san engizemin 3 Parametri I ciklde 1 den bastap en kishi sanga dejin sandardy anyktajmyn zhәne olardyn әrkajsysy birmezgilde A M sandarynyn bolgishi bolatyndyygn tekseremin 4 Osy bolgishti D ajnymalysynda saktajmyn 5 Nәtizhesin shygaramyn Ajnymalylar A M zertteletin san I cikl ajnymalysy D en үlken ortak bolgish K A M sandarynyn kishisi 5 esep S zhәne V natural sandary berilgen Olardyn en kishi eseligin tabu kerek Program pr5 Var I K S B D integer Begin Repeat Write S Readln S Write B Readln B Until S gt 0 and B gt 0 If S gt 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 sandarynyn en kishi ortak eseligin Writeln EKOE EKOE End Esepti sheshu algoritmi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 S V natural san engizemin 3 Parametri I ciklde 1 den bastap en kishi sanga dejin sandardy anyktajmyn zhәne olardyn әrkajsysy birmezgilde S B sandarynyn bolgishi bolatyndygyn tekseremin 4 Osy bolgishti D ajnymalysynda saktajmyn 5 EKOE D S DIV D B DIV D ekendigin eskerip nәtizheni shygaramyn Ajnymalylar S B zertteletin san I cikl ajnymalysy D en үlken ortak bolgish EKOE en kishi ortak eselik K S B sandarynyn kishisi 6 esep Myna katardyn algashky S mүshesinin kosyndysyn tabu kerek Y 1 X 2 X2 3 X3 4 mundagy H kez kelgen san Esepti sheshu algoritmi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 Қatardyn mүshelerinin sanyn N zhәne H ajnymalyny engizemin 3 Ciklde katardyn kelesi sanyn anyktajmyn zhәne ony U kosyndyga kosamyn 5 Nәtizheni shygaramyn Ajnymalylar N katardyn mүshelerinin sany X katardyn ajnymalysy D en үlken ortak bolgish EKOE en kishi ortak eselik K M N sandarynyn kishisi Z kosymsha ajnymaly I cikl ajnymalysy Y katardyn kosyndysy 7 esep Sony 0 bolatyn sandar tizbegin engizu kerek Osy tizbekte en bolmagandva katar ornalaskan eki birdej sannyn bar ekendigin anyktau kerek If F then writeln tizbekte katar ornalaskan ten sandar bar Else writeln tizbekte katar ornalaskan ten sandar zhok End Esepti sheshu algoritmi 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 Algashky eki sandy L zhәne W engizemin zhәne F nin algashky mәnin beremin 3 Ciklde osy eki sanda tekseremin eger olar ten bolsa F ti anyktajmyn 4 L W mәnin kajta menshiktejmin zhәnk W din zhәne mәnin engizemin 6 F ke bajlanysty nәtizheni shygaramyn Ajnymalylar L aldyngy san W karastyrylyp otyrgan san F kosymsha ajnymaly 8 esep Bilettin kezeginde erler zhәne әjelder tur Basynan bastap algashky әjelge dejin turgan er adamnyn sanyn anyktau kerek 1 bagdarlama denesin ajnymalylardy sipattaudan bastajmyn 2 Tizbektin uzyndygyn engizemin zhәne esepteu үshin K nyn algashky mәnin beremin 3 Ciklde adamnyn zhynysyn engizemin 4 Eger er adam bolsa K nyn mәnin birge arttyramyn 5 Әjtpese cikldi Break operatory arkyly toktatamyn 6 K nyn mәnine bajlanysty nәtizheni shygaramyn Ajnymalylar K sanau sany I cikl ajnymalysy N kezekti adamdardyn sany F kosymsha ajnymaly Pol adam zhynysy 9 esep 5h 3u 1 Diafontova tendeui arkyly bүtin sandardyn zhiynyn tabu kerek Bastapky tekserude aldymen birlik tendikteri alynady Odan әri eger de 5h 3u gt 1 bolsa onda 1 ge artady eger 5h 3u gt 1bolsa onda 1 den h ka artady Nәtizhesinde h 2y 3 10 esep Logikalyk ugym bar not a and b xor c a b c logikalyk ugymdaryn akikat mәninde ekranga shygaru kerek Men a b c mәnderin zhup sandarmen sipattap shygarudy usynamyn bagdarlama eki kүrdeli operatordan turady For a false to true do osy operatorga tagy eki kosylgan For zhәne If operatory Songy then boliminin kuramynda kүrdeli operator bar olar үsh zhaj operatordan turady Begin zhәne End zhakshalarymen kamtylgan 1 9 Қajtalau cikl Kejbir zhagdajlarda nәtizhege zhetu barysynda belgili bir әreket birneshe ret kajtalanyp oryndaluy mүmkin Shegeni kagu үshin ony balgamen birneshe ret uru kerek Bir synyp bolmesinen kelesi synyp bolmesine baru үshin birneshe kadam zhasau kerek Cikl Belgili bir A әreketin zhүzege asyru үshin N ret A1 әreketin oryndau kerek Grafikalyk blok shemasyn koldanyp ony myna kelesi tүrde korsetuge bolady Mundagy N sany negizgi A әreketin oryndau үshin A1 әreketinin oryndalu sanyn korsetedi Eger bul san belgili bolsa onda biz kajtalanu sany belgili cikl tүrimen zhumys atkaramyz Zhalpy cikldik әreketterdi olardyn tүrine karaj negizgi үsh tүrge bolndi A Қajtalau sany belgili cikl Cikldin bul tүrine әrekettin kajtalanu sany aldyn ala belgili bolatyn tүri zhatady Mysaly deneshynyktyru sabagynda mugalim sizderge stadiondy ajnala үsh ajnalym zhasap zhүgirudi tapsyrdy delik Bul tapsyrmany oryndau үshin siz bir ajnalymdy үsh ret kajtalauynyz kerek Baska mysal matematikadan үjge berilgen tapsyrmada bes esep shygaru kerek bolsyn Yagni munda esepti shygaru әreketin bes ret oryndau kerek Mundaj mysaldardy biz omirimizden koptep keltiruimizge bolady Kopshilik zhagdajda negizgi әreketti oryndau үshin oryndalatyn әrekettin kajtalanu sany belgilibola bermejdi Mysaly olen zhatau kerek Bul zhagdajda olendi zhattau үshin bir ret okyp este saktauga da bolady Al karsy zhagdajda eki ret zhәne үsh ret tort ret okyp zhattauga bolady bul zhagdajda sizge olendi zhattau үshin neshe ret oku kerek ekeni aldyn ala belgisiz B Algy shart cikli Cikldin bul tүrine kajtalanu sany belgisiz Birak әreket oryndalu үshin aldyn ala berilgen kandaj da bir shart tekserilip baryp oryndalatyn әreketter zhiyny zhatady Mysaly Siz sorpa ishuge dajyndaldynyz Tarelkadagy sorpany tolygymen iship tauysu үshin kasykpen neshe ret kosep alu kerek ekeni bizge aldyn ala belgisiz Al eger tarelka bastapkyda bos bolsa siz tarelkadan kasykpen sorpa alr ma ediniz Әrine zhok ol mүmkin emes Osydan cikldin bul tүrine mynadaj kyzykty tuzhyrym zhasauga bolady Ol nol ret oryndalady V Songy shart cikli Cikldin bul tүrine kajtalanu sany belgisiz birak aldyngy ciklden ajyrmashylygy odan әreket oryndalmas buryn aldyn ala shart tekseriletin bolsa al munda әreket oryndalganna kejin shart tekseriledi de әreketti kajtalauga beredi Songy shart ciklinin oryndaluyn ajkyndau үshin olshemderi kozderinen үlken bolatyn zhumsak sharlar salyngan elekti koz aldymyzga elestetejik Eger sharlardy sekirtetin bolsak sogylu nәtizhesinde olardyn olshemderi kishireje beredi delik Osy әreket kashan sharlardyn olshemderi elektin kozinen otetin bolgansha kajtalanyp oryndala beredi Yagni shardyn diametri elektin kozinin olshemderine sәjkes bolgansha shart oryndalady Algy shart ciklinin songy shart ciklinen ajyrmashylygy cikldin birneshe tүrinde әreket ShART AҚIҚAT da oryndalady Al ekinshi tүrinde ShART AҚIҚAT bolganda cikl әreket zhumysyn toktatady Қosymsha eskertetin zhagdaj kajtalanu sany belgili ciklin algy shart ciklinin derbes zhagdajy retinde karastyruymyzga bolady Shyn mәninde stadiondy ajnala үsh ajnalym zhүrgizuge usynys zhasalgan bolsa al siz odan kop ajnalym zhүgirseniz ary karaj zhүgirmej ak kojsanyz bolady DerekkozderBul makalany Uikipediya sapa talaptaryna lajykty boluy үshin uikilendiru kazhet