实验报告人:张静成 数学3班 10080338
一、实验目的
1、掌握选择结构的程序书写!
2、了解条件与程序流程的关系
3、了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。
二、实验内容
(一)、题目 1
1、题目内容描述:改写第三章小写字母转换为大写字母的程序,能做到对输入非小写字母进行出错判断!
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
c1
字符
2
(2)输出数据
序号
输出数据描述
数据类型
1
c1
字符
2
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
c4-1.cpp
c4-1.exe
1
a
A
是
合理
c4-1.cpp
c4-1.exe
2
b
B
是
合理
c4-1.cpp
c4-1.exe
3
G
错误
是
合理
c4-1.cpp
c4-1.exe
4
?
错误
是
合理
(二)、题目 2
1、题目内容描述:改写顺序结构程序设计例3.4,输入三角形的边长,求三角形面积。使之能对输入的任何数据作出正确处理!
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
a
float
2
b
float
3
c
float
4
p
float
5
s
float
(2)输出数据
序号
输出数据描述
数据类型
1
s
float
2
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
c4-2.cpp
c4-2.exe
1
3,4,5
6.00000
是
合理
c4-2.cpp
c4-2.exe
2
2,2,2
1.73051
是
合理
c4-2.cpp
c4-2.exe
3
1,2,3
不能构成三角形
是
合理
c4-2.cpp
c4-2.exe
4
1,2,4
不能构成三角形
是
合理
(三)题目3
1、题目内容描述:编写一个简单的计算器程序,输入格式为:data1 op data2 ,其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、—、*、/。
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
data1
float
2
op
字符
3
data2
float
(2)输出数据
序号
输出数据描述
数据类型
1
x
float
2
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
c4-3.cpp
c4-3.exe
1
3,+,5
8
是
合理
c4-3.cpp
c4-3.exe
2
85,-.50
35
是
合理
c4-3.cpp
c4-3.exe
3
3,*,6
18
是
合理
c4-3.cpp
c4-3.exe
4
9,/,3
3
是
合理
c4-3.cpp
c4-3.exe
5
2,/,0
错误
是
合理
(四)题目4
1、题目内容描述:读入一年份和月份,打印该月有多少天(考虑闰年)!
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
year
整型
2
month
整型
(2)输出数据
序号
输出数据描述
数据类型
1
没有数据
2
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
c4-4.cpp
c4-4.exe
1
2010,2
这个月有28天
是
合理
c4-4.cpp
c4-4.exe
2
2008,2
这个月有29天
是
合理
c4-4.cpp
c4-4.exe
3
2100,2
这个月有28天
是
合理
c4-4.cpp
c4-4.exe
4
2000,2
这个月有29天
是
合理
c4-4.cpp
c4-4.exe
5
2012,5
这个月有31天
是
合理
(五)题目5
1、题目内容描述:
有如下程序段:
{……
if (a>1&&b= =0) x=x/a;
if(a==2||x>1) x=x+1;
}
要求增加一些输入语句和输出语句,以便使上述程序能在不同的a,b和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支及哪些路径。
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
a
整型
2
b
整型
3
x
整型
(2)输出数据
序号
输出数据描述
数据类型
1
a
整型
2
b
整型
3
x
整型
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
cc4.cpp
cc4.exe
1
1,1,1
1,1,1
是
合理
cc4.cpp
cc4.exe
2
1,1,2
1,1,3
是
合理
cc4.cpp
cc4.exe
3
3,0,1
3,0,0
否
数据类型不一致
cc4.cpp
cc4.exe
4
2,1,4
2,1,5
是
合理
cc4.cpp
cc4.exe
5
2,1,1
2,1,2
是
合理
cc4.cpp
cc4.exe
6
1,0,2
1,0,3
是
合理
cc4.cpp
cc4.exe
7
2,0,4
2,0,3
是
合理
cc4.cpp
cc4.exe
8
3,0,2
3,0,0
否
数据类型不一致
4、数据分析
(1)没有!要想使各条语句都执行,则a>=2且x是a的倍数!如a=2,b=0,c=4
(2)第二组合第四组!满足a>1&&b==0,且x是a的倍数,然后a==2||x>1
(3)第三组和第四组!a==2,b==0,x==4或者a=3,b==0,x=6
(4)第一二三四组!
(5)第五六七八组!
(六)题目6
1、题目内容描述:从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号
输入数据描述
数据类型
1
a
float
2
b
float
3
c
float
(2)输出数据
序号
输出数据描述
数据类型
1
没有
3、测试与结果分析
(1)、测试数据与结果
源文件名
可执行文件名
测试序号
测试输入数据
测试输出结果
是否正确
结果分析
c4-6.cpp
c4-6.exe
1
3,4,5
此三角形是不等边三角形
是
合理
c4-6.cpp
c4-6.exe
2
3,4,4
此三角形是等腰三角形
是
合理
c4-6.cpp
c4-6.exe
3
2,2,2^1.5
此三角形是等腰直角三角形
是
合理
c4-6.cpp
c4-6.exe
4
3,3,3
此三角形是等边三角形
是
合理
三 实验总结
1、问题总结
题目序号
实现情况与掌握程度
是否独立完成
代码是否符合规范编写
存在问题
如何改进
说明
结合本次实验目的,熟悉或掌握哪些内容,程序是否实现并测试通过
是否符合编程规范
哪些知识理解不到位;程序存在什么问题
对于存在的问题如何改进,写出方法
1
选择结构程序的书写
是
是
2
运算符与表达式的书写
是
是
3
switch语句的书写
是
否
容易出错
查阅书.
2、经验总结
题目序号
实践经验
经典代码
1
简述你在本题目积累了在开发工具使用、编成程 序、调试程序、测试程序方面的实践经验
列出你在完成本题目时,独立书写的你认为是经典 的代码。简单说明其经典之处。
2
选择结构书写要准确
3
测试数据要覆盖各个分支,路径
…
…
…
3、分析与讨论
(1)、要掌握用if语句处理选择结构,了解其一般形式:if(表达式)语句1 else 语句2。
(2)、掌握关系运算符及其优先级次序。
(3)、知道逻辑运算符及其优先级次序。!、&&、||。
(4)、了解选择结构的嵌套。
(5)、掌握用switch语句实现多分支选择结构,
switch(表达式)
{
case 常量1:语句1
case 常量2:语句2
……………..
case 常量n:语句n
default : 语句n+1
}
(6)、在选择结构中,注意测试用例的选择!保证覆盖不同的语句,分支及路径!
展开阅读全文