判断是否能构成三角形汇编语言程序设计
软件测试三角形类型判断程序实验报告

南通大学
软件测试
——三角形类型判断
学院:计算机科学与技术学院
班级:软外1 1 1
学号: 1113122022
姓名:王治
一、实验题目
测试三角形类型判断程序
二、实验开发工具:
Eclipse、JUnit、Ant
三、编码实现三角形类型判断程序:
class Triangle{
private double a, b, c;
public Triangle ( double a, double b, double c ){ this.a = a;
this.b = b;
this.c = c;
}
/*
返回值为1表示是等边三角形
返回值为2表示是等腰三角形
返回值为3表示是其他种类三角形
返回值为-1表示不能构成三角形
*/
public int type (){
//to be added
}
四、设计测试用例
建立一个被JUnit测试的类
建立对应的JUnit Test类
不能构成三角形的测试用例
构成等边三角形的测试用
构成等腰三角形的测试用例
构成其他种类三角形的测试用例
三角形有一条边是非正数
四、编写ant脚本驱动测试用例。
Python判断三段线能否构成三角形的代码

Python判断三段线能否构成三⾓形的代码我就废话不多说了,还是直接看代码吧!#!/usr/bin/env python3#coding = utf-8def is_triangle(a=0, b=0, c=0): #abc 三条边长A = [a,b,c]A.sort() #升序排序if A[2] < A[1] +A[0]:print("{} is triangle".format(A))else:print("不构成三⾓")def triangle(f):a = float(input("第⼀条边是 = "))b = float(input("第⼆条边是 = "))c = float(input("第三条边是 = "))f(a, b, c)triangle(is_triangle) # 常规函数的调⽤补充知识:python编程:判断输⼊的边长能否构成三⾓形如果能则计算出三⾓形的周长和⾯积看代码吧!def main():a = float(input('a = '))b = float(input('b = '))c = float(input('c = '))if a + b > c and a + c > b and b + c > a:print('周长: %f' % (a + b + c))p = (a + b + c) / 2area = math.sqrt(p * (p - a) * (p - b) * (p - c))print('⾯积: %f' % (area))else:print('不能构成三⾓形')if __name__ == '__main__':main()以上这篇Python判断三段线能否构成三⾓形的代码就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
三角形python代码

三角形python代码在数学中,三角形是指由三条直线段构成的图形,其定义是所有边的长度都大于零,而且任意两边之和大于第三边。
对于程序员来说,在其所使用的编程语言中,三角形也有相应的表示方法和代码实现。
在Python中,我们可以使用条件语句和循环语句来实现对三角形的判断和分类。
下面我们将介绍几种基本的三角形判断代码。
1、判断一个三角形是否合法三角形的定义中有一条是任意两边之和大于第三边,因此我们可以使用条件语句来判断一个三角形是否合法。
其中,变量a、b、c代表三个边,代码如下:if a + b > c and a + c > b and b + c > a: print('三角形合法') else: print('三角形不合法')在这段代码中,我们使用了if...else...的条件语句,判断a + b > c and a + c > b and b + c > a是否为True,如果为True,则输出“三角形合法”,否则输出“三角形不合法”。
2、判断一个三角形是等边、等腰还是一般三角形判断一个三角形是等边、等腰还是一般三角形的方法同样可以使用条件语句,其中等边三角形是指三条边相等的三角形,等腰三角形是指两边相等的三角形,一般三角形是指除等边、等腰三角形外的三角形。
变量a、b、c代表三个边,代码如下:if a == b == c: print('等边三角形') elif a == b or a == c or b == c: print('等腰三角形') else: print('一般三角形')在这段代码中,我们首先判断a == b == c是否为True,如果为True,则输出“等边三角形”,否则再判断a == b或a == c或b == c是否为True,如果为True,则输出“等腰三角形”,否则输出“一般三角形”。
测试三角形类型判断程序

测试三角形类型判断程序软件121 金凯1102052019一、实验题目测试三角形类型判断程序二、实验开发工具:Eclipse、JUnit、Ant三、编码实现三角形类型判断程序:package com.kale.test;public class Triangle {public Triangle() {// TODO Auto-generated constructor stub }/*** @param 1:等边* @param 2:等腰* @param 3:其他种类* @param 4:不能构成三角形* @return*/public int type(double a,double b,double c){ int result = 0;boolean b11 = a + b > c;boolean b12 = a + c > b;boolean b13 = b + c > a;if(b11 && b12 && b13){if(a == b && b == c){result = 1;}else if(a == b || b == c || a == c){result = 2;}else{result = 3;}}else{result = -1;}return result;}public static void main(String[] args) { Triangle t = new Triangle();System.out.println(t.type(4, 4, 4));}}四、设计测试用例1.编写一个JUnit测试的类package com.kale.test;import static org.junit.Assert.assertEquals;import org.junit.Ignore;import org.junit.Test;public class MyTest {private Triangle t;public MyTest() {// TODO 自动生成的构造函数存根t= new Triangle();}@Testpublic void type1() {int result = t.type(15.0,15.0,15.0);assertEquals(1, result,0);}@Ignore(value="忽略")//忽略@Test(expected=Exception.class)public void type2() {int result = t.type(1.2,1.2,3.5);assertEquals(2, result,0);}public void type3() {int result1 = t.type(2.0,3.0,4.0);assertEquals(3, result1,0);}}2.编写参数化测试package com.kale.test;import java.util.Arrays;import java.util.Collection;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;import org.junit.runners.Parameterized.Parameters; import static org.junit.Assert.*;/*** @author:金凯* @tips :参数化测试* @date :2014-4-9*/@RunWith(value=Parameterized.class)public class ParameterizedTest {private int expected;//期望private double valueOne;//测试数据1private double valueTwo;//测试数据2private double valueThree;//测试数据三public ParameterizedTest(int expected, double valueOne, double valueTwo,double valueThree) {super();this.expected = expected;this.valueOne = valueOne;this.valueTwo = valueTwo;this.valueThree = valueThree;}//初始化参数集合@Parameterspublic static Collection<Object[]> getTestParameters() {return Arrays.asList(new Object[][]{//1.等边 2.等腰 3.其他 4.出错了{1,2.3,2.3,2.3},{2,1.0,1.0,1.5},{3,2,4.0,3.0},{-1,-1,-56,-1},});}@Testpublic void typeTest() {Triangle t = new Triangle();assertEquals(expected,t.type(valueOne, valueTwo, valueThree),0);}}3.编写集合测试package com.kale.test;import org.junit.runner.RunWith;import org.junit.runners.Suite;import org.junit.runners.Suite.SuiteClasses;/*** @author:金凯* @tips :集合测试* @date :2014-4-9*/@RunWith(value=Suite.class)@SuiteClasses(value={MyTest.class,ParameterizedTest.class})//指定运行的集合public class TestAll {}4.编写 ant 脚本驱动测试用例<?xml version="1.0"encoding="gbk"?><!-- Name项目的名称;Default默认执行的target对象;--><project default="run"name="Java01"><target name="clean"><delete dir="dist"/><delete dir="bin/com.kale.test"/></target><target name="compile"><javac srcdir="src"destdir="bin" includes="com.kale.test/Triangle.java"includeantruntime="true"/></target><target name="jar"depends="compile"><mkdir dir="dist"/><jar destfile="dist/Triangle.jar"basedir="bin"><manifest><attribute name="Main-class" value="com.kale.test/Triangle"/></manifest></jar></target><target name="run"depends="clean,jar"><java jar="dist/Triangle.jar"fork="true"/></target></project><?xml version="1.0"encoding="GBK"?><project name ="first build.xml"default ="report"> <target name="clean"><delete dir="dist"/><delete dir="bin/com.kale.test"/><delete dir="report"/></target><target name="compile"depends="clean"><javac srcdir="src"destdir="bin"includes="test/*.java"includeantruntime="true"/></target><target name="test"depends="compile"><mkdir dir="report"/><junit printsummary="yes"haltonerror="yes" haltonfailure="yes"fork="yes"><formatter type="plain"usefile="false"/><formatter type="xml"/><test name="com.kale.test.TestAll"todir="report"/><classpath><pathelement location="bin"/></classpath></junit></target><target name="report"depends="test"><mkdir dir="report/html"/><junitreport todir="report"><fileset dir="report"><include name="TEST-*.xml"/></fileset><report todir="report/html"/></junitreport></target></project>生成报表。
判断三角形形状源代码

判断三角形形状源代码
/*在三角形问题中,要求输入要求输入三个边长a,b,c,当三边不可能构成三角形时提示错误,
可构成三角形时计算三角形的周长,若是等腰三角形打印“等腰三角形”,若是等边三角形,则打印“等边三角形”(路径测试)
*/
#include<stdio.h>
int main()
{
int a,b,c,L;
printf("请输入三角形三边长a b c:\n");
scanf("%d %d %d",&a,&b,&c);
L=a+b+c;
if(a+b<=c || a+c<=b ||b+c<=a)
{
printf("无法构成三角形,请重新输入三边长!");
}
else if(a==b && b==c)
{
printf("等边三角形,周长L=%d",L);
}
else if(a==b ||a==c ||b==c)
{
printf("等腰三角形,周长L=%d",L);
}
else
{
printf("三角形周长L=%d",L);
}
return 0;
测试用例1:
测试用例2:
测试用例3:
测试用例4:。
判断三角形形状的程序

判断三角形形状的程序
判断三角形形状的程序可以根据三个边长来判断。
首先,可以使用三角形的性质:任意两边之和大于第三边,来判断这三个边长是否可以组成一个三角形。
如果不能满足这个条件,则不是三角形。
接下来,可以根据三个边长的相等情况来判断三角形的形状:
1. 如果三个边长都相等,则是等边三角形。
2. 如果有两个边长相等,则是等腰三角形。
3. 如果三个边长都不相等,则是一般三角形。
下面是一个示例的Python代码实现:
```python
# 输入三个边长
a = float(input("请输入第一条边的长度: "))
b = float(input("请输入第二条边的长度: "))
c = float(input("请输入第三条边的长度: "))
# 判断是否是三角形
if a + b > c and a + c > b and b + c > a:
# 判断三角形的形状
if a == b and b == c:
print("这是一个等边三角形")
elif a == b or b == c or a == c:
print("这是一个等腰三角形")
else:
print("这是一个一般三角形")
else:
print("这不是一个三角形")
```
这个程序会提示用户输入三个边长,然后根据输入的边长判断三角形的形状,并输出结果。
已知三边判断其是否构成三角形的java程序

能否形成三角形?
如果输入地三条边是,输出应该是:
能否形成三角形?
关于如何输入三角形三个边地方法,可以参考书上页,节地内容.或者参考书上页程序清单中第行代码地实现.如果实在不会实现输入,也可以把三角形地边地值写在程序里面,不用输入.文档来自于网络搜索
掌握程序编辑编译和运行方法:
. 在记事本或工具中输入程序.假定定义地类名称为: 文档来自于网络搜索
. 把程序地文件名定义为:
. 在命令窗口先检查环境变量是否设置正确.(输入就可以检查地值了)文档来自于网络搜索
.编译程序,运行命令:
.如果编译成功,运行命令:
若编译不成功,则修改错误,并重复步骤.
;
{
([ ] ){
();
(“ :”);
();
();
();
(>>>>>>)文档来自于网络搜索
(“ ”);
(“ ”)
}
}。
java编程 判断三边能否构成三角形

//java编程:输入三角形的三边,并输出,同时判断这三边能否构成三角形,public class Triangle2{private double sideA,sideB,sideC;//外部不能改变这些变量的值,只能在类中使用方法来修改和获得这些变量的值public void setSide(double sideA,double sideB,double sideC){this.sideA=sideA;//成员变量被局部变量隐藏,需要使用this关键字使用被隐藏的成员变量this.sideB=sideB;this.sideC=sideC;}public double getSideA(){return sideA;}public double getSideB(){return sideB;}public double getSideC(){return sideC;}public boolean isOrNotTrangle()//判断三边能否构成三角形{if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sid eA){return true;}else{return false;}}}class Example1{public static void main(String args[]){double sideA,sideB,sideC;Triangle2 triangle=new Triangle2();triangle.setSide(7.2,8.3,9.6);sideA=triangle.getSideA();sideB=triangle.getSideB();sideC=triangle.getSideC();System.out.println("输入的三角形的三边为:"+sideA+" "+sideB+" "+sideC);boolean isOrNotTrangle=triangle.isOrNotTrangle();if(isOrNotTrangle==true){System.out.println("这三边可以构成三角形");}else{System.out.println("这三边不可以构成三角形");}}}运行效果:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 01 程序设计要求及目的 (1)1.1 程序设计要求 (1)1.2 程序设计目的 (1)2 设计思路及准备 (2)2.1 程序设计思路 (2)2.2 DOS功能调用 (3)2.3 ASCⅡ码转换表 (6)3 程序设计及代码说明 (7)3.1 流程图设计 (7)3.2 程序输入部分 (8)3.3 程序判断部分 (10)3.4 程序输出部分 (11)3.4.1 构成三角形的边长输出 (11)3.4.2 错误输出 (13)3.5 完整程序代码 (13)4 程序调试及运行 (17)4.1 调试过程 (17)5 程序创新及改进 (21)5.1 改进说明 (21)5.2 程序代码 (22)5.3 程序运行及调试 (23)6 心得及体会 (23)7 参考文献 (25)附件一:题目要求源程序附件二:加入判断等腰或等边三角形的程序摘要汇编语言是面向机器的程序设计语言。
在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,如此就增强了程序的可读性和编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。
汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。
因此,有时候人们也把汇编语言称为组合语言。
汇编语言是微机原理及应用的基础,微机主机及接口所要实现的功能都要通过汇编语言来实现。
尽管汇编语言程序设计编程效率偏低,但运行效率高、速度快。
因此掌握汇编语言是学好微机原理及接口技术的第一步。
本次课设通过代码编程,设计出输入三边并判断它们是否能够成三角形,若不能,则显示错误字样。
否则直接显示输出该三角形的周长。
充分应用汇编技术,微机原理和接口技术的知识。
关键词:汇编语言,控制,微机原理及接口技术,三角形1 程序设计要求及目的1.1 程序设计要求1.1.1 选题:第十四题判断是否能构成三角形汇编语言程序设计输入a,b,c 三边后,判断是否能构成三角形,如能构成三角形,输出三角形的周长,否则输出“ERROR”。
要求:提示输入三角形三边长度a b c;键盘输入,中间空格隔开;Enter 键结束输入,并换行显示判断结果。
1.1.2 要求:(1)程序需上机调试通过才算完成该设计内容;(2)同一选题可合作完成,但设计报告书需注明本人承担的设计部分;(3)报告书中的源程序要求加注释。
1.2 程序设计目的(1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;(2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。
(3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计能力。
2 设计思路及准备2.1 程序设计思路2.1.1 构成三角形的条件由三角形定理克制,三边构成三角形的充要条件:(1)任意两边之和大于第三边,(2)任意两边之差小于第三边,令给出三遍长度分别为a、b、c,转换为字母表示如下:(1)a+b>c;a+c>b;b+c>a;(2)|a-b|<c;|a-c|<b;|b-c|<a;显然由式(1)中的三个不等式可以推出式(2)中全部不等式,故三边构成三角形的充要条件可以简化为条件(1),即:三边中任意两边之和均大于第三边。
2.1.2 程序结构框架(1)循环结构:循环结构表示程序反复执行某个或某些操作,直到满足或不满足设定的条件时才可终止循环。
题中在三边长度不满足构成三角形条件时,输出“ERROR”字符后自动跳转至程序首段进行下一轮三边长度的输入操作。
(2)选择结构选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。
选择结构有单选择、双选择和多选择三种形式。
题中所述判断两边之和及第三边大小关系时要用到选择结构确定各大小关系程序的跳转,从而完成判断是否能够构成三角形的目的。
2.1.3 程序设计思路图如图1所示图1 程序设计思路图2.2 DOS功能调用(1)键盘输入并显示(1号功能调用)格式:MOV AH, 01HINT 21H功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。
如果按下的是Ctrl+Break组合键,则终止程序执行。
1号功能调用无须入口参数,出口参数在AL中。
(2)键盘输入但不显示输入字符(8号功能调用)格式:MOV A=H, 08HINT 21H功能:同1号功能调用,但字符不在屏幕上显示。
(3)屏幕显示一个字符(2号功能调用)格式:MOV DL, '字符'MOV AH, 02HINT 21H功能:将置入DL寄存器中的字符在屏幕上显示输出。
(4)打印输出(5号功能调用)格式:MOV DL, '字符'MOV AH, 05HINT 21H功能:将置入DL寄存器中的字符送打印机接口,打印输出。
(5)屏幕显示字符串(9号功能调用)格式:MOV DX, 字符串的偏移地址MOV AH, 09HINT 21H功能:在屏幕上显示字符串。
在使用9号功能调用时,应当注意以下问题。
①待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。
②应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。
(6)字符串输入功能调用(0AH号功能调用)格式:MOV DX, 已定义缓冲区的偏移地址MOV AH, 0AHINT 21H功能:从键盘接收字符,并存放到内存缓冲区。
在使用0AH号功能调用时,应当注意以下问题。
①执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。
第二个字节保留,在执行程序完毕后存入输入的实际字符个数。
从第三个字节开始存入从键盘上接收字符的ASCII码。
若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他单元自动清0。
若实际输入的字符个数大于定义的字符个数,其后输入的字符丢弃不用,且响铃示警,一直到输入回车键为止。
整个缓冲区的长度等于最大字符个数再加2。
②应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。
(7)返回DOS操作系统(4CH号功能调用)格式:MOV AH, 4CHINT 21H功能:终止当前程序的运行,并把控制权交给调用的程序,即返回DOS系统,屏幕出现DOS提示符,如“C: \ >”,等待DOS命令。
(8)直接输入、输出单字符(6号功能调用)格式:MOV DL, 输入/输出标志MOV AH, 06HINT 21H功能:执行键盘输入操作或屏幕显示输出操作,但不检查Ctrl+Break组合键是否按下。
执行这两种操作的选择由DL寄存器中的内容决定。
①当(DL)=0FFH时,执行键盘输入操作。
若标志ZF=0,AL中放入字符的ASCII码;若标志ZF=1,表示无键按下。
这种调用用来检测键盘是否有键按下,但不等待键盘输入。
②当(DL)≠0FFH时,表示将DL中内容送屏幕显示输出。
2.3 ASCⅡ码转换表3 程序设计及代码说明3.1 流程图设计图2 主程序流程图3.2 程序输入部分3.2.1 程序说明为保证界面的美观,在输入a,b,c之前希望界面显示提示输入的字符,在数据段可以定义,利用功能调用代码MOV AH,9显示提示输入的字符串。
程序输入部分要求键盘输入a,b,c的值,则需要调用DOS功能,键盘单字符输入的代码指令为MOV AH,1 。
CBW代码是将输入在AL中的数扩展到AH中从而得到AX的值。
输入空格的功能调用操作指令为MOV AH,2 ,分别在三次单字符键入后使用保证没输入完成一个字符后自动空格。
利用回车完成输入结束等待继续程序可以用CMP AL,0DH 和JNE INPUT实现,由于回车的ASCⅡ码为0DH,故输入回车时两者相等程序继续,若输入字符不为回车,则执行JNE后的程序段,跳转至输入程序段首重新等待输入。
3.2.2 程序代码INPUT:LEA DX,BUFF1MOV AH,9 ;显示"请输入a、b、c的值" 字样INT 21HMOV AH,1 ;输入a值INT 21HCBW ;将AL数中的符号位扩展到AH中得AXMOV BX,AX ;将a的值存入BX中MOV AL,20HMOV AH,2 ;在字母a的值键入后输出空格INT 21HMOV AH,1 ;输入b的值INT 21HCBW ;将AL数中的符号位扩展到AH中得AXMOV CX,AX ;将b的值存入CX中MOV AL,20HMOV AH,2 ;在字母b的值键入后输出空格INT 21HMOV AH,1 ;输入c的值INT 21HCBW ;将AL数中的符号位扩展到AH中得AXMOV DX,AX ;防止AX中数据改变MOV AH,1 ;输入任意字符INT 21HCMP AL,0DHJNE INPUT ;若此时输入字符不为回车则返回重新输入部分3.3 程序判断部分3.3.1 程序说明要判断是否能够成三角形即判断是否满足先前三个等式的条件,故需计算三次。
其中任意一次的结果不满足等式则自动跳转至错误显示环节,若三者均满足,则程序继续运行并计算三角形三边周长。
再输入部分代码以ASCⅡ码存储,运算时需将其还原至数值形式,故先要将DX,BX,CX寄存器中的数值减30H得运算数值。
三边边长比较时,先利用ADD语句将任意两边分别相加然后及第三边比较,若前两边不大于,即小于等于第三边值,则跳转至ERROR,不能构成三角形。
在满足条件时,利用ADC进行三边边长的求和。
3.3.2 程序代码JUDGE:SUB DX,30H ;将输入后c的ASCⅡ码转换为数值型SUB BX,30H ;将输入后a的ASCⅡ码转换为数值型SUB CX,30H ;将输入后b的ASCⅡ码转换为数值型MOV AX,BX ;将BX的数值存入AX寄存器ADD AX,CX ;计算BX+CX的长度CMP AX,DX ;BX+CX的值及第三边DX作比较JNG ERROR ;若BX+CX≤DX,则跳转至ERRORMOV AX,CX ;将BX的值送入DXADD AX,DX ;计算DX+CX的长度CMP AX,BX ; DX+CX的值及第三边BX作比较JNG ERROR ;若DX+CX≤BX,则跳转至ERRORMOV AX,DX ;将AX的值送入DXADD AX,BX ;计算DX+BX的长度CMP AX,CX ; DX+BX的值及第三边CX作比较JNG ERROR ;若DX+BX≤c,则跳转至ERRORMOV AX,BX ;若三边均满足条件,则计算周长ADC AX,CX ;计算两边长度和ADC AX,DX ;DX=a+b+c3.4 程序输出部分3.4.1 构成三角形的边长输出3.4.1.1 程序说明首先利用功能调用声明可以构成三角形,显示“三角形的周长为:”字符以增强程序的阅读性和完整性。