当前位置:文档之家› 实验六 串操作指令

实验六 串操作指令

实验六 串操作指令
实验六 串操作指令

串操作指令程序设计

实验目的:

掌握串传送指令功能及执行规律

理解dos中断的2号和9号功能应用

实验内容:

1.要求将串string1传送给string2(数据传送串指令)

2.比较字符串SOU(在数据段中)和字符串TAR(在附加段中)中否相同,若相同则输出YES,不相同输出NO(串比较指令)

3.把附加段中从ARRAY开始的10个字置为ab(存入串指令)

4.从字符串STRING1的结尾取出一个字符,送入AL寄存器,并送屏幕显示(取出串指令)

5.设str是附加段中长度为20字节的字符串,现查询该串是否有该字符,若有则输出"find",没有输出"no find"(串扫描指令)

实验报告要求:

(1)画出程序的流程图

(2)列出程序清单

(3)说明每种传送指令的功能

附:源程序

1、要求将串string1传送给string2

data segment

string1 db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

data ends

edata segment

string2 db 26 dup(?)

edata ends

code segment

assume cs:code,ds:data,es:edata

main proc far

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea si,string1

lea di,string2

cld

mov cx,26

rep movsb ;当CX不为零时重复做movsb指令

;调用dos的9号中断来显示字符串"YES"

;dos 的9号中断显示的字符串结尾一定是一个"$"

mov al,"$"

mov [string2+26],al;给字符串结尾加一个"$"

mov ds,ax

mov dx,offset string2

mov ah,9

int 21h

ret

main endp

code ends

end main

2、比较字符串SOU(在数据段中)和字符串TAR(在附加段中)中是否相同;若相同则输出YES,不相同输出NO

data segment

sou db 'IJKLMNOPQRSTUabcdef'

no db 'no','$'

yes db 'yes','$'

data ends

edata segment

tar db 'IJKLMNOPQRSTUabcdef'

edata ends

code segment

assume cs:code,ds:data,es:edata

main proc far

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea si,sou ;指向源串首地址

lea di,tar ;指向目标串首地址

cld ;置df=0,表示正向比较

mov cx,19 ;比较数,以最长的字符串为准

repz cmpsb ;当CX不为零且ZF=1就继续执行比较

jnz n

;调用dos的9号中断来显示字符串"YES"

y:

mov ax,seg yes ;传送需显示字符串的段地址到ds

mov ds,ax

mov dx,offset yes ;传送需要显示字符串的偏移地址

mov ah,9

int 21h

jmp exit

;调用dos的9号中断来显示字符串"no"

n:

mov ax,seg no

mov ds,ax

mov ah,9

int 21h

exit: ret

main endp

code ends

end main

3、把附加段中从ARRAY开始的10个字置为ab

data segment

data ends

edata segment

array dw 12 dup(?),"ex",'$'

edata ends

code segment

assume cs:code,ds:data,es:edata

main proc far

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea di,array ;字符串的首地址

cld ;置DF=0,串首地址每次正向自动加一

mov cx,10 ;设置传字的个数

mov ax,'ba' ;设置字的内容在AX寄存器

rep stosw ;当CX不为零时重复传送AX的内容到目的地址

;调用DOS的9号中断来显示传送字符串的情况

mov ax,seg array

mov ds,ax

mov dx,offset array

mov ah,9

int 21h

ret

main endp

code ends

end main

4、从字符串STRING1的结尾取出一个字符,送入AL寄存器,并送屏幕显示data segment

string1 db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

data ends

edata segment

string2 db 26 dup(?)

edata ends

code segment

assume cs:code,ds:data,es:edata

main proc far

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea si,string1+25 ;传字符串STRING1的结尾地址到SI

std ;设置DF=1,表示串的地址自动减一

lodsb ;从串的结尾取出一个字符送al

;调用dos的2号中断来显示单个字符

mov dl,al;需要显示的字符或者其ASIIC码送入DL,才能显示

mov ah,2

int 21h

ret

main endp

code ends

end main

5、设str是附加段中长度为20字节的字符串,现查询该串是否有该字符若有则输出"find",没有输出"no find"

data segment

no db 'no find','$'

yes db 'find','$'

data ends

edata segment

str db 'IJKLMNOPQRST#Uabcdef'

edata ends

code segment

assume cs:code,ds:data,es:edata

main proc far

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea di,str ;送字符串的偏移地址进di

cld ;设置DF=0,表示每次di自动加1

mov al,"#" ;需要查找的字符

mov cx,20 ;设置字符串的个数,表示要循环的次数

repnz scasb;当cx不等于零且结果不相等时,继续做scasb指令

