Слайд 2 ҚОЖА АХМЕТ ЯСАУИ АТЫНДАҒЫ ХАЛЫҚАРАЛЫҚ ҚАЗАҚ-ТҮРІК УНИВЕРСИТЕТІ
Сабақтың тақырыбы:
Іздеу жане
тандау
алгоритм
Орындағандар: Жандар.Т
Қабылдаған:
Түркістан 2014
Слайд 3 ЖОСПАР
1 Негізгі Тақырып
22
Тест
3 Тренинг
44 4 Глоссарий
5 5 Қорытынды
66 6 Қанатты сөздер
7 7 Сергіту сәті
8 Қайталау
9 9 Бағалау
10 Тапсырма
Слайд 4 НЕГІЗГІ ТАҚЫРЫП:
1 Іздеу алгоритм
2
Сызықтық іздестіру
3 Екілік іздестіру (қақ бөліп іздестіру)
4 Таңдау алгоритм
5 5 Таңдау операторы
Слайд 5
ІЗДЕУ ЖАНЕ ТАНДАУ АЛГОРИТМ
Тізімдегі ақпаратты іздестіру теориялық программалаудың
фундаменталды есептерінің бірі. Іздестіру алгоритмдерін қарастырғанда программадағы деректер массивтер тізімі түрінде берілген деп есептейміз. Тізімдер сұрыпталған немесе сұрыпталмаған болуы мүмкін. Сұрыпталмаған тізімде қажетті жазуды іздестіру дегеніміз - қажетті элемент табылғанға дейін бүкіл тізімді көріп шығу. Бұл іздестірудің қарапайым түрі. Сұрыпталған тізімде - екілік іздестіру жүргізуге болады.
Нақты мəнді іздестіру үшін таңдау есебін қарастыруға болады. Мұнда белгілі бір шартты қанағаттандыратын элементті табу керек. Мысалы, бізге бесінші орындағы элементті, соңынан санағанда жетінші элементті немесе орта мəні болатын элементті табу керек болатын кездерді қарастырамыз.
Бұдан былай біз берілген элементті ізделетін жиынды бектлген деп есептейміз. Біз N элементтен тұратын жиын мынадай массив түрінде берілген деп есептейміз.
A: array [0..N-1] of item;
Əдетте item типі қандай да бір кілттік epiсі бар жазуды сипаттайды. Мақсат -кілттік өрісі берілген « іздестіру аргументіне» (x) тең элементті іздестіру болып табылады. Іздестіру нəтижесінде алынған I индексі мына шартты қанағаттандырады: A[i].key=x;
Ол табылған элементтің басқа өрістеріне қатынауды қамтамасыз етеді . Бізді іздестіру процессі қызықтыратын болғандықтан біз item типі тек кілттен тұрады деп есептейміз.
Слайд 6 СЫЗЫҚТЫҚ ІЗДЕСТІРУ
Сызықтық іздестіру
Ізделетін дерек туралы
ешқандай қосымша ақпарат болмаса, онда массивті біртіндеп қарап шығу керек болады. Мұндай əдіс сызықтық іздестіру деп аталады. Іздестірудің аяқталу шарты мынадай:
элемент табылды, яғни a[i]=x.
барлық массив қарастырылды жəне ізделген элемент жоқ. Бұл бізге мынадай алгоритм береді :
I:=0 While (i
Логикалық өрнектегі элементтердің реті маңызды болып табылады. Индексті өсірер алдындағы шарт мынадай түрде болады:
(0<=iБұл шарт I ден кіші барлық к- лардың мəндері үшін ізделген элемент болған жоқ дегенді білдіреді . Осыдан жəне іздестіру шарт жалған болғанда ғана аяқталатындығынан соңғы шартты аламыз:
((i=N) or(a[i]=x)) and (A[k]: 0<= kƏрбір қадам сайын индексті өсіріп жəне логикалық өрнекті есептеу керек. Бұл жұмысты қысқартып, іздестіруді тездету үшін - күрделі шартқа эквивалентті қарапайым шартты тұжырымдау керек. Ол үшін массив соңына х мəні бар қосымша элементті орналастыру керек. Мұндай элементті бөгет деп атайды. өйткені ол массив сыртына шығып кетпеуді қадағалайды. Енді массив былай сипатталады:
A:array [0..N] of integer; Жəне бөгеті бар сызықтық іздестіру былайша болады:
A[N]=x; i=0; While a[i] =/x do i:=i+1 end; (4)
Қорытынды шарт:
(a[i]=x) and (a[k]: 0<=k
Слайд 7 ЕКІЛІК ІЗДЕСТІРУ (ҚАҚ БӨЛІП ІЗДЕСТІРУ)
Екілік іздестіру (қақ бөліп іздестіру)
Егер деректер
реттелген болса, онда іздестіруді тиімдірек жасауға болады. Сондықтан біз а массиві реттелген деп санаймыз, яғни мына шартты қанағаттандырады:
A [k]: 1< =k
Негізгі идея - кез- келген элементті кездейсоқ таңдау, мысалы a[m] элементін жəне оны х- іздестіру аргументімен салыстыру. Егер ол х- ке тең болса, онда іздестіру аяқталады. Егер ол х-тен кіші болса, онда индекстері m - нен кіші элементтердің барлығын іздестіруден алып тастаймыз, егер ол х-тен үлкен болса, онда m -ге тең немесе m - нен үлкен элементтердің барлығын іздестіруден алып тастаймыз. Бұл бізді мынадай алгоритмге алып келеді (оны қақ бөле отырып іздестіру деп атайды). Мұндағы l мен k индексті айнымалылары массивінің сəйкес сол жəне оң жақ бөлігінің шетін береді , сол аралықта ізделген элемент жатуы мүмкін:
L;=0; k;=N-1; found:=false; While (l<=k) and found do M:= l жəне k аралығындағы кез келген мəн.
if a[m]=x then found:=true else if a[m]l:=m+1 (6)
else k:=m-1
end; end.
əрбір қадам алдында орындалатын шарт мынадай:
(l<=k) and (a[k]: 0<=kx) бұдан мынадай нəтиже шығады:
found or ((l>k) and (a[k]:0<=k x)) Бұдан шығатыны:
(a[m]=x) or (a[k]: 0<=k(a[k]: 0<=kІздестіру екі бөлікте массивті түгел қарап болғанша жүреді : L : =0; k:=N; (div-бүтін санды бүтін санға бөлген -While l
Слайд 8 ТАҢДАУ АЛГОРИТМ
Кей жағдайда бізге
тізімдегі элемент ішінен арнайы қасиеттерді қанағаттандыратын элемент қажет болады, мысалы ең кіші, ең үлкен элемент. Жалпы жағдайда кіші орындағы элемент қызықтырады. Ол үшін мынадай əдісті қолдануға болады: біз тізімдегі ең үлкен элементті табамыз жəне оны тізім соңына орналастырамыз. Одан кейін біз табылған элементті шығарып тастап қалған тізімнен үлкен элементті табамыз. Нəтижесінде тізімдегі екінші элементті табамыз, оны соңынан санағанда екінші орынға орналастырамыз. Осы процедураның k - рет қайталап біз k – ші элементті табамыз. Нəтижесінде мынадай алгоритмге келеміз: For I;=1 to k do
X:=a[1]; L;=1; For j:= 2 to n-(i-1) do If a[j]>l then X:=a[j]; L:=j; End; EndFor
Swap (a[n-(i-1)],a[l] ); EndFor
мұндағы A - берілген тізім; n - тізімдегі элемент саны; k - іздейтін элементтің реттік номері; swap- табылған элементті (қарастырмаймыз) алып тастау
Слайд 9 ПАСКАЛЬ ТІЛІНДЕ ПРОГРАММАЛАУ
Таңдау операторы
Слайд 10
Таңдау операторы
Есеп: Ай нөмірін енгізіп, осы айдағы күндердің санын шығару.
Шығарылуы: Айдағы күндер саны
28 күн – 2 (ақпан)
30 күн – 4 (сәуір), 6 (маусым), 9 (қыркүйек), 11 (қараша)
31 күн – 1 (қаңтар), 3 (наурыз), 5 (мамыр), 7 (шілде),
8 (тамыз), 10 (қазан), 12 (желтоқсан)
Ерекшелігі: Екі нұсқаның емес, айдың нөміріне сәйкес бірнеше нұсқаның бірін таңдау.
Слайд 11Алгоритм
басы
соңы
таңдау операторы
ешбір нұсқасы сәйкес келген жоқ
енгізу M
иә
жоқ
M = 1?
D := 31;
жоқ
M
= 2?
D := 28;
иә
жоқ
M = 12?
D := 31;
иә
шығару D
қате
Слайд 12
Программа
program qq;
var M, D: integer;
begin
writeln(‘Айдың нөмірін енгіз:');
read
( M );
case M of
2: begin D := 28; end;
4,6,9,11: begin D := 30; end;
1,3,5,7,8,10,12: D := 31;
else D := -1;
end;
if D > 0 then
writeln(‘Бұл айда ', D, ' күн.')
else
writeln('Айдың нөмірі дұрыс емес');
end.
case M of
2: begin D := 28; end;
4,6,9,11: begin D := 30; end;
1,3,5,7,8,10,12: D := 31;
else D := -1;
end;
ешбір нұсқасы сәйкес келген жоқ
Слайд 13
Таңдау операторы
Ерекшеліктері:
case-тен кейін айнымалы атауы немесе бүтін типті (integer) арифметикалық
өрнек
немесе символдық типті (char) арифметикалық өрнек
case i+3 of
1: begin a := b; end;
2: begin a := c; end;
end;
var c: char;
...
case c of
'а': writeln(‘Бөкен');
'б': writeln('Борсық');
else writeln(‘Білмеймін');
end;
болуы мүмкін
Слайд 14
Таңдау операторы
Ерекшеліктері:
егер бір ғана операторды орындау керек болса, begin мен end
сөздерін жазбай кетуге болады
бірдей екі мәнді қоюға болмайды
case i+3 of
1: a := b;
1: a := c;
end;
case i+3 of
1: a := b;
2: a := c;
end;
Слайд 15
Таңдау операторы
Ерекшеліктері:
бірдей әрекеттер орындалатын кезде қолданылатын мәндерді топтастыру қажет
case i of
1: a := b;
2,4,6: a := c;
10..15: a := d;
20,21,25..30: a := e;
else writeln(‘Қате');
end;
тізбелеп санап шығу
диапазон
аралас
Слайд 16
Қай жері дұрыс емес?
case a of
2: begin a :=
b;
4: a := c;
end;
case a of
2: a := b
4: a := c
end;
;
case a of
2..5: a := b;
4: a := c;
end;
case a of
0..2: a := b;
6..3: a := c;
end;
3..6:
case a+c/2 of
2: a := b;
4: a := c;
end;
case a of
2: a := b; d := 0;
4: a := c;
end;
begin
end;
Слайд 17
Тапсырмалар (бұрыс енгізуден қорғаумен)
"4": Айдың нөмірін енгізе отырып, осы айдағы күндердің
санын және енгізу кезінде жіберілген қателердің санын есептеп шығару.
Мысал:
Ай нөмірін енгіз: Ай нөмірін енгіз:
-2 2
Ай нөмірін енгіз: Бұл айда 28 күн бар.
11 Сіз 0 рет қате енгіздіңіз.
Бұл айда 30 күн бар.
Сіз 1 рет қате енгіздіңіз.
"5": Айдың нөмірі мен күннің нөмірін енгізіп, Жаңа жылға дейін қалған күндердің санын анықтау.
Мысал:
Ай нөмірін енгіз:
12
Күнді енгіз:
25
Жаңа жылға дейін 6 күн бар.
Слайд 181 .ТРЕНИНГ
Нарисоват на листке инопланитянина за 5
минут время пошло .....
Нарисоват на листке будущие за 100 лет каким будет наш университет.
Слайд 20АЛГОРИТМ ТҮСІНІГІ
Алгоритм - информатика пәнінің негізгі
ұғымдарының бірі.Компьютерді қоғам өмірінің қай
саласында
болмасын пайдалана білу үшін алгоритм
ұғымын меңгеру керек.
Слайд 21«Алгоритм» сөзі мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртіп, заң, жоба
сөздеріне синоним болып келеді. Алгоритм сөзі Орта Азияның
ортағасырлық ұлы ғалымы - Мұхамед ибн Мұса әл-
Хорезмидің атымен байланысты шыққан. Ол өзінің
«Арифметикалық трактат» деген еңбегінде
арифметикалық амалдарды орындау тәртібін ұсынған.
Слайд 22Анықтама. Алгоритм деп алдын-ала анықталған мақсатқа жету үшін, есептің шешімін табу
үшін орындаушыға (адамға, компьютерге және т.б.) берілген түсінікті нұскаулардың тізбегін айтады.
Слайд 23Алгоритмнің қасиеттері
Дискреттік қасиеті. Алгоритмдік үрдіс жеке қадамдарға бөлінуі қажет. Әрбір
келесі бұйрықты орындау үшін алдыңғы бұйрықты орындау қажет.
Түсініктілік қасиеті. Тәжірибе жүзінде қолданылатын алгоритмдер белгілі бір орындаушыға арналады, сондықтан ол алгоритмді құру үшін орындаушыға түсінікті болуы керек, яғни орьшдаушының бүйрықтар жүйесін білу қажет.
Слайд 24Анықтық немесе детерминдік қасиеті. Алгоритм түсінікті болуымен қатар мағынасы әр түрлі
бұйрықтардан тұрмауы қажет, яғни алгоритм орындаушының еркіндігіне жол бермеуі қажет.
Нәтижелілік қасиеті. Кез келген алгоритм қадамдарының саны шектеулі болу керек және белгілі бір нәтижеге жетуі қажет. Есептің шешімі жоқтығы да нәтиже болып есептеледі.
Слайд 25КӨПШІЛІК ҚАСИЕТІ НЕМЕСЕ ЖАЛПЫЛЫЛЫҒЫ. КӨПТЕГЕН АЛГОРИТМДЕР ТЕК ҚАНА БІР ЕСЕПТІ ҒАНА
ЕМЕС, БІР ТИПТІ ЕСЕПТЕР КЛАСТАРЫНЫҢ ШЕШІМІН ТАБУҒА МҮМКІНДІК БЕРЕДІ. ҚАРАПАЙЫМ ЖАҒДАЙДА КӨПШІЛІК ҚАСИЕТІ АЛГОРИТМДІ ӘР ТҮРЛІ АЛҒАШКЫ МӘЛІМЕТТЕР ҮШІН ҚОЛДАНУҒА МҮМКІНДІК БЕРЕДІ.
Слайд 26Алгоритмді беру және сипаттау тәсілдері
Алгоритмдегі жарлықтардың, нұсқаулардың берілу түріне қарай
алгоритмді жазу әдістерін ажыратуға болады. Орындаушының өзіне тән біліміне байланысты арнайы таңбалар, сөздер, іс-қимылдар, схемалар арқылы алгоритмдерді жазудың тәсілдерін ұйымдастыруға болады.
Слайд 27Мысалы, цирктегі кұстар мен жануарларға алгоритмдер арнайы дауыстар, іс-кимылдар арқылы, автокөлікті
жүргізу алгоритмі, телевизор, магнитофонды жүмыс істету алгоритмі арнайы пернелерді басу, бұрау арқылы жүзеге асырылады; т.с.с. әртүрлі таңбалармен, белгілермен берілген алгоритмдер көп кездеседі.
Слайд 28Орындаушы - адам болатын жағдайда алгоритм көбінесе сөзбен жазылады. Сөзбен жазылған
алгоритмдер, ретпен орналасқан сөйлемдерден (нұсқаулардан) тұрады. Сонымен бірге алгоритмдер арнайы таңбалар, блок-схемалар, формулалар, кесте түрінде, ноталар (сазгерлер үшін) арқылы жазылады.
Слайд 29Алгоритмді беру үшін оның келесі элементтерін сипаттау керек:
алгоритмді бастау ережесі;
мүмкін алғашқы мәліметтер, аралық мәліметтер және қорытынды нәтижелер жиынтықтарын қүрайтын объектілер жиыны;
мәліметтерді тікелей өңдеу ережелері (қимылдар тізбегінің сипаттамасы);
нәтиже алу ережелері;
алгоритмді тәмамдау ережелері;
Слайд 30Алгоритмдерді сипаттаудың негізгі әдістері:
сөзді-формулалы;
қүрылымдық немесе блок-сызбалық;
программалау тілдері көмегімен.
Слайд 31Енді сөзбен жазылған алгоритмге мысалдар қарастырайық.
1-есеп. Екі бүтін санның ең үлкен
ортақ бөлгішін (ЕҮОБ) табу керек. Бұл есепті шешу, үлкен санды кішісіне бөлу арқылы, сонан соң кіші санды қалдыққа бөлу, бірінші қалдықты екінші қалдыққа бөлу және т.с.с. қалдық нөл болғанша тізбектей бөлу арқылы жүзеге асырылады. Саны бойынша ең соңғы бөлгіш нәтиже болып табылады.
Слайд 32Бастапқы берілген екі бүтін санды М және N деп белгілейік. Бөлуді
қайталанып отыратын азайту амалымен алмастырайық. Онда алгоритмді келесі түрде ұйымдастыруға болады:
Басы
(М, N) енгізіңдер.
Егер М ≠ N болса, онда 4 пунктке, әйтпесе 7 пунктке өтіңдер.
Егер М > N болса, онда 5 пунктке, әйтпесе 6 пунктке өтіңдер.
М := М - N; 3 пунктке өтіңдер.
N := N -М; 3 пунктке өтіңдер.
ЕҮОБ:=М
ЕҮОБ:=М жауапқа шығару.
Соңы.
Слайд 33Блок-схема - арнайы геометриалық фигуралар, нұсқамалар арқылы орындалатын әрекеттер мен олардың
орындалуы ретін көрсететін графиктік схемалармен берілетін алгоритм. Алгоритмнің әр пункті геометриялық фигура - блоктың ішінде бейнеленеді. Орындалатын іс-әрекеттердің түріне қарай оларға әртүрлі геометриялык фигуралар сәйкес келеді. Геометриялык фигуралар арасындағы байланыс жолдары нұсқама арқылы көрсетіледі.
Слайд 35Блок-схема түрінде жазылған алгоритмге мысал қарастырайық.
1-есеп. Екі бүтін санның ең үлкен
ортақ бөлгішін (ЕҮОБ) табу керек.
Слайд 36Программалау тілдері көмегімен. Біздің жағдайымызда орындаушының ролін ЭЕМ атқарады. Программалау тілі
деп, орындаушы ЭЕМ үшін жазылған алгоритмді сипаттайтын тілді айтамыз. Ал бағдарламалау деп алгоритмді бағдарламалау тілінде жазу процесін айтады.
Слайд 37Программалардың мынадай түрлері бар: ЭЕМ-ге арналған программалар, станокты, роботтарды және басқа
кұрылғыларды басқаруға арналған программалар.
Алгоритмді компьютерге түсінікті тілде жазылуы үшін арнайы бағдарламалау тілдері (бейсик, паскаль, фортран, т.с.с) қолданылады.
Слайд 38АЛГОРИТМНІҢ НЕГІЗГІ ҚҰРЫЛЫМДАРЫ
Бұл элементарлық блок-сызбалардан алгоритмдеу
тәжірибесінде қолданылатын 3 негізгі құрылым
құрылады:
тізбектік немесе сызықтық.
тармақтық немесе альтернативалық.
қайталану немесе циқлдік.
Слайд 39Тізбектік немесе сызықтық
құрылымы-денесі тек ретімен
орындалатын командалардан
тұратын алгоритмді айтады.
Слайд 40Тармақталу немесе альтернативалық құрылым-шарттың орындалуына немесе орындалмауына байланысты тармақталып келетін алгоритмді
айтады. Тармақталу немесе альтернативалық құрылымының өзі шарт қойылуына байланысты толық, қысқа, таңдау болып үшке бөлінеді.
Слайд 41Агглютинация-(желімдеу).
Гипербола- грек сөзі,(күшейту деген мағына білдіреді)нәрсенің жеке сипаттар
Репродуктивтік -латын сөзі,
«өндіремін» дегени мағынаны білдіреді, яғни қайта жасау қиялын дамыту.
ГЛОССАРИЙ
Слайд 431. Психология сөзінің тұңғыш келген жері?
А)Италия
В)Грекия
С)Ұлыбритания
Д)Қытай
Е)Франция
2. Психологиялық процестерге не жатады?
А)сезім,
түйсік, қабілет
В)зерігу, темперамент, қиял
С)түйсік, зейін, қиял
Д)мінез, қабілет, темперамент
Е)зерігу, үрейлену, қуану
3. Психологиялық қасиеттерге не жатады?
А)сезім, түйсік, қабілет
В)зерігу, темперамент, қиял
С)түйсік, зейін, қиял
Д)мінез, қабілет, темперамент
Е)зерігу, үрейлену, қуану
4. Психологиялық қалыпқа не жатады?
А)сезім, түйсік, қабілет
В)зерігу, темперамент, қиял
С)түйсік, зейін, қиял
Д)мінез, қабілет, темперамент
Е)зерігу, үрейлену, қуану
5. Қазірде психологияның нешеге жуық саласы бар?
А)10
В)20
С)30
Д)40
Е)50
Слайд 446. Психика дамуының жоғарғы сатысы?
А)зейін
В)түйсік
С)қабілет
Д)сана
Е)мінез
7. Адам психикасы мен сананың дамуы неше
кезеңге бөлінеді?
А)2
В)3
С)4
Д)5
Е)6
8. Психологияның даму тарихы неше жылға созылды?
А)1,5 мың
В)2,5мың
С)3,5мың
Д)4,5мың
Е)5,5мың
9. Адамның жануардан айырмашылығы неде?
А)Пайда және зиянды ажырата білуі
В)жылдам жүгіре білуі
С)көру қабілетінің жақсы болуы
Д)дұрыс жауабы жок
Е)суда, жер бетінде, жер астында тіршілігі
10. Вильгельм Вундт 1879жылы өз экпериментін қай қалада жүргізді?
А)Нью-Йоркте
В)Лондонда
С)Парижде
Д)Лейпцигте
Е)дұрыс жауап жоқ
Слайд 47ҚОРЫТЫНДЫ: АЛҒАН ӘСЕРІҢІЗ ҚАНДАЙ ?
Өте жақсы!
Жақсы!
Бір қалыпты!
Онша емес!
Жаман!
Слайд 51Даналық сөздер.
Өрге жүзген өнегелі ісімен,
Таңда адал дос өз теңіңнің ішінен.
Байлық-қанағат пен
еңбекте.
Аз жұмыс қиынсыңсаң-көп жұмысқа тап боласың.
Азға қанағат қылмасаң-көптеп құр қаласың.
Еңбекпен табылған тамақ тәтті әрі сіңімді болады.
Еңбек етсең қара жер де береді, құр тастамайды.
Еңбекті жан-тәнімен сүймейінше, ешбір талатта,
Ешбір кемеңгер де шықпайды.
Слайд 52ҚАНАТТЫ СӨЗ
Л. Вовенарг
Өзіңді-өзің бағалай біл !
Өз сеніміңе сенудің өзі күш береді.