软基第三次上机实验报告
第三次上机实习作业及指导
第三次上机检索实习指导书外文数据库(二)本次实习目的是使学生对以下四个外文数据库:美国PQDD博士论文全文数据库、美国ACM数据库、WorldSciNet全文期刊数据库和美国ASP+BSP数据库的使用方法有所了解。
通过题目,使学生分别掌握每个数据库所提供的各种获取文献的方法,包括浏览和检索的方法,并通过各种算符的组配,以达到获取正确检索结果的目的。
一、美国PQDD博士论文全文数据库:1、用“学科导航”方式,检索有关经济历史方面的学位论文,记下论文数量和第一条记录的题名及学位授予单位。
实习指导2、查找“斯坦福大学”有关你所学专业方面的学位论文,记下论文数量和第一条记录的题名及学位授予单位。
实习指导3、检索”哈佛”大学有关你所学专业的学位论文,记下论文数量和第一条记录的题名及学位授予单位。
实习指导二、ACM数据库:1、自选一个题目,检索“美国ACM全文数据库”有关会议方面的文献, 记下第一条记录的篇名,载此文章的刊物的名称、年、卷。
实习指导2、查找作者“Alberto Faro”发表的计算机网络方面的文献,记下第一条记录的篇名,载此文章的刊物的名称、年、卷。
浏览全文,说明全文浏览器中的文本复制和位图复制的功能是什么?实习指导3、请找出该系统使用的逻辑算符、位置算符和截词算符分别用哪些词汇和符号表示。
实习指导三、WorldSciNet全文期刊数据库:1、查找一篇有关环境科学方面的文献,记下篇名,刊名、年、卷。
实习指导2、检索“计算机软件”方面的文献(时间限定为2000——2004年,检索字段为摘要,其他选项为默任状态),列出第一条记录的篇名。
浏览一下全文,说明全文浏览器中的文本选择的功能是什么?四、使用美国ASP+BSP数据库检索:中美双方关于中国参加世贸组织的谈判成功以后,美国企业对中国市场越发关注。
在著名期刊《哈佛商业评论》2000年的某一期中,有一篇文章重点介绍了美国柯达公司是如何在中国建立西方模式的股份公司的。
上机实验报告
上机实验报告实验目的,通过上机实验,掌握计算机基本操作和常用软件的使用方法,提高计算机应用能力。
一、实验内容及步骤。
1. 打开计算机,按下电源按钮,等待计算机启动完成。
2. 登录系统,输入用户名和密码,登录到计算机系统桌面。
3. 打开文档编辑软件,双击桌面上的“Microsoft Word”图标,打开文档编辑软件。
4. 编写实验报告,在文档编辑软件中,按照实验要求,编写实验报告的内容,包括实验目的、实验步骤、实验结果等。
5. 保存文档,在编写实验报告的过程中,及时保存文档,防止数据丢失。
6. 打印实验报告,完成实验报告编写后,使用打印机将实验报告打印出来。
二、实验结果及分析。
通过本次上机实验,我成功掌握了计算机的基本操作方法,包括打开计算机、登录系统、打开软件、编写文档、保存文档和打印文档等操作步骤。
在实验过程中,我遇到了一些问题,如登录密码错误、文档保存路径选择不当等,但通过老师的指导和自己的努力,最终顺利完成了实验任务。
在实验报告的编写过程中,我学会了如何使用文档编辑软件进行排版、插入图片、设置标题和页眉等操作,使得实验报告更加规范和美观。
通过打印实验报告的过程,我也掌握了打印机的基本使用方法,包括选择打印机、设置打印参数、预览打印效果等。
三、实验心得体会。
本次上机实验让我深刻认识到计算机在现代生活中的重要性,也让我意识到自己在计算机应用方面的不足之处。
通过这次实验,我不仅学会了基本的操作方法,还提高了自己的动手能力和实际操作能力。
在今后的学习和工作中,我会更加努力地学习计算机知识,提高自己的计算机应用能力,为将来的发展打下坚实的基础。
四、实验总结。
通过本次上机实验,我对计算机的基本操作和常用软件的使用方法有了更深入的了解,也提高了自己的实际操作能力。
在今后的学习和工作中,我将继续努力学习,不断提高自己的计算机应用能力,为更好地适应社会发展的需求做好准备。
以上就是本次上机实验的实验报告,谢谢老师和同学们的关心和帮助!。
计算机软件基础上机实验报告
计算机软件基础上机实验报告诚然的说以前从来没有老师以这种方式授过课。
我能感受的到,我不仅仅学习到了课本上的知识,更提高了团队合作,有效沟通,当众演说等其他方面的综合素质。
首先,上课的教材采用英文版本就让我们耳目一新,诚然以我个人的英语水平还不能完全理解教材。
经过在课堂上老师的重点剖析,能理解计算方法的基本算法思想,并能独立的编写每一个程序。
英语教材的使用也让我再次意识到英语水平的不足,以及英语学习的重要性和迫切性。
然后老师采取分组的方式进行交流,的确很契合大多数场合集体交流探讨的需要,让我们意识到团队的重要性,对今后我们的工作实践有了较好的启蒙基础,在小组内积极讨论还锻炼了我们的团队协作能力,增进了大家的情感交流,学习了不同同学好的算法思路。
采取小组回报的方式,给我们提供了一个上台发言的平台,让我们尝试着在更多人面前讲话,做PPT展示,克服胆怯的心里,锻炼了交际能力,灵活的应变能力,对今后的学习工作都有启蒙意义。
总的来说,在计算方法这门课上,我学到的东西着实很多,在上课时,积极围绕着老师的讲解思考问题,有时老师一些发人肺腑的话,也让人受益匪浅;课下我积极编程实现算法,提高了动手能力,也进一步的理解了算法的核心思想;在小组内讨论时,积极帮同学解决困惑,积极思考同学提出的新的算法思路,这些都让我受益匪浅;经过全组同学的共同努力,在小组汇报时,我抱着锻炼自己的心态积极参
加小组汇报!。
南京航空航天大学软件技术基础数据结构上机实验报告
南京航空航天大学计算机软件技术基础实践实验报告课程名称:计算机软件技术基础专题:数据结构上机实践姓名:xxx学号:xxx学院:自动化学院专业:自动化班级:xxx2013年10月目录(程序和流程图)实验一------------------------------------4第一种算法---------------------------4第二种算法---------------------------7实验二------------------------------------9线性表------------------------------9单链表------------------------------11顺序栈------------------------------14链栈---------------------------------15链列---------------------------------18实验三------------------------------------20二叉树----------------------------20实验四------------------------------------22顺序查找------------------------22二分查找------------------------24插入排序------------------------26选择排序------------------------28冒泡排序------------------------30大作业------------------------------------32通讯录---------------------------32一、实验一实验对象:顺序表。
实验目的:实现两个顺序表的合并。
实验要求:将共同拥有的元素只存其一。
思路清晰,编程正确,并将数据元素显示出来。
第三次上机报告
Visual Basic 实验报告班级:国贸0901姓名:曹龙晓学号:07092028一、实验题目:二元一次方程求根二、实验目的:更加熟练的掌握VB,应用VB三、实验内容:1、界面2、代码Private Sub Command1_Click()Text1 = ""Text2 = ""Text3 = ""End SubPrivate Sub Command2_Click()Dim a, b, c, d, x1, x2 As Singlea = Val(Text1)b = Val(Text2)c = Val(Text3)If (Abs(a) < 0.000001) ThenMsgBox ("您输入的系数a不正确")Exit SubEnd IfIf Not IsNumeric(Text1) ThenMsgBox ("您输入的系数不是数字,请重新输入") End IfIf Not IsNumeric(Text2) ThenMsgBox ("您输入的系数不是数字,请重新输入") End IfIf Not IsNumeric(Text3) ThenMsgBox ("您输入的系数不是数字,请重新输入") End Ifd = b * b - 4 * a * cIf d >= 0 Thenx1 = (-b + Sqr(d)) / (a + a)x2 = (-b - Sqr(d)) / (a + a)Label6 = x1Label7 = x2End IfIf d < 0 Thenx1 = (-b) / 2 * ax2 = Sqr(ed) / 2 * aLabel6 = x1 & "+" & x2 & "i"lbael7 = x1 & "-" & x2 & "i"End IfEnd SubPrivate Sub Command3_Click()EndEnd Sub四、实验结果:1、调试和运行:通过F8对所写的程序进行检查,同时看其运行过程2、体会和心得:通过对VB的学习我了解到了VB与代数的不同之处,它不像代数那样,有自己固定的解题方法。
第三次汇编上机作业
微机原理上机实验报告(三)
班级:学号:姓名:
实验目的
(1)掌握比较指令、转移指令在分支程序设计中的使用方法。
(2)掌握分支结构程序的组成。
(3)掌握分支程序的设计、调试方法。
(4)熟悉DOS软中断及系统功能调用。
实验内容
从键盘上输入0-10之间的三个数字,比较其大小,完成三个数从大到小排序。
数的输入写了一个过程,把输入的三个数分别存入缓冲区。
输出显示也写了一个过程,先显示提示,然后按照从大到小的顺序输入显示缓冲区的三个数字。
提示:1.请用字母按键上方的键盘输入数字(不要使用键盘右侧的小键盘键入),以防程序运行错误。
2.输入的三个数字,分别放入AL、BL和CL中。
实验要求
请画出该分支程序排序过程的流程图,并且完善空白部分的源程序并补充分号后面的注释内容。
实验数据及结果
1.该分支程序排序过程的流程图
2.完整的程序源代码以及补充分号后面的注释内容:
3.程序输入数值以及运行程序后显示的结果:
实验过程中所遇到的问题及解决办法。
软件学院上机实验报告(3篇)
实验名称:Java面向对象编程实验实验日期:2023年3月15日实验地点:软件学院实验室一、实验目的1. 理解Java面向对象编程的基本概念,包括类、对象、继承、多态等。
2. 掌握Java面向对象编程的基本语法和操作。
3. 能够运用面向对象编程思想设计简单的Java程序。
二、实验内容1. 创建一个名为“Student”的类,包含以下属性:姓名(name)、年龄(age)、性别(gender)。
2. 在“Student”类中定义一个构造方法,用于初始化对象的属性。
3. 定义一个名为“printInfo”的方法,用于打印学生的信息。
4. 创建两个“Student”对象,并分别设置其属性。
5. 调用“printInfo”方法,打印两个学生的信息。
三、实验步骤1. 打开IDEA软件,创建一个名为“Experiment1”的新项目。
2. 在项目中创建一个名为“Student”的Java类。
3. 在“Student”类中定义属性:name、age、gender。
4. 定义构造方法,初始化属性。
5. 定义“printInfo”方法,打印学生信息。
6. 在主类中创建“Student”对象,设置属性。
7. 调用“printInfo”方法,打印学生信息。
四、实验代码public class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public void printInfo() {System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + gender);}public static void main(String[] args) {Student student1 = new Student("张三", 20, "男");Student student2 = new Student("李四", 21, "女");student1.printInfo();student2.printInfo();}}```五、实验结果与分析1. 编译并运行程序,控制台输出如下信息:```姓名:张三,年龄:20,性别:男姓名:李四,年龄:21,性别:女```2. 通过本次实验,掌握了Java面向对象编程的基本概念和操作,能够运用面向对象编程思想设计简单的Java程序。
上机实验内容及实验报告要求标准范本
报告编号:LX-FS-A51995上机实验内容及实验报告要求标准范本The Stage T asks Completed According T o The Plan Reflect The Basic Situation In The Work And The Lessons Learned In The Work, So As T o Obtain Further Guidance From The Superior.编写:_________________________审批:_________________________时间:________年_____月_____日A4打印/ 新修订/ 完整/ 内容可编辑上机实验内容及实验报告要求标准范本使用说明:本报告资料适用于按计划完成的阶段任务而进行的,反映工作中的基本情况、工作中取得的经验教训、存在的问题以及今后工作设想的汇报,以取得上级的进一步指导作用。
资料内容可按真实状况进行条款调整,套用时请仔细阅读。
上机实验内容及实验报告要求一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10M硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.C文件、.OBJ文件和.EXE文件)。
3.截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用A4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.C的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对C文件的要求:程序应具有以下特点:A 可读性:有注释。
北航计软实验报告三
计算机软件基础上机实验报告(三)1.实验目的通过编程程序达到熟悉并掌握教材中所介绍的几种排序方法。
2.实验内容1)随机产生20位整数2)输入序列,编写程序,按下列排序方法将序列从小到大排序并输出。
1.冒泡排序2.快速排序3)纪录每种方法比较次数和移动次数3.源代码与运行结果#include<stdio.h>/**实验三1)随机产生20个整数(0-100)2)排序,输出(从小到大):1. 冒泡排序2. 快速排序(递归)3)纪录每种方法比较次数(com)和移动次数(mov)**/#define N 20int a[N],b[N];int num,i,j,com,mov;void quicksort(int s,int w);void main(){srand((unsigned)time(0));for (i=0;i<N;i++){num=rand()%100;a[i]=num;b[i]=num;}printf("随机数产生完成:\n");for (i=0;i<N;i++) printf("%d ",a[i]);printf("\n\n");//Part 1 冒泡排序com=0;mov=0;for (i=0;i<N;i++){for (j=0;j<N-1;j++){com++;if (a[j]>a[j+1]){num=a[j];a[j]=a[j+1];a[j+1]=num;mov+=3;}}}printf("冒泡排序完成:\n");for (i=0;i<N;i++) printf("%d ",a[i]);printf("\n比较%d次,移动%d次(交换%d次)。
\n\n",com,mov,mov/3);//Part 2 快速排序com=0;mov=0;quicksort(0,N-1);printf("快速排序完成:\n");for (i=0;i<N;i++) printf("%d ",b[i]);printf("\n比较%d次,移动%d次。
西北工业大学_计算机系统基础_实验报告_第3次
西北工业大学计算机系统基础实验报告姓名班级学号实验成绩指导教师实验名称缓冲区溢出攻击实验目的:通过使目标程序跳转到我们预定的位置执行,从而加深对IA-32函数调用规则和栈帧结构的理解。
实验工具:linux、gdb调试器、反汇编工具objdump、将16进制数转化为ASCII码的工具hex2raw。
实验要求:对一个可执行程序“bufbomb”实施一系列缓冲区溢出攻击,也就是设法通过造成缓冲区溢出来改变该可执行程序的运行内存映像,继而执行一些原来程序中没有的行为,例如将给定的字节序列插入到其本不应出现的内存位置等。
实验内容:一、Smoke(让目标程序调用smoke函数)本实验利用getbuf()函数不检查读取字符串长度的漏洞破坏该程序栈帧的返回地址从而达到对主程序造成破坏的目的。
首先用objdump指令反汇编生成bufbomb的汇编语言文本文件。
可以找到getbuf函数代码如下:080491f1 <getbuf>:80491f1: 55 push %ebp80491f2: 89 e5 mov %esp,%ebp80491f4: 83 ec 38 sub $0x38,%esp80491f7: 8d 45 d8 lea -0x28(%ebp),%eax80491fa: 89 04 24 mov %eax,(%esp)80491fd: e8 08 fb ff ff call 8048d0a <Gets>8049202: b8 01 00 00 00 mov $0x1,%eax8049207: c9 leave8049208: c3 ret位于<0x80491f7> 地址处代码为预读的字符串在栈帧创建了0x28(也就是40)字节的空间。
具体位置可以通过gdb在下一行设置断点查找 %eax 的值得到。
为了覆盖被存在返回地址上的值,我们需要读入超过系统默认40字节大小的字符串。
语言程序设计实验课程实验上机
课程实验报告课程名称:C语言程序设计专业班级:信息安全学号:姓名:指导教师:报告日期:2014年6月16日计算机科学与技术学院目录实验概述1第一次实验21.1实验目的21.2 实验内容2课本作业2Word作业31.3 实验小结6第二次实验72.1 实验目的72.2实验内容7课本作业7Word作业102.3实验小结11第三次实验113.1 实验目的113.2 实验内容12课本作业12Word 作业143.3实验小结16第四次实验174.1实验目的174.2实验内容17课本实验17Word作业184.3实验小结20第五次实验205.1实验目的205.2 实验内容21课本实验21Word作业235.1实验小结25第六次实验266.1 实验目的266.2实验内容26课本实验26Word作业466.3实验小结53实验总结54实验概述语言是程序设计的工具,而学习语言的目的就是要能够进行程序设计。
因此,要更具深度的扎扎实实打好C语言基础,能够熟练掌握编译工具:同时更加突出程序设计,培养学生用C语言编译解决本专业基础性,底层性,系统性问题的能力。
C语言是目前全球范围内流行和使用最为广泛的一种语言,选C语言作为程序设计的语言工具无疑是最合适的。
但是,学习C语言的根本目的是希望能够以C语言为工具进行程序设计。
用C编程实现计算机的解题算法或解题任务。
因此,我们在学习C 语言的同时,应该同时学好程序设计。
通过C语言的学习使自己打下良好的基础,通过上机编程了解和掌握经典算法和数据结构,并能够用C编程解决实际问题,尤其是本专业的,底层的,系统地基础性问题。
我们通过课本知识打好C语言基础,通过程序设计及编程巩固知识,更好的理解C 语言的基本语法和语义,学好用好C,同时具备语言成分,编译系统,标准库函数的设计实现问题。
本次上机除基本数据类型,数组,结构,联合字段外等构造类型外,突出介绍了各类指针,指针与数组的关系,类型表达式,复杂类型等难度较高的数据类型。
计算机软件基础上机实验报告
计算机软件基础上机实验报告实验目的:通过本次实验,掌握计算机软件的基本操作、基本编程概念以及实现方法,并能对实验结果进行分析和总结。
实验设备:计算机硬件平台和软件平台。
实验内容:1.学习使用计算机软件的基本操作。
2.学习使用计算机软件进行编程。
3.编写一个简单的计算机软件,并进行测试。
实验步骤:1.打开计算机软件,并学习基本的操作方法。
包括如何创建、保存和打开文件,如何设置字体、颜色和格式等。
2.学习基本的编程概念和语法,包括变量、函数、条件语句和循环语句等。
3.编写一个简单的计算机软件,并进行测试。
假设我们要编写一个求解一元二次方程的软件。
首先,定义一个函数来计算方程的根。
然后,在主函数中输入方程的系数,并调用函数进行计算。
最后,输出结果。
实验结果分析:通过本次实验,我学会了如何使用计算机软件进行操作和编程。
在编写一元二次方程求解软件的过程中,我遇到了一些问题,如如何处理方程无解和有多个解的情况等。
为了解决这些问题,我添加了对方程判别式的计算和判断逻辑,从而得到了正确的结果。
实验总结:本次实验让我更加深入地了解了计算机软件的基本操作和编程概念。
通过编写一个简单的计算机软件,我不仅巩固了所学的知识,还锻炼了分析和解决问题的能力。
在今后的学习和工作中,我将继续深入学习和应用计算机软件,为实现更多的功能和创造更大的价值做出贡献。
此外,我还意识到在软件开发过程中应注重错误处理和逻辑判断,确保软件的稳定性和可靠性。
以上是本次计算机软件基础上机实验的报告,通过本次实验,我对计算机软件的基本操作和编程有了更深入的了解,并在实践中掌握了一些基本的编程技巧和方法。
这将为我今后的学习和工作奠定坚实的基础。
第三次上机实验参考答案.doc
第三次上机实验参考答案1、类对象的定义【项目要求】定义一个圆类,计算圆的面积和周长。
(1)控制台应用程序的参考代码如下:namespace SY3_1{class Program{static void Main(string[] args){double r;Console.Write(”请输入圆的半径:”);r = Convert.ToDouble(Console.ReadLine());Circle cl = new Circle(r);Console.WriteLineC'圆周长={0}\n 圆面积={1}", cl.getCircumference(), cl.getAreaO);Console.ReadLine();}}class Circle{private double radius;public Circle(double r){radius = r;}图3-1 1MI类求面积和周长public double getArea(){return Math.PI * radius * radius;}public double getCircumference(){return 2 * Math.PI * radius;}〃定义一个圆类,计算圆的面积和周长。
(2)用面向对彖的思想实现Windows应用程序,用八输入圆的半径,点击计算按钮能输出圆的面积和周长。
界面如图3・2所示。
private void buttonl_Click(object sender, EventArgs e) {double r;r = Convert.ToDouble(tbRadius>Text); Circle cl = new Circle(r);tbArea.Text = cl .getArea().ToString("F2M ); tbPeri.Text = c 1 .getCircumference().ToString("F2"); }class Circle {private double radius; public Circle(double r) {radius = r; }public double getArea() {return Math.PI * radius * radius; }public double getCircumference() {return 2 * Math.PI * radius;〃用面向对彖的思想实现Windows 应用程序,用八输入圆的半径,点击计算按钮能输出圆的面积和 周长。
c 上机实验报告
c 上机实验报告C语言上机实验报告引言:计算机科学与技术专业的学生,无论是在理论课程还是实践环节,都需要学习和掌握C语言。
C语言作为一种广泛应用于系统编程和嵌入式开发的高级编程语言,具有灵活性和高效性,因此被广泛应用于各个领域。
本篇实验报告将介绍我在上机实验中所学习到的C语言知识和技巧。
实验一:基本语法和数据类型在第一次上机实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们了解了C语言的程序结构,包括头文件引用、全局变量定义、函数声明和主函数等。
同时,我们还学习了C语言的基本数据类型,如整型、字符型、浮点型等,并掌握了它们的使用方法和注意事项。
实验二:控制语句和循环结构在第二次上机实验中,我们深入学习了C语言的控制语句和循环结构。
通过编写多个程序,我们掌握了条件语句(if-else语句和switch语句)和循环语句(for循环、while循环和do-while循环)的使用方法。
这些控制语句和循环结构可以帮助我们实现程序的流程控制和逻辑判断,提高程序的灵活性和可读性。
实验三:数组和字符串在第三次上机实验中,我们学习了C语言中数组和字符串的使用。
通过编写程序,我们了解了数组的定义和初始化、数组元素的访问和修改、多维数组的使用等。
同时,我们还学习了字符串的定义和初始化、字符串的输入和输出、字符串的比较和拼接等。
数组和字符串是C语言中非常重要的数据结构,熟练掌握它们的使用方法对于编写复杂的程序非常有帮助。
实验四:函数和指针在第四次上机实验中,我们学习了C语言中函数和指针的使用。
通过编写程序,我们了解了函数的定义和调用、函数的参数传递和返回值、递归函数的实现等。
同时,我们还学习了指针的定义和初始化、指针的引用和解引用、指针的运算和指针与数组的关系等。
函数和指针是C语言中非常重要的概念和工具,熟练掌握它们的使用方法对于编写高效和灵活的程序至关重要。
实验五:文件操作和结构体在第五次上机实验中,我们学习了C语言中文件操作和结构体的使用。
计算机上机实验内容及实验报告要求doc
计算机上机实验内容及实验报告要求一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述:④源代码:⑤用户屏幕:2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
c 结构化程序设计风格:分层缩进、隔行书写。
3. 上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1. 顺序表的删除。
2.带头结点的单链表的插入。
3. 带头结点的单链表的删除。
注意:1. 每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2. 实验报告中的源代码应是通过编译链接即可运行的。
3. 提交到个人空间中的内容应是上机实验中的全部内容。
计算机实验报告计算机上机实验内容及实验报告要求课程:大学计算机基础班级: *****学号:**姓名:***组别:同组者姓名:仪器编号:实验日期:实验 windows XX 操作[实验目的]1. 掌握windows XX的启动和退出。
熟悉windows XX的桌面环境,掌握“回收站”、任务栏、帮助菜单的使用。
2. 掌握windows XX的窗口、菜单以及对话框的操作。
掌握“资源管理器”和“我的电脑”的使用。
软基上机实验报告-栈和队列(基本题)
一、程序流程说明链栈3-1:1.建立一个空链栈:将链栈的栈顶置为NULL2.进栈:新建一个链栈节点,令这个节点的数据为需要进栈的数据,然后将这个节点指向原栈顶,将栈顶重新定义为这个节点并返回。
3.出栈:首先判断链栈是否为空,如果不为空返回栈顶的下一个节点,然后释放栈顶。
4.建立链栈:建立一个空链栈后调用进栈函数将数据一个一个进栈即可。
循环队列3-2:1.置空队列:使p->front=p->rear=0即可由于循环队列的性质队头或队尾的后移需要这样定义:p->rear=(p->rear+1)%N;p->front=(p->front+1)%N;2.进队列:首先判断队列是否已满,如果没满,将数据插入队尾,然后将队尾向后移动一格。
3.出队列:首先判断队列是否为空,如果不为空,返回队头元素,并将队头向后移一格。
4.aa函数:,调用出队函数把队列q中的元素一一出队,如果是负数直接抛弃;如果是正数,则调用入队函数,插入到q的队尾。
程序代码:链栈3-1:#include<stdio.h>#include<stdlib.h>struct node{int data;//节点信息struct node *next;};//建立一个空链栈node *empty(node *top){top=NULL;return top;}//进栈函数node *pushs(node *top,int x){node *p;p=(node*)malloc(sizeof(node));p->data=x;p->next=top;top=p;return top;}//出栈函数node *pops(node *top){node *p;if(top==NULL){printf("error!\n");return NULL;}else{p=top;top=p->next;free(p);}return top;}//显示函数void show(node *top){printf("the numbers are:\n");while(top!=NULL){printf("%d ",top->data);top=top->next;}}void main(){node *top;top=(node*)malloc(sizeof(node));int x;top=empty(top);printf("insert your number!(use zero as the end)\n");scanf("%d",&x);while(x!=0){top=pushs(top,x);scanf("%d",&x);}show(top);top=pops(top);top=pops(top);printf("\nAfter twice pops\n");show(top);}循环队列3-2::#include<stdio.h>#include<stdlib.h>#define N 20#define true 1#define false 0typedef struct{int data[N];int front, rear;}node;//进队列函数int enter(node *p,int x){if(((p->rear)+1)%N==p->front)return (false);else{p->data[p->rear]=x;p->rear=(p->rear+1)%N;return (true);}}//出队列函数int out(node *p){int x;if(p->rear==p->front)return (NULL);else{x=p->data[p->front];p->front=(p->front+1)%N;}return x;}//aa函数,其功能为,调用出队函数把队列q中的元素一一出队,//如果是负数直接抛弃;如果是正数,则调用入队函数,插入到q的队尾。
软件工程上机实验报告
学生管理系统1、用例图绘制1 )用户需求需求分析1、为每个使用系统的人员设置权限。
只有通过权限验证的人才能使用系统。
2、学生可以使用该系统查询所学课程的成绩。
3、教师使用该系统完成学生成绩的录入、修改、显示和打印。
4、管理员使用系统输入学生信息、教师信息、班级信息和课程信息。
这里系统的参与者有三个,分别是:2)用例图绘制本人根据自己登陆到中南大学教务管理系统查询成绩的做法, 做出以下的用例图。
由于用例图只是给出用户所看到的的系统的功能, 一般不包括选择选项等细致的步骤。
所以本人的用教师学生 管理员参与者“学生”:使用系统的目的是查询所学课程的成绩参与者“教师”: 完成学生信息的录入、修改、显示和打印参与者“管理员” :输入学生信息、教师信息、班级信息和课程信息例图与参考的报告有所不同。
而且本人设计的系统功能仅与成绩有关,所以用例图较简单。
至于管理员的用例由于后面有些功能是相近的鉴于篇幅有限, 所以只是列举了管理学生和管理教师两个功能的扩展。
gnclinlSAA3)用例详细说明学生查询成绩用例X羊生'^<inElLjdE» ―-一•兀慢改倉码=<c-irdude>?^---~'~■悔改学生恒息«irTClude»■-\CD管理为邀塔息—杳询学牛者试成绮救师录人学生而绩 ■* 一_ ■ —一 *樓改学主成绩 打/ 娄陆 /酉隹敢师信总"• J营理学圭信思"iryilirflRAA”「..-■ it include >?■ 录人數0制吕息7VuitIL UCm匚7 -鰹改鞍师悟呂录入学牛彳岂刮 *•>删除学生信邑fT 僻敢师『言息1、 简要说明:本用例描述了学生查询课程成绩。
2、 事件流⑴1 (2) 2a 3、 特殊需求: 4、 前置条件:5、 后置条件:6、 扩展点:7、 相关数据:&问题说明:、基本流 )选择课程名称和学期 2 )点击“确定”按钮3 )系统显示对应学期该课程成绩。
上机实验内容及实验报告要求
---------------------------------------------------------------范文最新推荐------------------------------------------------------ 上机实验内容及实验报告要求上机实验内容及实验报告要求一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10M硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.C文件、.OBJ文件和.EXE文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用A4纸打印)1.格式:   ; &nbs p; 《计算机软件技术基础》上机实验报告  1 / 34; &nbs p; 用户名se××××学号姓名 学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.C的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对C文件的要求:程序应具有以下特点:A 可读性:有注释。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软基第三次上机实验报告EX3.1一、程序流程说明1)链栈结点类型定义为:typedef struct node{int data;struct node *next;}node_type;2)编写进栈函数push3)编写出栈函数pop4)编写main函数,首先建立一空链栈;调用进栈函数,将从键盘输入的数据元素逐个进栈,输入0结束;显示进栈后的数据元素;调用两次出栈函数,显示出栈后的数据元素。
二、程序代码#include<stdio.h>#include<stdlib.h>#define true 1#define false 0typedef struct node{int data;struct node*next;}node_type;typedef struct{node_type*top;int length;}lstack_type;int push(lstack_type*lp,int x){node_type*p;p=(node_type*)malloc(sizeof(node_type));if(p!=NULL){p->data=x;p->next=lp->top;lp->top=p;}elsereturn 0;}void pop(lstack_type *lp){node_type*p;if(p==NULL){return;}else{p=lp->top;lp->top=lp->top->next;free(p);}}node_type*print(node_type*head){node_type*temp;temp=head;while(temp!=NULL){printf("%d\t",temp->data);temp=temp->next;}return 0;}void main(){int i,j;i=0;j=0;lstack_type M,*lp;lp=&M;lp->top=NULL;printf("Please input the data(end by '0'):\n");scanf("%d",&i);while(i!=0){push(lp,i);scanf("%d",&i);}printf("All data is:\n");print(lp->top);printf("\n The first pop:\n");pop(lp);print(lp->top);printf("\n The second pop:\n");pop(lp);print(lp->top);}三、测试数据输入:1 2 3 4 5 6 7 8 9 0输出:All data is:9 8 7 6 5 4 3 2 1The first pop is:8 7 6 5 4 3 2 1The second pop is:7 6 5 4 3 2 1四、上机时遇到的问题无五、实际运行结果六、心得体会要熟悉栈的使用EX3.2一、程序流程1)顺序循环队列类型定义为:#define N 20typedef struct{ int data[N];int front, rear;}queue_type;2)编写循环队列出队函数dequeue3)编写循环队列入队函数enqueue4)编写函数:void aa(queue_type *q);调用出对函数把队列q中的元素一一出对列,如果是负数直接抛弃;如果是正数,则调用入队函数,插入到q的队尾。
5)编写main函数,首先建立一个队列,其中的数据元素为:{2, 3, -4, 6, -5, 8, -9, 7, -10, 20};然后调用aa函数,并将aa函数调用前后队列的数据元素分别输出到屏幕上。
二、程序代码#include "stdio.h"#define MAXNUM 20#define true 1#define false 0typedef struct{ int data[MAXNUM];int front, rear;}queue_type;int enqueue(queue_type *q, int x){ if( (q->rear+1)%MAXNUM == q->front)return(false);else{q->data[q->rear]=x; /*新元素入队尾*/q->rear=(q->rear+1)%MAXNUM; /*移rear*/return(true);}}int dequeue(queue_type *q){ if(q->rear==q->front) /*判队列是否为空*/{ printf("queue is empty");return(0); /*返回空值*/}else{q->front=(q->front+1)%MAXNUM; return(q->data[q->front-1]);}}void aa(queue_type *q){int i,j=0,k; i=dequeue(q);while(j<10){if(i>0){ enqueue(q, i);j++;i=dequeue(q);}else{j++;i=dequeue(q);}}if(q->front>q->rear){for(i=q->front;i<MAXNUM-1;i++){printf("%d ",q->data[i]);}for(i=0;i<q->rear;i++){printf("%d ",q->data[i]);}}else{for(i=q->front-1;i<q->rear;i++){printf("%d ",q->data[i]); }}}void main(){queue_type M,*lp;int i,j,a[]={2, 3, -4, 6, -5, 8, -9, 7, -10, 20};lp=&M;lp->front=0;lp->rear=0;for(i=0;i<10;i++){ enqueue(lp,a[i]);}printf("调用函数前队列元素为:\n");for(i=0;i<10;i++){printf("%d ",lp->data[i]);}printf("\n调用函数后队列元素为:\n");aa(lp);}三、测试数据调用前:2 3 -4 6 -5 8 -9 7 -10 20调用后:2 3 6 8 7 20四、上机遇到的问题始终有点小错误没有消除五、实际运行结果六、心得体会要熟悉队列的知识EX3.3:一、程序流程说明书上第12题:1、创建两个栈公用一个以为数组空间S[m],他们的栈底分别设在一维数组的两端。
2、编写函数,取栈顶元素get(i),其中i为0或1,表示堆栈号。
二、程序代码#include<stdio.h>#include<string.h>#define m 100//创建两个栈公用一个以为数组空间S[m],他们的栈底分别设在一维数组的两端。
typedef struct stack_type{int stack[m];int top1;int top2;} stacktype;//出栈int get(int i,stacktype *s){int out;if(i==0){out=s->stack[s->top1];s->top1--;return out;}else{out=s->stack[s->top2];s->top2++;return out;}}int main(){stack_type s;int data;s.top1=0;s.top2=m-1;printf("Please enter the fitst stack:\n");while(scanf("%d",&data)&&data!=0)//输入元素,以0为结束{s.stack[s.top1]=data;s.top1++;}s.top1--;printf("Please enter the second stack:\n");while(scanf("%d",&data)&&data!=0)//输入元素,以0为结束{s.stack[s.top2]=data;s.top2--;}s.top2++;printf("The top of stack1 is:%d\n",get(0,&s));printf("The top of stack2 is:%d\n",get(1,&s));return 0;}三、输入与输出Please enter the fitst stack:1 2 3 0Please enter the second stack:-4 -3 -2 -1 0The top of stack1 is:3The top of stack2 is:-1请按任意键继续. . .四、上机遇到的问题1)问题:[Error] C:\Users\Administrator\Desktop\大二学习\软基上机\未命名3.cpp:33: error: base operand of `->' has non-pointer type `stack_type'原因:主函数中不能用->代替.解决办法:将该行更改为s.stack[count]=data;2)问题:输出The top of stack1 is:5177344The top of stack2 is:-346788601原因:top在输入完成以后指向了栈顶元素的下一个解决办法:利用top1--;和top2++;来调整其指向五、实际运行结果六、心得体会无EX3.4:一、程序流程说明书上第13题:1、创建一维数组Sq[m],存储循环队列的元素2、设立标志tag,区分头尾指针相同时队列是空是满2、编写此队列相对应的入队列和出队列函数二、程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 20int tag = 0;//定义循环队列typedef struct{int data[N];int front, rear;} queue_type;//出队函数int dequeue(queue_type *q){int out;if(q->rear ==q ->front&&tag==0) printf("the queue is NULL!");else{out = q->data[q->front];q->front=(q->front+1)%N;}return(out);}//入队函数void enqueue(queue_type *q,int newnum){if(q->rear%N==q->front&&tag==1) printf("the queue is FULL!");else{q->data[q->rear]=newnum;q->rear=(q->rear+1)%N;if(q->rear<q->front)tag=0;}}//输出void showqueue(queue_type *q){int i;for(i=q->front; i!=q->rear; i=(i+1)%N)printf("%d ",q->data[i]);printf("\n");}int main(){queue_type q;int tag=0,data;q.front=0;q.rear=0;printf("enter the elements of the queue:\n");while(scanf("%d",&data)&&(data!=0))enqueue(&q,data);printf("the queue is:\n");showqueue(&q);printf("the queue is:\n");showqueue(&q);printf("deque:\n%d\n",dequeue(&q));return 0;}三、输入与输出enter the elements of the queue:1 2 3 4 5 0the queue is:1 2 3 4 5the queue is:1 2 3 4 5deque:1请按任意键继续. . .四、上机遇到的问题1)问题:[Error] C:\Users\Administrator\Desktop\大二学习\软基上机\未命名3.cpp:27: error: too few arguments to function `void enqueue(queue_type*, int)'原因:主函数调用enqueue时没有给予足够的参数,写成了enqueue(&q);解决办法:将该行更改为enqueue(&q,data);五、实际运行结果六、心得总结有了上一次编写链表题的经验以后,这次上机要顺利许多。