Алгоритмнің циклдік құрылымын программалау


Скачать/Жүктеу

Жоспар:
1. Қайталау құрылымының анықтамасы.
2. Цикл-үшіннің қызметі.
3. Цикл-әзірдің қызметі.
4. Цикл-дейіннің қызметі.

Циклдік программа – белгілі бір командалардың бірнеше рет қайталанып орындалуы. Практикада есептерді немесе мәселелерді шешкенде бір типті әрекеттерді осы әрекеттерді анықтайтын параметрлердің әр түрлі мәндерінде көп рет қайталау қажеттігі туады. Осындай әрекеттерді жүзеге асыратын алгоритмді циклдік, ал көп рет қайталанатын әрекеттер тізбегін цикл деп атайды. Циклдерді пайдалану жинақы программалардың көмегімен есептеулердің үлкен көлемдерін орындауға мүмкіндік береді.
Циклдік операторлардың үшін, әзірше және дейін деген түрлері белгілі.
Кейде циклді неше рет қайталау керек екені алдын ала белгісіз, бірақ ол қандай да бір шарт сақталғанша орындалуы керек екені белгілі болады, сондықтан әзірше циклін қарастыру қажет.
Әзірше циклінің жазылу түрі: WHILE P DO S
Мұндағы WHILE P DO – цикл тақырыбы; WHILE (әзірше), DO (орындау) – қызметші сөздер (DO соңына нүктелі үтір қойылмайды); P – шарт (логикалық (бульдік) өрнек); S – цикл денесі.
WHILE циклінде бірінші рет P – нің мәні тексеріледі де, егер мән TRUE болса (шарт сақталса), S орындалып, басқару қайтадан P шартының қайталану кездегі сақталуын тексеруге беріледі. Егер P мәні FALSE болса, S орындалмай, басқару WHILE циклінен соң кездесетін бірінші операторға өтеді.
Мысал: n! мәнін есептеу керек.
Program fakt; uses crt;
var r, n, k : integer;
begin clrscr; write (‘n=?’); readln (n); k:=1; r:=1;
while k<=n do begin r:=r*k; k:=k+1 end;
write (n, ‘!=’,r)
end.
WRITE операторы параметрлер ішінде үтірлер арқылы бөлініп және дәйекшелерге алынып жазылған мәндерді сол күйінде шығарады. Мысалы, алдыңғы программаның орындалу нәтижесінде n=6 үшін Write (n,'!=', r) операторының экранға шығаратын мәтіні: 6!=720.

Есептің шарты соңынан белгілі болған кайталау құрылымында цикл-дейінді қарастырамыз.
Дейін циклінің жазылу түрі:
REPEAT S UNTIL NOT P
REPEAT – цикл тақырыбы, UNTIL – циклдің аяқталу шартын тексеру, Repeat (қайталау), Until (дейін) – қызметші сөздер. Repeat, Until – опреаторлық жақшалар рөлін де орындайды. Until – дің алдындағы оператордан соң нүктелі үтірдің қойылмауы тиіс. S – цикл денесі. NOT P - P шартына кері болатын емес шарты. NOT P мәні TRUE болған кезде циклді орындау аяқталады.
Мысал: Жалпы мүшесі ak=1/(k2+3) болатын тізбектің алғашқы n мүшесі мен олардың қосындысын табу керек (k=1, 2, …, n).
REPEAT циклін пайдаланып, программаны мынадай түрде құруға болады:

Program тіzbек;
var n, k : integer ; a, s : real;
begin write (‘n=?’); readln (n); k:=1; s:=0;
repeat a:=1/(k*k+3); writeln (‘a=’, a);
s :=s+a; k:=k+1 until k>n;
write (‘s=’, s)
end.

Мысал: Жалпы мүшесі an=a1*qn-1 формуласы арқылы берілетін шексіз кемімелі геометриялық прогрессияның eps – тен кем емес мүшелерінің қосындысын табу керек (0
q>0 кезінде qn-1 дәрежесінің мәні үшін exp((n-1)*In(q)) өрнегінің мәні алынатындықтан, программаны мынадай түрде құруға болады:

Program geomprogr; Uses crt;
{Кемімелі геометриялық прогрессия}
var al, a, q, eps, s : real ; n : integer;
begin clrscr; write (‘al, q, eps=?’);
readln (al, q, eps); n:=1 ; s:=0;
repeat
a:=al*exp((n-1)*In(q)); s:+s+a; n:=n+1
until (abs(a)
end.

Циклдік параметрдің қайталану саны белгілі болған жағдайда цикл-үшінді қарастырамыз.
Үшін циклінің жазылу үлгісі:

FOR <�цикл параметрі>:=<�бастапқы мән> TO <�соңғы мән> DO S
FOR <�цикл параметрі>:=<�бастапқы мән> DOWNTO <�соңғы мән> DO S
Мұндағы S FOR…DO – цикл тақырыбы; FOR (үшін), TO (дейін), DOWNTO (төменге дейін) – қызметші сөздер; цикл параметрі – REAL типінен басқа кез келген скалярлық типті айнымалы (көбінесе INTEGER типті айнымалы пайдаланылады); бастапқы мән, соңғы мән – параметрдің қабылдайтын мәндерінің шектері. Олар өрнек түрінде берілуі де мүмкін.
FOR циклінде параметр INTEGER типті болса, оның қадамы 1 не –1-ден басқа болуы мүмкін емес (FOR – TO циклінде қадам 1 – ге, FOR – DOWNTO циклінде қадам – 1 –ге тең). Қадамның басқа мәндерінде WHILE не REPEAT циклін пайдаланған жөн.
Мысал: FOR циклін пайдаланып, y=x5 функциясының мәнін цикл бойынша есептеу керек.
Есептеу программасын мынадай түрде құруға болады:

Program dareje;
Var x, y : real;
Begin write (‘x=?’); readln (x); y:=1;
For k:=1 то 5 do y:=y*x;
Write (‘y=’, y)
end.

Цикл ішінде цикл
Паскальда FOR арқылы жазылатын цикл ішінде циклдің жазылу түрі:
For k:=k0 to kn do
For j : = j0 to jn do S
Мысал: [1..10, 1..10] төртбұрышты кесте форматында экранға көбейту кестесінің нәтижелерін шығару керек.

Program keste; uses crt;
Var a, k, j : integer;
Begin clrscr;
For k:=1 to 10 do
Begin
For j:=1 to 10 do
Begin a:=k*j ; write (a) end;
writeln
End
End.


Скачать/Жүктеу

Комментировать

Вам необходимо войти, чтобы оставлять комментарии.




1Referat.kz сайтында кез-келген тақырыпқа мәліметтер, қазақша рефераттар, курстық жұмыстар жинақталған. Барлық мәліметтер тегін. Керек мағлұматты Жүктеп (Скачать) немесе Көшіріп (Скопировать) ала аласыз.

Наш сайт — это огромная Коллекция рефератов, курсовых работ, дипломных работ. Все материалы на сайте бесплатные. Нужную работу вы можете, скачать или скопировать.
Сайт картасы