|
|||
While <қайталану шарты> do< цикл денесi> Қ айталану шарты – бульдiк (логикалық ) ө рнек, цикл денесi - жай немесе қ ұ рама оператор. Цикл денесi орындалудан бұ рын шарттағ ы ө рнектiң мә нi анық талады. Егер ол мә н true болса, цикл денесi орындалады. Шарттық ө рнектiң мә нi тағ ы да анық талады, егер нә тижесi false болса циклдың жұ мысы аяқ талып, while-ден кейiнгi бiрiншi оператор орындалады. Кейiнгi шартты цикл. Циклдің бұ л тү рінде: - қ айталану шарты цикл денесiнен кейiн тексерiледi, сондық тан кейiнгi шартты цикл деп аталады. - қ айталанатын iс-ә рекеттер кем дегенде 1 рет орындалады. - шарттың нә тижесi true болғ анда циклдiң орындалуы тоқ тайды. Жазылу форматы: repeat < оператор; > : {цикл денесi} < оператор; > until < циклді аяқ тау шарты>; Repeat жә не until сө здерiнiң арасындағ ы операторлар цикл денесi болады. Кейiнгi шартты циклдiң орындалу тә ртiбi: алдымен цикл денесi орындалады, одан соң циклден шығ у шарты тексерiледi. Егер нә тиже false болса, цикл денесi тағ ы да орындалады, егер true болса, циклден шығ ады. 1-мысал: 999 саны енгiзілгенше бү тiн сандарды енгізе отырып, олардың қ осындысын табу. … x: integer; sum: real; begin sum: =0; repeat write (‘х-тi енгiз’); readln(x); if x< > 999 then sum: =sum+x; until x=999; writeln (‘сандардың қ осындысы=’, sum); readln; end. Айнымалыларғ а тү сiнiктеме: х-енгiзiлетiн бү тiн сандар; sum-олардың қ осындысы (real); Бағ дарламаның басында қ осынды 0-ге тең естiрiледi. Одан соң repeat сө зiмен цикл ашылады. Цикл денесiнде “х-тi енгiз” сұ рауымен х айнымалының мә нi енгiзiледi. If операторы ол санның 999-ге тең емес екендiгiн тексередi. Егер тең болмаса, Sum қ осындысының мә нiне х саны қ осылады. Циклдiң соң ындағ ы until х=999 циклдiң аяқ талу шартын тексередi. Егер х=999 болса, цикл аяқ талады, until-ден кейiнгi оператор орындалады. Ол оператор writeln (‘сандардың қ осындысы=’, Sum); нә тиженi шығ арады. 3-мысал: сан қ атарының қ осындысын табу. Шешуi: Берiлген есепте параметрi 1-ден 20-ғ а дейiн 1 қ адаммен ө згеретiн (бө лшектің алымы) цикл қ ұ рғ ан дұ рыс. Бө лімінде алымы мен оғ ан келесі санның кө бейтіндісі жазылады. Егер алымын і деп белгілесек, бө лімі і ∙ (і+1) тү рінде болады. program kosyndy; var i: byte; s: real; begin s: =0; for i: =1 to 20 do s: =s+i/(i*(i+1)); { цикл денесi } write (‘қ осынды =’, s); writeln(y); readln; end.
4-мысал : 10-нан 99-ғ а дейiнгi сандардың арасынан цифрларының қ осындысы n-ге тең сандарды табу. (0< n< =18) Шешуi: Мынадай айнымалыларды белгiлеймiз. n - берiлген сан; p1 - санның ондық разрядты цифрасы; p2 - санның бiрлiк разрядты цифрасы; s - берiлген санның цифрларының қ осындысы; k -iзделiндi сан.
Program san_kosyndy; var k, n, p1, p2, s: integer; begin writeln (‘бү тiн сан енгiз’); readln (n); бү тiн санды енгiземiз for k: =10 to 99 do 10-нан 99-ғ а дейiнгi сандарды қ арастырамыз begin цикл денесiнiң басы p1: =k div 10; p2: =k mod 10; бiрiншi, екiншi цифраны табамыз s: =p1+p2; if s=n then writeln (k); егер қ осынды n-ге тең болса, end; берiлген k санын шығ арамыз readln; end.
Сұ рақ тар 1. Цикл дегенiмiз не? 2. Циклдi қ олдануғ а мысалдар келтiр. 3. Параметрлi қ айталану қ ай кезде қ олданылады? 4. Параметр деген не? 5. Параметрлi қ айталанудың жазылу форматы. 6. For операторының орындалуын тү сiндiр. 7. Цикл денесi деген не?
|
|||
|