任务1 构造命题公式的真值表
必做题—命题公式真值表输出
已知命题公式A=﹁( p Ú q ) Ù ( (pÚ r) Ú s),用JAVA或C/C++语言编写程序构造该命题公式的真值表,真值表输出样式自己设计(变量值可以不手工输入),编制程序、画流程图、解释核心程序段、展示结果、心得描述等,撰写并提交实践报告。(评分:及格、中等)
--------------------------------------------------------------------------
选做题—函数曲线的离散化
考虑x(t)=-2tsin(t2),0≤t≤8,从0开始,以△t=0.01、0.02、0.04、0.08、0.1、0.25、0.5、1等为间隔(△t的值可结合自己的绘制效果修改),分别绘制不同△t下的x(t)的离散曲线。每个离散样本点可用‘*’显示(也可以自行选用其它符号),程序采用JAVA或C/C++语言实现(可采用第三方库函数)。对于每个△t,注意观察函数信息损失的情况,解释核心程序段,总结分析,编制程序并编写实践报告(评分:良好)。
注:限制用JAVA或C/C++语言,若采用其他语言可以做附录展示。报告要美观、详实、有排版,遇到抄袭拷贝的文档,原稿和拷贝稿均计0分。选作内容与必做内容放在同一份报告里哦。
提高题(选做)—用离散的点显示自己的姓名(评分:优秀)
提高题在完成“必做题和选做题”的基础上选择性完成,展示效果自己设计。
提交方式:报告和核心源程序压缩后提交超星平台。
图1 x(t)的波形
图2 离散间隔△t=0.01时x(t)的波形
1.1命题公式真值表输出
- 定义
- 处理与或非
- 定义 析取为|,合取&,蕴含->,等价<-> y = pÚ r ;
- 根据表达式输入,运行输出变量个数及真值表
- 核心程序
- 四个for循环用来处理运算符号非,与或,分别用! & |表示
- 处理运算中的括号,从左往右处理,从右边匹配到左边的括号+1,右括号-1
- 输出真值表
每次循环输出一次值,并换行
四 查看结果
五 心得
通过这次作业,考验了我对命题公式的理解,对真值表的反复演算核对进一步完善我在命题方面的缺点,同时也使我对命题公式更加熟悉,也温习了Java的相关知识,在一次次思考和删改不同方案使得我不会对Java变得生疏。
1.2函数曲线的离散化
- 流程图
- 核心程序
1.22建立坐标系代码
如图1.22,建立平面直角坐标系,如坐标轴和坐标点,坐标名称
1.23核心代码
如图1.23,修改x=x+1.0中变化量的值并传入for循环,依次打出坐标点
三 效果图
△t=0.01时x(t)的波形
△t=0.25时x(t)的波形
△t=0.5时x(t)的波形
△t=1.0时x(t)的波形
- 心得结论
随着输入值的增大,波形图的点越少,越稀疏,波形越不明显,函数信息损失越大。通过此次学习实践,熟悉了命题公式,学会了构建坐标系以及相关函数的散点图像,并且这一技能可以直观方便得学习数学知识。
1.3用离散的点显示自己的姓名
核心程序
1.22导入下载的点阵包
如图1.22,定义变量,导入所用的点阵包,用if判断是否导入成功
1.23循环输入所要的文字,用点阵输出
如图1.23,输入要显示的字, 然后传入的到点阵这个包中,找的预设的文字,用32个字节来表示16*16点阵的汉字,我用空心表示背景色, 实心表示前景色.这样我们就可以很明显的看出, 16*16的方格内的具体哪些点有笔划经过, 有笔划经过与没笔化经过的即就是应该被分别填充上前景色与背景色的点.
1.24输出
三 效果图
- 心得结论
了解了点阵. 其实就是指这个汉字用多少个象素点来描述. 每个象素点显示为什么颜色, 通常情况下, HZK16采用的是16*16点阵, 即256个象素点描述一个汉字,通过此次学习实践,熟悉了点阵的原理,学会了如何让使用点阵,以及他的编码,偏移,并且这一技能可以了解了数学和c++的联系。