
实验报告
文章平均质量分 85
了一li
很喜欢的一段话:路是自己选的,没有输赢,只有值不值得。任何经历过的事情,不是得到就是学到。
如需信计专业秘籍Word版本,请关注公众号:小轩de干货罐头
展开
-
《Java程序设计》实验报告(六)之在JSP中操作数据库
课程学分:<input name="cscore" type="text"><br/>课程教师编号:<input name="ctno" type="text"><br/>课程名称:<input name="cname" type="text"><br/>课程类型:<input name="ctype" type="text"><br/>课程编号:<input name="cno" type="text"><br/><input value="添加" type="submit"/>原创 2024-02-07 11:15:48 · 970 阅读 · 0 评论 -
《Java程序设计》实验报告(五)之JSP基础知识
密码:用户名:{"001", "张三", "18", "男"},{"002", "李四", "19", "女"},{"003", "王五", "20", "男"}setTitle("登录注册程序");原创 2024-02-07 11:13:19 · 826 阅读 · 0 评论 -
《Java程序设计》实验报告(四)之数据库操作
System.out.println("成功创建数据库:" +databaseName);System.out.println(rowsAffected + " 插入成功");System.out.println(rowsAffected + " 创建成功");System.out.println("表创建成功");System.out.println("删除表成功");System.out.println("删除成功");pstmt.setString(2, "标间");// 数据库连接参数。原创 2024-02-07 11:07:14 · 1068 阅读 · 0 评论 -
《Java程序设计》实验报告(三)之常用类和集合类
System.out.println("学号:" + sno + " 姓名:" + sname + " 成绩:" + grade);// 创建BigDecimal对象。System.out.println("bd2与bd1的积: " + bd2.multiply(bd1));System.out.println("bd2与bd1之间的较大值: " + bd2.max(bd1));//字符串转换为字符数组。System.out.println("bd2与bd1的和: " + bd2.add(bd1));原创 2024-02-07 11:06:19 · 834 阅读 · 0 评论 -
《Java程序设计》实验报告(二)之面向对象编程基础
System.out.println("圆的周长:" + circle.getCircumference());System.out.println("圆的直径:" + circle.getDiameter());System.out.println("我是"+name+"年龄:"+age+",我正在学习!System.out.println("圆的半径:" + circle.getRadius());System.out.println("圆的面积:" + circle.getArea());原创 2024-02-07 11:05:22 · 1104 阅读 · 0 评论 -
《Java程序设计》实验报告(一)之Java语言基础
System.out.println(n + "是水仙花数");System.out.println("长方形的面积:"+area(a,b));System.out.println("圆的面积:"+area(r));原创 2024-02-07 11:04:19 · 986 阅读 · 0 评论 -
《数据结构》实验报告(六)之二叉树的相关操作
三种遍历算法的递归算法不同之处仅在于访问根结点和遍历左、右子树的先后关系,需要注意的是,任何一棵二叉树的叶子结点在先序,中序,后序遍历中,其访问的相对次序不变,包括双序遍历仅是在先序遍历的基础上,在访问右子树之前再次访问根结点;(1)由如图1所示的二叉树创建对应的二叉链存储结构b,该二叉树的括号表示串为“A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”;内容:编写一个程序,实现二叉树的先序遍历、中序遍历和后序遍历的递归算法,并对图1所示的二叉树b给出求解结果。原创 2024-02-07 10:58:09 · 1612 阅读 · 0 评论 -
《数据结构》实验报告(五)之括号匹配的检验
实现过程是从左到右依次扫描多项式,如果遇到左括号便将左括号入栈,在所有左括号入栈之后便可以扫描到右括号,如果扫描到的右括号和栈顶的左括号可以匹配时,将左括号出栈,以此类推,最后判断栈是否为空,若为空,则括号匹配,否则括号不匹配。栈是一个只能访问表的尾端数据的数据集合,是一种在表的一端进行插入和删除操作的线性表,数据具有“先进后出”的特点,而这种特点和括号匹配中检验括号的“期限待的极限程度”这个特点相符合,因此选用栈这种数据结构可以简化程序,更好的理解和实现程序,提高了程序运行的时间效率。原创 2024-02-07 10:56:18 · 1869 阅读 · 0 评论 -
《数据结构》实验报告(四)之用栈完成数制转换
此次上机实验,我不仅对栈的存储等操作有了一定的认识,也对进制间的转换有了深刻的理解,同时对编译程序的算法思想有了新的认识,还让我深刻的体会到了链表的重要性以及其应用的方便,并且对指针加深了印象,应用了书本中的算法思想,对我以后的编译以及完成新的程序有很大的帮助。我们应当理解在将十进制转化为其他进制要用到栈,是因为在进制转换算法中,商的取得是逆序输出的,正好满足栈先入先出的特点。()函数时候搞反了真值条件,十进制转八进制用到的思想是短除法,然后进行倒序取余,体现了栈的思想。要转换成的进制数和要转换的数。原创 2024-02-07 10:54:49 · 1608 阅读 · 0 评论 -
《数据结构》实验报告(三)之有序表的归并
首先把s1集合复制到s中,然后把s2中的每个元素依次插入到集合s中,当然重复的元素不应该被插入,最后在s中就得到了s1和s2的并集,也就是在s所对应的实际参数集合中得到并集。通过本次实验,让我对链表的掌握更加熟悉,同时,对线性表有了一定的理解,可以自己构建一个线性表。此外,个人的编程能力得到了一定的提升,对数据结构的体会也不断丰富。设La和Lb是两个具有相同数据对象的线性表,都按元素非递减有序的形式存放。第一步,取到头结点,两个指针指向同一内存,改变p指向的内存,L指向的内存不变,L仍为头结点。原创 2024-02-07 10:52:44 · 1094 阅读 · 0 评论 -
《数据结构》实验报告(二)之线性表的基本操作
(2)依次采用尾插法插入a、b、c、e、d元素;依次采用尾插法插入a,b,c,d,e元素.\n"(8)在第4个元素位置上插入f元素;依次采用尾插法插入a、b、c、e、d元素;(6)输出单链表h的第3个元素;(10)删除单链表h的第3个元素;输出单链表h的第3个元素:%c\n"在第4个元素位置上插入f元素.\n"因为要插入到第i个位置所以是i-1。(4)输出单链表h长度;(7)输出元素a的位置;删除单链表h的第3个元素.\n"(1)初始化单链表h;输出单链表h的长度:%d\n"(3)输出单链表h;原创 2024-02-07 10:50:56 · 1479 阅读 · 0 评论 -
《数据结构》实验报告(一)之C语言要点回顾
内容:定义结构体s1,其中可以存放一个学生的数据,该数据由学号、姓名(姓名长度不超过15个英文字符)、年龄、5科成绩构成。共占64个字节,其中学号占4个字节,姓名占16个字节,年龄占4个字节,每科成绩占8个字节。内容:调试第一章课后习题9,图示出程序所表示链表,标出head变量的内容及其地址,以及表达式head->next->next的内容及其表示的内存地址。内容:编写一个程序,直接在主函数中测试整形、字符型、等C语言中基本数据类型宽度,并测量实验1中所定义的结构体类型变量所占字节数。单一内存动态分配*/原创 2024-02-07 10:49:09 · 907 阅读 · 0 评论 -
《C程序设计》上机实验报告(八)之结构体和共用体
(3).结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了内存覆盖技术,同一时刻只能保存一个成员的值,如果对新的成员赋值,就会把原来成员的值覆盖掉。编写一个程序,建立结构体类型表示一个学生的基本情况,包含以下成员项:学号、姓名、三门课的成绩、三门课的平均成绩。下面给定程序中setup的功能是:建立一个链表,链表中的每个结点有一个int类型的数据域,输入0时标志链表结束。请修改setup函数中的错误,使它得出正确的结果。原创 2024-02-06 22:08:41 · 1205 阅读 · 0 评论 -
《C程序设计》上机实验报告(七)之指针的应用
程序中的函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。(2)若ip所指当前字符是一个数字字符,则将其变换为另一个数字字符后存放到结果字符串op中:字符0变换为字符9,字符1变换为字符8,字符2变换为字符7,依此类推,字符9变换为0。答:将字符串地址赋予指针,然后用指针进行地址的交换或内容的交换,在使用字符指针时,要特别注意,是否后续会更改该字符串的值,若需要更改,不要使用char buf=“abcd”;在主函数中输入字符串及m的值,并输出复制结果。原创 2024-02-06 22:04:19 · 1294 阅读 · 0 评论 -
《C程序设计》上机实验报告(六)之函数及其应用
答:形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在函数调用结束后,形参所占用的内存单元也被释放。实参:即你调用函数时传递的参数。实参可以是常量、变量、表达式。实参与形参的类型应相同或兼容赋值;如果实参为int型而形参为float型,则按不同类型的赋值规则进行转换。形参和实参实际上占用的是两份不同的存储单元。原创 2024-02-06 21:57:10 · 2036 阅读 · 0 评论 -
《C程序设计》上机实验报告(五)之一维数组二维数组与字符数组
(4)将“if (x[i][j]>m)”改为“if (x[i][j]<m)”,再次编译、连接、运行程序,分析其功能及结果。编写一个程序,统计从键盘输入的10个字符,英文字母(不区分大小写)和数字(0~9)字符出现的次数。(4)将while循环中的str1修改为str2的运行结果,分析循环的作用。(2)先找出杨辉三角形中各行数的特点、行间数的关系,然后利用二维数组处理。(3)分析数组的定义、初始化过程,比较str1和str2赋初值的差别。学号为%d的同学物理成绩为%d数学成绩为%d都低于平均成绩的\n"原创 2024-02-01 23:05:32 · 1081 阅读 · 0 评论 -
《C程序设计》上机实验报告(四)之一维数组
用折半查找方法,在元素呈升序排列的具有15个元素的数组a中,查找值为key的那个元素的序号(即下标号)并输出,其中key值通过健盘输入。(2)若is的当前字符是一个数学字符,且假定其大小值为n,则将该数字字符替换为n+1个相关字母并存放到输出字符串os中:字符0替换为1个a,字符1替换为2个b,字符2替换为3个c,……假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。值的人民币纸币,其面值分别为:100、50、20、10、5、2、1。原创 2024-01-31 17:38:31 · 1246 阅读 · 3 评论 -
《C程序设计》上机实验报告(三) 之循环结构程序设计
do...while...感觉这个用的好少,因为能用它的地方,也都可以用while,只是某些时候用while会显得代码不那么可读的时候可以用do...while...;例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。下列程序的功能是:找出200以内最大的能被17整除,在程序的横线上填入适当内容,运行验证结果。(2)运行程序,将运行结果填入表4-2,并分析循环的次数以及continue的流程。(2)运行程序,将运行结果填入表4-3,并分析循环的次数以及continue的流程。原创 2024-01-31 10:57:54 · 1520 阅读 · 0 评论 -
《C 程序设计》 上机实验报告(二)之分支结构程序设计
为了避免浮点数比较上的误差,就要设定一个误差范围,也就是(-1e-6, 1e-6)这个范围内,如果disc落在这个范围内,就认为其等于0了。(2)switch 更适合用于多分支情况,就是有很多种情况需要判断处理,判断条件 类型单一,只有一个入口,在分支执行完后(如果没有 break 跳出),不加 判断地执行下去;从健盘输入5种算术运算符,+、-、*、/、%,再输入两个整数,对其进行对应的算术运算并输出结果,如果输入的字符不是算术运算符,则输出字符串“Input error!问:男、女、小孩各多少人?原创 2024-01-30 11:53:26 · 1290 阅读 · 1 评论 -
《C 程序设计》 上机实验报告(一)之编辑一个 C 程序的方法
掌握 Turbo C 或Visual C++ 6.0 的启动方式,了解 Turbo C 或Visual C++系统的安装路径和结构。如果出现出错信息,信息窗口中将显示错 误内容及定位错误时的语句行号,修改错误,再进行编译。(5)再编译执行纠错后的程序。(5)改变源程序中双引号内的字符串内容,重新编译和连接,并查看运行结果。在 main 函数中,输入两个整型(int)数据,判断大小,输出最大值。用中文状态下的符号,有逻辑上的错误,编译时粗心大意忘记加“;(3)编译并运行上述程序,记下所给出的出错信息。原创 2024-01-30 11:42:03 · 1270 阅读 · 0 评论 -
《算法设计与分析》实验报告(六)之装载问题
对于该问题可以拆分成两部分来看,第一部分是轮船一的最大载重问题,相当于背包问题。第二部分就是判断轮船一装剩下的是否可以装载的问题,问题需要通过判断节点i(集装箱i)的装与不装形成一个二叉树,一条到叶子节点的通路就是一种方案。问题描述:有n个集装箱要装上2艘载重量分别为C1和C2的轮船,其中集装箱i的重量为wi,且∑wi≦C1+C2。③再判断如果先不放该集装箱,再放剩下的集装箱是否可以达成最优装载。②如果剩余载重量大于该集装箱的重量,先不装入,否则装入。④利用回溯法,逐一判断集装箱,直到结束。原创 2024-01-29 22:03:03 · 612 阅读 · 0 评论 -
《算法设计与分析》实验报告(五)之背包问题
对于每一种排序结果,在背包容量内,选择量度最大的物品,继续选择次量度最大的物品,直到选到当前量度最大物品的重量大于背包剩余容量时(容不下),放入物品的一部分,这部分和背包剩余容量相等。动态规划方法的原理就是把多阶段决策过程转化为一系列的单阶段决策问题,利用各个阶段之间的递推关系,逐个确定每个阶段的最优化决策,最终堆叠出多阶段决策的最优化决策结果。在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包。原创 2024-01-29 21:58:50 · 1107 阅读 · 0 评论 -
《算法设计与分析》实验报告(四)之矩阵连乘问题
在分析问题的最优子结构性质时,所用的方法具有普遍性:首先假设由问题的最优解导出的子问题的解不是最优的,然后再设法说明在这个假设下可构造出比原问题最优解更好的解,从而导致矛盾。, pn-1* pn,求给定矩阵链的最优计算次序使得所需要的数乘次数最少。利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优解逐步构造出整个问题的最优解。递归算法求解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次。这种性质称为子问题的重叠性质。矩阵连乘计算次序问题的最优解包含着其子问题的最优解。原创 2024-01-29 21:54:31 · 727 阅读 · 0 评论 -
《算法设计与分析》实验报告(三)之循环赛日程表
分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。需要注意分治算法分解的时候,出来的自问题通常是与原问题性质相同,但规模小的子问题。分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。4、该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。原创 2024-01-29 21:48:15 · 1067 阅读 · 0 评论 -
《算法设计与分析》实验报告(二)之m钱买n鸡
因此我们将算法加以改进:即:在公鸡(x),母鸡(y)数量确定后,根据总数100只,小鸡的数量z也就确定为:z=100一x-y,无需再对小鸡的数量进行枚举,此时的约束条件:5x+3y+z/3=100 且小鸡的数量是3的倍数,这样只需枚举20*34=660次。现在假定各鸡种的价格不变,拥有的钱数为m,需要购买的鸡数为n,试求出所有可能的购买方案总数和每种方案详情。然而对于同一个问题,可以选择不同的美居范围,不同的枚举对象,这样解决问题的效率差别可能会很大。首先设n1,n2,n3分别为鸡翁、鸡母、鸡雏的数量。原创 2024-01-29 21:44:14 · 557 阅读 · 0 评论 -
《算法设计与分析》实验报告(一)之模糊数字、真假银币
该算法的思想是很简便,但是计算量很大,计算的效率很低,利用相同类似的迭代和尾递推的算法,效率大大地提高了。求出问题的解,就可以得到原问题的解了。1、 要用掌握一种算法,首先要理解它的思想,就这次实验而言,要理解分治的算法思想,分治要用递归来实现。输出:每组测试样例的结果输出占一行,第一个数字表示满足条件的编码个数,后面按升序输出所有满足条件的编码,数字与数字之间用空格隔开。输出:每组测试数据的输出占一行,输出假银币的标号,并指明它比真银币轻还是重,轻则输出light,重则输出heavy。原创 2024-01-29 21:34:20 · 919 阅读 · 0 评论 -
《C++程序设计》实验报告(四)之继承与派生、多态性与虚函数
(3)基类与各派生类中都使用了同名的成员函数display(),为避免二义性,凡调用从基类继承而来的同名函数时要使用类限定,如“person::”或“student::”等(调用本派生类的那个同名函数时则不必使用类限定)。保护继承时,基类的private成员仍为有私有.基类的public和protected成员变成派生类的protected成员,这时在派生类外也不能直接使用原基类的public成员。(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。原创 2024-01-29 18:04:37 · 1531 阅读 · 0 评论 -
《C++程序设计》实验报告(三)之 类的基本操作和运算符重载的设计与实现
面对对象方法中还有类属性的概念,类属性是描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值是相同的,C++通过静态数据成员来实现类属性。定义如下形式的类模板myTmplt,其实例化后的类对象的数据成员由三元组(x,y,z)所构成,而数据的类型则为可变化的类型T(并假设T为可比较大小的某种类型)。(2)可在学生类student中定义私有数据name、deg、level,定义带参构造函数、成员函数getname()、disp(),定义友元函数trans()(student &s)。原创 2024-01-29 17:58:15 · 1380 阅读 · 0 评论 -
《C++程序设计》实验报告(二)之简单类的设计与实现
Set类包括公有成员函数:一个默认构造函数和拷贝构造函数Set(set &s),另有成员函数empty()(将集合置空)、isempty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse()(将集合中元素逆置)。C++通过类来实现封装性,把数据和与这些数据有关的操作封装在一个类中,或 者说,类的作用是把数据和算法封装在用户声明的抽象数据类型中,在声明了一个类以后,用户主要是通过调用公用的成员函数来实现类提供的功能。原创 2024-01-29 17:43:37 · 1799 阅读 · 0 评论 -
《C++程序设计》实验报告(一)之 c++程序的运行环境和简单程序的运行
面向对象可利用框架 面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。(1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;答:可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。(4).函数重载 (5).函数模块 (6).有默认参数的函数。原创 2024-01-29 17:35:23 · 1453 阅读 · 0 评论