prolog实验报告—周俊雯.doc
文本预览下载声明
北邮人工智能实验报告
prolog
班级:2011211307
姓名:周俊霞
日期:2014-05-11
1、实验题目:
用PROLOG完成以下系统的编写。給出代码和一个运行实例,辨别云的类型。
低纬度云是那些高度等于或低于6000英尺高的云,包括层云和层积云;
中纬度云是高度在6000—20000英尺的云,包括高层云、高积云和乱层云;
高纬度云是那些高于20000英尺的云,包括卷云、卷层云和卷积云。
积云和积雨云可以从低到高纬度之间分布;
层云、高层云、卷层云、积云和积雨云呈大圆锥状;
层积云、高积云、乱层云、卷积云象平滑绵延的被单;
卷云有纤细的外观,象一簇簇头发;
乱层云和积雨云是含雨云,呈黑灰色。
2、实验要求:
编写一个程序辨别云的类型,程序的输入是描述云特征的事实,输出为已辨别的云的类型。*写出一个运行实例(输入、输出)。
3、源代码:
/*****************************************************************************
Copyright (c) My Company
Project: CLOUD
FileName: CLOUD3.PRO
Purpose: No description
Written by: Visual Prolog
Comments:
******************************************************************************/
include cloud.inc
domains
Cloud_x,Type,Shape,Color,What = symbol
Hight = integer
facts
% 云,有云的名字,高度,形状,颜色四个属性;
cloud(Cloud_x,Hight,Shape,Color)
predicates
nondeterm is(Cloud_x,Type)
clauses
%此处为某个已知的云,有云的名字,高度,形状,颜色四个属性;
cloud(cloud_lily,7000,big_cone,blackgray).
%判断某云是否为~~云;如is(Cloud_x,cengyun)判断某云是否为层云
is(Cloud_x,cengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight=6000,Shape=big_cone,Color=white. is(Cloud_x,cengjiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight=6000,Shape=sheets,Color=white.
is(Cloud_x,gaocengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight=6000,Hight=20000,Shape=big_cone,Color=white. is(Cloud_x,gaojiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight=6000,Hight=20000,Shape=sheets,Color=white. is(Cloud_x,luancengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight=6000,Hight=20000,Shape=sheets,Color=blackgray.
is(Cloud_x,juanyun):-cloud(Cloud_x,Hight,Shape,Color),Hight20000,Shape=hair,Color=white. is(Cloud_x,juancengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight20000,Shape=big_cone,Color=white. is(Cloud_x,juanjiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight20000,Shape=sheets,Color=white.
is(Cloud_x,jiyun):-cloud(Cloud_x,_,Shape,Color),Shape=big_cone,Color=white.
is(Cloud_x,j
显示全部