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,
Достарыңызбен бөлісу: |