这个作业第一个发明作业的人要求怎么弄

C++编程是基本功训练,邹欣老师在教学中,第一个作业是
花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,要求:
a) 除了整数以外,还要支持真分数的四则运算。 (例如:
1/6 + 1/8 = 7/24)
b) 让程序能接受用户输入答案,并判定对错。 最后给出总共 对/错 的数量。
在此基础上,进一步可以完成第二个作业,进行模块化编程,信息隐藏,接口设计,TDD等方面的训练。
侯捷老师在他的C++课程中,则以复数的运算为例讲解面向对象编程的关键知识点。
本课程以OROCOS机器人软件为主要实战对象,整个OROCOS软件包比较大,但OROCOS里有大量的矩阵运算,是通过调用一个线性代数的开源库Eigen实现的,所以应用Eigen进行矩阵运算完成编程练习,一方面易于上手,另一方面也有利于理解OROCOS的代码。
Eigen的库用起来很容易,只要把源代码下载到本地的开发环境,写一个最简单的程序:
#include &iostream&
#include &Eigen/Dense&
using Eigen::MatrixXd;
int main()
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout && m && std::
然后编译运行,就可以在命令行环境中看到输入结果了。
因为采用C++编程,所以开发环境也有多种选择,如Ubuntu Linux/vim/gcc、Windows/Visual Studio, 由于OROCOS是用gcc编译器编译的,我们优先选用Ubuntu Linux/vim/gcc,如果你对Linux环境不熟悉,可以采用Windows下的轻量级开发环境Dev-C++,该软件也是基于gcc编译器。Dev-C++开发环境的建立过程如下:
1)到Dev-C++的官网上下载Dev-C++安装包,目前版本号是5.11,大约40多M,地址为:
2)运行该安装文件,按提示完成安装过程。
3)打开Dev-C++软件,新建一个新项目,新建一个main.cpp文件,把上面的程序代码拷贝到main.cpp文件中。
为了使上述代码能够运行,我们还必须在开发环境中集成Eigen库,为此:
4)到Eigen官网下载Eigen库软件压缩包,官网地址为:
5)对压缩包解压缩到刚才新建的项目目录下。
6)点击Dev-C++的菜单“项目-&项目属性”,在弹出对话框中选择“文件/目录”选项卡下的“包含文件目录”。
7)把Eigen代码所在的根目录添加到“包含文件目录”列表中,如下图所示。
8)现在编译运行程序,就可以看到运行结果了,如图所示。
在此基础上,同学们可以着手应用Eigen库完成一个具体的功能。参照邹欣老师布置的作业,我们的第一个“软件”开发作业如下:
第一步: 写一个根据输入坐标生成一个平面图形(点、线段和三角形)并能对该几何图形进行平移和旋转操作的命令行 “软件”,要求:
a) 通过命令行输入图形的名称,端点数(1为点,2为线段,3为三角形)和端点坐标(x,y)。
如:输入一个点 p1 1 (2,5)
输入一个线段 l1 2 (3,5) (4,6)
输入一个三角形 t1 3 (1,1) (2,5) (-4,7)
b) 输入一个计算指令,实现对上述图形的平移和绕原点旋转等操作,并输出该图形新的坐标值。
如:move l1 (3,6) 表示把线段l1沿x方向移动3,沿y方向移动6。
rotate t1 -30 表示把三角形t1绕原点逆时针旋转30度。
程序设计要求使用Eigen库函数,(如觉得有难度可先用自己编写的函数实现,但在实现第二步前必须修改成使用Eigen库函数),先在博客上提交代码,并附上运行结果截图。同学之间可相互阅读博客,比较一下各自程序的功能、实现方法的异同。
在小组内每个同学在如下方向中选择一个,进行功能扩展:
a) 实现更复杂的二维图形操作,如定义更复杂的图形(多边形),实现图形围绕任意点的旋转,图形相对于某一条线的镜像,并考虑扩展到三维空间。
b) 把图形数据保存到文件,并能从文件中恢复。
c) 实现简易GUI,通过GUI输入图形坐标和操作命令,并显示图形。
考虑如何把上述三个软件功能集成在一起,如何定义接口?
估计做好这个软件需要的时间,并且写出大概的设计步骤和实现算法。
阅读(...) 评论()503 Service Temporarily Unavailable
Service Temporarily Unavailable
The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.
Apache/2.2.3 (Red Hat) Server at小学一年级题目,要求只能用加法或减法,而且直接得答案。第一个回答的直接采纳&
bfDD70GJ40
24除以8等于3
8+8=16\+8=24\
24-8-8-8=0三次
为您推荐:
扫描下载二维码

我要回帖

更多关于 读写作业台灯性能要求 的文章

 

随机推荐