jnz n

;调用dos的9号中断来显示字符串"find"

y:

mov ax,seg yes

mov ds,ax

mov dx,offset yes

mov ah,9

int 21h

jmp exit

;调用dos的9号中断来显示字符串"no find" n:

mov ax,seg no

mov ds,ax

mov dx,offset no

mov ah,9

int 21h

exit: ret

main endp

code ends

end main

我对中航信目前系统的评价

我对中航信目前系统的评价 信息与计算科学090241104 董心羽 说到民航信息系统的评价那自然会涉及到民航旅客服务系统、航空公司业务信息系统、机场信息系统、空管信息系统、安全信息系统等。虽然我对中国航信的了解没有那么全面,但我希望能把我所了解的概括的全面。 对于课上的介绍,我了解到中航信作为一个中央企业,其应用领域几乎已经涉及到民航的各个角落,其中几个重要的系统它们分别是订座控制系统、离港控制系统、常旅客系统、电子客票系统、运价系统。它们在民航系统中各司其职,举足轻重。 先说订座控制系统。我就先对订座流程做个简单的概括。订座控制系统下包含航班管理模块、旅客订座管理模块、票证管理模块及其他服务模块。航班管理模块通过对航班号、航班舱位布局、飞行时间段及频率、起飞到达城市、起飞到达时间、餐食类型等信息的记录,来完成对航班记录进行控制的功能。它还通过IM系列指令和航班控制表实现对航班状态的控制,其中航班控制表可以通过销售来源来限制代理人获取特定航班信息,还拥有航班限制占座功能,并包含了PNR 姓名修改限制表和座位布局表,可谓航班订座的关键,为航空公司的协调管理带来便利。旅客订座管理模块用于管理订票渠道与座位的销售。其中订票渠道又分为直接渠道:售票处、电话服务中心、互联网。及间接渠道:旅行社、销售总代理等。民航飞机的座位是一项值得精打细算的项目,因此座位管理:超售管理、目标市场管理、常旅客管理、捆绑销售管理、订座记录审查、团队管理、座位号和特殊服务管理等等就显得十分必要。旅客订座管理模块其下又有若干子模块在这里就不细说了。票证管理模块分别管辖航空公司本票、BSP客票及电子客票,空白票证管理系统是其中用于管理空白票证的系统。其他服务模块包括机上座位预定、常旅客系统(方便给常旅客提供更为优质的服务)及里程银行。以上这些模块就构成了订座业务流程。那么订座系统有何应用模块呢?它们分别是航班计划编排模块、航线建立模块、座位控制模块、销售网络模块、运价与票证管理模块、航班调整和旅客保护模块、旅客名单通知模块、数据采集模块和收益管理模块。另外订座系统是在ICS与CRS模式下运行的。 再说离港控制系统。从课上所学,我了解到计算机离港控制系统(Departure Control System),简称DCS,是中国民航引进美国优利公司的航空公司旅客服务大型联机事务处理系统,分为旅客值机(CKI)、配载平衡(LDP)、航班数据控制(FDC)三大部分。旅客值机系统(CHECK-IN)是一套自动控制和记录旅客登机活动过程的系统。它记录旅客所乘座的航班、航程、座位证实情况,记录

PPT操作练习 上机实验报告

PPT操作练习上机实验报告 一、实验目的 ①掌握演示文稿制作的基本过程②按时文稿播放的基本操作 . 实验步骤:一、准备工作 1、在自己文件夹里建一个课件文件夹→双击打开此文件夹→建一个名为“素材”的文件夹。 2、搜集素材:包括声音、图片、影像、文字等,都存在“素材”文件夹内。 二、建立演示文稿 1、启动PowerPoint:双击桌面上的PowerPoint图标→选择“空演示文稿”→确定→选一版式→确定→选空白页→确定 2、保存:点“文件”菜单→保存→单击“保存位置”后面的“▼”→打开自己建的课件文件夹→在“文件名称”后面的框中输入文件名(中国山水画的意境)→保存。 3、关闭:点“X”按钮。 三、修饰、制作演示文稿 1打开已保存的课件:找到自己制作的课件保存的位置,双击打开课件。 (1)输入文字:插入→文本框→水平→到空白片按住鼠标左键拖动鼠标,在适当位置处松开→在所形成的方框内输入“体味中国传统文化的魅力”→输完后到框外空白处单击左键即可。 (2)修改文字:用鼠标将文字选中→设置“宋体、36、黑色”等。 在此输入一行字“____领略中国山水画的意境”并自定义动画:选中图标→右键→自定义动画→在“效果”下面的“动画和声音”处单击“▼”,选择一种动画。 (3)然后在当前页面插入音乐:插入→影片和→声音文件中的声音→在“素材”文件夹选一声音→确定→自动播放(放映幻灯片时声音自动播放)在插入的声音图标上点右键→编辑声音对象→单击“循环播放,直到停止”前的“□”,则埋单循环播放,否则只播放一次。 (4)设置声音播到第“4”张幻灯片后停止:单击声音图标→在图标上点右键→自定义动画→在“按动画顺序播放”前的“□”单击→继续幻灯片的放映→在下面的框内输入“4”→确定 2、插入新幻灯片:插入→新幻灯片→空白版式→确定。 3、插入艺术字:插入→图片→艺术字→选择简单版式→确定→输入文字→宋体、24号→确定。

