![]() |
|
|
![]()
|
|
| lais |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Привет всем!!!Помогите пожалуйста решить задачку (Strawberry Prolog)
Кадастровым номером; Тип природной зоны (рекреационный, закрытый, общий); Названием района; Списком земельных угодий (единиц); Списком животных, обитающих в природной зоне. Каждая земельная единица характеризуется: тип почвы (чернозем, каштановые, песчаник т.д.), средняя толщина плодород-ного слоя, площадь земельной единицы. Каждое животное описывается: названием, количеством особей. Задание Построить правило, которое выводит на экран список следующего содержания: кадастровый номер природной зоны, тип природной зоны, усредненная толщина природного слоя по всем земельным единицам, суммарное количество животных, суммарная площадь черноземных почв. У меня есть задача в Strawberry Prolog, но программа написана для такого задания Для заданного названия животного вывести список природных зон, в которых это животное обитает со следующей информацией: количество земельный единиц в природной зоне, среднее количество особей животных по всем видам. Она выглядит так ?-read(X,"vvedite animal"),zona(_,_,Z,K,N),poisk(X,Z,K,N),nl,false. poisk(X,Z,[zem(A,B,C)|T],[]). poisk(X,Z,T,[animal(D,E)|M]):-X=D,nl,write(Z),nl,write("-------------------"),nl,poisk2(Z);poisk(X,Z,T,M). poisk2(Z):-zona(_,_,Z1,K1,N1),Z=Z1,X1:=list_length(K1),write( "Kol-vo zem.ed. |"),write(X1),nl,write("Kol-vo animal |"),NN:=0,SS:=0,poisk3(N1,NN,SS),nl, write("Srednee kolvo |"),write(NN/SS),nl. poisk3([],NN,SS). poisk3([animal(F,G)|J],NN,SS):-NN:=NN+G,SS:=SS+1,write(F),write(" ---> "),write(G),write(" osobei"),nl,write(" |"),poisk3(J,NN,SS). zona(10001,recreation,"Shelabolixa", [zem("chernozem",0.5,50000), zem("kashtanovie",1.5,60000), zem("pesok",3,100000)], [animal(lisa,200), animal(medved,50), animal(belka,1400)]). zona(10002,zakritii,"Mamontovo", [zem("chernozem",0.7,45000), zem("kashtanovie",1.8,47000)], [animal(lisa,500), animal(los,80), animal(belka,250), animal(medved,500)]). zona(10003,otkritii,"Uglovskii", [zem("peschannik",0.4,15000), zem("kashtanovie",1,3000)], [animal(barsuk,1200), animal(surok,8000), animal(lisa,200)]). Я никак не могу её переделать под моё задание Заранее Спасибо всем! |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |