第2章上机
- 格式:doc
- 大小:32.00 KB
- 文档页数:1
第一章习题答案一、简答题1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。
适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。
(2)计算过程的可视化、可操作化的软件的开发。
(3)动态画面的设计,包括图形图象的调用。
(4)交互操作的设计。
(5)Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理和交互操作设计等。
(6)Intranet上的软件开发(直接面向企业内部用户的软件)。
(7)与各类数据库连接查询的 SQL 语句实现。
(8)网络通信与移动通信,网络集成方面。
2.Java程序分为哪两类?各有什么特点?如何区分它们?Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。
Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。
Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。
区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。
3.简述Java程序的运行过程。
一个Java源的运行需要经过三个步骤:(1)编辑源程序,产生.Java的源程序文件(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件(3)根据程序的不同类型运行程序。
对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。
4.什么是Java虚拟机?简述其工作机制。
Java虚拟机(Java Virtual Machine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。
1第41套 上机考试试题一、基本操作题在考生文件夹下,存在一个Excel 文件“Test.xls ”和一个数据库文件“samp1.accdb ”。
“samp1.accdb ”数据库文件中已建立三个表对象(名为“线路”、“游客”和“团队”)和一个窗体对象(名为“brow ”)。
试按以下要求,完成表和窗体的各种操作:(1)将“线路”表中的“线路ID ”字段设置为主键;设置“天数”字段的有效性规则属性,有效性规则为大于0。
(2)将“团队”表中的“团队ID ”字段设置为主键;添加“线路ID ”字段,数据类型为“文本”,字段大小为8。
(3)将“游客”表中的“年龄”字段删除;添加两个字段,字段名分别为“证件编号”和“证件类别”;“证件编号”的数据类型为“文本”,字段大小为20;使用查阅向导建立“证件类别”字段的数据类型,向该字段键入的值为“身份证”、“军官证”或“护照”等固定常数。
(4)将考生文件夹下Test.xls 文件中的数据链接到当前数据库中。
要求:数据中的第一行作为字段名,链接表对象命名为“tTest ”。
(5)建立“线路”、“团队”和“游客”三表之间的关系,并实施参照完整性。
(6)修改窗体“brow ”,取消“记录选择器”和“分隔线”显示,在窗体页眉处添加一个标签控件(名为Line ),标签标题为“线路介绍”,字体名称为隶书、字号大小为18。
二、简单应用题考生文件夹下存在一个数据库文件“samp2.accdb ”,里面已经设计好“tA ”和“tB ”两个表对象。
试按以下要求完成设计:(1)创建一个查询,查找并显示所有客人的“姓名”、“房间号”、“电话”和“入住日期”四个字段内容,所建查询命名为“qT1”。
(2)创建一个查询,能够在客人结账时根据客人的姓名统计这个客人已住天数和应交金额,并显示“姓名”、“房间号”、“已住天数”和“应交金额”,所建查询命名为“qT2”。
注:输入姓名时应提示“请输入姓名:”。
第二章若有数学式3aebc,则不正确的C语言表达式是()A.3*a*e/b*cB.a/b/c*e*3C.3*a*e/b/cD.a*e/c/b*3设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。
A.4B.3C.2D.1下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是()A.(x/2*2-x)==0B.!(x%2)C.!(x%2==0)D.x%2==0表达式18/4*sqrt(4.0)/8值的数据类型为()。
A.charB.doubleC.不确定D.float在C语言中,要求运算数必须是整型的运算符是( )A.%B./C.++D.!=若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。
A.4C.16D.52C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为下划线B.必须为字母C.可以是字母、数字和下划线中的任意一种D.必须为字母或下划线若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )A.不知道a的值,不能确定B.0C.2D.1判断字符型变量c1是否为数字字符的正确表达式为( )A.(c1>='0')&&(c1<='9')B.(c1>=0)&&(c1<=9)C.('0'>=c1)||('9'<=c1)D.'0'<=c1<='9'下面四个选项中,均是合法的用户标识符的选项是()。
A._123 temp INTB.A p_o doC.b-a goto intD.float lao _A以下关于C语言数据类型使用的叙述中错误的是( )A.若要处理如"人员工资"的相关数据,单精度类型B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型C.若要保存带有多位小数的数据,应使用双精度类型D.若要准确无误差的表示自然数,应使用整数类型假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
上机实习要求: 编程可以用C、C++、Matlab, 但不允许使用内置函数完成主要功能。
第2 章1. 已知函数表如下x 10 11 12 13ln(x) 2.3026 2.3979 2.4849 2.5649试分别用线性插值与二次插值计算ln11.75 的近似值,并估计截断误差.2. 已知函数表x 0.1 0.2 0.3 0.4sin(x) 0.09983 0.19867 0.29552 0.38942试分别用Newton 前插与后插公式(1、2、3 阶)计算sin(0.22)的近似值。
要求,比较所得结果,思考如何选取节点。
3.构造函数表cos(x):已知节点x k=k⋅/20 (k=0,1,…,20)处的函数值. 用一次和二次Lagrange 插值公式求cos(x)在x k_i(i=1,2,3)( x k_i=x k+( x k +1- x k)/4⋅i). 请用你计算的值连成函数图形,与标准图形比较。
4.已知直升飞机旋转机翼外形曲线轮廓上的某些型值点(见表),及端点处的一阶导数值y'(x) =. , y'(x) = .0 1 86548 18 0 046115试计算该曲线上横坐标为2,4,6,12,16,30,60,110,180,280,400,515 处的纵坐标(要求该曲线具有二阶光滑度).k 0 1 2 3 4 5 6x k 0.52 3.1 8.0 17.95 28.65 39.62 50.65y k 5.28794 9.4 13.84 20.2 24.9 28.44 31.1k 7 8 9 10 11 12 13x k 78 104.6 156.6 208.6 260.7 312.5 364.4y k 35 36.5 36.6 34.6 31.0 26.34 20.9k 14 15 16 17 18x k 416.3 468 494 507 520y k 14.8 7.8 3.7 1.5 0.2。
JA V AOOP第二章上机步骤上机练习一、训练要点:继承子类重写父类方法理解继承中的初始化过程需求说明:优化电子宠物系统使用继承实现Dog类和Penguin类打印宠物信息实现思路:步骤:1、将第一章的工程导入2、在cn.jbit.epet包下新建ch02包在此包下,创建Pet类,定义属性和方法,定义print()方法,定义无参和有参构造方法package cn.jbit.epet.ch02;/***宠物类,狗狗和企鹅的父类。
* 更多资源可在阿升老师的【与或非】公号中自行查找*@author*/public class Pet {private String name = "无名氏";// 昵称private int health = 100;// 健康值private int love = 0;// 亲密度/***无参构造方法。
*/public Pet() {this.health = 95;System.out.println("执行宠物的无参构造方法。
");}/***有参构造方法。
*@param name昵称*/public Pet(String name) { = name;System.out.println("执行宠物的有参构造方法。
");}public String getName() {return name;}public void setName(String name) { = name;}public int getHealth() {return health;}public void setHealth(int health) {this.health = health;3、创建Dog类,继承pet类,增加strain(品种)属性及相应的getter/set方法。
及有参构造package cn.jbit.epet.ch02;/***狗狗类,宠物的子类。
第二章上机及作业题第二章上机题用三种存储结构(顺序表,链表,静态链表)求解josuphu问题!1:顺序表#include<stdio.h>#define max 100typedef struct{int data[max];int length;}stack,*pstack;pstack Creat() /*顺序表初始化*/{pstack p;p=(pstack)malloc(sizeof(stack));if(p)p->length=0;return p;}void Creatstack(pstack p) /*创建一个顺序表*/{int i,l,x;printf("please stack's length:\n");scanf("%d",&l);p->length=l;printf("please enter a stack:\n");for(i=0;i<l;i++){scanf("%d",&x);p->data[i]=x;}}Deletes(pstack p,int x) /*删除指定位置的元素*/{int i;for(i=x;i<=p->length;i++){p->data[i]=p->data[i+1];}p->length--;}int josephus(pstack p) /*约瑟夫循环*/{int s1,i,s,m,w;printf("please enter start adress:\n");scanf("%d",&s);printf("please enter how long to out eachother:\n");scanf("%d",&m);if(!p->length){printf("empty!\n");return 0;}s1=s-1;printf("please answer:\n");for(i=p->length;i>0;i--){s1=(s1+m-1)%i;w=p->data[s1];printf("%4d",w);Deletes(p,s1);}return 1;}int main() /*主函数*/ {pstack Q;Q=Creat();Creatstack(Q);josephus(Q);getch();}2:链表解决#include<stdio.h>typedef struct node /*定义一个链表结构体*/ {int data;struct node *next;}list,*List;void Putlist(List L) /*输入一个链表*/{int x,i,length;List s;L=NULL;printf("please enter the length:\n");scanf("%d",&length);printf("please enter the list:\n");for(i=0;i<length;i++){s=(List)malloc(sizeof(list));scanf("%d",&x);s->data=x;s->next=L;L=s;}s->next=L;}void Dislist(List L) /*输出链表*/{List p=L->next;printf("%d",L->data);while(p!=L){printf("%3d",p->data);p=p->next;}printf("\n");}int josephs(List L) /*约瑟夫循环的计算*/ {int s,m,count;List p,pre;printf("start in:\n");scanf("%d",&s);printf("how often:\n");scanf("%d",&m);if(!L){printf("the list is empty!\n");return 0;}p=L;for(count=1;count<s;count++){p=p->next;}printf("put the answer:\n");while(p!=p->next){for(count=1;count<m;count++) {pre=p;p=p->next;}printf("%2d",p->data);pre->next=p->next;free(p);p=pre->next;}printf(" %d",p->data);free(p);return 1;}void main(){int x,i,length;List L,s,r;s=L=(List)malloc(sizeof(list)); printf("please enter the length:\n"); scanf("%d",&length);printf("please enter the list:\n"); scanf("%d",&x);L->data=x;for(i=0;i<length-1;i++){r=(List)malloc(sizeof(list)); scanf("%d",&x);r->data=x;s->next=r;s=s->next;}s->next=L;josephs(L);getch();}3:静态链表#include<stdio.h>#define MAXSIZE 100struct node{int number;int next;}string[MAXSIZE];int josephus(void) /*约瑟夫循环*/ {int total;int out;int start;int i,j=1;int flag=0;int current,front;printf("The total number is:");scanf("%d",&total);printf("The out number is:");scanf("%d",&out);printf("The starting number is:");scanf("%d",&start);if(out==1) return total;for(i=0;i<total;i++){string[i].number=i+1;string[i].next=i+1;}string[i-1].next=0;front=total-1;current=0;for(i=1;i<start;i++){front=string[front].next;current =string[current].next;}while(flag<total){if(j%out==0){string[front].next=string[current].next;current=string[front].next;j=1;flag++;}else{j++;front=string[front].next;current =string[current].next;}}return(string[current].number);}void main(){int t;t=josephus();printf("The last one is %d",t);getch();}第二章作业:1.已知递增有序的两个单链表A,B分别存储了一个集合。
第一章作业答案.1。
编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F—32)程序代码:#include〈iostream>using namespace std;void main(){float F,C;cout〈<”Please input F:”;cin〉>F;C=5*(F-32)/9。
0;cout<<”C="<〈C<〈endl;}运行结果:2。
编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积.程序代码:#include〈iostream〉using namespace std;#define PI 3。
14159void main(){float r,h,v;cout<<”Please input r h:”;cin〉>r>〉h;v=PI*r*r*h;cout〈<”v="〈<v〈<endl;}运行结果:3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area。
若则area=程序代码:#include〈iostream〉#include〈math。
h〉using namespace std;void main(){float a,b,c,p,area;cout〈〈"Please input a b c:";cin>〉a〉>b>>c;if((a+b〉c)&&(b+c>a)&&(a+c〉b)){p=(a+b+c)/2.0;area=sqrt(p*(p—a)*(p—b)*(p-c));cout<<"area=”〈<area<〈endl;}else cout〈<"input error!"〈<endl;运行结果:4。
输入a,b,c的值,求一元二次方程:的解。
数据结构与算法上机作业第二章线性表一、选择题1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新的元素算法的时间复杂度为 C 。
A. O(log2n)B. O(1)C. O(n)D. O(n2)2、以下关于线性表的说法中,不正确的是 C 。
A. 线性表中的数据元素可以是数字、字符、结构等不同类型B. 线性表中包含的数据元素个数不是任意的C. 线性表中的每一个结点都有且只有一个直接前驱和直接后继D. 存在这样的线性表:表中各结点都没有直接前驱和直接后继3、在有n个结点的顺序表上做插入、删除结点运算的时间复杂度为 B 。
A. O(1)B. O(n)C. O(n2)D. O(log2n)4、等概率情况下,在有n个结点的顺序表上做插入结点操作,需平均移动的结点数目为C 。
提示:插入的位置有n+1个,移动总数为:1+2+3+……+nA. nB. (n-1)/2C. n/2D. (n+1)/25、在一个长度为n的顺序存储的线性表中查找值为x的元素时,平均查找长度(及x同元素的平均比较次数,假定查找每个元素的概率都相等)为 C 。
A. nB. n/2C. (n+1)/2D. (n-1)/26、在顺序表中,只要知道 D ,就可以求出任一结点的存储地址。
A. 基地址B. 结点大小C. 向量大小D. 基地址和结点大小7、将两个各有n个元素的有序表归并为一个有序表,其最少的比较次数是 A 。
A. nB. 2n-1C. 2nD. n-18、线性表采用链表存储时其存储地址要求 D 。
A. 必须是连续的B. 部分地址必须是连续的C. 必须是不连续的D. 连续的和不连续的都可以9、下面关于线性表的描述中,错误的是 B 。
A. 线性表采用顺序存储,必须占用一片连续的存储单元B. 线性表采用顺序存储,便于进行插入和删除操作C. 线性表采用链式存储,不必占用一片连续的存储单元D. 线性表采用链式存储,便于插入和删除操作10、向具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是 BA. O(1)B. O(n)C. O(n2)D. O(log2n)11、在一个带头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行的语句是 D 。
第2章上机练习题
知识点:新建项目、项目管理器的使用、数据库的新建及使用、新建表及浏览表。
注:以下操作中不要使用向导。
1、在D盘新建一个文件夹,以个人学号后四位命名,如:7203,然后启动visual
foxpro 6.0,设置VF系统的默认目录为“D:\7203”.
2、在VF中,新建一个“学生管理”项目,然后执行如下操作:
1)首先查看各个选项卡下的文件类型
2)然后选择”数据”选项卡的”数据库”,单击”新建”按钮,单击”新建数据库”
按钮,建立一个“学生管理”数据库。
3)关闭”学生管理数据库设计器”和“项目管理器”.
3、通过“文件”-“新建”对话框,建立两个数据库,分别命名为“管理”和“档案”。
4、打开“学生管理”项目,将“管理”、“档案”数据库添加到“学生管理”项目中。
选中”管理”数据库,体会打开和关闭按钮.
5、在项目管理器中移去“管理”数据库,在弹出的对话框中选择“移去”;移去“档
案”数据库,在弹出的对话框中选择“删除”。
通过查看默认目录文件夹来比较两种方法的不同。
6、在项目管理器中,单击目录前的加号(或减号)练习目录树的展开(或折叠),
并将”学生管理"数据库展开至表,单击新建按钮,”新建表”,依次建立学生、成绩、课程三个表。
各个表的结构如下:
学生(学号,姓名)
成绩(学号,课程号,成绩)
课程(课程号,课程名,学分)
其中:“学号”字段是字符型,宽度为10;
“姓名”字段是字符型,宽度为8;
“课程号”字段为字符型,宽度为3;
“成绩”字段为数值型,宽度为4,保留1位小数;
“课程名”字段是字符型,宽度为20;
“学分”字段为整型(无小数的数值类型,系统默认宽度为4)7、在项目管理器中,选择”学生”表,体会”浏览”按钮.
做完之后,举手接受检查登记。