南邮_系统工程课内实验报告

合集下载

南邮软件工程课程设计实验报告材料-教务管理系统

南邮软件工程课程设计实验报告材料-教务管理系统

南京邮电大学实验报告课程名称:软件工程课题名称教务系统课程设计专业:广播电视工程学生姓名:陈超班级学号:B13011413指导教师:范山岗日期:2015 年12 月25 日实验面象对象软件设计一、实验目的用面象对象方法设计实用软件,掌握需求分析方法,掌握掌握UML设计方法。

二、实验性质验证、设计实验。

三、实验要求1、选定题目编写需求分析说明2、学习Rational Rose环境3、学习通过Rational Rose绘制各类框图的方法。

四、环境简介1、Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。

见图1-1。

图1-1:Rose界面浏览器:用于在模型中迅速漫游。

文档工具:用于查看或更新模型元素的文档。

工具栏:用于迅速访问常用命令。

框图窗口:用于显示和编辑一个或几个UML框图。

日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。

在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等。

浏览器中包含四个视图:Use Case 视图、Logical视图、Component视图和Deployment视图。

点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。

1.3框图窗口在框图窗口中,我们可以浏览模型中的一个或几个UML框图。

改变框图中的元素时,Rose自动更新浏览器。

同样用浏览器改变元素时,Rose自动更新相应框图。

这样,Rose就可以保证模型的一致性。

五、实验步骤1、编写需求分析说明书对系统需求进行初步的整理与分析,是后续建模和设计工作的基础。

需求分析说明书详情请见附录。

2、用UML语言对系统进行分析与建模(OOA)2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。

用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。

南京邮电大学系统工程课内实验

南京邮电大学系统工程课内实验

课内实验报告
课程名:系统工程
任课教师:
专业:市场营销
学号:
姓名:
二○一三至二○一四年度第 1 学期南京邮电大学经济与管理学院
初始区域分布:
第一次执行go命令:
执行change-vote-if-tied为on 时的状态:setup按钮再次恢复状态:
执行change-vote-if-tied为on的状态:setup按钮再次回复状态:
执行change-vote-if-tied为on,以及change-vote-if-tied为on时的状态:
模型中首先分别为参数0、1代表两种选举情况的分布结果图,结果图是用蓝色与绿色来进行代表。

如果是参数1,则显示的是绿色,反则是蓝色。

初始时屏幕的显示区域是呈现的两者均分的情况,当按下setup按钮时,显。

南邮系统分析与设计实验报告-3

南邮系统分析与设计实验报告-3

通达学院课内实验报告课程名:系统分析与设计任课教师:刘影专业:信息管理与信息系统学号:姓名:二○一四至二○一五年度第二学期南京邮电大学管理学院)链和消息的创建:在协作图中添加“Administrator”类对象“)序列图和协作图的转换:双击浏览器中要转换的协作图,选择菜单栏中“活动图的建模——借阅者借书活动图首先要确定要为哪个对象建模和明确所需要建立模型核心问题。

们确定需要建模的系统的用例,以及用例的参与者。

对于“借阅者借书”的用例来说,参与者是借阅者和图书管理员,借阅者通过图书管理员来进行借书活动,涉及的用例是借书。

)创建活动图:右击浏览器中的“Logic View”图标,在弹出的快捷菜单中选择“”命令,在“Logical View”下会创建“State/Activity Model)绘制泳道:在“借阅者借书活动图”中创建“借阅者”和“图书管理员”这两个泳道,具体方法如下:单击工具栏中相应按钮,在图形编辑区域单击,可以创建默认名为其他活动状态与分支可按照上述方法绘制,完整的“借阅者借书”活动图如下图所示:状态图的建模——图书状态图一.确定状态间的实体以及实体的状态对于图书管理系统而言,最需要的建模实体就是图书的状态,添加,被预定,被借阅,被删除。

当确定了需要建模的实体,并找出了实体的初始状态和终止状态以及其他相关状态后,找出相关状态间的事件和转换,它们间的转换规则是:刚被购买后的新书可以通过系统管理员添加成为能够被借阅的图书。

图书被预定后成为被预定状态。

)绘制转换:单击工具栏中相应图标,单击起始状态向目标状态拖动。

)绘制事件:双击“图书状态图”图形编辑区域中刚建好的转换,在弹出的“其余状态和事件可按照上述方法依次绘制。

