Т.Қ. Қойбағарова, Р. А. Ельтинова



жүктеу 5,01 Kb.
Pdf просмотр
бет34/68
Дата23.05.2018
өлшемі5,01 Kb.
#16648
1   ...   30   31   32   33   34   35   36   37   ...   68

 
100 
бір  тармағы  орындалады,  ал  орындалмаса,  екінші  тармағы 
орындалады.  Яғни,  шартқа  тәуелді,  әлде  бір  серияны,  әйтпесе  басқа 
серияны  орындау  керек  болғанда  пайдаланылады.  Мысалы,  бірнеше 
мәндердің  ең  кішісін  немесе  ең  үлкенін  іздеу,  тармақталған  диалог 
құру, т.с.с. типтік есептердің алгоритмін ұйымдастыру үшін. 
Циклдік құрылымды алгоритмдер деп, цикл денесі деп аталатын 
әрекеттер  тізбегін  көп  рет  қайталануын  жүзеге  асыратын 
алгоритмдерді  атайды.  Мысалы,  циклдік  типті  алгоритмдерінің 
қатарына,  сандық  тізбектерінің  қосындысын  және  көбейтіндісін 
есептеу, деректерді циклдік әдіспен енгізу және өңдеу, т.с.с. жатады. 
Есептерді  шығару  мысалдары  [26,  42].  Бағдарламалау  тілінің 
жаңа амалдары, операторлары, т.б. күрделі құрылымдарды, есептердің 
мына  типтерін  шығару  үшін  керектігіне  қарай  біртіндеп  енгізіліп, 
бекітіліп отырады.  
Паскаль тілі қолданылған бірнеше есептерді қарастырайық. Бұл 
мысалдар  алгоритмдік  тіл  мен  Паскаль  тілінің  арасындағы  ұқсастық 
әдісін қолдануды көрсетеді. 
1-мысал.  Берілген  үш  x,y,z  санның  ең  үлкенін  табу  алгоритмін  
жазу  керек.  Бұл  есепті  шешу  үшін  құрылымы  бойынша  нұсқасы 
әртүрлі алгоритмдерді құруға болады. Соларды көрсетейік. 
1-шешім.  Алдымен алғашқы x,y екі санның арасындағы үлкені, 
одан  соң  табылған  k  және  z  арасындағы  үлкені  анықталады. 
Алгоритмнің құрылымы тізбектелген екі толық тармақталудан тұрады. 
алг 3-сан-мах (нақ x,y,z,k,max)  
Program  max_3_san; 
     арг  x,y,z 
 
 
 
 
Var x, y,z,k: real; 
     нәт max  
 
 
 
 
max : real; 
басы   
 
 
 
 
begin writeln(‘вв.3 числа’); 
енгізу x,y,z  
 
 
readln(x,y,z); 
     егер  x >y 
 
 
 
if x > y 
онда  k: = x  
 
 
 
then k:= x 
әйтпесе  k : =y   
 
 
else k:= y; 
     бітті   
 
 
 
 
if k > z 
     егер  k >z 
 
 
 
then max:= k 
онда  max: = k 
 
 
 
else max:= z; 
әйтпесе  max : =z  
 
wrіreln(max ); 
      бітті     
 
 
 
readln; 
шығару  max 
 
 
 
end
соңы 
2-шешім.  Алгоритмде  қабаттасқан  толық  тармақталуды 
қолданамыз. Паскаль тіліндегі алгоритмнің нұсқасын көрсетейік: 
Program  max_3_san; 


 
101 
Var x, y,z,max: real; 
begin  
write(‘вв.3 числа’); 
readln(x,y,z); 
if x > y 
 
then  if x >= z then max := x else max := z 
 
else  if y >= z then max := y else max := z; 
 
wrіreln(‘максимальное значение’, max); 
end
3-шешім. Алгоритмді күрделі логикалық өрнектерді пайдаланып, 
толық  емес  тармақталуды  тізбекпен  қолдану  арқылы  құрамыз. 
Паскаль тіліндегі алгоритмнің нұсқасы: 
Program  max_3_san; 
Var x, y,z,max: real; 
begin  
write(‘вв.3 числа’); 
readln(x,y,z); 
if (x >= y)  and (x >= z) then  max := x; 
if (y >= x)  and (y >= z) then  max := y; 
if (z >= x)  and (z >= y) then  max := z; 
wrіreln(‘максимальное значение’, max); 
end
2-мысал.  Үш  айнымалының  мәндерін  өсу  бойынша  реттейтін, 
яғни  A,  B,  C  айнымалыларының  кез  келген  мәндерінде  А 

  В 

    С 
