написать SWI-Prolog 1.Составить запросы, протестировать факты и правила представленного первоначального варианта БЗ на прологе 2.Добавить одноместные и многоместные предикаты, характеризующие представленные семейства (непарнокопытные, хоботные, и т.д.)
Больше(слон,лошадь).
больше(лошадь, осел).
больше(осел,собака).
больше(осел,обезьяна).
больше(собака,кошка).
больше(кошка,мышь).
больше(Х,У):-больше(Х,Е),больше(Е,У).
непарнокопытные(лошадь).
непарнокопытные(осел).
семейство_псовые(собака).
приматы(обезьяна).
грызуны(мышь).
хоботные(слон).
вес(осел, 150).
имеет_копыта(осел).
непарнокопытные(Х):-млекопитающее(Х), имеет_копыта(Х), нечет_копыта(Х), вес(Х, Р), Р>149.
обитает(слон, азия).
обитает(слон, африка).
потребляет(слон, день, 300, кг, листья).
потребляет(слон, день, 300, кг, трава).
Var
f,s:text;
st,sp:string;
i:integer;
c:char;
begin
assign(s,'text1.txt');
reset(s);
while not Eof(s) do
begin;
readln(s,sp);
st:=st+sp+chr(10)+chr(13);
end;
close(s);
for i:=1 to length(st) div 2 do
begin
c:=st[i];
st[i]:=st[length(st)-i+1];
st[length(st)-i+1]:=c;
end;
assign(f,'text.txt');
rewrite(f);
write(f,st);
close(f);
end.
Текст в файле text1.txt:
Simple text
1And another simple text
2New text
Текст в файле text.txt:
txet weN2
txet elpmis rehtona dnA1
txet elpmiS
Модифицированный код получается из прямого путем инвертирования бит (0 заменяется на 1, 1 заменяется на 0) - при этом получаем дополнительный код, - а затем прибавлеем к результату 1 в младшем (правом) разряде.
а) 56(10)=111000(2) и отображается в байте как 0 0111000 (знаковый бит отделен условно)
б) -56(10)=-111000(2), 1 0111000 в прямом коде, 1 1000111 в дополнительном коде, 1 1001000 в модифицированном коде.
в) 127(10)=1111111(2) , 0 1111111 в байте
г) -127(10)=-111111(2), 1 1111111 в прямом коде, 1 0000000 в дополнительном коде, 1 0000001 в модифицированном коде.