Автор работы: Пользователь скрыл имя, 23 Декабря 2011 в 06:17, курсовая работа
Қазақстан Республикасындағы білімді ақпараттандыру жүйесі ары қарай дамыту процесін оқып үйренудің ақпараттық ресурсы болып табылатын оқытуға арналған программалық құралдарды дайындамай жүзеге асыруы мүмкін емес. Олардың атқаратын қызметтерінің ауқымы кең, мысалы, бақылайтын және тест жүргізетін программалар, компьютерлік ойындар, ақпараттық жүйелер, оқыту орталары, электрондық оқулықтар және мультимедиалық программалар.
а) Қайталанатын операторлар ( циклдің денесі ) бір – ақ рет жазылады;
ә) Циклге тек қана басынан ( тақырыбы ) ғана кіруге болады;
б) Циклің айнымалылары алдын – ала циклге дейін анықталуы тиіс;
в) Цикл денесінде көшу операторын ( Goto ) қолданып программаның басқа бөліктеріне шығуға болады.
д) Цикл ұйымдастырғанда, міндетті түрде циклден шығу шарты орындалатынын қарастыру керек, әйтпесе программа орындалуы циклге келгенде тоқтап тұрып қалады ( программа «мәңгі циклденіп» қалады ).
Цикл денесінің әр қайталауында цикл айнымалыларының мәндері де өзгеріп, жаңа мән қабылдап отырады. Қайталану саны циклдің тақырыбында және цикл денесінде берілетін айнымалылардың мәндеріне байланысты болады.
2.2 WHILE операторы
Алдын ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (оқылуы: yайл, аударылуы: әзірше) және DO (оқылуы: ду, орындау болып аударылады) түйінді сөздері қолданылып орындалады. Оның синтаксистік диаграммасы 1-суретте кескінделген.
1-сурет. WHILE операторының синтаксистік диаграммасы
Жазылу пішімі мынадай:
WHILE <қайталану шарты> DO <цикл тұлғасы>;
WHILE оператордың жазылу пішімі мен орындалуын төмендегідей түрде де оңай бейнелеуге болады.
WHILE <шарт> DO
<1-оператор>;
<2-оператор>;
Егер алгоритмдік тілмен салыстырып қарайтын болсақ, онда жолдар сәйкестігі былай көрсетіледі:
Алгоритмдік тілде
әзірше шарт
цб
1-оператор;
2- оператор;
. . .
n- оператор;
цс
Ескерту: Егер шарт бірінші тексергеннен-ақ жалған болса, онда цикл
орындалмайды.
Енді WHILE операторына бір-екі мысал келтірейік:
1-мысал. Пернетақтадан енгізілген кез келген он бүтін санның қосындысын табатын программа құру қажет.
Program kosindi;
const
limit=5; {енгізілген сандардың шектелуі}
var
count, item, sum:integer;
Begin
count:=0; {Енгізілген сандарды санау}
sum:=0; {Сандар қосындысы}
while(count<limit) do {Циклдің қайталану шарты}
begin
count:=count+1;
Write(count,’-shi butin sandi engizinder: ’);
readln(item); {Кезекті санды пернетақтадан енгізу}
sum:=sum+item;
end;
Writeln(‘Engizilgen sandardin kosindisi=’,sum);
end.
Нәтижесі:
1-shi butin sandi engizinder: 3
2-shi butin sandi engizinder: 7
3-shi butin sandi engizinder: 6
4-shi butin sandi engizinder: 5
5-shi butin sandi engizinder: 9
Engizilgen sandardin kosindisi=30
Бұл мысалда тұрақтыларды сипаттау бөліміндегі limit тұрақтысы енгізілетін сандарды шектеу рөлін атқарады. Айнымалыларды сипаттау бөліміндегі count, item, sum айнымалыларды бүтін сандық типте көрсетілген.
Программа басында енгізілген сандарды санайтын count(санауыш) айнымалысы мен қосындысы-sum нөлге теңестіріледі де, одан кейін 5 сан енгізіліп, оларды біртіндеп санау мен жинақтап қосу жүзеге асырыла бастайды.
Алдын ала WHILE операторы count<5 шартын тексереді. Шарт ақиқат болса, яғни орындалса, цикл тұлғасы болып келетін құрама оператор атқарылады, онда кезекті сан енгізіліп, қосындысы осы сан мөлшеріне көбейеді. Сонан соң қайтадан цикл операторы орындалып шарт тексеріледі, ол ақиқат болса, тағы да цикл қайталанады т.с.с.
Санауыш мәні 10-нан асқанда, қайталау топталып, қосынды мәні экранға writeln операторы арқылы «Eнгізілген сандардың қосындысы=» деген сөз тіркесінен кейін шығарылады.
2-мысал.
Евклид алгоритмі бойынша
Бұл есептің блок-схемасын да (2-сурет) келтіре кетейік. Блок-схема есептің шығару жолын көрнекі түрде бейнелеп, оның программасын құру кезінде қате жібермеуді қамтамасыз етеді.
2-сурет. Евклид алгоритмнің блок- схемасы
Program EYOB; {Екі санның ең үлкен ортақ бөлгішін табу}
Var n,x,m,e,y:integer;
Begin
Write(‘m,n sandarin engizinder:’);
Readln(m,n);
x:=m; y:=n;
While x<>y do
if x>y then x:=x-y else y:=y-x; e:=x;
Writeln(‘En ulken ortak bolgish=’,e);
End.
Нәтижесі:
m,n sandarin engizinder: 4 6
En ulken ortak bolgish= 2
2.3 Repeat операторы
Repeat қайталау операторы While операторына ұқсас, айырмашылығы-қаталану шартты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады (while операторында керісінше болатын).
Бұл оператор Repeat (оқылуы: репит, қайталау болып аударылады) және Until(оқылуы:антил, дейін, шейін болып аударылады) түйінді сөздерін пайдаланып орындалады. Оператор Repeat сөзінен тұратын оның тақырыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады да, синтаксистік диаграммасы 3-суреттегідей кескінделеді:
3-сурет. Repeat операторының диаграммасы
REPEAT <оператор 1>;
<оператор 2>;
<оператор n>;
UNTIL <шарт>;
Repeat операторының блок-схемасы
Repeat операторының циклі ішінде оның орындалу шартына әсер ететін кем дегенде бір оператор болуы тиіс, әйтпесе ол шексіз қайталана беруі мүмкін. Егер қаталау кезінде цикл ішінде көшу операторы болып, ол басқаруды цикл сыртындағы операторға берсе, онда циклдің орындалуы әрі қарай жалғаспайды.
Цикл тұлғасы болып келген оператор жай немесе құрама оператор (4-сурет) бола береді.
Бұл операторды да While операторын пайдаланған есептерде қолдануға болады, қай операторды қолдану әркімнің өз еркіне байланысты шешіледі. While операторы көмегімен шығарылған 2-суретте көрсетілген 2-мысалды енді Repeat операторымен қайталап шығарайық, программада қандай оператор қолданатынмызға байланысты алгоритм схемасы да (4-сурет) программа да өзгеріске ұшырайды.