болатын 
 
алгоритм  құру  керек.  Осы  алгоритм  бойынша  Паскаль 
тілінде бағдарлама жазу қажет. 
Шешімі.  Бұл  есепті  шешу  үшін  қосымша  Х  айнымалысын 
пайдаланып,  екі  айнымалыны  реттеу  алгоритімін  үш  рет  қолдану 
қажет: А және В реттеу, В және С реттеу (осыдан соң максималды мән 
С ұяшығына жазылады), тағыда А және В реттеу. Сонымен, алгоритм 
тізбектелген  үш  толық  емес  тармақталу  құрылымынан  тұратын 
болады. 
алг  Іріктеу-3 
 
 
 
Program  SORT_3; 
арг  нақ  A, B, C, X 
 
 
var  A,B,C,X: real; 
басы   
 
 
 
 
begin 
 
енгізу A, B, C 
 
 
 
readln(A, B, C); 
 
егер  A > B  
 
 
 
if  A >. B  
 
онда   
 
 
 
 
then begin 
 
 
X := A; 
 
 
 
 
X := A; 
 
 
A := B; 
 
 
 
 
A := B; 
 
 
B := X 
 
 
 
 
B := X 


 
102 
 
бітті   
 
 
 
 
end; 
 
егер  B > C  
 
 
 
if  B > C 
 
онда   
 
 
 
 
then begin 
 
 
X := B; 
 
 
 
 
X := B; 
 
 
B := C; 
 
 
 
 
B := C; 
 
 
C := X 
 
 
 
 
C := X 
 
бітті   
 
 
 
 
end; 
 
егер  A > B  
 
 
 
if  A > B 
 
онда   
 
 
 
 
then begin 
 
 
X := A; 
 
 
 
 
X := A; 
 
 
A := B; 
 
 
 
 
A := B; 
 
 
B := X; 
 
 
 
 
B := X; 
 
бітті   
 
 
 
 
end; 
 
шығару A, B, C   
 
 
write(A, B, C); 
соңы  
 
 
 
 
end. 
Қарастырылған есеп бойынша мынадай ескертулер жасау керек. 
Бұл  көмекші  алгоритмді  қолдану  идеясына  әкелетін  есеп. 
Сондықтан  екі  айнымалыны  реттеу  алгоритмін  көмекші  алгоритм 
ретінде  қолданған  тиімді.  Көмекші  алгоритмдерді  жүзеге  асыратын 
бағдарламаларды  ішкі  бағдарламалар  деп  атайды.  Көптеген 
бағдарламалау  тілдерінде  күрделі  бағдарламаны  құрылымдайтын  
негізгі құрал  ішкі бағдарлама болып табылады. 
Ішкі  бағдарлама  деп  жеке  синтаксистік  конструкция  түрінде 
пішімделген, өзінің есімімен негізгі бағдарламаның кез келген жерінен 
шақырылатын бағдарламалық модульді айтады
Турбо  Паскаль  тілінде,  ішкі  бағдарламалар,  процедуралар  және 
функциялар  арқылы  іске  асырылған.  Сондықтан  Турбо  Паскаль 
бағдарламалау тілін процедуралы-бағытталған тіл деп атайды.  
Бұл  есепте  процедураны  қолдануға  болады.  Екі  айнымалыны 
реттеу  алгоритімін  –  SOR2  деп  аталған  процедурасы  пайдаланған 
бағдарлама  мысалын  келтірейік  (процедуралармен  жұмыс  жасау 
ережелерін Паскаль бойынша жазылған оқулықтардан  қараңыздар). 
Program  Sort_3; 
Var  A, B, C: real; 
Procedure  SOR2(var  X, Y: real); 
 
Var  Z: real; 
Begin 
 
Z := X;  X := Y;  Y:= Z; 
End; 
Begin 
 
SOR2(A, B); 


жүктеу 5,01 Kb.

Достарыңызбен бөлісу:
1   ...   30   31   32   33   34   35   36   37   ...   68




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау