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



Pdf көрінісі
бет6/8
Дата12.03.2017
өлшемі1,43 Mb.
#8954
1   2   3   4   5   6   7   8

2-мысалФакториалды рекурсивті жолмен есептеу.  

Бағдарламаның жұмысын, мысал арқылы түсіндірейік. Мақсат factorial( 

5,F)  түрінде  берілген  5-тің  факториалын  есептейік.  Алдымен  Пролог  бұл 

мақсатты  бірінші  мақсаттың  тақырыбымен  теңестіреді.  Теңестіру  сəтсіз 

аяқталып,  екінші  ереже  таңдалады.  Бұл  жағдайда  теңестіру  сəтті  аяқталып, 

Х-айнымалысының  мəні  5-ке  тең  болады.  Содан  кейін  У-айнымалысының 

мəні  есептеліп  жəне  Турбо-Пролог  factorial(Y,FactY)  -ішкі  мақсатын 

есептеуге көшеді, мұндағы Х=4 болып, жаңа мəнмен рекурсивті түрде екінші 

тəртіп қайта шақырылады.  

 

Тапсырмалар :  



1 . 1-ден 100-ге дейінгі сандардың қосындысын табатын программа жаз.  

2 . 1-ден 100-ге дейінгі тақ сандардың қосындысын табатын программа жаз.  

3. 1-ден 100-ге дейінгі жұп сандардың көбейтіндісін табатын программа жаз.  

4 . 1-ден N -ге дейінгі сандардың ішінен Х-тен санды тап.  

5 . А жəне В аралығында жататын теріс сандарды санататын программа жаз 

 

 



2.5.Зертханалық жұмыс 5.ТІЗІМДЕР

Жұмыстың мақсаты: пролог программасында тізімдермен жұмыс жасауға дағдылану.

 

 

   Қысқаша анықтама 



Тізім – бұл бір ізді термадан тұратын,  арнайы терманың түрі. 

Ол  квадрат  жақша  ішінде  үтір  арқылы  жазылады.  Мысалға:[1,2,-5,4,0]. 

Бұндай тізім келесідей сипатталады: 

domains 

 list=integer* 

Егер тізім аралас типті болса, онда келесідей сипатталады: 

Domains 


 

49

 element=c(char); i(integer) 

 list=element* 

Бұндай жазу келесідей тізімге сəйкес келеді. 

[i(15), i(-6), c(‘a’), i(8), c(‘z’)] 

Тізім    пролог  программасының  негізгі  құрылымы  болып  табылады. 

Тізімдердің ыңғайлы жазылуы үшін екі түсінік енгізілген: басы (head)  жəне 

аяғы (tail). Мына тізім үшін [1,2,3] 1 элемент тізімнің басы болып саналады, 

ал қалған элементтер  [2,3] тізімнің аяғы. 

Келесі кестеде тізімге байланысты негізгі мысалдар келтірілген: 

 

 

                Тізім                    Басы                       Аяғы  



 

                    [’a’,’b’,’c’]       ‘a’                                    [’b’,’c’]  

                            [1]                1                                           []  

                            [ ]           айқындалмаған      айқындалмаған  

            [[1,2,3],[3,4],[]]          [1,2,3]                       [[3,4],[]]  

 

 



Тізімде 

басының 


аяғынан 

ажыратылуы 

үшін 

келесі 


символ 

пайдаланылады |. Мысалы, мына тізім үшін [X|Y] X – тізімнің басы,  

Y -  тізімнің аяғы. 

  

Тізімдермен жұмысқа мысалдар : 



а) қосу  (X,L,L1) –L1 тізімі Х элементінің L тізімінің басына  қосылуы 

арқылы жасалынған. 



 қосу (X,L,[X|L]). /* тапсырманың шешуі */ 

 бжатады (X,L) – Х элементі L тізіміне жатады

 жатады (X,[X|_]). /* шектеулі  шарт */ 

 жатады (X,[Y|T]):-X<>Y, жатады (X,T). 

в)  тіркеу  (L1,L2,L3)  -    L1  жəне  L2  тізімдері      L3  тізімінде  қосылады,  яғни 

бірігеді. 

 

L1 L2 



H T1  

H T3  

L3 

 

Келесі 



тапсырма 

үшін 


Пролог 

программасын 

пайдаланамыз. 

Элементтер  саны  берілген  тізімнен,  жаңа  тізім  құру  керек.  Ол  тізімде 

берілген  элементтер  екі  есе  үлкейіп  жазылған  болу  керек.  Екі  тізімді  де 

стандарт  түрде  элементтерін  үтір  арқылы  орналастырып,  квадрат  жақша 

арқылы өрнектеу.  

 

/* барлық элементтердің екі есе өсу программасы */ 



domains 

 

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лген  жолда  «а»  əріпінің қанша рет кездесетінін санау.  

 

53

2. 



Соңғы жолда «н»  əріпінің екі рет қатар келуін тексеру. 

3    Соңғы сөйлемде  қанша сөз бар екенін санау. 

4.    Белгілі  бір  символдар  кезегі  келесі  бір  символды  жояды  жəне  оны 

қайталап отырады, басқа символдардан ерекшеленіп тұрады. 

5. 

Грам, граматика, фон сөзіндегі (қосып жасалған бағдарлама көмегiмен) 



грамматикалық қателердi жөндеу. 

6. 


Бос  орын  арқылы  бөлінген  сөздердің    қатарынан  «а»  əріпінен 

басталатын  сөздердің санын анықтау. 

7. 

Бос орын арқылы бөлінген сөздердің қатарынан бастапқы жəне  соңғы 



символдары бар бірдей сөздерді таңдау.  

8  Бос орын арқылы бөлінген сөздердiң қатарында соңғы сөзден басқа əрбір 

сөздерден кейін үтір қою. 

9  Символдар  жолы  берілген.  Егер  *  символы    болмаса,    жолды  өзгеріссіз 

қалдырамыз,  кейде *  символын  + -ға ауыстыруға тура келеді. 

 10 Бос орын арқылы бөлінген сөздердің тізбегі берілген. Сөздiң бiрiншi əрiпi 

– бас əріп, қалғаны-кіші əріп. Экран бетіне сөздің бас əріпінен басталатын ең 

болмағанда бір əріпті шығару. 

 

 Есеп беру мазмұны жəне формасы: 

Есептеу нəтижесiнде келесi тармақтар көрсетілуі тиіс: 

Жұмыстың  мақсаты.  Есептiң  қойылу  мəтiнi.  Тесттеудiң  нəтижелері. 

Қорытынды. 



 

2.7.Зертханлық жұмыс  7.Құрама объекттілер

 

Жұмыс мақсатыҚұрама объектілері бар пролог-программасының жаттығу 

дағдыларын құрастыру. 

Қысқашы  анықтама мəліметтер 

Бекітілген  объектілердің  өз  мəліметтері  болады.  Жай  тип  мəліметтері 

алты стандартты типтермен шектеледі. Келесі бектіулерге қарайық: 

Жақсы көреді(петр,музыка). 

Екі  объектіде  (петр,музыка)  жай  құрлымды  жəне    олар  өзін-өзі  

көрсетеді.  Кез-  келген  өзін-өзі  көрсетедін  объектілер  жай  құрылымды 

объектілер  деп  аталады.Программа  құрлымы  сол  сияқты  жай  құрылымды 

объектілерден тұрса, онда жай құрылымды болады.  

Егер  объекті  басқа  бір  объектіні  немесе  объектілер  жиынтығын 

көрсетсе,  онда    құрама  объекті  деп  аталады  жəне  бұл  объектілерді 

қолданатын программа құрама құрылымыды болады. 

Коллекция 

(«Иванов»,кітап(«прологты 

қолдану», 

«Ин,Соломон», 

шығарылым («Мир»,1993))). 

Коллекция  предикаты  құрама  объекті  кітапдан  тұрады  жəне  ол  өз 

кезегінде шығарылым құрама объектісінен тұрады. 

Программада  көрcетiлген  құрылымдардың  сипаттамасы  мына  түрде 

болады: 

Domains 


 

54

Жеке_кітапхана=кітап(аты,авторы,шығрылымы) 



Шығарылымы= шығарылымы (баспахана, жыл) 

Иесі, аты, авторы, баспахана= symbol 

жыл= integer 

predicates 

коллекция (иесі, жеке_кітапхана) 

clauses 


Коллекция 

(«Иванов», 

кітап(«прологты 

қолдану», 

«Ин, 

Соломон», 



шығарылым («Мир»,1993))).  

Керекті  ақпаратты  шығару  үшін  ыңғайлы  құрылымды  деректер  қоры 

ұсынылады.  Бұл  жерде  объектілерге  сілтеуге  жəне  оның  компонеттерін 

көрсетуге болады. Сіздерді қызықтыратын объектілер құрлымын құруға жəне 

компоненттерді  нақты  сипаттамасыз  немесе  жартылай  сипаттамамен 

қалдыруға болады. 

Келтiрiлген бағдарламаға мүмкін болатын мысалдар: 

Ивановтың коллекциясында қандай кітаптар бар? 

коллекция («Иванов», Х). 

Кітаптың авторы кім «прологты қолдану»? 

Коллекция (_,кітап(«прологты  қолдану»,Х,_)). 

Ережелер  жиынтығын  құруға  болады.  Ол  ережелер  деректер  қорымен 

өзара əрекеттесуге ыңғайлы болады. 

Мысалы: 


Кітап(аты,авторы,шығырылым). 

Коллекция(_,кітап(аты,авторы,шығарылым)). 

Шығарылым(баспахана,жыл). 

Кітап(_,_,шығарылым(баспахана,жыл)). 

Жыл_шығарылым(жыл). 

Шығарылым(_,жыл). 

Бұл ережелерді келесі мысалдард қолдануға болады. 

Кітаптың авторы кім «прологты қолдану»? 

Кітап («кіріспені қолдану»,Х,_). 

Ивановтың коллекциясында 1990 жылғы кітап шығарылымы бар ма?  

Коллекция (Х,_),шығарылым(_,1990). 

Ескерту:  құраушы  предикаттар  белгілі  бір  ереже    құру  үшін  predicates 

бөлімінде болуы керек. 

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

 

Отбасы туралы деректер қорын құру. Əр отбасы құрамы бір сөйлеммен 



көрсетіледі. Отбасы туралы ақпарат құрлым түрінде беріледі. Əр отбасының 

үш  мүшесі  болады.  Олар:  əйелі,  күйеуі  жəне  балалары.  Балаларды  тізім 

ретінде  көрсетеді.  Əр  отбасы  мүшесі  кұрылымды  көрсетеді  жəне  аты, 

фамилиясы, туған күні, жұмысы деген төрт компонеттерден тұрады. Жұмыс 

туралы ақпаратта қандай қызмет атқаратындығы көрсетіледі. 

 

Мысалы: 



Отбасы(отбасы_мүшесі(«Николай», 

«Иванов», 

күн(12,мамыр,1948), 

жұмыс(инженер,210)),  отбасы_мүшесі(«Анна»,«Иванова»,күн(5,қантар1952), 



 

55

жұмыс(дəрігер,190)),   



[отбасы_мүшесі(«Инна»,«Иванова»,күн(20,наурыз,19971) 

жұмыс(студент,45)),  отбасы_мүшесі(«Олег»,«Иванов»,күн(25,маусым,1978), 

жұмыс(оқушы,0))]). 

 

Сұранысты  жеңілдету  үшін  келесі  предикаттарға:  күйеуі,  əйелі, 



балалар, отбасы_мүшесі, туған_күні, жұмысы. 

 

Мəліметтер қорынан келесі ақпараттарды алыңдар: 



Ивановтар отбасы мүшелерінің аттарын алу. 

Қаңтар айында туған əйелдерді табу. 

15 жастан кіші балаларды табу. 

Аз дегенде екі балада бар отбасы фамилиясын табу. 

Күйеуінің фамилиясын алмаған əйелі бар отбасын табу. 

Əйелі жұмыс істемейтін отбасын табу. 

Əкесі жок отбасын табу. 

Егіз балалары бар отбасын табу. 

1950 жылы дуниеге келген адамды табу. 

Балалары жок отбасын табу. 

Күйеуі жұмыс істемейтін, əйелі жұмыс істейтін отбасын табу. 

Ата-анасы  мен  балаларының  жас  айырмашылығы  15  жас  болатын  отбасын 

табу. 

Ивановтар отбасына кіретін кірісті табу. 



 Есептеудің маңызыжұмыс мақсатытапсырманың құрылуытексттің 

программасыжұмыс нəтижесінің программасықорытынды

 

 

2.8. Зертханлық жұмыс  8.Файлдар



Жұмыстын  мақсаты:  файлдарды  қолданатын    пролог  програмаларды 

құруда практикалық дағдыларды қалыптастыру. 

Қысқа анықтамалық міндеттер. 

Програмада  фаилдарды  қолданғанда  оған  файлдық  вомен  нің  сипаттамасын 

қосу керек.Ол былайша беріледі: 

 file=datafile,мұндағы   

file – доменнін стандартты типі(файлдық), 

 datafile – файладың логикалық аты. 

Файылды  сипаттағанда  бірнеше  логикалық  атыңды  нұсқауға  болады,бірақ 

сипаттаудын озі жалғыз болуы қажет,мысалы 



file=datafile1;datafile2;datafile3 

Файлдармен  жұмыс  кезінде  келессі  енгізілген  Пролок  предикаттары 

пайдалануы 

мүмкін:енгізу 

шығару 

логикалық 



құрылғылар 

переадресатциясының  предикатары    readdevice  и  writedevice,  файлды  жою 

предикаттары  deletefile,  файлады  сақтау  save,  файладын  атын  өзгерту 

renamefile,  файладын  бар  болуын  тексеру  existfile,мəліметтерді  ішкі 

файлдықбуферден  берілген  файлга  жіберу  flush,жинақтаушыларды  орнату 

жане  жолдары  disk,  ағымдағы  каталогты  шығару  dir,  оқуға  арналған 

файлдарды  ашу  openread,  жазбалар  openwrite,  оқу/жазу  openmodify, 


 

56

толықтырулар(жазуға деиін) openappend, файлды жабу closefile, файласоңына 



тексерулер  eof,  орнатулар  немесе    файл  типін  оқу  filemode,  орнатулар 

немесефаилдағы нұсқағыш орнын оқу filepos, файлдағы жолды оқу file_str. 

Мысалы, файлға мəліметтер жаз əрекеттерінің реттелгені келессідей : 

- файлады openwrite прединаты көьегімен ашу ; 

- файлады writedevice прединатымен жазу құрылғысы ретінде тағайындалу; 

- файлға жазудын өзі,мысалы, write немесе writef предикатор көмегімен; 

-  програманың  тағайындалуына  жауап  беретін  басқа  кез  келген  предикатор 

мен  ережелердің  қолданылуыиспользование  любых  других  предикатов  и 

правил, отвечающих назначению программы; 

- файлады closefile предикатымен жабу. 

Борлық осы əрекеттер  програмада келесі түрде сипатталуы мүмкін: 

openwrite(datafile1,”File1.dat”), 

writedevice(datafile1), 

< файлға жазу > 

< басқа кез келгенережелермен  прединаттары > 

closefile(datafile1). 

Осындай схема арқылы файлдан мəліметтерді оқу жəне файлға мəлімет 

жазу алдындағы əрекеттер сипатталуы мүмкін. 

Енгізілген 

предикаттарда 

файлдармен 

жұмыс 


жасау 

үшін 


компьютердіңстандартты құрылғыларының логикалық атаулары қалданылуы 

мүмкін    keyboard  (пернетақта),  screen  (  дисплеи  экран),  printer  (  басып 

шығарғыш құрылғы). 

Пернетақтаданмəліметтерді  оқу  жане  оларды  файлға  жазуды  жүзеге 

асыратын програма мына түрде юолуы мүмкін: 

domains 


file=datafile 

kstr,fstr=string 

predicates 

readin(kstr,fstr) /* оқу-жазу */ 

create_a_file /* файлды құру */ 

goal 


create_a_file. 

clauses 


create_a_file:- 

nl,nl,write(“файл атын енгізу”),nl,nl, 

readln(Filename), 

openwrite(datafile,Filename), 

writedevice(datafile), 

readln(Kstr),/* пернетақтадан бірінші жолды енгізу*/ 

concat(Kstr,”\13\10”,Fstr), 

readin(Kstr,Fstr), 

closefile(datafile). 

/* келессі жолдардыенгізу жəне оларды файлға жазу*/ 

readin(“stop”,_):-!. 


 

57

readin(_,Fstr):- write(Fstr),readln(Kstr1), 



concat(Kstr1,”\13\10”,Fstr1), 

readin(Kstr1,Fstr1). 

Келтірілген програмада 

Kstr –пенрнетақтадан енгізетін жол, 

Fstr – файлға шығарылатын жол. 

Filename 

файылының 

құрылымынав 

“\13\10” 

символдарымен 

толықтырылған  қолданушы  енгізетін  жолдар  кіреді.  Жолды“\13\10” 

символдарымен  толықтыру  readln  предикатының  жолдары  оларды  файлдан 

оқудыда  ажырата  алу  қажет  .Програма  жұмысы    “stop”  жолын  енгізуде 

анықталады. 

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

Сөздер  реттілігі  бар,(мысалы  əйул  адам  есімі),бос  орындармен  бөлінген, 

енгізілген  жолдар  оргументін  енгізілген  жолдар  сөздер  болып  табылатын 

берілген функтор атауы бар сөйлем . 

Əрбір сөйлем  жеке жолда орналасып нүктемен  аяқталу керек.  

 

 

 

 



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




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

    Басты бет