农夫过河问题

一、题目:农夫过河问题

二、目的与要求

1、目的:

通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。

2、要求:

基本要求:

1. 要求利用C\C++语言来完成系统的设计;

2. 突出C 语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的

编程思想;

3. 画出功能模块图;

4. 进行简单界面设计,能够实现友好的交互;

5. 具有清晰的程序流程图和数据结构的详细定义;

6. 熟练掌握C 语言或者C++语言的各种操作。

创新要求:

在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等

三、问题描述和求解方法:

1 、问题描述

要求设计实现农夫过河问题(农夫带着一只狼,一只养,一棵白菜,一次只能带一个东西)如何安全过河。

2 、问题的解决方案:

可以用栈与队列、深度优先搜索算法及广度优先搜索算法相应的原理去解决问题。

1) 实现四个过河对象(农夫、白菜、羊和狼)的状态,可以用一个四位二进制数来表示,

0表示未过河,1表示已经过河了。

2) 过河的对象必须与农夫在河的同一侧,可以设计函数来判断。

3) 防止状态往复,即农夫将一个东西带过去又带回来的情况发生,需将所有可能的状态

进行标定。

4) 可用深度优先搜索算法及广度优先搜索算法去解题。

四、解题过程

1.

2.

3.

4.

5. 分析程序的功能要求,划分程序功能模块。 画出系统流程图。 代码的编写。定义数据结构和各个功能子函数。 程序的功能调试。 完成系统总结报告以及使用说明书

五、进度安排

此次课程设计时间为一周,分以下几个阶段完成:

1. 选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。

2. 分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的

数据结构、并在此基础上进行实现程序功能的算法设计。

3. 程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。

4. 调试与测试:调试程序,并记录测试情况。

5. 完成课程设计报告。

6. 验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组

进行随机抽查评分。

六、撰写课程设计报告或课程设计总结

课程设计报告要求:

课程设计报告要求规范书写,应当包括如下7个部分:

1. 需求分析

2. 系统设计

3. 程序流程图

4. 类关系图

5. 实现代码

6. 总结

7. 参考书目

七、答辩与评分标准:

1 、作业文档: 50 分;

2 、基本功能和要求: 20 分;

2 、设计报告及使用说明书: 10 分;

3 、设置错误或者按照要求改变结果: 10 分;

4 、回答问题: 10 分。

八、参考资料

《数据结构(C语言版) 》

网上相关资料(....略)

一、题目:农夫过河问题

二、目的与要求

1、目的:

通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。

2、要求:

基本要求:

1. 要求利用C\C++语言来完成系统的设计;

2. 突出C 语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的

编程思想;

3. 画出功能模块图;

4. 进行简单界面设计,能够实现友好的交互;

5. 具有清晰的程序流程图和数据结构的详细定义;

6. 熟练掌握C 语言或者C++语言的各种操作。

创新要求:

在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等

三、问题描述和求解方法:

1 、问题描述

要求设计实现农夫过河问题(农夫带着一只狼,一只养,一棵白菜,一次只能带一个东西)如何安全过河。

2 、问题的解决方案:

可以用栈与队列、深度优先搜索算法及广度优先搜索算法相应的原理去解决问题。

1) 实现四个过河对象(农夫、白菜、羊和狼)的状态,可以用一个四位二进制数来表示,

0表示未过河,1表示已经过河了。

2) 过河的对象必须与农夫在河的同一侧,可以设计函数来判断。

3) 防止状态往复,即农夫将一个东西带过去又带回来的情况发生,需将所有可能的状态

进行标定。

4) 可用深度优先搜索算法及广度优先搜索算法去解题。

四、解题过程

1.

2.

3.

4.

5. 分析程序的功能要求,划分程序功能模块。 画出系统流程图。 代码的编写。定义数据结构和各个功能子函数。 程序的功能调试。 完成系统总结报告以及使用说明书

五、进度安排

此次课程设计时间为一周,分以下几个阶段完成:

1. 选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。

2. 分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的

数据结构、并在此基础上进行实现程序功能的算法设计。

3. 程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。

4. 调试与测试:调试程序,并记录测试情况。

5. 完成课程设计报告。

6. 验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组

