软基第五次上机实验报告
计算机软件基础上机报告

《计算机软件工程基础》实验报告学院:机电工程学院班级:学号:姓名:目录⏹《软件开发技术基础》 (1)⏹实验报告 (1)⏹实验一线性表的操作(2学时,上机) (3)⏹实验二栈的操作(2学时,自学) (7)⏹实验三队列的操作(2学时,自学) (11)⏹实验四树和二叉树的操作(2学时,自学) (18)⏹实验五查找算法实现(2学时,上机) (22)⏹实验六排序综合实验(4学时,上机) (26)实验一线性表的操作(2学时)班级学号姓名第周星期、节成绩实验类型:验证性实验要求:必修实验学时:2学时一、实验目的:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法。
二、实验要求:1、掌握线性表顺序表类和链表类的特点。
掌握线性表的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。
3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。
四、要求:1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。
2)写出完整的程序并能调试通过即可五、实验原理:(1)线性表在顺序存储下的插入运算①首先处理以下3种异常情况:当存储空间已满(n=m)时为“上溢”错误,不能进行插入,算法解释。
当i>n时认为在最后一个元素之后(第n+1个元素之前)插入。
当i<1时认为在第一个元素之前插入。
②从最后一个元素开始,直到第i个元素,其中每一个元素均往后一点一个位置。
③最后将新元素插入到第i个位置,并将线性表的长度增加1。
(2)线性表在顺序存储下的删除运算①首先出来以下2种异常情况:当线性表为空(n=0)时为“上溢”错误,不能进行插入,算法结束。
《软件技术基础》上机实验报告范文

《软件技术根底》上机实验报告范文今天为大家收集资料回来了关于实验的范文,希望能够为大家带来帮助,希望大家会喜欢。
同时也希望给你们带来一些参考的作用,如果喜欢就我们的后续更新吧!1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时效劳器将关闭。
1.格式:《计算机软件技术根底》上机实验报告用户名se×××× 学号姓名学院① 实验名称:② 实验目的:③ 算法描述(可用文字描述,也可用流程图):④ 源代码:(.c的文件)⑤ 用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
c 构造化程序设计风格:分层缩进、隔行书写。
3. 上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!0.顺序表的插入。
1. 顺序表的删除。
2.带头结点的单链表的插入。
3. 带头结点的单链表的删除。
注意:1. 每个人只需在实验报告中完成上述4个工程中的一个,详细安排为:将自己的序号对4求余,得到的数即为应完成的工程的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2. 实验报告中的源代码应是通过编译链接即可运行的。
3. 提交到个人空间中的内容应是上机实验中的全部内容。
软基第五次上机实验报告

软基第五次上机实验报告EX5_1一、程序流程设有序序列的数据元素为: (3, 10, 13, 17, 40, 43, 50, 70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5), 分别调用两种查找函数, 输出结果。
数据结构描述: 二分查找二、程序代码:#include<stdio.h>#include<stdlib.h>#define N 20void search_sequence(int *a,int x){int i;for(i=0;a[i+1]!=0;i++)if (a[i]==x) {printf("Location:%d\n",i);return;}if (a[i+1]==0) printf("Can not find!\n");}void search_dichotomy(int *a,int x){int i=-1,length,head,trail,p;while(a[++i]!=0);length=i;head=0;trail=length-1;while(head<trail){p=(head+trail)/2;if (a[p]<x) head=p+1;else if (a[p]>x) trail=p-1;else {printf("Location:%d\n",p);return;}}printf("Can not find!\n");}void main(){int a[]={3,10,13,17,40,43,50,70,0};printf("顺序查找43和5: \n");search_sequence(&a,43);search_sequence(&a,5);printf("二分查找43和5: \n");search_dichotomy(&a,43);search_dichotomy(&a,5);}三、典型测试数据1: 3, 10, 13, 17, 40, 43, 50, 70四上机时遇到的问题:1、文件头缺失解决办法: 添加#include<stdlib.h>五、实际运行结果:六、个人体会: 在此次实验中让我更深的认识到了顺序查找。
软基上机实验报告-顺序表

