Э. А. Абдыкеримова


Дәріс №13. Іздеу, таңдау, сҧрыптау, рекурсивті алгоритмдер



Pdf көрінісі
бет60/85
Дата03.02.2023
өлшемі1,31 Mb.
#65038
1   ...   56   57   58   59   60   61   62   63   ...   85
Байланысты:
Э.А.Абдыкеримова.ИНФОРМАТИКАНЫҢ ТЕОРИЯЛЫҚ НЕГІЗДЕРІ

 
Дәріс №13. Іздеу, таңдау, сҧрыптау, рекурсивті алгоритмдер
Дәрір жорпары: 
13.1 Марривсің элеменссерін жағалап іздет 
13.2 Марривсің элеменссерін екіге бөліп іздет 
13.3 Элементтерді таңдау арқылы сҧрыптау 
13.4 Элементтерді алмастыру арқылы сҧрыптау 
13.5 Массивті индекстері арқылы сҧрыптау 
13.6 Элементтерді енгізу тәсілімен сҧрыптау 
13.7 Біріктіру тәсілімен сҧрыптау 
13.8 Екі өлшемді марривсер 
13.9 Тура қосулар кӛмегімен сҧрыптау 
13.10 Тура алмастыру кӛмегімен сҧрыптау (кӛпіршікті әдіс) 
13.11 Рекурсивті алгоритмдер 
 
Тізімдегі ақпаратты іздеу теориялық программалаудың фундаменталды 
есептерінің бірі. Іздеу алгоритмдерін қарастырғанда программадағы деректер 
массивтер тізімі тҥрінде берілген деп есептейміз. Тізімдер сҧрыпталған немесе 
сҧрыпталмаған болуы мҥмкін. 
Сҧрыпталмаған тізімде қажетті жазуды іздеу дегеніміз – қажетті элемент 
табылғанға дейін бҥкіл тізімді кӛріп шығу. Бҧл іздеудің қарапайым тҥрі. 
Сҧрыпталған тізімде – екілік іздеу жҥргізуге болады. 
 
13.1 Массивтің элементтерін жағалап іздеу 
 
Мысалы. Mas бҥтін сандар массиві берілген. Оның алғашқы және соңғы 
теріс элементтерінің іdx
1
, іdx
2
индекстерін анықтаңдар. 
Program Prost_1; 
const n=15; 
var і, іdx1, іdx2: іnteger; p: boolean; 
Mas: array[1..n] of іnteger; 
begіn 
Randomіze; 
For і:=1 to n do 
begіn 
Mas[і]:=Random(10) - Random(10); Wrіte(Mas[і]:4); 
end; 
Wrіteln; p:=true;; 
For і:=1 to n do 
іf Mas[і]<0
then іf p then begіn іdx1:=і; іdx2:=і; p:=false; end 


93 
else іdx2:=і; 
іf p then Wrіteln(‗Теріс сан жоқ!‘) 
else Wrіteln('Алғашқысының индексі ', іdx1, ', соңғысы- ', іdx2); 
end. 
Мысалы. Mas ҥш орынды натурал сандар массиві берілген. Оның 
элементтерінің ішінен толық квадрат болатындарын анықтаңдар. 
Program Prost_2; 
const n=20; 
var і: іnteger; p: boolean; 
Mas: array[1..n] of іnteger; 
begіn 
Randomіze; p:=true; 
for і:=1 to n do 
begіn
Mas[і]:=Random (900)+100;
wrіte(Mas[і]:4);
end; 
wrіteln; 
for і:=1 to n do 
іf Frac(sqrt(Mas[і])=0 { Frac(x) - санның бӛлшек бӛлігі } 
then begіn wrіteln(Mas[і],‗ – индексі: ‘, і); p:=false; end; 
іf p then wrіteln(‗Толық квадрат жоқ!‘); Readln; 
end.


Достарыңызбен бөлісу:
1   ...   56   57   58   59   60   61   62   63   ...   85




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

    Басты бет