Республикасы білім жəне ғылым министрлігі



жүктеу 1,43 Mb.
Pdf просмотр
бет21/28
Дата04.01.2020
өлшемі1,43 Mb.
#25855
1   ...   17   18   19   20   21   22   23   24   ...   28

 

50

 list=real* 



predicates 

read_list(integer,list) 

wr_list(list) 

write_list(list) 

new_list(list,list) 

result 


clauses 

/*  N элементтен тұратын тізімді енгізу  */ 

read_list(0,[]). 

read_list(N,[H|T]):-readreal(H),N1=N-1, 

read_list(N1,T). 

/* Тізім элементтерін шығару. Əрбір элементтен кейін үтір қойылады */ 

wr_list([]). 

wr_list([H|T]):-write(H,’,’),wr_list(T). 

/* Стандартты түрде тізімнің шығуы */ 

write_list(L):-write(‘[’),wr_list(L),cursor(A,B), 

B1=B-1, cursor(A,B1),write(‘]’). 

/* Шықпа тізімнің сипатталуы */ 

new_list([],[]). 

new_list([H1|T1],[H2|T2]):-H2=H1*2,new_list(T1,T2). 

/*  */ 

result:-write(“Тізім элементерінің санын енгізіңіз”),nl, 



   write(“N=”),readint(N),nl, 

   write(“Тізім элементтерін енгізіңіз”)nl, 

   read_list(N,L), 

new_list(L,L1), 

write(“Шықпа тізім”), 

write_list(L),nl,nl, 

write(“Жаңа тізім L1=”), 

write_list(L1). 

   goal 

   result. 

Зертханалық  жұмыстың мазмұны.  

Берілген  L1  тізімінен  жаңа  L  тізімін  алу.  ,кезекті  элемент,  кезекті  L1 

тізімінің арифметикалық ортасына тең. Егер тізім элементттерінің саны 3 ке 

бөлінбесе  ,  онда  L2  тізімінің  соңғы  элементі  3  ке  бөлінген    немесе  L1 

тізімінің  соңғы  екі  элементінің  қосындысының  бөліндісіне  тең.  L1  тізімі 

экранда  жасырын  түрде  шығады.  Программаның  орындалу  нəтижесінде  L1 

шығыс тізімі жəне  L2 тізімі стандартты түрде экранға  шығуы тиіс.  

Тізімдерге



  

тапсырмалар



.

 

1. 



Тізімнің бірінші элементін анықтау. 

2. 


Тізімнің соңғы элементін анықтау. 

3. 


Тізімнің соңғы элементін  өшіру. 

4. 


Тізімде пайда болған бірінші элементті жою. 


 

51

5. 



Берілген тізімдегі барлық кіріс элементтерін өшіру 

6. 


Тізім элементтерін кері ретпен шығару. 

7. 


Тізімнің  берілген қатар бойынша жазылуын кері бағытта өзгерту. 

8. 


Тізім элементтерінің арифметикалық ортасын табу. 

 9.  Берілген  тізімнен  полиндром  жасау.  Полиндром  –  бұл  берілген    тізім 

оңнан  солға,  солдан  оңға  қарай    оқығанда  да  бірдей  дыбысталатын  тізім 

болып табылады. Полиндромға мысал - [1,2,3,2,1]. 

10.Тізім элементтерін циклдық қозғау арқылы шығару: 

 



-  бір орын солға (оңға) 

 



-   N орынға солға (оңға) 

11.  Тізім элементтерін қозғау арқылы шығару( циклдық емес)  

 

-  бір орын солға (оңға) 



 

-  N орын солға (оңға)  



12. Берілген тізімді ұзындығы бірдей екі тізімге бөлу.  

13. Берілген тізімді екіге бөлу. Оның бірінде берілген санға тең немесе одан 

кіші  элементтер,  ал  екінші  тізімде  берілген  саннан  үлкен  элементтер 

жинақталуы тиіс.  

14.  Тізімде  берілген  тақ  орнындағы  элементтердің  жəне  жұп  орнындағы 

элементтердің қосындысын есепте. 

15. Тізімдегі алғашқы оң N элементті шығару 

16.  Тізімдегі оң жəне теріс элементтердің санын есептеу. 

17.  Берілген  тізімнің  ең  үлкен  элементінің  жəне  ең  кіші  элементінің  

айырмасын табу. 

18.  Тізімнің  барлық  элементтерін  берілген  элементтердің  арифметикалық 

ортасына кеміту. 

 19. Х элементіне дейінгі тізімнің басын өшіру. Х элементінен бастап тізімнің 

соңына дейін өшіру.  

20.Тізімде берілген  Х элементтерін Ү элементтерімен алмастыру. 

 Есептің мазмұны

Бұл есепте келесі пункттер болуы тиіс:  

жұмыстың мақсаты; 

программаның мəтіні; 

тест нəтижелері

2.6. Зертханалық жұмыс . 6 .Жолдар

1.Мақсаты:    Пролог  тiлiндегi  программалардағы  жолдары  бар  жұмыстың 

жаттығу дағдыларын алу. 



2.Қысқаша анықтама мəліметтерi: Прологта жолдармен жұмыс жасау үшін 

үйреншікті предикаттардың жиыны болуы керек. 

а) жолдың ұзындығының анықталуы.  

str_len(жол, ұзындық)(string,integer):(i,o),(i,i)  

б) жолдардың бiрiктiрлуi.  

concat(1-ші    жəне  2-ші  беттегі  жол  3-ші  беттегі    жолдарға  бiрiгедi)(string, 

string, string): (i,i,o)(o,i,i)(i,o,i)(i,i,i) 

в) төменгi жолдарды құру:  




 

52

frontstr(символдар  саны,  кіру  жəне  шығу  беттері,  қалдық)  (integer,  string, 



string, string):(i,i,o,o) 

Шеткі жол басқа жолдардан бастапқы символдар арқылы ерекшеленеді. Жол 

саны белгілі параметрлермен саналады жəне қалған жолдар біріктіріледі. 

г)  жолдың  бөлінуінің  екі  түрі  бар:  біріншісі  символ,  екіншісі  қалған  жол 

бөліктері.  

frontchar(жол, 

бірінші 

символ, 


қалдық)(string,char,string):(i,o,o)(i,i,o)(i,o,i)(i,i,i)(o,i,i) 

convert(“”,[]). 

 convert(Str, [H|T]):-frontchar(Str,H,Str1),convert(Str1,T). 

Предикат    Frontchar  символдарды  тiзiмге  өрнектеуi  үшiн  қолданылады.  Бұл 

процедураның орындалу ережесі төмендегідей: 

 д) тексеру, кiрiспенiң атымен жол болып табылады. 

 isname(жол)(string):(i) 

Жол келесi талаптарға сай болуы тиіс: 

 - жол əрiп, цифр жəне астын сызу символынан тұрады; 

 - жол əрiптен басталады; 

 - символдардың арасында бос орын болмау керек.  

е)жолдардың атомдардан құрастырылуы: 

 ronttoken(жол, атом, қалдық)(string,string,string):(i,o,o)(i,i,o)(i,o,i)(i,i,i)(o,i,i)  

Атоммен бола алады: 

кiрiспенiң аты; 

кiшi сандарды көрсету; 

 жеке символ. 

Fronttoken 

предикат 

(frontcharдың 

предикаты 

бар 


ұқсастық 

бойынша)жолдарды  атом тiзiміне өрнектеу үшiн қолданылады.  

Жолдармен жұмыс жасау кезінде кіріспенің басқа да жолдары қолданылады: 

 



бас əрiптерді кiшi немесе керiсiнше жолдық өрнектеу  

 



upper_lower(1-ші жəне 2-ші беттер)(string,string):(i,i)(i,o)(o,i) 

 



жолдың 

символға 

немесе 

керiсiнше 



өрнектелуi 

str_char(жол,символ)(string,char):(i,o)(o,i)(i,i) 

 

жолдардың санға  немесе керiсiнше өрнектелуi 



 

str_int(жол, бүтін сан)(string,integer):(i,o)(o.i)(i,i) 



 

жолдың нақ санға немесе керiсiнше өрнектелуі   



 

str_real(жол, нақты сан)(string,real):(i,o)(o,i)(i,i) 



 

символдардың санға (ASCIIкоды) немесе керiсiнше өрнектелуi 



 

char_int(символ, бүтін сан)(char, integer):(i,o)(o,i)(i,i) 



 

 



 

Тапсырмалар



Зетрханалық жұмыс бойынша тапсырма. 

Енгізілген жолдарды экран бетіне шығару: 



 

Жолдар


 бойынша есептер. 

1. 


Енгiзiлген  жолда  «а»  əріпінің қанша рет кездесетінін санау.  


жүктеу 1,43 Mb.

Достарыңызбен бөлісу:
1   ...   17   18   19   20   21   22   23   24   ...   28




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

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