3.阅读或调试程序 (3)上机调试下列程序,了解基本数据类型数据的取值范围。 public class E { public static void main(String args[]) { System.out.println("byte取值范围:"+Byte.MIN_VALUE+"至"+Byte.MAX_VALUE); System.out.println("short取值范围:"+Short.MIN_VALUE+"至"+Short.MAX_ VALUE); System.out.println("int取值范围:"+Integer.MIN_VALUE+"至"+Integer.MAX_ VALUE); System.out.println("long取值范围:"+Long.MIN_VALUE+"至"+Long.MAX_VALUE); System.out.println("float取值范围:"+Float.MIN_VALUE+"至"+Float.MAX_ VALUE); System.out.println("double取值范围:"+Double.MIN_VALUE+"至"+Double.MAX_ VALUE); } } (4)下列程序标注的【代码 1】和【代码 2】的输出结果是什么? public class E { public static void main (String args[ ]){ long[] a = {1,2,3,4}; long[] b = {100,200,300,400,500}; b = a; System.out.println("数组b的长度:"+b.length); //【代码1】 System.out.println("b[0]="+b[0]); //【代码2】 } } (5)下列程序标注的【代码 1】和【代码 2】的输出结果是什么? public class E { public static void main(String args[]) { int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}}; b[0] = a; b[0][1] = b[1][3]; System.out.println(b[0][3]); //【代码1】 System.out.println(a[1]); //【代码2】 } }
第4题
编程二 QQ群名片设计(单链表) 一、 编程内容 采用文本文件“mingpian.txt”存储下列群名片数据: 昵称 QQ号码 性别 年龄 生日 阿厘子 13762588801 女 24 11月12日 Annnn 84008178190 男 300 6月2日 安适一隅 380929382 男 1200 12月9日 不羁的风 3050225418 男 5 8月30日 设计并编程实现一个应用单链表存储结构的群名片管理系统。定义适当数据类型,设计并编写完成下列8项基本功能的C语言程序: 1) 初始化群名片initlinklist(); 2) 将文本文件内容读入数组 CreateArray(); 3) 从数组中读入数据建立群名片单链表(用头插法)InitSLink(); 4) 列表输出群名片的内容 DispSLink(); 5) 在最后一条记录后插入新记录(用尾插法)AttachSLink(); 6) 删除给定昵称的记录DeleteLink(); 7) 在第i个元素位置插入群成员e的记录InsertList(); 8) 按昵称、QQ号码查询群名片 NamesearchLink(); 9) 销毁群名片 DestroySLink(). 拓展功能(选做): 10)按姓名的升序排序群名片 AscendSLink; 11)按QQ号码顺序插入新记录 ,并保持记录升序InsertSLink(); 12)显示当前群名片中共有多少联系人Lengthlist(); 二、 程序要求 预习相关内容,提前完成设计和编写(并调试)源程序代码,在实验上机课时内主要解决遇到的问题、完成系统的最终调试,现场检验,整理和提交实验报告。 三、 结果提交 请同学们将程序源代码复制到TXT或word文档中,并将程序运行结果截屏并粘贴到源代码所在的文件后面,然后作为附件上传。
第5题
第6题
[说明]
在多道程序系统中,各个程序之间是并发执行的,共享系统资源。CPU需要在各个运行的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变得很困难。为此,操作系统设计者提出了进程的概念。
进程是具有独立功能的程序关于某个数据集合上的一次动态执行过程,是系统进行资源分配和调度的独立单位。
进程在生命消亡前处于且仅处于三种基本状态之一。运行态(Running):进程占有CPU,并在CPU上运行。就绪态(Ready):一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)。等待态(Blocked):指进程因等待某种事件的发生而暂时不能运行的状态,即使CPU空闲,该进程也不可运行。指出如下进程状态转换图(图4-1)中“状态1”~“状态3”分别是什么状态。
[图4-1]
第7题
实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和指针变量的概念。 2. 掌握简单指针变量的定义和基本使用方法。 3. 熟悉指针和一维数组的关系,掌握指向一维数组的指针变量的定义方法,熟练使用指针变量访问一维数组元素。 4. 了解指针和二维数组的关系,掌握用指针表示二维数组元素的方法。 5. 了解指针与字符串的关系,能熟练使用指针处理字符串。 二、实验内容及实验步骤 1. 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求: ⑴ 2个数的和, ⑵ 2个数交换值. 要求用函数指针调用这两个函数,结果在主函数中输出. main() { int a,b,c,(*p)(); scanf("%d,%d",&a,&b); p=sum; *p(a,b,c); p=swap; *p(a,b); printf("sum=%d\n",c); printf("a=%d,b=%d\n",a,b); } sum(int a,int b,int c) { c=a+b; } swap(int a;int b) { int t; t=a; a=b; b=t; } 调试程序时注意参数传递的是数值还是地址. 2. 测试、运行自己编写的程序。 (1)写一个函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char * p1,char * p2); 设p1指向字符串s2,要求当s1=s2时,函数返回值为0;如果s1<>s2,则返回它们二者第一个不相同的ASCII码值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如果s1<s2,则输出负值。 两个字符串s1、s2由main函数输入,strcmp函数的返回值也由main函数输出。 (2)用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入,最后在主函数中输出。 (3)有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 三、实验报告要求 写明: 1. 实验目的 2. 实验内容与步骤 3. 编写的程序(题目,经调试、运行后正确的程序) 4. 思考题的解决方法。 5.>
第8题
实验一 线性表一、实验目的 1. 了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。 2. 重点是线性表的基本操作在两种存储结构上的实现;其中以链表的操作为侧重点;并进一步学习结构化的程序设计方法。 3. 掌握使用 C++面向对象的程序设计技术,设计数据结构源程序的方法。二、实验内容 1. 线性表的顺序存储表示(结构)及实现。 阅读下列程序请注意几个问题。 (1)关于线性表的顺序存储结构的本质是:在逻辑上相邻的两个数据元素ai-1, ai,在存储地址中也是相邻的,既地址连续。顺序存储结构也称“向量(vector)”。在下列类设计中,采用静态一维数组elem[]表示向量,同时用length表示线性表长度。 ElemType elem[MAXSIZE]; int length; (2)在上机实验时,需要将数据结构的类定义(包括成员函数的定义)的程序代码,写入源程序。同时用户必须自己编写一段主函数main(),在主函数中创建声明类的具体对象,通过这些对象调用类的公有函数。以便将一个典型数据结构类运用到实际问题中去。 l 源称序结构: 见本资料的第1页。 l 数据结构类定义(包括成员函数的定义)的程序代码 对于小型程序,这部分代码可以直接放入源称序之中,如上图所示。 对于复杂较大的程序,这部分代码可以生成一个头文件(例如Sqlistc.h)与源程序文件存储在同一个文件夹中。再在源程序之中写入一个语句,如下: #include “Sqlistc.h”; l 主函数 在学生没有学习可视化图形界面之前,建议在主函数中简单设计一个“菜单”(do-while循环内嵌套一个 switch结构)。随着学习的深入,应该学会熟练使用“菜单”技术,这样会明显提高编程和运行效率。一个主函数一般样式如下: int main( ) { //声明程序所需要的一般变量 int i,k; ElemType e,x; //声明和创建类对象,这个类往往是典型数据结构类 Sqlist as; System.out.print("\n ) 线性表顺序存储结构演示"; Scanner s = new Scanner(System.in); do{ //显示菜单内容 System.out.print("\n\n" ) ; System.out.print("\n\n 1. 初步建立一个线性表 " ) ; System.out.print("\n\n 2. 插入一个数据元素" ) ; System.out.print("\n\n 3. 删除一个元素,返回其值 " ) ; System.out.print("\n\n 4. 结束程序" ) ; System.out.print("\n********************************" ) ; System.out.print("\n请输入你的选择(1,2,3,4)" ) ; Int n = s.nextInt(); //接收用户的选择 //根据k值,转向对应的case 分支程序段执行 switch(n) { case 1:{ as.SetData(); as.PrintOut(); }break; case 2:{ System.out.print("\n\n 插入的位置,数据 i,e=?"); Int i = s.nextInt(); Int e = s.nextInt(); as.Insert(i,e); as.PrintOut(); }break; case 3:{ System.out.print("\n 删除第几个元i=?"); Int i = s.nextInt(); x=as.Delet(i); System.out.print(" 元素数值= "); as.PrintOut(); }break; default:break; } //switch }while(k>=1&&k<4); system.out.print("\n 再见!"); 按任意键,返回。"); _getch(); return 0; } ----------------------------------------------->
第9题
[说明]
下面给出的是某房产管理系统的一套分层数据流图。其功能描述如下:
(1)系统随时根据住房送来的入住单更新住户基本信息文件;
(2)每月初系统根据物业管理委员会提供的月附加费(例如清洁费、保安费、大楼管理费等)表和房租调整表,计算每家住户的月租费(包括月附加费),向住户发出交费通知单。住户交费时,系统输入交费凭证,核对后输出收据给住户;
(3)系统定期向物业管理委员会提供住房分配表和交费清况表;
(4)住户因分户或换房,在更新住户基本信息文件的同时,系统应立即对这些住户做月租费计算,以了结分户或换房前的房租。
以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。图1-1是项层数据流图,图1-2是第0层数据流图,图1-3是第1层数据流图,其中A是加工1的细化图,B是加工2的细化图。假定题中提供的顶层图是正确的,请回答下列问题。
[图1-1]
[图1-2]
[图1-3]
指出图1-2中的哪些文件可不必画出。
第10题
阅读下列说明和数据流图,回答问题1~问题3。
【说明】
某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为3个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。
1.病人初次来该医院看病,首先购买病历,记录病人基本情况。
2.病人看病前要挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。
3.病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。
4.所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。
医院收费系统的顶层图如图2所示;医院收费系统的第O层DFD图如图3所示。其中,加工1的细化图如图4所示,加工2的细化图如图5所示。
假定顶层图是正确的,"定价表"文件已由其他系统生成。
【数据流图】
图2医院收费系统的顶层图
图3医院收费系统的0层图
图4医院收费系统的加工1子图
图5医院收费系统的加工2子图
【问题1】
指出哪张图的哪些文件可以不必画出。
【问题2】
数据流图4中缺少2条数据流,请直接在图中添加。
【问题3】
数据流图5中缺少4条数据流,请直接在图中添加。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!