一、实验项目名称:ex1_1——基本题:1)首先创建一个顺序表:从键盘读入一组整数(长度小于等于20),按输入顺序放入顺序表,输入以-1结束(注意-1不放到顺序表内);将创建好的顺序表元素依次输出到屏幕上。
2)在已创建好的顺序表中插入一个元素:从键盘读入需插入的元素值和插入位置,调用插入函数完成插入操作;然后将顺序表元素依次输出到屏幕上。
3)在已创建好的顺序表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作;然后将顺序表元素依次输出到屏幕上。
软件技术基础实验table.cpp二、程序代码#include "stdafx.h"#include "mystruct.h"#include "ui.h"/******************************************************************************************* ** Function name: init_table()** Descriptions : 初始化顺序表,顺序表利用数组作为基础,其特点是需要事先获得全部元素空间,因此本函数的主要功能就是向系统申请足够的空间作为顺序表的存储空间。
涉及的系统函数为:malloc()** 此外,良好的习惯是将空间内的各项数据进行适当的初始化** Input: NONE** Output: NONE** return: 类型:table_t *,返回顺序表的结构指针** Created by :** Created Date :**-------------------------------------------------------------------------** Modified by :** Modified Date:**-------------------------------------------------------------------------*******************************************************************************************/ table_t * init_table( ){table_t * t;t=(table_t *)malloc(sizeof(table_t));t->length = 0;return t;}/******************************************************************************************* ** Function name: free_table()** Descriptions : 释放顺序表空间** 当程序结束时会通过本函数来释放通过malloc获得的顺序表空间** Input: table_t * t; 顺序表指针** Output: NONE** return: 类型:void** Created by :** Created Date :**------------------------------------------------------------------------------------------** Modified by :** Modified Date:**------------------------------------------------------------------------------------------*******************************************************************************************/ void free_table(table_t * t){free(t);}/******************************************************************************************* ** Function name: get_table()** Descriptions : 查询顺序表** 查询顺序表中第i个元素** Input:** table_t * table; 顺序表指针** int index; 查询位置,即第i个元素** Output:** element_t * elem; 元素域指针,用来存放被查询到的元素内容,** (注意,需要将元素全部内容拷贝到该指针所记录的空间中,即,使用memcpy())** return: 类型:int,返回查询是否成功,为0表示找到指定元素,为-1表示没有找到,一般是因为** index指示的位置超出了顺序表的范围** Created by :** Created Date :**-------------------------------------------------------------------------** Modified by :** Modified Date:**-------------------------------------------------------------------------*******************************************************************************************/ int get_table(table_t * table,int index, element_t * elem){//判断index是否超出顺序表范围if(index <= 0 || index > table->length){return -1;}//复制元素内容到指定空间中;memcpy(elem,&(table->data[index-1]),sizeof(element_t));//errorreturn 0;}/******************************************************************************************* ** Function name: add_table()** Descriptions : 将指定元素放入到顺序表的末尾** Input:** table_t * table; 顺序表指针** element_t data; 待放入的元素** Output:** table_t * table; 添加新元素后的顺序表指针** return: 类型:int; 为-1表示放入失败,一般是因为顺序表已经放满,为0表示正确放入** Created by :** Created Date :**-------------------------------------------------------------------------** Modified by :** Modified Date:**-------------------------------------------------------------------------*******************************************************************************************/ int add_table(table_t * table, element_t data){table->data[table->length] = data;table->length ++;return 0;}/******************************************************************************************* ** Function name: insert_table()** Descriptions : 将指定元素插入到顺序表的指定位置之前** Input:** table_t * table; 顺序表指针** element_t data; 待放入的元素** int location; 插入位置,语义是:第X个元素前,,当location大于链表元素总数时,该元素** 将插入到表尾。
计算机软件技术基础上机实验报告

return h;
}
pushls(slnode *h,int x)/*把数据元素插入栈中*/
{slnode *p;
p=(slnode *)malloc(sizeof(slnode));
p->data=x;
p->next=h->next;
h->next=p;
j++;}
if(j!=i-1)
{printf("i is invalid!");return 0;}
else
{if(p->next==null)
{ printf("i is invalid!");
return 0;}
else
{ s=p->next;
p->next=s->next;
free(s);
return h;}
{p=h->next;
h->next=p->next;
ch=p->data;
printf("%5d",ch);}
printf("\n");
}
三、队
3.1顺序队
实验内容:队的顺序存储结构的定义、创建、插入和删除,
将数据元素显示出来。
源程序
#include<stdio.h>
#define max 10
typedef struct
/*在第i个结点处插入数据元素x*/
{slnode *p,*s;
int j;p=h;j=0;
while(p->next!=null&&j<i-1)
最新C语言程序设计-第5次上机Yoki汇总

C语言程序设计-第5次上机Y o k iC语言程序设计实验报告班级 CS1109 日期 2012,5,31学生姓名雷霞学号 U201114439第 5 次上机实验结构与联合(一) 实验目的(1)熟悉和掌握结构的说明和引用、结构的指针、结构数组、以及函数中使用结构的方法。
(2)掌握动态储存分配函数的用法,掌握自引用结构,单向链表的创建、遍历、结点的增删、查找等操作。
(3)了解字段结构和联合的用法。
(二) 实验内容及要求1.表达式求值的程序验证设有说明:char u[]="UVWXYZ";char v[]="xyz";struct T{int x;char c;char *t;}a[]={{11,ˊAˊ,u},{100, ˊBˊ,v}},*p=a;请先自己计算表2.1中表达式的值,然后编写程序并运行来加以验证。
(各表达式相互无关)源程序:#include<stdio.h>#include<stdlib.h>char u[]="UVWXYZ";char v[]="xyz";struct T{int x;char c;char *t;}a[]={{11,'A',u},{100,'B',v}},*p=a;void main(void){printf("%d\t",(++p)->x);p=a; /*开始时错误地写作*p=a*/printf("%c\t",(p++,p->c));p=a;printf("%c\t",(*p++->t,*p->t));p=a;printf("%c\t",*(++p)->t);p=a;printf("%c\t",++*p->t);p=a;printf("%c\t",*++p->t); /*该表达式会改变t的指向,所以将其写在后面*/system("pause");}运行结果:2.源程序修改、替换下面所给源程序的功能是:给定一批整数,以0作为结束标志且不作为结点,将其建成一个先进先出的链表。
计算机软件基础上机实验报告

计算机软件基础上机实验报告诚然的说以前从来没有老师以这种方式授过课。
我能感受的到,我不仅仅学习到了课本上的知识,更提高了团队合作,有效沟通,当众演说等其他方面的综合素质。
首先,上课的教材采用英文版本就让我们耳目一新,诚然以我个人的英语水平还不能完全理解教材。
经过在课堂上老师的重点剖析,能理解计算方法的基本算法思想,并能独立的编写每一个程序。
英语教材的使用也让我再次意识到英语水平的不足,以及英语学习的重要性和迫切性。
然后老师采取分组的方式进行交流,的确很契合大多数场合集体交流探讨的需要,让我们意识到团队的重要性,对今后我们的工作实践有了较好的启蒙基础,在小组内积极讨论还锻炼了我们的团队协作能力,增进了大家的情感交流,学习了不同同学好的算法思路。
采取小组回报的方式,给我们提供了一个上台发言的平台,让我们尝试着在更多人面前讲话,做PPT展示,克服胆怯的心里,锻炼了交际能力,灵活的应变能力,对今后的学习工作都有启蒙意义。
总的来说,在计算方法这门课上,我学到的东西着实很多,在上课时,积极围绕着老师的讲解思考问题,有时老师一些发人肺腑的话,也让人受益匪浅;课下我积极编程实现算法,提高了动手能力,也进一步的理解了算法的核心思想;在小组内讨论时,积极帮同学解决困惑,积极思考同学提出的新的算法思路,这些都让我受益匪浅;经过全组同学的共同努力,在小组汇报时,我抱着锻炼自己的心态积极参
加小组汇报!。
计算机第五次实习报告

高级语言课程设计5. 字符串院系名称:地球物理与信息工程学院专业名称:计算机科学与技术学生学号: 2012011357学生姓名:蒲永霞学生序号:39完成日期2013年 7月 8 日高级语言课程设计实习报告一、实习目的:通过这次实习,复习并且巩固了有关字符串的编程,同时掌握文件的编程,将文件与字符串的有关知识相结合,提高编程能力。
二、1.代码及注释。
#include<string>#include<stdio.h>#define N 100/*函数功能:判断bstr是否包含astr*/void stringoperation(char astr[],char bstr[]){int k=0;int m=0;int i,j;char c[N];for(i=0;astr[i]!='\0';i++)k++;//先找出astr的字符串长度for(i=0;bstr[i]!='\0';i++){if(bstr[i]==astr[0])//如果bstr中有一个字符同astr的第一个字符相同,则继续向后判断{m=0;for(j=i;j<k+i;j++)//需要判断的区间为【i,i+k】{c[m]=bstr[j];//将上述区间内bstr的字符存到一个新的字符数组中m++;}c[m]='\0';if(strcmp(astr,c)==0)//判断此二者是否相等{puts(astr);puts(bstr);printf("串A在串B中第一次出现的位置:") ;printf("第%d单词\n,i+1");break;}else{printf(“两个字符串不相等\n”)}}}int main(){char astr[N];char bstr[N];printf("请输入字符串a:\n");gets(astr);//输入字符串存入字符指针astr所指向的内存printf("请输入字符串b:\n");gets(bstr);//输入字符串存入字符指针bstr所指向的内存stringoperation(astr,bstr);//判断是否bstr包含astrreturn 0;}}2题代码#include<stdio.h>#include<string.h>#include <stdlib.h>#define N 50void main(){char astr[N],bstr[N];//定义两个字符数组,用来存放字符串char cstr1[N]="",cstr2[N]="";int i, j, m, n,word = 0, max = 0, k = 0;int flag = 1;char c1,c2;printf("请输入字符串a:");gets(astr);//输入字符串指针astr所指的内存printf("\n请输入字符串b:");gets(bstr);//输入字符串指针bstr所指的内存for (i=0;(c1=astr[i])!='\0';i++)//遍历字符串astr,用循环方式,记录c1=astr[i] {for (j=0;(c2=bstr[j])!='\0';j++) //遍历字符串bstr{if (c1 == c2) //如果发现字符串astr和字符串bstr中有相同的字符{k = 0;word = 0;cstr1[k] =c1;//cstr用来存放相同部分的字符串m=i+1;n=j+1;word++;//记录字符多少k++;do{if (astr[m]==bstr[n])//继续寻找相同字符{cstr1[k]=astr[m];word++;}else break;m++;n++;k++;}while(((c1=astr[m])!='\0') && ((c2=bstr[n])!='\0'));while(flag){if(((c1=astr[m])!='\0')&&((c2=bstr[n])!='\0')&&(astr[m]==bstr[n]))//当且仅当有相同字符时,astr和bstr才进行循环{cstr1[k]=astr[m];word++;m++;n++;}else flag = 0;}if (word >= max) //找最大的子字符串{max = word;strcpy(cstr2,cstr1);//将cstr1复制给cstr2}}}}if(max!=0){printf("\n串a和串b有相同的字母% d 个,\n它们是:", max);puts(cstr2);}else{printf("\n串a和串b没有相同的字母\n");}}2.设计及调试过程遇到的问题及解决方案这个程序,问题最多还是文件部分的编写,这是第二次编写有关文件的部分,虽然说前面已经处理过一次,有些问题很容易知道怎么回事,但在这次编写的部分,又会有新问题出现,没有老师的帮助只能把程序发给同学,帮忙修改,或着百度解决。
计算机科学与技术第5次实验报告

哈尔滨工程大学《程序设计基础》实验报告基础实践一*名:*级:学号:实验时间: 2018 年 5 月10 日哈尔滨工程大学计算机基础课程教学中心实验题目1:输入两个整数数组,每个数组有五个整数,将两者和并并排列输出。
设计思想:定义三个数组,将两组数据存储到第三个数组中,再用冒泡排序对其由大到小排序并输出。
实验代码及注释:#include <stdio.h>#include <stdlib.h>#define N 10//宏定义int main(){int a[5],b[5],c[N];//第一组数据,第二组,合并数组int i,j,t;//循环变量,中间变量printf("输入第一组数据:\n");//输入数据for(i=0;i<5;i++)scanf("%d",&a[i]);printf("输入第二组数据:\n");for(i=0;i<5;i++)scanf("%d",&b[i]);for(i=0;i<5;i++){c[i]=a[i];//两组数据合并c[i+5]=b[i];}for(i=0;i<N-1;i++)//冒泡排序从大到小{for(j=0;j<N-i-1;j++){if(c[j]<c[j+1]){t=c[j];c[j]=c[j+1];c[j+1]=t;}}}printf("合并并由大到小排列后数据为:\n"); for(i=0;i<10;i++)printf("%d\t",c[i]);//排序:冒泡,选择,return 0;}验证与结论:总结与心得体会:数组合并比较简单但要防止数组越界,数组存储数据是从第0位开始,故要多加注意。
冒泡选择是最基础的排序算法必须掌握。
实验题目2:某公司生成5种产品,每周记录生产的每种产品数量和销售数量。
南京航空航天大学软件技术基础数据结构上机实验报告

南京航空航天大学计算机软件技术基础实践实验报告课程名称:计算机软件技术基础专题:数据结构上机实践姓名:xxx学号:xxx学院:自动化学院专业:自动化班级:xxx2013年10月目录(程序和流程图)实验一------------------------------------4第一种算法---------------------------4第二种算法---------------------------7实验二------------------------------------9线性表------------------------------9单链表------------------------------11顺序栈------------------------------14链栈---------------------------------15链列---------------------------------18实验三------------------------------------20二叉树----------------------------20实验四------------------------------------22顺序查找------------------------22二分查找------------------------24插入排序------------------------26选择排序------------------------28冒泡排序------------------------30大作业------------------------------------32通讯录---------------------------32一、实验一实验对象:顺序表。
实验目的:实现两个顺序表的合并。
实验要求:将共同拥有的元素只存其一。
思路清晰,编程正确,并将数据元素显示出来。
武汉理工大学软件工程基础试验第五次试验报告

实验五UML系统分析与设计----UML建模案例实验5-1 用例图设计实验5-2 类和对象图设计实验5-3 交互图设计实验5-4 状态图设计实验5-5 活动图设计实验5-1用例图设计一、实验目的掌握在EA中用例图的基本用法和使用技巧。
二、实验内容与要求本实验给予某学校的网上选课系统的用例图的设计和实现。
需求描述如下:某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开设的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
分析:本系统拟用三层模型实现:数据核心层、业务逻辑层和接入层。
其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;而接入层包括用户界面,包括系统登陆界面、管理界面、用户选择界面等。
本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者^^卜而管理员和学生从people 统一派生。
数据库管理系统是另外一个活动者。
系统事件:添加课程事件:(1)管理员选择进入管理界面,用例开始。
(2)系统提示输入管理员密码。
(3)管理员输入密码。
(4)系统验证密码。
(5)A1密码错误(6)进入管理界面,系统显示目前所建立的全部课程信息。
(7)管理员许恩泽添加课程。
(8)系统提示输入新课程信息。
(9)管理员输入信息。
(10)系统验证是否和已有课程冲突。
(11)A2有冲突。
(12)用例结束。
其他事件:A1密码错误(1)系统提示再次输入。
(2)用户确认。
(3)三次错误,拒绝再次访问。
(4)否则进入添加课程事件第6步。
A2有冲突(1)系统提示冲突,显示冲突课程信息。
(2)用户重新输入。
(3)继续验证直到无冲突。
《数据结构》上机作业——实验报告(五)[推荐]
![《数据结构》上机作业——实验报告(五)[推荐]](https://img.taocdn.com/s3/m/b4e8d97ec950ad02de80d4d8d15abe23482f032f.png)
《数据结构》上机作业——实验报告(五)[推荐]第一篇:《数据结构》上机作业——实验报告(五)[推荐]“计算机软件技术基础”课程实验报告(五)实验名称:排序算法班级_______ 姓名__________ 学号______实验日期:实验机时:3 学时实验成绩:-----------------一.实验目的:1、掌握主要排序算法的思想和实现技术。
二.实验内容:1、设计一程序,要求:输入学生“软件技术基础”课的成绩(学号、姓名、平均成绩、总学分);按总学分对学生数据进行排序。
(要求:实现任选3种排序算法)三.程序:1、程序规范(输入数据、功能、输出数据)2、设计分析(数据表示、算法)3、C源代码(电子版)四.程序调试:第二篇:《数据结构》上机作业——实验报告(六)“计算机软件技术基础”课程实验报告(六)实验名称:数据库及SQL语言班级_______ 姓名__________ 学号______实验日期:实验机时:3 学时实验成绩:-----------------一.实验目的:1、学习数据库设计的一般过程及相关技术;2、学习access数据库管理系统;3、掌握数据库的输入、查询、更新操作。
二.实验内容:1、需求陈述:某校图书馆要建立一个图书数据管理系统。
该图书馆的图书(书名、分类号、作者、出版社)存放在不同的借阅室(室名),读者(姓名、系名、类别)在书架上找到所需图书后,可以到服务台办理借阅(借阅时间)。
设计要求:λ分析需求,建立数据库的概念模型;λ将概念模型转换为关系模型(注意:是否需要作规范化处理);λ写出创建基本表的SQL语句;λ写出以下查询要求的SQL语句:(1)所有“高等数学习题集”书的信息;(2)读者“李林”借了什么书?(3)“社会学原理”在哪个借阅室?2、在access数据库管理系统中建立所设计的关系表;3、向各表中输入一组实验数据(元组)(注意:关系完整性);4、对数据库进行查询。
三.实验结果:1、实体-关系图;2、数据库表;3、创建基本表的语句;4、查询语句。
Matlab上机实验(第四次和第五次)

Matlab 上机实验(第四次和第五次)要求:每次上机要签到,以下题目在第四次上机时以电子版形式交到共享文件夹中,共享文件夹位置见公共邮箱。
上交电子文档的文件名按照专业班级学号姓名顺序给出,比如应用电子0701班李伟文(学号3106002803)上交的文件名为:应电0701班3106002803李伟文。
上机地点:信息学院机房404,406。
1.设,求>> syms x;f=x*exp(2*x);diff(f,x,20)ans = 10485760*exp(2*x)+1048576*x*exp(2*x)2.设,求>> syms x;f=sin(x).^4+cos(x).^4;diff(f,x,10)ans =1572864*sin(x)^2*cos(x)^2-262144*cos(x)^4-262144*sin(x)^43.设,求>> syms x y;z=y^4*sin(x)^4+x^4*cos(y)^4;diff(z,x)ans =4*y^4*sin(x)^3*cos(x)+4*x^3*cos(y)^44.⎰++dx x x x ))(1(122>> syms x;f=((x^2+1)*(x^2+x))\1;int(f,x)ans = log(x)-1/2*log(x+1)-1/4*log(x^2+1)-1/2*atan(x)5.dx x x ⎰-632)9(>> syms x;f=x^6\(9-x^2)^(2\3);int(f,x)ans =-1/45/x^5*(9-x^2)^(5/2)6.⎰+213x x dx >> syms x;f=(x+x^3)\1;int(f,x,1,2)ans = 3/2*log(2)-1/2*log(5)7.求级数的和: ∑∞=+122n n n (利用帮助,查找symsum )>> syms n;symsum(2^n\(n+2),1,inf)ans =48.利用函数int 计算二重不定积分 >> syms x y;z=(x+y)*exp(-x*y);t=int(int(z,x),y)t =x*Ei(1,x*y)+x*(1/x/y*exp(-x*y)-Ei(1,x*y))+1/x*exp(-x*y)9.设方程(1)0)cos(3=+a x ,(2)0)cos(3=+x x 及(3)0)cos(3=+ax x ,用符号运算工具箱函数solve 分别求x 的解。
软件学院上机实验报告(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 可读性:有注释。
第五次大数据结构上机实验报告材料

图用0和1表示是否相邻,对于有向图有向网用权值类型表示InfoType* info; //该弧相关信息的指针}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedef struct {//点的值char name;char* data;}VertexType[MAX_VERTEX_NUM];typedef struct{VertexType vexs; //顶点向量AdjMatrix arcs; //邻接矩阵int vexnum; //图的当前顶点数int arcnum; //图的当前弧数GraphKind kind; //图的种类标志}MGraph;//***********************以下操作默认是无向网,即Kind = AG**************************//***********************顶点是名称字母。
书上的是数字,例如v************************Status LocateVex(MGraph G,char u){if(G.vexnum == 0) return -1; //图不存在int i;for(i = 0;i < G.vexnum;i++)if(G.vexs[i].name == u)return i;return -2; //图中不存在与u相等的点}Status CreateGraph(MGraph& G){int i,j,k;VRType w;char v1,v2;char data[50];cout << "你想要创建几个顶点? " << endl;cin >> G.vexnum;cout << "你想要创建几条弧? " << endl;cin >> G.arcnum;cout << "依次输入顶点名称:" << endl;for(i = 0;i < G.vexnum;i++)cin >> G.vexs[i].name; //构造顶点向量for(i = 0;i < G.vexnum;i++)for(j = 0;j < G.vexnum;j++){G.arcs[i][j].adj = INFINITY; //初始化邻接矩阵G.arcs[i][j].info = NULL;}for(k = 0;k < G.arcnum;k++){ //构造邻接矩阵cout << "输入一条边依附的两个顶点: ";cin >> v1 >> v2;cout << "输入这条边的权值: " << endl;cin >> w;cout << "输入这条边的信息: " << endl;cin >> data;i = LocateVex(G,v1);j = LocateVex(G,v2);G.arcs[i][j].adj = w;G.arcs[i][j].info = data;G.arcs[j][i] = G.arcs[i][j];}return 1;}Status DestroyGraph(MGraph& G){G.vexnum = NULL;G.arcnum = NULL;return 1;}char* GetVex(MGraph G,char v){if(G.vexnum == 0) return NULL;int i;i = LocateVex(G,v);if(i >= 0) //判断是否是图上的顶点,后面的函数省略了这一步return G.vexs[i].data;elsereturn NULL;}Status PutVex(MGraph& G,char v,char* value){if(G.vexnum == 0) return 0;int i;i = LocateVex(G,v);G.vexs[i].data = value;return 1;}//VertexType FirstAdjVex(MGraph G,char v) {}//返回第一个邻接顶点,邻接表操作//VertexType NextAdjVex(MGraph G,char v,char w) {} //邻接表操作Status InsertVex(MGraph& G,char v){if(G.vexnum == 0) return 0;int i;G.vexs[G.vexnum].name = v;G.vexnum++;for(i = 0;i < G.vexnum;i++){G.arcs[i][G.vexnum - 1].adj = INFINITY;G.arcs[G.vexnum - 1][i].adj = INFINITY;}return 1;}Status DeleteVex(MGraph& G,char v){if(G.vexnum == 0) return 0;int i,j,k;k = LocateVex(G,v);for(i = 0,j = 0;i < G.vexnum;i++)if(G.arcs[i][k].adj != INFINITY)j++;for(i = k;i < G.vexnum - 1;i++)G.vexs[i] = G.vexs[i+1];G.vexs[i].name = NULL;G.vexs -> data = NULL;G.vexnum--;G.arcnum = G.arcnum - j;return 1;}Status InsertArc(MGraph& G,char v,char w){ if(G.vexnum == 0) return 0;int i,j;VRType q;char data[50];i = LocateVex(G,v);j = LocateVex(G,w);cout << "输入这条边的权值: " << endl;cin >> q;cout << "输入这条边的信息: " << endl;cin >> data;G.arcs[i][j].adj = q;G.arcs[i][j].info = data;G.arcs[j][i] = G.arcs[i][j];G.arcnum = G.arcnum + 2;return 1;}Status DeleteArc(MGraph& G,char v,char w){if(G.vexnum == 0) return 0;int i,j;i = LocateVex(G,v);j = LocateVex(G,w);G.arcs[i][j].adj = INFINITY;G.arcs[i][j].info = NULL;G.arcs[j][i] = G.arcs[i][j];G.arcnum = G.arcnum - 2;return 1;}Status Print(MGraph G){int i,j;for(i = 0;i < G.vexnum ;i++){for(j = 0;j < G.vexnum ;j++)cout << G.arcs [i][j].adj << " ";cout << endl;}return 1;}int main(){int j;char i,c,d;MGraph G;CreateGraph(G);cout << "此时矩阵为: " << endl;Print(G);cout << "输入i::";cin >> i;j = LocateVex(G,i);cout << "i为第"<< j+1 << "个顶点" << endl;cout << "为两个点添加边,输入添加边的两个顶点: " << endl;cin >> c >> d;InsertArc(G,c,d);cout << "此时矩阵为: " << endl;Print(G);DeleteArc(G,c,d);cout << "添加顶点V;" << endl;cout << "此时矩阵为: " << endl;Print(G);c = 'V';InsertVex(G,c);cout << "此时矩阵为: " << endl;Print(G);cout << "删除顶点B;" << endl;d = 'B';DeleteVex(G,d);cout << "此时矩阵为: " << endl;Print(G);DestroyGraph(G);return 0;}运行结果:2、题目:2. 哈夫曼树的建立。
语言程序设计实验课程实验上机

课程实验报告课程名称: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.编写一个简单的计算机软件,并进行测试。
假设我们要编写一个求解一元二次方程的软件。
首先,定义一个函数来计算方程的根。
然后,在主函数中输入方程的系数,并调用函数进行计算。
最后,输出结果。
实验结果分析:通过本次实验,我学会了如何使用计算机软件进行操作和编程。
在编写一元二次方程求解软件的过程中,我遇到了一些问题,如如何处理方程无解和有多个解的情况等。
为了解决这些问题,我添加了对方程判别式的计算和判断逻辑,从而得到了正确的结果。
实验总结:本次实验让我更加深入地了解了计算机软件的基本操作和编程概念。
通过编写一个简单的计算机软件,我不仅巩固了所学的知识,还锻炼了分析和解决问题的能力。
在今后的学习和工作中,我将继续深入学习和应用计算机软件,为实现更多的功能和创造更大的价值做出贡献。
此外,我还意识到在软件开发过程中应注重错误处理和逻辑判断,确保软件的稳定性和可靠性。
以上是本次计算机软件基础上机实验的报告,通过本次实验,我对计算机软件的基本操作和编程有了更深入的了解,并在实践中掌握了一些基本的编程技巧和方法。
这将为我今后的学习和工作奠定坚实的基础。
《大学计算机基础》上机实验报告

《大学计算机基础》上机实验报告班级:姓名:学号:授课教师:日期:年月日目录一、Windows操作系统基本操作 ............................. - 1 -二、Word文字处理基本操作 ................................ - 4 -三、Excel电子表格基本操作 ............................... - 6 -四、PowerPoint幻灯片基本操作 ............................ - 8 -五、网页设计基本操作..................................... - 9 -六、Access数据库基本操作 ............................... - 10 -上机实验作业要求:○1在实验报告纸上手写并粘贴实验结果;○2每人将所有作业装订在一起(要包封面);○3全部上机实验结束后全班统一上交;○4作业内容不得重复、输入的数据需要有差别。
实验名称一、Windows操作系统基本操作实验目的1、掌握Windows的基本操作方法。
2、学会使用“画图”和PrntScr快捷键。
3、学会使用“计算器”和Word基本操作。
实验内容1、日历标注利用“画图”和Word软件,截取计算机上日历的图片并用文字、颜色、图框等标注出近期的节假日及其名称,并将结果显示保存在下面(参考下面样图)。
运行结果是:主要操作步骤是:2、科学计算利用“计算器”和Word软件,计算下列题目,并将结果截图保存在下面(参考样图)。
○1使用科学型计算器,求8!、sin(8)、90、74、20、67、39、400、50.23、ln(785)的平均值、和值,并用科学计数法显示。
运行结果是:②将以下十、八、十六进制数转换为二进制数:(894.8125)10、(37.5)8、(2C.4B)16运行结果是:(需要下载使用“唯美计算器”)○3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011运行结果是:(参考样图)写出主要操作步骤:3、实验心得体会实验名称二、Word文字处理基本操作实验目的1.熟练应用Word进行排版;2.熟练掌握表格操作和快捷键。
软基上机实验报告-查找与排序(基础题)

ex5_1:查找——基本题假设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。
试验程序代码:Ex.1#include<stdio.h>#define N 8int seq_search(int s[],int k)//顺序查找,返回序号{int i;i=0;while(s[i]!=k){i++;}if(i<N){printf("searching success");return i;}else{printf("\tsearching failed\n");return (-1);}}int bin_search(int s[],int k)//二分查找,返回序号{int low,high,mid;high=N-1;low=0;while(low<=high){mid=(low+high)/2;if(s[mid]==k){printf("searching success");return(mid);}else if(s[mid]<k){low=mid+1;}elsehigh=mid-1;}printf("\tsearching failed");return (-1);}void main(){int s[N]={3,10,13,17,40,43,50,70};int k1=43,k2=5;int t;printf("using the seq_search :\n\t");printf("k=43:\t");t=seq_search(s,k1);if(t!=-1)printf("\t%d\n",s[t]);printf("\tk=5:\t");t=seq_search(s,k2);if(t!=-1)printf("\t%d\n\n",s[t]);printf("using the bin_search :\n\t");printf("k=43:\t");t=bin_search(s,k1);if(t!=-1)printf("\t%d\n",s[t]);printf("\tk=5:\t");t=bin_search(s,k2);if(t!=-1)printf("\t%d\n",s[t]);}七、实验结果:八,上机问题:(1)在哈希表建立的时候,在编写输入循环函数时,条件为while(n>0), 却不能按照所想的输入名字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软基第五次上机实验报告EX5_1一、程序流程设有序序列的数据元素为: (3,10,13,17,40,43,50, 70)1) 编写顺序查找函数2) 编写二分查找函数3) 在主程序中输入关键字( 43 和 5),分别调用两种查找函数,输出结果。
数据结构描述:二分查找二、程序代码: #include<stdio.h> #include<stdlib.h> #define N 20 void search_sequence(int *a,int x) {int i;for(i=0;a[i+1]!=0;i++)if (a[i]==x) {printf("Location:%d\n",i);return;}if (a[i+1]==0) printf("Can not find!\n");}void search_dichotomy(int *a,int x){int i=-1,length,head,trail,p; while(a[++i]!=0);length=i;head=0;trail=length-1;while(head<trail){p=(head+trail)/2;if (a[p]<x) head=p+1;else if (a[p]>x) trail=p-1;else {printf("Location:%d\n",p);return;}}printf("Can not find!\n");}void main(){int a[]={3,10,13,17,40,43,50,70,0};printf("顺序查找 43 和 5:\n"); search_sequence(&a,43);search_sequence(&a,5);printf("二分查找 43 和 5:\n"); search_dichotomy(&a,43);search_dichotomy(&a,5);}三、典型测试数据1: 3,10, 13,17,40,43,50,70四上机时遇到的问1、文件头缺失解决办法:添加#include<stdlib.h>五、实际运行结果:顺序查找帕和E,Location: 5Can not find*二分畫找4弓和E:Location:5Can not find*Pi*ocess returned 14 <0xE> execut ion t ine : 0・ 012 證Press any Iceto continue六、个人体会:在此次实验中让我更深的认识到了顺序查找。
EX5_2一、程序流程:排序1) 编写简单选择法函数2) 编写直接插入法函数3) 编写冒泡法排序函数4) 在主程序中输入一组数据元素( 513,87, 512,61,908, 170, 897, 275, 653,462),分别调用三种排序函数,输出每趟排序结果。
数据结构描述:排序二、程序代码:#in clude<stdio.h>#in clude<stdlib.h>#defi ne N 20void seque nce_in sert(i nt *a){int i=-1,j,le ngth,exc;printf("插入排序法:\n");while(a[++i]!=0);len gth=i;for (i=1;i<le ngth;i++){exc=a[i];for (j=i-1;exc<a[j] && j>=0;j--){a[j+1]=a[j];a[j]=exc;}for (j=0;j<le ngth;j++)prin tf("%d ",a[j]);printf("\n");}void sequence_select(int *a){int i=-1,j,length,min,exc; printf("选择排序法 :\n"); while(a[++i]!=0); length=i;for (i=0;i<length;i++){ min=a[i]; for (j=i+1;j<length;j++) if (a[j]<min) min=a[j];for (j=i+1;j<length;j++) if (a[j]==min) {exc=a[j];a[j]=a[i];a[i]=exc;}for (j=0;j<length;j++) printf("%d ",a[j]);printf("\n");}}void sequence_bubble(int *a){int i=-1,j,length,exc; printf("冒泡排序法 :\n"); while(a[++i]!=0); length=i;for (i=0;i<length-1;i++){for (j=i+1;j<length;j++)if (a[i]>a[j]) {exc=a[j];a[j]=a[i];a[i]=exc;} for (j=0;j<length;j++)printf("%d ",a[j]); printf("\n");}}void main(){int a[]={518,87,512,61,908,170,897,275,653,462,0}; intb[]={518,87,512,61,908,170,897,275,653,462,0}; intc[]={518,87,512,61,908,170,897,275,653,462,0}; sequence_insert(&a);sequence_select(&b); sequence_bubble(&c);87 E1EI 512 :61 ¥0® 170 «97 275 653 462 87512 516 1 90® 176 897 275 653 462 61H7 512 518 血 170 计 275 G53 462 6187 512 518- 908 170 857 275 653 462 61 E7 170 512 516的7 275 653 462 伉 51A98B 275 0 462 61 87 170 27S 51251B S?7 653 462 G1 B7 170 275 512518 653 997 9朋 462 61 S7 1*70 275 "2 512 SIS ^53 B97 咖 选择排序61 B7 512 518 90® 170 897 275 653 462 61B7 512 518 17B 897 275 6E3 462 61W7 1?0 518 删 512 »V? 275 如 462 6187 170 275 98S 512 8^7 518 653 462 61B7 170 275 462 512 897 B18 653 90® 61fl? 1?« 27S 462 512 8^7 518 6S3 叭 6187 170 275 4&2 512 518 S97 653 9BK 61B7 170 275 462 512 51B 653 90® 61&7 170 275 462 512 512 516 £53 A97 61 87 17U 27& 462 510 653 897 旨泡排序三上机时遇到的问题:① 冒泡排序失误解决办法:看书后调整代码 ② 程序报错 解决办法:发现还是丢失了 &,添加四、 典型测试数据 :518,87,512,61,908,170,897,275,653,462,0五、 实际运行结果:插入排序法: 61 ste i 512 a? 9BR i?e897 2?5 653 462 61 W7 512 vm 17B脚7 275 6S3 462 61 87 170 518 90® 512«9? 275 653 462 61 B7 170 275 90® 513512 653 462 61 fl? 1?0 275 462 900W?7 SIH G53 512 61 G7 170 275 462 51290B B97 653 51S 61 B7 170 275 462 5125 IB 颁 B97 653 61 fl? 275 462 $1251A 653 硼fi9? 61 87 170 2 7& 46*2 512 51S 653 897 ?88 P I 'HCESS :rcturned 9 ■*£Execut ion t iiHE* : fl.@38 5 Press anj; kujy to conit inne.六、小结要熟练掌握这几种排序学号:选课号:姓名:。