Òàïñûðìàëàð
Ðåêóðñèÿíû ïàéäàëàíûï, àë¹àøºû n íàòóðàë ñàííû» ºîñûíäûñûí òàáàòûí Òóðáî Ïðîëîãòà ïðîãðàììà º½ðû»ûç. Ìàòåìàòèêàäà ì½íäàé ºîñûíäû àë¹àøºû ê ì¾øåñiíi» ºîñûíäûñûí òàóûï, îíû (ê+1) -ãå ºîñó ¸äiñi áîéûíøà òàáàòûí (k=1, 2, 3, …) ìûíàäàé ôîðìóëàíû ºîëäàíó ºàæåò:
n! ì¸íií åñåïòåéòií ïðîãðàììà º½ðû»ûç. (n=5).
Y=xn ôóíêöèÿñûíû» ì¸íií x=3, n=5 ¾øií åñåïòåó êåðåê.
Зертханалық жұмыс №12
Тақырыбы: Ôàéëäûº æ¾éå. Òåðåçåëåðìåí æ½ìûñ. ²àòàðëàðìåí æ½ìûñ. Ò¾ðëåíäiðó.
Жұмыстың мақсаты: Òóðáî-Ïðîëîã æ¾éåñiíäå ôàéëäûº æ¾éåíi ºîëäàíó. Òåðåçåëåðäi º½ðó, îëàðäû ðåäàêöèÿëàó. ²àòàðëàðìåí æ½ìûñ æàñàóäû ¾éðåíó.
Òåîðèÿëûº á¼ëiì
Ôàéëäûº æ¾éåíi» æàçûëóû:
ÔàéëÀòûÄîñ ôàéëûí îºó ¾øií æ¸íå îíû ëîãèêàëûº ÔàéëÀòûÑèìâ àòûìåí áàéëàíûñòûðó ¾øií ìûíàäàé ïðåäèêàò àøûëàäû:
openread(СимвИмяФайла, ИмяФайлаДос)
(file,string) - (i,i).
openwrite(СимвИмяФайла,ИмяФайлаДос)
(file,string) - (i,i)
á½ë ïðåäèêàòòû» àëäûíäà¹û ïðåäèêàòòàí àéûðìàøûëû¹û òåê ÔàéëÀòûÄîñ ôàéëû àºïàðàòòàðäû æàçó ¾øií àøûëàäû.
openappend(СимвИмяФайла,ИмяФайлаДос)
(file,string) - (i,i)
ÔàéëÀòûÄîñ ôàéëû àºïàðàòòû æàçáàñ á½ðûí àøûëàäû.
openmodify(СимвИмяФайла,ИмяФайлаДос)
(file,string) - (i,i)
ÔàéëÀòûÄîñ ôàéëû ÔàéëÀòûÄîñ ôàéëûíäà ìîäèôèêàöèÿëàó ¾øií àøûëàäû. ¸äåòòå filepos ïðåäèêàòûìåí áiðäåé ºîëäàíûëàäû.
readdevice(СимвИмяФайла)
(file) - (i) (o)
ÑèìâÔàéëÀòû ôàéëûíäà àºïàðàòòû îºó ¾øií ñ¸éêåñòi º½ðûë¹ûíû íåãiçäåóãå àðíàë¹àí ïðåäèêàò.
writedevice(СимвИмяФайла)
(file) - (i) (o)
Øû¹àðó º½ðûë¹ûñûí íåãiçäåéòií ïðåäèêàò. Ñòàíäàðòòû øû¹àðó º½ðûë¹ûñû - screen.
filemode(СимвИмяФайла,РежимФайла)
(file,Integer) - (i,i) (i,o)
ÑèìÀòûÔàéë ôàéëû ¾øií æ½ìûñ ðåæèìií îðíàòó æ¸íå ñ½ðàíûñûí ºàíà¹àòòàíäûðó ¾øií ºûçìåò àòºàðàòûí ïðåäèêàò. Ôàéë ðåæèìi ìûíàäàé ì¸íäåðäi ºàáûëäàéäû:
0: Òåêñòiê ðåæèì,
1: Åêiëiê ðåæèì.
closefile(СимвИмяФайла)
(file) - (i)
ÑèìÀòûÔàéë ôàéëûí æàáó ¾øií ºîëäàíûëàòûí ïðåäèêàò.
filepos(СимвИмяФайла,Поз_В_Файле,Режим)
(file,real,integer) - (i,i,i) (i,o,i)
ʼðñåòiëãåí ôàéëäû ºàæåòòi îðûí¹à îðíàòàòûí ïðåäèêàò, åãåð Ïîç_B_ôàéë ïàðàìåòði áîëñà åíåòií, íåìåñå ê¼ðñåòiëãåí ôàéëäû» ì¸íäåðií øû¹àðó Ðåæèì ïàðàìåòðiíå áàéëàíûñòû. Ðåæèì ìûíàäàé ì¸íäåðäåí ò½ðàäû:
0: Start ôàéë áàñû
1: Relative à¹ûìäà¹û ïîçèöèÿ¹à ñ¸éêåñ êåëåäi
2: End ôàéë ñî»û.
eof(СимвИмяФайла)
(file) - (i)
ÑèìâÀòûÔàéë ôàéë ñî»ûíäà òåêñåðó ïðåäèêàòû.
Òàпñûðìàíû îðûíäàó¹à ìûñàë:
1. "dd.txt" ôàéëûíäà¹û àºïàðàòòû ºàòàð áîéûíøà îºó æ¸íå øû¹àðó.
domains
file = input % описание файла с логическим именем input
predicates
repfile(file)
clauses
repfile(_). % условие чтения пустого файла
repfile(F):-
not(eof(F)), % чтение файла до признака конца файла
repfile(F).
goal
openread(input,"dd.txt"), % открыть файл для чтения
readdevice(input), % переназначить устройство чтения
repfile(input),
readln(L), % читать с него информацию
write(L),nl, % и выводить на дисплей
fail. % организация бесконечного цикла
%============================================================
2. Á½ë ïðîãðàììà åêi òåðåçåìåí æ½ìûñ æàñàó¹à íåãiçäåëãåí:
-áiðiíøi òåðåçåäå Òóðáî Ïðîëîã ïðîãðàììàñûíû» ëèñòèíãi øûºñà,
-åêiíøiäå my_file ôàéëûíà ê¼ðñåòêiø ñ¸éêåñ êåëåäi.
DOMAINS
FILE = my_file
PREDICATES repeat position
GOAL
makewindow(2, 23, 23, " Указатель файла ", 0, 40, 20, 40),
makewindow(1, 23, 23, " Листинг файла ", 0, 0, 20, 40),
dir("", "*.pro", Filename), /* чтение имени файла из
текущего каталога */
clearwindow,
openread(my_file, Filename),
repeat, % начало цикла
readdevice(my_file),
readchar(Str), % чтение символа
position, % определение значения указателя в файле
write(Str),
eof(my_file). % условие окончания цикла
CLAUSES repeat. repeat:-repeat. position:-
shiftwindow(2),
filepos(my_file, P1, 0),
writef("значение указателя: #", P1), nl,
shiftwindow(1).
Достарыңызбен бөлісу: |