进行随机抽查评分。

六、撰写课程设计报告或课程设计总结

课程设计报告要求:

课程设计报告要求规范书写,应当包括如下7个部分:

1. 需求分析

2. 系统设计

3. 程序流程图

4. 类关系图

5. 实现代码

6. 总结

7. 参考书目

七、答辩与评分标准:

1 、作业文档: 50 分;

2 、基本功能和要求: 20 分;

2 、设计报告及使用说明书: 10 分;

3 、设置错误或者按照要求改变结果: 10 分;

4 、回答问题: 10 分。

八、参考资料

《数据结构(C语言版) 》

网上相关资料(....略)


相关文章

  • 深度优先搜索算法及其改进
  • 软件技术龚建华:深度优先搜索算法及其改进 深度优先搜索算法及其改进 龚建华 (解放军通信指挥学院 湖北武汉 430010) 摘 要:对于一些简单的搜索问题或者不便构建启发式搜索算法的问题,深度优先搜索算法常是解决问题的有效办法.首先对深度优 ...查看


  • 实验6:农夫.狼.羊和菜问题
  • 实验6:农夫.狼.羊和菜问题 一.实验目的: 1. 会定义图的抽象数据类型: 2. 熟悉图的基本结构,掌握程序中的用户头文件.实现文件和主文件之间的相互关系及各自的作用: 3. 熟悉对图的一些基本操作和具体的函数定义: 4. 掌握在实际问题 ...查看


  • 公开课 顺序结构与变量 教学设计
  • 公开课--<顺序结构与变量>教学设计 课时:2,本课时为第1课时 一. 学习目标 1.理解算法的概念,了解描述算法的两种方法--自然语言和流程图,知道各自的优缺点. 2.用自然语言描述算法 二. 三. 重难点:算法与变量的概念 ...查看


  • 讲故事大全
  • 首页 早教 育儿知识早教知识怀孕知识 儿歌 起跑线儿歌儿歌童谣动漫儿歌流行儿歌英文儿歌韩国儿歌 儿童故事 成语故事童话故事寓言故事睡前故事 儿童小游戏 益智游戏换装游戏找茬游戏填色游戏识字游戏 儿歌mp3 儿歌大全儿童音乐儿童故事 搜索你喜 ...查看


  • 宝宝睡觉故事
  • 乌鸦喝水的故事:有只乌鸦长得不好,但却特别聪明,很爱动脑筋.一天,它干完活又累又渴,就到处找水喝.忽然,它看到一个瓶子,里面好像装着水,它高兴地飞了过去.它把嘴探到瓶子里,可瓶子太深水太少,根本喝不到.它使劲用身体撞瓶子,想把瓶子弄倒,可是 ...查看


  • 人工智能题5
  • 一. 单选题: 1:人类智能的特性表现在4个方面 . A:聪明.灵活.学习.运用. B:能感知客观世界的信息.能对通过思维对获得的知识进行加工处理.能通过学习积累知识增长才干和适应环境变化.能对外界的刺激作出反应传递信息. C:感觉.适应. ...查看


  • 放下就是快乐 1
  • 一个富翁背着许多金银财宝到远处去寻找快乐.可是翻山越岭,走过千山万水也未找到快乐,于是他沮丧地坐在山道旁闷闷不乐.这时一个农夫背着一大捆柴草从山上走下来,富翁说:"我是个令人羡慕的富翁,家财万贯,要啥有啥,为何就是没有快乐呢?&q ...查看


  • 伊索寓言练习题--池疏发
  • <伊索寓言>练习题 一.文学常识填空 1. <伊索寓言>是世界文学史上流传最广的寓言故事集之一,两千多年来以其特有 的 和艺术魅力受到各国人民尤其是青少年的喜爱. 2. 作为古人智慧的结晶,<伊索寓言>包 ...查看


  • 泰山版新版五年级信息技术下册教案
  • 五年级下册信息技术全册备课 教材分析 <小学信息技术>教材共三册,本学期学习第三册(下),共三个单元:第一单元:神奇的LOGO 王国:第二单元:算法思想初步:第三单元:信息技术的初步.教材结构和谐紧凑,内容深入浅出,形式活泼,生 ...查看


热门内容