实验三 数组和字符串

实验三数组和字符串 一、实验目的 1.掌握Java中的数组定义、引用 2.掌握向量的基本概念和应用技术 3.掌握使用字符串String类处理字符串的方法 4.掌握使用字符串StringBuffer类处理字符串的方法 5.掌握Date类以及Calendar类的常用方法; 二、实验内容 1.使用https://www.doczj.com/doc/222005991.html,ng.Math类,生成100 个100~999 之间的随机整数,找出他们之中的最大的和最小的,并统计随机产生的大于300 的整数个数。 package exercise; publicclass shiyan3_1 { publicstaticvoid main(String [] args) { int count=0; int max=0; int min=Integer.MIN_VALUE; int num[]=newint[100];//声明并创建一个具有100 个元素的整型数组对象num int i; for(i=1;i<=100;i++) { num[i-1]=100+(int)(Math.random()*899); System.out.print(num[i-1]+"\t");//随机产生一个100~999 之间的随机整数 if(i % 10 == 0) System.out.println();//输出当前产生的随机数,并一行输出10 个数 if(num[i-1]>max) max=num[i-1]; if(num[i-1]300) count++; } System.out.println("最大的随机整数是:"+max); System.out.println("最小的随机整数是:"+min); System.out.println("大于300 的整数个数是:"+count); } }

串操作指令与重复前缀--习题

课堂练习题目: 23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。 A.REPNE B.REP C.REPE D.REPNZ 26.在串操作指令中,SI指向串,DI指向串。 27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用重复前缀。 29.段内调用指令改变中的内容。 30.段间调用指令改变中的内容。 12.现有程序段如下: CLD MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,100 REP MOVSB 请回答:该程序段完成的功能是什么? 13.现有程序段如下: CLD LEA DI,BUF MOV AL,20H MOV CX,100 REPNZ SCASB 请回答:(1)该程序段完成的功能是什么? (2)若ZF=1,表示BUF中值为20H数据 (3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。 1.使用串操作指令,将BUF缓冲区中的100个字节清0。 2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。

答案========================================= 课堂练习题目: 23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。 A.REPNE B.REP C.REPE D.REPNZ 26.在串操作指令中,SI指向串,DI指向串。 27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用重复前缀。 29.段内调用指令改变中的内容。 30.段间调用指令改变中的内容。 参考答案: 26.源,目的 27.REPNE(REPNZ) 29.IP 30.CS和IP 12.现有程序段如下: CLD MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,100 REP MOVSB 请回答:该程序段完成的功能是什么? 12.将BUF1中100个字节的数据传送到BUF2中。 13.现有程序段如下: CLD LEA DI,BUF MOV AL,20H MOV CX,100 REPNZ SCASB 请回答:(1)该程序段完成的功能是什么? (2)若ZF=1,表示BUF中值为20H数据 (3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。 13.(1)查找BUF中为空格(20H)字符。 (2)有 (3)100

数据库上机实验7实验报告

上机实验七——视图的建立及操作 一、实习目的: 掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。 二、实习准备: 1.复习第三章3.6节视图 2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图 三、实习内容:验证习题三第16题中的各项操作的SQL语句。 ①建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade WHERE Cno='1'AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ②建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade

WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ③建立视图Stu_year,由学生学号、姓名、出生年份组成 CREATE VIEW Stu_year AS SELECT Sno,Sname,year=2001-Sage FROM Student ④查询1990年以后出生的学生姓名 SELECT Sname FROM Student WHERE 2001-Sage<1990; ⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份SELECT Sno,Sname,2014-Sage FROM Student WHERE Clno=01311 AND EXISTS(

离港系统

离港PA指令增加新OVR选项的指令说明 重要说明: 航信对于东航ET倒序使用的限制程序分2阶段上线。 第一阶段:3月29日凌晨上线程序,针对离港值机柜台的操作进行逻辑判断 第二阶段:针对航信自助值机、网上值机、手机值机的限制逻辑程序,将会根据航信研发中心的上线计划确定具体时间。到时候会提前通知东航。 航信系统将会在3月29日凌晨上线程序,限制东航ET在离港倒序使用。 (一)新增加的选项说明 原有的OVR选项指令格式为:PA:1PD,OVR。现根据需求,限制OVR的使用,代替为:1-OVR/SEQU选项,当旅客倒序使用电子客票时,可以使用该指令跳过检验,强行接受。 限制81,82,86级别使用; 2-OVR/DATE选项,当旅客在客票非有效期要求登机时,可以使用该指令强行接收。限制81,82,86级别使用。 3-OVR/ALL选项,以上两种情况(倒序使用ET客票,非有效期要求登机),都可以用该指令强行接收。限制81,82,86级别使用; (二)举例说明 1、模拟倒序使用ET客票时,用OVR/SEQU接收: 选择一个测试用例,电子客票号为:7843182987093,用ETKD提取该票

该旅客有两个航段,第一航段PEK-DLC,第二段DLC-PEK。当第一段是OPEN FOR USE 状态的时候,旅客从第二段始发地DLC办理第二段值机手续时,系统会提示该旅客倒序使用ET客票,不允许接收。具体提示信息会根据使用的值机设备不同而有所区别。 情况1:在值机柜台值机时,航信离港值机终端提示信息如下: 处理办法: 此时需要根据东航业务规定现场判断是否为该旅客办理值机手续,如果可以办理,则需要使用离港高级别81,82或86级别的工号,通过PA指令的OVR/SEQU选项强行接收 或者用PA:1PD,OVR/ALL选项,也可以实现同上的功能。 情况2:凯亚自助值机设备,对于倒序使用ET旅客提示如下信息:(邹晓亮提供) 情况3:航信自助值机设备 情况4:东航网上值机, 此次程序上线只针对1、2情况生效,针对情况3和4的值机设备生效的程序将会另行确定上线时间。 2、模拟在非有效期使用OVR/DATE接收旅客。

实验六 串操作指令

串操作指令程序设计 实验目的: 掌握串传送指令功能及执行规律 理解dos中断的2号和9号功能应用 实验内容: 1.要求将串string1传送给string2(数据传送串指令) 2.比较字符串SOU(在数据段中)和字符串TAR(在附加段中)中否相同,若相同则输出YES,不相同输出NO(串比较指令) 3.把附加段中从ARRAY开始的10个字置为ab(存入串指令) 4.从字符串STRING1的结尾取出一个字符,送入AL寄存器,并送屏幕显示(取出串指令) 5.设str是附加段中长度为20字节的字符串,现查询该串是否有该字符,若有则输出"find",没有输出"no find"(串扫描指令) 实验报告要求: (1)画出程序的流程图 (2)列出程序清单 (3)说明每种传送指令的功能 附:源程序 1、要求将串string1传送给string2 data segment string1 db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' data ends edata segment string2 db 26 dup(?) edata ends code segment assume cs:code,ds:data,es:edata main proc far push ds xor ax,ax push ax mov ax,data mov ds,ax mov ax,edata mov es,ax lea si,string1 lea di,string2 cld mov cx,26 rep movsb ;当CX不为零时重复做movsb指令 ;调用dos的9号中断来显示字符串"YES" ;dos 的9号中断显示的字符串结尾一定是一个"$" mov al,"$" mov [string2+26],al;给字符串结尾加一个"$"

《大学计算机基础》上机实验报告

《大学计算机基础》 上机实验报告 班级: 姓名: 学号: 授课教师: 日期:年月日

目录 一、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、实验心得体会

C程序设计上机实验报告11

C程序设计实验报告 实验名称:指针与字符串学时安排:2课时 实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的 1. 掌握通过指针操作字符串的方法; 二、实验设备介绍 软件需求: Visual C++ 6.0或CFree3.5以上版本 硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 三、实验内容 1.输入一个字符串t和一个正整数m,讲t中从第m个(m小于字符串长度)字符开始的全部字符复制的字符串s中,再输出字符串s。要求用字符指针定义并调用函数strmcpy(s, t, m),它的功能是将字符串t中从第m个字符开始的全部字符复制到字符串s中。示例如下:Input a string: happy new year! Input an integers: 7 Output is: new year! 2. 编写一个函数delchar(s, c),该函数将字符串s中出现的所有c字符删除。自己定义main 函数,并在其中调用delchar(s,c)函数。D此大锅饭 3. 改正程序error08_ 4.cpp中的错误。函数strc的作用是将字符串s连接到t的尾部。在

主函数中输入两个字符串s和t,调用strc完成字符串的连接。输入输出结果如下所示:World! Hello HelloWorld! 要求把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。 注释示例如下: int i; /*循环控制变量不能定义为double类型*/ 4. 编程判断输入的一串字符是否为“回文”,如果是输出“Yes”,否则输出“No”。所谓“回文”,是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 四、程序清单 第一题 #include void strmcpy(char str[],char t[],int m){ int i=0,n; char *s; s=str; for(s+=m-1;*s!=0;s++) { t[i]=*s; i++; } printf("Output is:"); for(n=0;n

实验09-字符串

实验九字符串程序设计 班级:学号:姓名:评分: 一.【实验目的】 1、熟练掌握字符串的存取和操作方法方法。 2、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题 A.目标:进一步学习掌握程序调试的方法和技巧。 B.内容:参照《实验指导》教材P71“1.调试示例”,从键盘输入一个以回车键结束的字符串(少于80个字符),将它的内容逆向输出。例如:输入“ABCD”,输出“DCBA”。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error08_1.cpp) ①调试正确的源程序清单 #include int main( ) { int i, k, temp; char str[80]; printf("input a string: \n"); i = 0; while((str[i] = getchar( )) != '\n') i++; str[i] = '\0'; k = i - 1; for(i = 0; i < k; i++){ /* 调试时设置断点 */ temp = str[i]; str[i] = str[k]; str[k] = temp; k--; } /* 调试时设置断点 */ for(i = 0; str[i] != '\0'; i++) putchar(str[i]); printf("\n"); return 0; } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 2、完善程序,并调试运行程序 题目(1)求字符串长度。程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇## 则全部输入结束。统计并输出每个字符串的有效长度。例如:输入:hello 12#abc+0##,表示连续输入2个字符串"hello

机场AngelLite小机场离港前端系统方案

淮安机场AngelLite小机场离港前端系统方案 1.系统总体说明 (2) 1.1系统概述 (2) 1.2系统架构 (2) 1.3系统产品组成 (3) 1.4系统实现功能 (3) 2. 旅客值机产品ANGEL@AGTCKI (4) 2.1旅客值机系统CKI功能结构 (4) 2.2旅客值机系统CKI业务处理流程 (5) 2.2.1 普通旅客接收流程 (5) 2.2.3 无订座旅客处理流程 (6) 2.3旅客值机系统CKI业务功能详述 (6) 3. 旅客登机产品ANGEL@GATE (7) 3.1登机系统功能结构 (8) 3.2旅客登机系统业务处理流程 (9) 3.2.1系统登机业务处理流程 (9) 3.2.2 旅客登机业务处理流程 (10) 3.2.3 旅客拉下业务处理流程图 (11) 3.3旅客登机系统业务功能详述 (12) 4. 航班控制 (12) 5. 机场系统接口ANGEL@AIRPORTHUB (12) 6. 版本管理ANGEL@LVCS (13) 8. 系统非功能性说明 (14) 8.1用户管理 (14) 8.2安全 (14) 8.3日志 (14) 8.4故障隔离 (14) 8.5扩展性和灵活性 (14) 8.6可维护性 (15)

1.系统总体说明 1.1 系统概述 ANGEL离港前端系统(以下简称ANGEL)是继NewApp之后,由中国航信开发的下一代机场离港前端系统,该系统除继承原有NewApp系统优点外,还在系统的易用性,灵活性,可维护性,安全性上做了很大改进,同时可有效降低中小型机场的部署及维护成本。 ANGEL提供一系列的核心功能及外围功能,可根据机场需要按需部署,核心功能主要包括基于ETERM及离港主机的图形化值机,登机及控制,外围功能主要包括接口,升级管理等,系统各部分有机结合,形成一整套机场离港前端解决方案。 本文档描述的是我们专为小机场设计的实施方案。 1.2 系统架构 值机柜台登机口 综合柜台控制室 图1.1 系统架构图 ANGEL离港前端包括一系列客户端软件及服务器软件,在本方案中,客户端软件主要包括:值机(CKI),登机(GATE)、控制及其它辅助功能(安检接口等),一台终端可以部署部分功能,也可以部署所有功能,部署后均为一个统一的整体,系统根据用户权限的不同展现不同的操作界面。 服务端软件主要包括接口服务器,以Tomcat5为运行环境,DERBY10为数据存储,部署

实验5字符串的操作

博客网站设定了校验密码的规则,编写方法检验一个字符串是否是合法的密码。规则如下: 密码长度在8-16 之间 密码只能包含字母和数字 密码必须存在至少2 个数字如果用户输入的密码符合 2. import java.util.Scanner; 3. import java.util.regex.Pattern; 4. public class Check { 5. public static void main(String[] args) { 6. System.out.println("请输入密码:"); 7. Scanner sc = new Scanner(System.in); 8. String str = sc.next(); 9. Check ch = new Check(); 10. ch.checkup(str); 11. sc.close(); 12. } 13. 14. public void checkup(String str) { 15. String patternStr1 = "([0-9]|[a-zA-Z]){8,16}"; 16. String patternStr2 = ".*\\d.*\\d.*"; 17. boolean result1 = Pattern.matches(patternStr1, str); 18. boolean result2 = Pattern.matches(patternStr2, str); 19. if (result1 && result2) { 20. System.out.println(" valid password"); 21. } else { 22. System.out.println(" Invalid password "); 23. } 24. } 25. } 26. String patternStr2 = ".*\\d.*\\d.*"; 27. boolean result1 = Pattern.matches(patternStr1, str); 28. boolean result2 = Pattern.matches(patternStr2, str); 29. if (result1 && result2) { 30. System.out.println(" valid password"); 31. } else { 32. System.out.println(" Invalid password "); 33. } 34. } 35. } 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到Student 类中作为类的私有属性。创建一个Student 类型的对象数组,对学号进行升序排序并输出 /*从键盘输入多行文本,格式如下: 学生端名称,姓名,班级名称,学生ID,注册时间 姜涛,姜涛,,20092212232,2011-11-4 9:06:56

离港系统手册-终结版

中国航信离港系统讲义 中国民航信息网络股份有限公司 客户服务部

目录一. 离港系统简介 (5) 系统介绍(软件) (5) .终端与主机的连接(硬件) (5) .系统使用基础知识 (5) 二. 基本系统指令 (5) .进入系统 (5) .工作区操作DA/SI/AI/SO/AO/AN (5) .工作号定义 (6) .页控制PG/PF/PN/PB/PL (6) .打印指令PT/PC (6) .查询指令CD/CNTD/CO/TIME/ACRT/HELP (6) 三.工作流程 (6) 四. 建立航班 (7) .基础指令EX/CND/SEI/SEM/CG (7) .建T-CARD BF:T (7) .查看过渡区航班SFL (8) .生效过渡区中的航班BP:R/ACT (8) .查看生效航班AFL (8) .删除航班T-CARD BF:T (9) .航班建立流程 (9) .查看及修改航班信息 (9) 查看航班信息FI (9) 修改航班信息FU(单项修改) (10) 修改航班信息FDC (多项修改) (10) 显示及修改编目航班信息CSD/CSM (10) 五. 准备航班 (12) .初始化航班IF (12) 查看名单报MB/MD (12) 设置缺省航班FT (12) 航班状态显示SY (12) 删除航班初始化DFL (13) 航班座位控制 (13) 航班座位图显示SE (13) .锁定座位BS (14) 改变座位性质SU (15) 保留座位RS (15) 锁过站座位BT (15) 分配座位AL (15) 预留座位JCS# PA# (15) 释放保留座位RA (15) 六. 控制航班: (17)

位及位操作指令

位及位操作指令 通过前面那些流水灯的例子,我们已经习惯了“位”一位就是一盏灯的亮和灭,而我们学的指令却全都是用“字节”来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。用字节来处理一些数学问题,比如说:控制冰箱的温度、电视的音量等等很直观,可以直接用数值来表在。可是如果用它来控制一些开关的打开和合上,灯的亮和灭,就有些不直接了,记得我们上次课上的流水灯的例子吗? 我们知道送往P1口的数值后并不能马上知道哪个灯亮和来灭,而是要化成二进 制才知道。工业中有很多场合需要处理这类开关输出,继电器吸合,用字节来处 理就显示有些麻烦,所以在8031单片机中特意引入一个位处理机制。 1.位寻址区 在8031中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这些RAM的每一个位都有自已的地址,可以直接用这个地址来对此进行操作。

图1 内部RAM的20H-2FH这16个字节,就是8031的位寻址区。看图1。可见这里面的每一个RAM中的每个位我们都可能直接用位地址来找到它们,而不必用字节地址,然后再用逻辑指令的方式。 2.可以位寻址的特殊功能寄存器 8031中有一些SFR是可以进行位寻址的,这些SFR的特点是其字节地址均可被8整除,如A累加器,B寄存器、PSW、IP(中断优先级控制寄存器)、IE(中断允许控制寄存器)、SCON(串行口控制寄存器)、TCON (定时器/计数器控制寄存器)、P0-P3(I/O端口锁存器)。以上的一些SFR我们还不熟,等我们讲解相关内容时再作详细解释。 3.位操作指令 MCS-51单片机的硬件结构中,有一个位处理器(又称布尔处理器),它有一套位变量处理的指令集。在进行位处理时,CY(就是我们前面讲的进位位)称“位累加器”。有自已的位RAM,也就是我们刚讲的内部RAM 的20H-2FH这16个字节单元即128个位单元,还有自已的位I/O空间(即P0.0…..P0.7,P1.0…….P1.7,P2.0……..P2.7,P3.0……..P3.7)。当然在物理

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级 1237-小 姓名 学号 时间 2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 表1-2运算结果表

3.实验原理 本实验的原理如图1-1所示。 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器 A 和暂存器 B,三个部件同时接受来自 A 和 B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如 ARM),各部件对操作数进行何种运算由控制信号S3…S0和 CN 来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为 ALU 的输出。如果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置 ALU 零标志。ALU 中所有模块集成在一片 CPLD 中。 图 1-1 运算器原理图 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。 图1-2中显示的是一个 4X4 的矩阵(系统中是一个 8X8 的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接 0。 (2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在 4 位矩阵中使用‘右1’和‘左3’对角线来实现右循环 1 位。 (3)对于未连接的输出位,移位时使用符号扩展或是 0 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。 运算器部件由一片 CPLD 实现。ALU 的输入和输出通过三态门 74LS245 连到 CPU 内总线上,另外还有指示灯标明进位标志 FC 和零标志 FZ。请注意:实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。图中除 T4 和 CLR,其余信号均来自于 ALU 单元的排线座,实验箱中所有单元的 T1、T2、T3、T4 都连接至控制总线单元的 T1、T2、T3、T4,CLR 都连接至 CON 单元的 CLR 按钮。T4 由时序单元的 TS4 提供(时序单元的介绍见附录二),其余控制信号均由 CON 单元的二进制数据开关模拟给出。控制信号中除 T4 为脉冲信号外,其余均为电平信号,其中 ALU_B 为低有效,其余为高有效。 暂存器 A 和暂存器 B 的数据能在 LED 灯上实时显示,原理如图1-3 所示(以 A0 为例,其

实验六字符及字符串处理

实验六字符及字符串处理 一、实验目的 1.掌握头文件ctype.h的用法; 2.掌握常用函数isalpha、isdigit、isspace、isupper、islower、toupper、tolower等常用函数的使用。 3.掌握常用字符串处理函数strcmp、strcat等的模拟。 二、实验内容 1.字符处理练习。编写一个程序提示用户输入一系列字符,只提示一次。在循环中使用scanf(“%c”,…)语句,一次读入一个字符。根据输入内容生成如下输出结果:一次一行,回显输入字符;调用isalpha()检查是否为字母,若是调用touper()函数将其转换为大写字母,如果不是,则打印出一条错误信息,如果字符为句点,打印一条说明信息后退出。 2.回文。设计一个程序测试一条语句是否是回文:即从前向后读和从后向前读的字母都是相同的。首先提示用户输入一条语句。使用getchar一次读入所有字符,直至出现句号为止。读取过程中要求:(1)回显输入字符;(2)调用tolower()函数将每个字符转换成小写;(3)计算读入字符的个数(包括句号在内);(4)将转换后的字符保存在数组的下一个元素中。算法提示:从数组的结尾和开始位置一起比较字母。比较第1个和最后一个,第2个和倒数第2个,依此类推。如果有一对无法匹配,则退出循环后宣布该条语句不是回文。如果一直进行到语句中内始科没有出现问题,则停止然后宣布输入语句为回文。假设输入内容不会超过80个字符。 3.不用库函数模拟strcat和strcmp函数。 三、选做内容 1.检测字符。使用字符分类函数将字符分成几个类:大写字母、小写字母、数字、代白字符和其他符号。编写一个函数完成测试。在主函数中读取一系列字符,直至遇到句号为止。回显每个输入字符,并找印出相应的标注。计算每个类别出现的次数。处理句号的同时为句号计数,然后打印出字符总额并退出程序。算法提示:使用一个计数器数组,递增计数器时可用枚举常量作为数组的下标。 2.编写一个程序在表格中显示ASCII代码,类似附录中的ASCII表格。不要试图直接打印无法打印的字符,跳过列出十六进制代码的列。 四、常见错误 1.char和int。理论上讲,在C语言中,字符就是极短的整数。但在要领上又是一种独立的类型,有自己独立的操作和不同的输入输出方法。确保不要进行无谓的操作,例如两个字符相乘等; 2.字符输入。输入字符时,空白字符是可能造成困扰的原因。Scanf()对数字类型的输入转换处理自动跳过之前的空白字符,在读取第1个非空白字符时才开始存储数据。但是,无论是否空白字符,getchar()都返回第1个字符,带有“%c”的scanf也是一样。为了跳过之前的空白字符,必须使用带有“%c”限定词(格式中的百分号之前包括一个空格)的scanf()。如果遗漏了这个空格,程序就可能读取空白字符并试图将其翻译成为数据,这通常都会导致出现错误。因此,程序员必须清楚地知道自己想做什么(读取空白字符还是跤过空白字符),然后为任务选择恰当的输入机制。 实验七字符串(二) 一、实验目的 1.熟练掌握字符串的匹配查找。 2.熟练掌握字符串的插入操作。 3.熟练掌握字符串的压缩还原处理。 二、实验内容 1.改错题 以下程序对一个由字母和数字字符组成的字符串从头至尾作如下变换:

航信系统流程图

航信系统流程图 我们代理处不应该单单只是了解客票,还应该对客票从出售到旅客登机以及最后结算整个过程有一个具体的概念,才能更好的理解订座记录,。知其然,更要知其所以然。 一名旅客来我们代理处购买机票,要经过哪些过程呢?那么首先,让我们来看看系统整个的连接情况: 航信系统流程图 航信的系统分为代理人系统(CRS),航空公司系统(ICS),离港系统(DCS)。 CRS全称是ComputerReservationSystem,即我们使用的代理人机票售票系统。CRS主要功能是为代理人提供航班可利用情况查询、航段销售、订座记录、机上座位预订等服务。 ICS全称是InventoryControlSystem,即航空公司人员使用的航空公司系统。ICS主要功能是建立,控制,销售航班。 DCS全称是DepartureControlSystem,即机场人员使用的离港系统。DCS是为机场提供旅客值机、配载平衡、航班数据控制、登机控制联程值机等信息服务,可以满足值机控制、装载控制、登机控制以及信息交换等机场旅客服务所需的全部功能。 下面文章凡是涉及到代理人系统,航空公司系统,离港系统全部用他们的缩写代替。根据上面图示,一名旅客来代理处购机票。那么,机票代理处首先要做的就是在CRS系统为旅客查询航班信息,那么CRS系统的航班信息是从何而来的呢。CRS系统航班信息是由ICS系统得来,ICS系统的主要功能就是建立,控制和销售航班,所以航空公司就会把所建立好的航班信息传送到CRS以便代理人查询销售航班。 旅客这时要购票,代理处需要在CRS系统为其建立旅客订座信息,当我们建立好记录并封口后,旅客的订座信息会传送到ICS系统,告知航空公司有旅客订取了某某航班的某某舱位。如果订座正常,代理处可以为旅客出票了。

C上机实验报告 实验四

精品文档 实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

字符串处理实验报告

字符串处理实验报告 班级:10网工三班学生姓名:谢昊天学号:1215134046 实验目的和要求: 使学生能够掌握PHP中常用字符串函数的使用方法 实验内容: 编写PHP页面,实现字符串翻转功能、中文字符串截取、字符串对比、HTML 字符串过滤等功能 实验步骤与调试过程: 第一步、 php服务器安装并成功后就可以开始php编程之旅单击任务栏中的系统托盘中wampserver图标, 弹出界面用于管理服务器调试一下,然后打开start all services 选项,时启动服务器 在C:\wamp\www下建立项目sez(十二周首字母),并在该目录下新建一个文本文档,然后将该文件名称从新建文本文档.txt修改为test1.php 第二步、在sez项目中建立文件test2.php,此页面主要用来实现中文字符串截取功能,代码如下所示。 在sez项目中建立文件test3.php,此页面主要用来实现字符串对比功能,代码如下所示。 在sez项目中建立文件test4.php,此页面主要用来实现HTML字符串过滤功能,代码如下所示。 第三步、以记事本方式打开test1.php文件输入代码 第四步、保存test1.php文件内容后,启动php服务器 第五步、打开IE浏览器,在地址栏中输入http://localhost/1/helloworld.php后按回车键 看到想要看到页面则这个php程序编写运行成功 第六步、为保证php程序文件的扩展名确实为php不能隐藏已知文件类型的扩展名单击工具 文件夹选项,弹出文件夹选项对话框 第七步、在文件夹选项对话框中选择查看选项卡取消那个复选框,然后单击确定按钮即可

相关主题
文本预览
相关文档 最新文档