Similar presentations:
Пролог тілінде тізімдермен жұмыс. Зертханалық жұмыс №9
1. Зертханалық жұмыс №9
Пролог тілінде тізімдермен жұмыс2.
Жұмыстың мақсаты:Пролог тілінде тізімдер типті деректер құрылымын жүзеге асыру және оларды
өңдеу әдістерімен танысу.
Жұмысқа дайындалуға арналған тапсырма
"Тізімдер" тақырыбындағы лекцияларды қайталау.
Жұмысты орындау реті
1. Бақылау мысалдарын орындау.
2. Пролог тілінде, вариантқа сәйкес есептерді шешетін программа құру.
3. Орындалған жұмыстың есебін дайындау.
Есептің мазмұны
1. Пролог тіліндегі программаның бастапқы мәтіні.
2. Тест деректері мен программаның жұмысының нәтижесін теру.
3. Есепті шешу кезінде жіберілген қателердің тізімі мен талдауы.
4. Жұмыс бойынша қорытынды.
Негізгі түсініктер
Тізім – сандық емес программалауда кеңінен қолданылатын, деректердің қарапайым
құрылымы . Тізім не бос болады, не екі бөлімнен тұрады: басы және аяғы. Тізімнің
басы - атом, ал аяғы тізімнің өзі болып табылады. Прологтағы тізім – бұл екілік
бұтақтың дербес жағдайы екенін ескерте кету керек.
3.
Бақылау мысалыБерліген саннан аспайтын барлық натурал сандардың тізімін құру керек.
create([],0).
create([X|T],X):-X>0, X1=X-1, create(T,X1).
Жұмысқа тапсырма
1. Тілдің мүмкіндіктерін қолданып,тізімдерді өңдеуге арналған
функциялар жиынын жүзеге асыру керек:
Тізімге элемент қосу.
Тізімнен элементті жою.
Тізімдер конкатенациясы.
Тізімнің ұзындығын анықтау.
Екінші ретті тізімді ерекшелеу.
2.Құрылған функцияларды қолданып, вариантқа сәйкес қосымша
есептерді шешу керек.
3. Тест деректерін таңдау және есепті дайындау.
4.
Құрылымдық объектілер (немесе объектілер) – бұл өз кезегінде құрылым болаалатын, бірнеше компоненттен тұратын объектілер. Пролог тіліндегі
құрылымдар Паскальдағы жазбаларға немесе Си тіліндегі құрылымға ұқсас
болып келеді. Прологта құрылымдық объектілер функтормен немесе
аргументтермен анықталады. Мысалы, үш компоненттен тұратын датаны
көрсету үшін (күн, ай, жыл), үш аргументті «дата» функторының анықтамасын
қолдануға болады:
date (11, january, 1978).
1978 жылдың қаңтарының кез – келген күнін, айнымалысы бар құрылым
ретінде алуға болады:
date (Day, january, 1978).
Кіріктірілген құрылымдарды қолдануды келесі мысалдан көруге болады:
human(sergei, ivanov, date(10, may, 1975)).
human(ivan, petrov, date(15, october, 1969)).
5.
Мұндай деректер базасымен әрекеттесу ыңғайлы болу үшін,сұраныстарды сипаттау керек. Мысалы:
human(FirstName, LastName, _). деректер базасындағы барлық
адамдарды санайтын, % сұраныс
man (FirstName, LastName, date(_, _, 1975).
1975 жылы туылған %
барлық адамдар
birthday(human(_, _, Date), Date).көрсетілген туылған күні бойынша
адамды табуға мүмкіндік беретін, % сұраныс.