南京邮电大学-操作系统实验报告

南京邮电大学-操作系统实验报告

课内实验报告课程名:操作系统任课教师:沈超专业:信息管理与信息系统学号:姓名:二○一六至二○一七年度第一学期南京邮电大学经济与管理学院Process[numberschedul].order=tempcounter;}程序结果截图:二、银行家算法(网上借鉴)银行家算法,当进程提出资源申请时,系统首先检查该进程对资源的申请量是否超过其最大需求量及系统现有的资源能否满足进程需要。

若超过,则报错,若不能满足,则让该进程等待;否则进一步检查把资源分给该进程后系统能否出于安全状态,若安全,则分配,否则置该进程为等待资源状态。

算法实现过程:设进程i 提出请求REQUEST [j] ,则银行家算法按如下规则进行判断。

(1) 如果REQUEST [i] [j]<= NEED[i][j] ,则转(2) ;否则,出错。

(2) 如果REQUEST [i] [j]<= A V AILABLE[i][j] ,则转(3) ;否则,出错。

(3) 系统试探分配资源,修改相关数据:A V AILABLE[j]-=REQUEST[i][j];ALLOCATION[i][j]+=REQUEST[i][j];NEED[i][j]-=REQUEST[i][j];(4) 系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。

Check()关键代码:{int k, f, no=0;int work[M],a[M];char finish[M];anquan=1;for(i=0;i<n; i++) finish[i]='F';for(j=0;j<m; j++) work[j]=available[j]; k=n;do{ for (i=0;i<n; i++){if (finish[i]=='F'){ f=1;for (j=0;j<m; j++)if (need[i][j]>work[j]) printf("处于安全状态.");printf("安全序列号:");for (i=0;i<n;i++) printf ("%d ",a[i]); printf("\n");printf("进程");printf(" ");printf(" Max ");rintf(" ");rintf("allocation");printf(" ");printf("need");printf(" ");f=0;if (f==1)//找到还没完成的且需求数小于可提供进程继续运行的{ finish[i]='T';a[no++]=i;//记录安全序列号for (j=0;j<m; j++)work[j]=work[j]+allocation[i][j];//释放该进程已分配的资源available[j] =work[j];}}}k--; }while(k>0);f=1;for (i=0;i<n; i++)//判断有没有进程没完成{ if (finish[i]=='F'){f=0;break; }} if (f==0) {printf("不安全状态!\n");anquan=0;} else {printf("available");printf("\n");for (i=0;i<n; i++){ printf("%2d",i);printf(" ");for(j=0;j<m; j++)printf("%2d",max[i][j]);printf(" ");for(j=0;j<m; j++)printf("%2d",allocation[i][j]);printf(" ");for(j=0;j<m; j++)printf("%2d",need[i][j]);printf(" ");for(j=0;j<m; j++){if(i>0)break;printf("%2d",available[j]);}printf("\n");}}}程序结果截图:三、实验总结:这次上机模拟了进程调度过程和解决了死锁问题,让我对短作业优先调度算法和银行家算法有了比在课堂上更深刻的认识。

系统工程实验报告

系统工程实验报告

系统工程实验报告引言系统工程实验旨在通过设计和实现系统来解决特定问题。

本实验报告将详细探讨系统工程实验的相关内容、步骤和结果,并提供必要的分析和讨论。

任务描述系统工程实验旨在设计和开发一个解决特定问题的系统。

任务包括以下几个方面:1.系统需求分析:确立系统的功能要求和性能指标。

2.系统设计:设计系统的结构和组件,包括功能模块、数据流和接口等。

3.系统实现:根据设计要求编写代码,并进行系统集成。

4.系统测试:对系统进行功能验证和性能测试。

5.系统评估和优化:评估系统的性能和效果,并进行必要的优化改进。

系统需求分析在系统需求分析阶段,我们需要确定系统的功能要求和性能指标。

通过与用户和相关利益相关者进行沟通和讨论,我们收集了以下需求:1.实现一个网络下载管理系统,能够实现批量下载、断点续传和下载速度控制等功能。

2.提供用户界面,用户可以通过界面进行文件下载和管理,以及配置下载选项。

3.支持多种下载协议,包括HTTP、FTP和BitTorrent等。

4.实现下载任务的优先级管理和队列控制,以便用户能够灵活地管理下载任务。

5.提供下载统计和报告功能,可以方便地查看下载历史和统计信息。

系统设计在系统设计阶段,我们根据需求分析结果进行系统设计。

基于需求分析,我们设计了以下系统结构和组件:系统结构1.用户界面层:负责与用户进行交互,实现用户的下载任务管理和配置选项等功能。

2.控制逻辑层:负责处理用户界面的输入和请求,并根据请求调用相应的功能模块。

3.功能模块层:包括下载管理模块、下载协议模块、任务队列模块和统计报告模块等,用于实现系统的各项功能。

4.数据库层:负责存储和管理下载任务的相关信息。

功能模块1.下载管理模块:负责下载任务的创建、删除和管理,以及下载文件的存储和管理。

2.下载协议模块:实现不同的下载协议,包括HTTP、FTP和BitTorrent等。

3.任务队列模块:实现下载任务的优先级管理和队列控制,确保下载任务按照用户配置的规则进行下载。

南邮操作系统实验报告

南邮操作系统实验报告

操作系统课程实验报告实验题目:Linux进程信号通信、进程消息通信专业软件工程学生姓名班级学号教师陈兴国指导单位计算机学院日期 2016-9-30一、实验目的1.了解Linux的信号,熟悉Linux系统中进程之间软中断通信的基本原理2.学习如何利用消息缓冲队列进行进程间的通信,并加深对消息通信机制的理解。

二、实验指导1.kill(),signal(),lockf()系统调用kill()系统调用系统调用格式:int kill(pid,sig)参数定义: int pid,sid;pid是一个或一组进程的标识符,sig是要发送的软中断信号。

pid>0时,核心将信号发送给进程pid;pid=0时,核心将信号发送给与发送进程同组的所有进程;pid<0时,核心将信号发送给搜有用户标识符真正等于发送进程的有效用户标识号的进程。

signal()系统调用预置对信号的处理方式,允许调用进程控制软中断信号。

系统调用格式:signal (sig,function)参数定义:Signal (sig,function)int sig;void (*func)();sig用于指定信号的类型,sig为0则没有收到任何信号。

function:在该进程中的一个函数地址,在核心态返回用户态时,它以软中断信号的序号作为参数调用该函数,对除了信号SIGNAL,SIGTRAP和SIGPWR以外的信号,核心自动地重新设置软中断信号处理程序的值为SIG_DFL,一个进程不能捕获SIGKILL信号。

lockf()系统调用用作锁定文件的某些段或者整个文件。

系统调用格式:lockf(files,function,size)参数定义:int lockf(files,function,size)int files,function;long size;2.消息的创建,发送和接收使用系统调用msgget(),msgsnd,msgrec,及msgctl()函数编写消息的发送和接收程序三、实验过程描述与结果分析1.Linux进程信号通信#include <stdio.h>#include <signal.h>#include<unistd.h>#include <stdlib.h>void waiting(),stop();int wait_mark;/*用来避免锁的竞争,保证p1,p2无法在同一时刻获得文件的锁,即lockf(stdout,1,0)*/main(){int p1,p2,stdout;signal(SIGINT,stop);/*if press the ^c or ^break ,jump to stop function*/ while((p1=fork())==-1) ;/* create child process p1*/if(p1>0){while( ( p2=fork() ) ==-1);/* create child process p2*/if(p2>0){wait_mark=1;sleep(5);/* 接收到^c信号,转stop函数*/waiting();kill(p1,16); /*向子进程p1发送软中断信号16*/kill(p2,17);/*向子进程p2发送软中断信号17*/wait(0);/*wait()系统方法,父进程会一直等待,直到子进程因暂停或者终止发来软中断信号为止*/wait(0);printf("Parent process is killed!\n");exit(0);}else{//p2被杀死的逻辑,响应kill(p1,17);wait_mark=1;signal(17,stop);/*接收到父进程发来的软中断信号,然后执行stop函数*、*/waiting();lockf(stdout,1,0);/*锁定输出,使得下面的语句可以正常输出打印*/printf("Child process 2 is killed by parent!\n");lockf(stdout,0,0);/*解锁输出*/exit(0);/*正常终止子进程p2,使得父进程跳出wait(0),得以继续执行*/ }}else{//p1被杀死的逻辑,响应kill(p2,16);wait_mark=1;signal(16,stop);waiting();lockf(stdout,1,0);printf("Child process 1 is killed by parent!\n");lockf(stdout,0,0);exit(0);}}void waiting(){while(wait_mark!=0);}void stop(){wait_mark=0;}按住Ctrl+c,可见执行结果2.Linux进程消息通信1.server.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]) {struct msgform msg;int msgqid;int j,pid,*pint;msgqid=msgget(MSGKEY,0777|IPC_CREAT);for(;;){msgrcv(msgqid,&msg,256,1,0);pint=(int*)msg.mtext;pid=*pint;printf("server:receive from pid %d\n",pid);msg.mtype=pid;*pint=getpid();msgsnd(msgqid,&msg,sizeof(int),0);}return 0;}2.client.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]){struct msgform msg;int msgqid,pid,*pint;msgqid=msgget(MSGKEY,0777);pid=getpid();pint=(int*)msg.mtext;*pint=pid;msg.mtype=1;msgsnd(msgqid,&msg,sizeof(int),0);msgrcv(msgqid,&msg,256,pid,0);printf("client:receive from pid%d\n",*pint);return 0;}运行结果:四、自我评析与总结1.你认为你完成的实验那些地方做得比较好或比较出色做的相对比较快,一些命令比较熟悉一点2.差距与局限,什么地方做得不太好,或什么地方可以做得更好程序的编写,C语言遗忘的很严重,还是得常用3.从本实验得到的收获。

南京邮电大学管理信息系统实验报告

南京邮电大学管理信息系统实验报告

课内实验报告课程名:管理信息系统任课教师:专业:学号:姓名:二○一○至二○一一年度第 1 学期南京邮电大学经济与管理学院《管理信息系统》课程实验第 1 次实验报告实验内容及基本要求:实验项目名称:用友ERP供应链管理综合实验实验类型:验证每组人数:1实验内容及要求:1. 基于用友ERP软件中供应链模块,完成企业中采购管理领域的各项业务的操作。

实验结果:一、实验操作步骤总结(限300字,对所做实验的主要流程进行总结,禁止复制实验指导书)1.进入系统管理进行建账工作,具体步骤如下:(1)注册“系统管理员”、(2)增加操作员、(3)创建账套(包括帐套号、单位名称、本位币、存货需要分类、编码方案、数据精度、系统启用)、(4)权限分配2.打开企业应用平台,输入登录信息后进行初始化设置,具体步骤如下:(1)输入基础档案(包括部门及志职员档案、供应商档案、存货信息、仓库档案和收发类别)。

(2)进行期初数据的录。

(填写采购入库单后需要记账)3.处理日常业务。

(操作时要注意细节问题)4.期末工作:月末结账。

5.账簿查询:查询未完成的业务明细表、订单执行情况统计表、暂估入库余额表、入库明细表及发票明细表。

二、实验中遇到的问题及解决方法1、输入基础档案时无法先输入人员档案。

解决方法:要先输入部门档案后再在人员档案中选择部门名称,才能完成输入。

2、在填制到货退回单数量时不知如何表示。

解决方法:在英文状态下在数字前加负号即可。

3、手工结算找不到对应具体的账单。

解决方法:筛选信息要具体,从时间、厂商等具体排除。

三、实验小结(写实验心得和体会)第一次使用ERP软件做的是采购管理练习,虽然老师有过介绍和一些步骤的说明,但是在做得过程中还是会出现很多问题,其实做练习的过程照书本按部就班的做是远远不够的。

在做得过程中我们需要思路清晰,要想明白每一步为什么要这样做,这样我们日后走向工作岗位才能做到脱离书本真正把学到的东西运用到工作上。

系统工程实验报告

系统工程实验报告

系统工程实验报告一、实验目的系统工程实验旨在通过实际操作和研究,深入理解系统工程的基本原理和方法,掌握系统分析、设计、优化和评估的关键技术,培养解决复杂系统问题的能力和创新思维。

二、实验背景在当今复杂多变的社会和技术环境中,系统工程作为一门综合性的交叉学科,对于解决各类大型、复杂系统的规划、设计、开发和管理问题具有重要意义。

本次实验以一个具体的系统案例为背景,通过对其进行全面的分析和处理,来实践系统工程的理论和方法。

三、实验内容(一)系统需求分析首先对实验所涉及的系统进行了详细的需求调研。

通过与相关用户和利益相关者的沟通交流,收集了大量的需求信息。

对这些信息进行了整理和分类,明确了系统的功能需求、性能需求、可靠性需求、安全性需求等。

(二)系统建模运用多种建模方法,如结构化建模、面向对象建模等,对系统进行了抽象和表示。

建立了系统的功能模型、数据模型、流程模型等,以便更好地理解系统的结构和行为。

(三)系统设计基于需求分析和建模的结果,进行了系统的总体设计和详细设计。

确定了系统的架构、模块划分、接口设计等。

同时,对系统的数据库、算法、用户界面等进行了详细的设计。

(四)系统实现使用选定的开发工具和技术,将设计方案转化为实际的系统代码。

在实现过程中,严格遵循软件工程的规范和标准,确保代码的质量和可维护性。

(五)系统测试对实现的系统进行了全面的测试,包括功能测试、性能测试、兼容性测试、安全性测试等。

通过测试发现并修复了系统中存在的问题,确保系统满足需求和质量标准。

(六)系统优化根据测试结果和用户反馈,对系统进行了优化和改进。

优化的方面包括算法效率、界面友好性、系统响应速度等,以提高系统的整体性能和用户体验。

四、实验步骤(一)准备阶段1、确定实验题目和目标,明确实验要解决的问题和预期的成果。

2、收集相关的资料和文献,了解系统工程的基本概念、方法和技术。

3、组建实验团队,明确团队成员的分工和职责。

(二)需求分析阶段1、制定需求调研计划,确定调研的对象、方法和内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[ ifelse scent-right > scent-left如果右边的气味大于左边的气味
向右旋转45度
[ rt 45 ]
[ lt 45 ] ]否则向左旋转45度
end
闻左边和右边的气味,选择最强气味的方向作为前进的方向
to uphill-nest-scentuphill-nest-scent的具体算法
回到蚁巢后放下食物,运行的是return-to-nest程序,重新置红色,表示未携带食物,期间,化学物质扩散挥发,蚂蚁沿着左边前面右边三个方向中气味较重的方向前进uphill-chemical,继续寻找到食物源,判断食物源食物量,在沿着化学气味前进的过程中,该蚂蚁会加强化学物质的强度,使得化学物质的存在时间加长,其他蚂蚁也能够通过该气味寻找到食物源,当越来越多的蚂蚁参与到这条路线中来,将会达到所有蚂蚁共同搬运的效果。
ask patches
[ setup-nest设置蚁巢
setup-food设置食物
recolor-patch ]蚂蚁颜色的设置
end
to setup-nest设置蚁巢的具体程序
如果在蚁巢里,变量变为1,否则就是0
set nest? (distancexy 0 0) < 5
;; spread a nest-scent over the whole world –在蚁巢旁边更加强烈
成绩评定:
该生对待本次实验的态度□认真□良好□一般□比较差。
本次实验的过程情况□很好□较好□一般□比较差
对实验结果的分析□很好□良好□一般□比较差
文档书写符合规范程度□很好□良好□一般□比较差
综合意见:
成绩
指导教师签名
日期
let scent-ahead nest-scent-at-angle 0采取0角度的气味作为前方气味
let scent-right nest-scent-at-angle 45使右边45度角度气味作为右边的气味
let scent-left nest-scent-at-angle -45使得左边45度的气味作为左边的气味
to setup
clear-all
set-default-shape turtles "bug"
crt population
[ set size 2设置大小为2
set color red ]蚂蚁如果没有携带食物的话就是红色的
setup-patches
reset-ticks
end
to setup-patches
if food-source-number = 2 [ set pcolor sky ]食物堆2号,设置成天空色
if food-source-number = 3 [ set pcolor blue ] ]食物堆3号,设置成蓝色
;; scale color to show chemical concentration
if (distancexy (-0.8 * max-pxcor) (0.8 * max-pycor)) < 5
设定食物堆3号
;; set "food" at sources to either 1 or 2, randomly
if food-source-number > 0
[ set food one-of [1 2] ]
stop ]结束
走化学位置气味最大的方向
if (chemical >= 0.05) and (chemical < 2)如果化学物质的含量在0.05到2之间
[ uphill-chemical ]那么就执行这个uphill-chemical算法
end
;; sniff left and right, and go where the strongest smell is闻左边和右边的气味,选择最强的气味作为方向
课内实验报告
课 程 名:系统工程
任课教师:
专 业:信息管理与信息系统
学 号:
姓 名:
二○ 一四 至二○ 一五 年度 第 1 学期
南京邮电大学 管理学院
《 系统工程》课程实验报告
实验内容及基本要求:
实验项目名称:Ants
实验类型:设计
每组人数:1
实验内容及要求:
1)了解Netlogo编程语言的特点和基本语法。
end
to return-to-nest回到蚁巢之后的运行程序具体函数代码
ifelse nest?
[ ;; drop food and head out again放下食物,头伸出来探测
set color red设置颜色为红色,表示没有携带食物
rt 180 ]转向180度
[ set chemical chemical + 60将化学物质增加60
;; setup food source two on the lower-left设置食物堆2在左下角
if (distancexy (-0.6 * max-pxcor) (-0.6 * max-pycor)) < 5
设置食物堆2号
;; setup food source three on the upper-left设置食物堆3在左上方
if p = nobody [ report 0 ]如果没有,就使得report置0
report [nest-scent] of p否则将nest-scent输出
end
to-report chemical-scent-at-angle [angle]
let p patch-right-and-ahead angle 1
蚂蚁在路径上前进时会根据前边走过的蚂蚁所留下的分泌物选择其要走的路径。其选择一条路径的概率与该路径上分泌物的强度成正比。因此,由大量蚂蚁组成的群体的集体行为实际上构成一种学习信息的正反馈现象:某一条路径走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大。蚂蚁的个体间通过这种信息的交流寻求通向食物的最短路径。
蚂蚁只应对化学水平0.05和2之间的化学物质。下限是用来表示蚂蚁并不是无限敏感。
设置三个食物来源的食物量,蚂蚁出了蚁巢,运行wiggle程序,这个是使得蚂蚁分开到处跑动寻找食物源look-for-food,蚂蚁身上是红色的代表其不携带食物,遇到食物源后,判断食物源食物是否大于0,如果大于0就携带食物,并且身上显示橘黄色,并分泌化学物质,旋转180度回蚁巢。
uphill-nest-scent ]运行uphill-nest-scent函数
end
to look-for-food寻找食物的程序段
if food > 0
[ set color orange + 1找到食物后将身上的颜色中橙色度+1
set food food - 1减少食物堆中的一份食物
rt 180蚂蚁的身体旋转180度
set nest-scent 200 - distancexy 0 0
end
to setup-food设置食物堆
;; setup food source one on the right设置食物堆1号在右边的食物堆
if (distancexy (0.6 * max-pxcor) 0) < 5
设置食物堆1号
end
to recolor-patch给蚂蚁颜色的设定函数
设置蚁巢和食物源的颜色
ifelse nest?
[ set pcolor violet ]将蚁巢设置成紫色
[ ifelse food > 0如果食物数量大于0的话
[ if food-source-number = 1 [ set pcolor cyan ]食物堆1号,设置成青色
9号:Voting;10号:Network目录下的Team Assembly
实验过程与结果:
1)语句解析:
patches-own [
chemical蚂蚁分泌的化学物含量
food食物堆中的食物量
nest?蚁巢
nest-scent接近蚁巢的情况
food-source-number食物来源的食物量
]
下面的是详细的程序
if (scent-right > scent-ahead) or (scent-left > scent-ahead)如果右边的气味大于前面的气味或者左边的气味大于前面的气味
[ ifelse scent-right > scent-left如果右边的气味大于左边的气味
[ rt 45 ]右转45度
[ lt 45 ] ]否则左转45度
let scent-left chemical-scent-at-angle -45-45度角的化学物质量就是左边闻到的气味量
if (scent-right > scent-ahead) or (scent-left > scent-ahead)如果左边的气味大于前面的或者右边的气味大于前面的,那么
[ set pcolor scale-color green chemical 0.1 5 ] ]将含量为0.15的化学物设置为绿色
end
;;;;;;;;;;;;;;;;;;;;;
;;; Go procedures ;;;运行的程序段
;;;;;;;;;;;;;;;;;;;;;
to go ;; forever button
fd 1 ]
diffuse chemical (diffusion-rate / 100)弥散的化学物质=扩散/100
ask patches
[ set chemical chemical * (100 - evaporation-rate) / 100挥发后的化学物质
recolor-patcrandom 40随机右转40度
相关文档
最新文档