文档库 最新最全的文档下载
当前位置:文档库 › 接口与汇编程序设计作业答案(DOC)知识讲解

接口与汇编程序设计作业答案(DOC)知识讲解

接口与汇编程序设计作业答案(DOC)知识讲解
接口与汇编程序设计作业答案(DOC)知识讲解

习题1(教材P56)

1.8086/8088微处理器地址总线有多少位?寻址范围是多少?

答:20位 A0-A19。寻址范围00000H-FFFFFH

2.8086/8088微处理器分哪两部分?各部分主要由什么组成?

答:执行单元EU和总线接口单元BIU。

EU包括:ALU、寄存器组、暂存器、标志寄存器、EU控制单元。

BIU包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。

4.8086/8088微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器?

答:8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。2个变址寄存器SI、DI。2个指针寄存器SP、BP。DS、ES、SS、CS段地址寄存器。

5.8086/8088微处理器中有哪些标志位?它们的含义和作用如何?

答:零标志位ZF、进位标志CF、溢出标志位OF、辅助进位标志位AF、奇偶标志位PF、符号标志位SF、方向标志位DF、中断允许标志位IF、跟踪标志TF。

6.试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别?

1278H+3469H

答:0001 0010 0111 1000

+0011 0100 0110 1001

0100 0110 1110 0001

ZF=0;SF=0;CF=0;OF=0;AF=1;PF=1。

54E3H-27A0H

答:0101 0100 1110 0011

+1101 1000 0110 0000(-27A0的补码)

10010 1101 0100 0011

ZF=0;SF=0;CF=1;OF=0;AF=0;PF=0。

3881H+3597H

答:0011 1000 1000 0001

+0011 0101 1001 0111

0110 1110 0001 1000

ZF=0;SF=0;CF=0;OF=0;AF=0;PF=1。

01E3H-01E3H

答:0000 0001 1110 0011

+1111 1110 0001 1101(-01E3H的补码)

10000 0000 0000 0000

ZF=1;SF=0;CF=1;OF=0;AF=1;PF=1。

进位表示最高位产生进位。

溢出表示超出数的表示范围。OF=C

n ○﹢C

n-1

8.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?

答:逻辑地址:产生实际地址的两个地址分量:首地址和偏移地址。物理地址:内存单元地址。用户在编写程序时只使用逻辑地址。程序装到内存中使用物理地址。物理地址可以通过逻辑地址求得。

9.设现行数据段位于存储器的B0000H到BFFFFH存储单元,DS段寄存器内容为多少?答:DS=B000H

11.8086/8088微处理器工作在最小模式和最大模式时的主要特点是什么?有何区别?

答:最小模式只有一个CPU不需要总线控制器。最大模式有多个微处理器,必须要总线控制器来对总线控制权进行分配。引脚MN/MX=1工作在最小模式。MN/MX=0工作在最大模式。

13.80486地址总线宽度为多少?数据总线宽度为多少?

答:80486地址总线宽度为32位(分成4个块,每个块为8位字长,块有A1,A0选择)有数据总线宽度为32位。

14.现有6个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为400A5H~400AAH,若当前的(DS)=4002H,请说明它们的偏移地址值。如果从存储器中读出这些数据,至少需要访问几次存储器,各读出哪些数据?

解:∵物理地址=(DS)×16+偏移地址,

∴偏移地址=物理地址-(DS)×16=400A5H~400AAH-40020H=85H~8AH

至少需要访问三次存储器,每次读出一个字,即2211H,4433H,6655H。

这六个数在存储器中的存放位置如图所示。

4002:0085

4002:0086

4002:0087

4002:0088

4002:0089

4002:008A

习题2(教材P105)

1.已知DS=2000H,BX=0100H,SI=0002H,存储单元[20100H]~[20103H]依次存放12 24 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行后AX寄存器的内容。

(1) MOV AX, 1200H

解:AX=1200H

(3) MOV AX, [1200H]

解:物理地址=D S×16+1200H=20000H+1200H=21200H,所以AX=4C2AH

(5) MOV AX, [BX+1100H]

解:物理地址=D S×16+BX+1100H=20000H+0100H+1100H=21200H ,所以AX=4C2AH

(7) MOV AX, [BX][SI+1100H]

解:物理地址=D S×16+BX+SI+1100H=20000H+0100H+0002H+1100H=21202H ,所以AX=65B7H (2) MOV AX, BX

解:AX=0100H

(4) MOV AX, [BX]

解:物理地址=D S×16+BX=20000H+0100H=20100H,所以AX=2412H

(6) MOV AX,[BX][SI]

解:物理地址=D S×16+BX+SI=20000H+0100H+0002H=20102H,所以AX=7856H

2.指出下列指令错误

(1) MOV CX, DL

答:数据类型不匹配,CX是16位,DL是8位。

(2) MOV IP, AX

答:指令指针不能直接修改。

(3) MOV ES, 1234H

答:段地址寄存器不能直接置数。

(4) MOV ES, DS

答:段地址DS不能做源操作数。

(5) MOV AL, 300

答:300大于255,AL是8位的,最多只能存255

(6) MOV [SP], AX

答:SP不能做间接寻址寄存器。

(7) MOV AX , BX+DI

答:基址变址寻址必须打[]。

(8) MOV 20H, AH

答:立即数不能做目的地址单元。

3.已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存放在于以TABEL为首地址(设为200H)的连续区域中。对如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

LEA BX,TABLE ;取表的首地址送BX,执行后(BX)=200H

MOV AL,8 ;立即数8送AL,执行后,(AL)=8

XLAT ;查表,将表首地址+8((BX)+(AL))所对应单元内容送AL,

;执行后,(AL)=12H(8所对应的格雷码)

4.什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令? 答:堆栈是在内存中开的一个特殊的数据区,堆顶有堆栈指针SP 与SS 共同决定。 原则是:先进后出,

两个操作:入栈、出栈,对应指令:PUSH(入栈)、POP(出栈)。

5.已知SS=FFA0H ,SP=00B0H ,画图说明执行下列指令序列时,堆栈区和SP 的内容如何变化? MOV AX , 8075H PUSH AX MOV AX , 0F79H PUSH AX

POP BX POP [BX]

解:

8.请分别用一条汇编语言指令完成如下功能:

(1)把BX 寄存器和DX 寄存器的内容相加,结果存入DX 寄存器。

FFA0:00AE SP → FFA0:00AF FFA0:00B0

FFA0:0000

执行完

MOV AX , 8075H PUSH AX 指令后

SP=00AEH

FFA0:00AC SP →FFA0:00AD FFA0:00AE FFA0:00AF FFA0:00B0

FFA0:0000

再执行完

MOV AX , OF79H PUSH AX 指令后 SP=00ACH

FFA0:00AE SP → FFA0:00AF FFA0:00B0

FFA0:0000 再执行完

POP BX 指令后

SP=00AFH

FFA0:00AE FFA0:00AF

FFA0:00B0 SP →

FFA0:0000

再执行完

POP [BX] 指令后 SP=00B0H

解:ADD DX, BX

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送AL中。

解:ADD AL, [BX+SI] 或ADD AL, [BX][SI]

(3)用寄存器BX和02BH的寄存器相对寻址方式,把存储器的一个字和CX寄存器的内容相加,并把结果送回存储器中。

解:ADD [BX+02BH] ,CX 或ADD 02BH [BX] ,CX

(4)把数0A0H与AL寄存器内容相加,并把结果送AL中。

解:ADD AL, 0A0H

10.指出下列指令错误

(1)XCHG [SI], 30H

答:立即数不能作为单元地址来保存数据,所以交换指令中的两个操作数必须是地址操作数。

(2)POP CS

答:CS不能作为寻址寄存器使用

(3)SUB [SI], [DI]

答:算术运算指令中的两个操作数不能同时都在内存中

(4)PUSH AH

答:PUSH指令中的操作数必须是16位操作数,AH是8位

(5)ADC AX, DS

答:DS不能做源操作数,

(6)OUT DX, AH

答:只能使用AL(当端口数据位是8位)或AX(端口数据位是16位)与端口交换数据(7)IN AL 3FCH

答:端口地址大于255时,必须有DX寄存器间接寻址。

20.假设DS=2000H,BX=1256H,SI=528FH,位移量TABLE=20A1H,[232F7H]=3280H,[264E5H]=2450H,试问执行下列段内间接转移指令后,转移的目的地址是什么?

(1) JMP BX

(2) JMP TABLE[BX]

(3) JMP [BX][SI]

解:(1)JMP BX,目标地址的偏移量在BX中,所以转移的目的地址是CS:1256H(也可以直接写成有效地址IP=1256H)。

(2) JMP TABLE[BX],目标地址的偏移量在存储器单元中,该存储器单元有效地址为(BX)+ TABLE中,所对应的物理地址=DS×16+(BX)+TABLE=20000H+1256H+20A1H=232F7H,该单元存放的内容为3280H,所以JMP TABLE[BX] 转移的目的地址是CS:3280H(也可以直接写成有效地址IP=3280H)

(3)JMP [BX][SI] 目标地址的偏移量在存储器单元中,该存储器单元有效地址为(BX)+ (SI)中,所对应的物理地址=DS×16+(BX)+(SI)=20000H+1256H+528FH=264E5H,该单元存放的内容为4500H,所以JMP TABLE[BX] 转移的目的地址是CS:4500H(可以直接写成有效地址IP=4500H)。

23.假设AX和SI存放的是有符号数,DX和DI存放的是无符号数,请用比较指令和条件转

移指令实现以下判断:

(1)若DX>DI,转到ABOVE执行;

(2)若AX>SI,转到GREATER执行;

(3)若CX=0,转到ZERO执行;

(4)若AX-SI产生溢出,转到OVERFLOW执行;

(5)若SI≤AX,转到LESS_EQ执行;

(6)若DI≤DX,转到BELOW_EQ执行。

解:(1)CMP DX,DI

JA ABOVE

(2)CMP AX,SI

JG GREATER

(3)CMP CX,0

JE ZERO

(4)CMP AX,SI

JO OVERFLOW

(5) CMP SI,AX

JLE LESS_EQ

(6) CMP DI,DX

JBE BELOW_EQ

选做题

14题(P107).已知数据段500H~600H中存放了一字符串,说明下列程序段执行后的结果。

MOV SI, 600H

MOV DI, 601H

MOV AX, DS

MOV ES, AX

MOV CX, 256

STD

REP MOVSB

24题(P108).有一个首地址为ARRAY的20个字的数组,说明下列程序的功能。

MOV CX, 20

MOV AX, 0

MOV SI, AX

SUM_LOOP: ADD AX, ARRAY[SI]

ADD SI, 2

LOOP SUM_LOOP

MOVE TOTAL, AX

25题(P109).按照下列要求,编写相应的程序段:

⑴起始地址为STRING的主存单元中存放有一个字符串(长度大于6),把该字符串的第一和第六字符(字节变量)传送给DX,

解:

MOV SI, 0

MOV DL , STRING[SI]

MOV DH , STRING[SI+5]

⑵从主存BUFFER开始的4个字节中保存了4个非压缩的BCD码,现按低(高)地址对低(高)位的原则将它们合并到DX中

解:

MOV SI, 0

MOV AL , BUFFER[SI]

AND AL, 0FH

MOV AH , BUFFER[SI+1]

AND AH, 0FH

MOV CL, 4

SHL AH, CL

ADD AL,AH

MOV DL,AL

MOV AL , BUFFER[SI+2]

AND AL, 0FH

MOV AH , BUFFER[SI+3]

AND AH, 0FH

MOV CL, 4

SHL AH, CL

ADD AL,AH

MOV DH,AL

⑶编写一个程序段,在DX 高4位全为0时,使AX=0;否则使AX=-1

解:

AND DX, 0F000H

JZ ZERO

MOV AX 0FFFFH;[-1]补码=FFFFH

JMP JEND

ZERO: MOV AX,0

JEND: HALT

26题(P109).按下述要求,分别给出3种方法,每种方法只用一条指令。

⑴使CF=0

解:

方法一:CLC

方法二:ADD AL, 0

方法三:SUB AL, 0

②使AX=0

解:

方法一:MOV AX, 0000H

方法二:AND AX, 0000H

方法三:SUB AX, AX

③同时使AX=0和CF=0 解:

方法一:SUB AX, AX

方法二:AND AX, 0000H 方法三:XOR AX, AX

习题3(教材P182)

1.伪指令语句与硬指令语句的本质区别是什么?伪指令语句有什么主要作用?

答:区别:伪指令语句是汇编程序可以识别和解释语句(CPU不能直接执行),硬指令语句是CPU可以执行的语句。

伪指令语句主要作用是为汇编程序提供解释说明,它仅仅是在汇编过程中告诉汇编程序如果进行汇编。

2.什么是标识符?汇编程序中标识符怎样组成?

答:是用户自己定义的符号名。在汇编程序中标识符有两种:标号标识符,用在指令语句中,后面跟冒号,表示程序入口的逻辑地址。符号(或名字)标识符,用在伪指令语句中,后面不跟冒号,通常是定义一个变量,或说明变量类型。标识符一般不超31个字符,数字及常规符号($、@、?等)不能打头,也不能使用保留字。标识不区分大小写。

4.汇编语句有哪两种,每个语句有哪4部分组成?

答:指令语句(又称执行语句)和伪指令语句(又称说明性语句)。指令语句4部分包括,①标号:、②硬指令助记符、③操作数、④;注释。伪指令语句4部分包括,①符号名、②伪指令助记符、③参数、④;注释。

5.汇编程序开发有哪4个步骤?分别利用什么程序完成,产生什么输出文件?

答:①编辑。使用文本编辑器。产生汇编源程序文件: 文件名.ASM。源文件是文本文件。

②汇编。使用汇编程序,如MASM或ML,排除程序中的语法错误。产生目标文件:文件名.OBJ。目标文件是二进制文件,是不能执行的文件。

③连接。使用LINK。产生可执行文件:文件名.EXE.

④调试。使用DEBUG。本身不产生文件,是对连接产生的可执行进行调试,排除程序中的算法错误,保证可执行文件的正确性。

7.假设MYWORD是一个字变量,MYBYTE1和MYBYTE2是两个字节变量,指出下列语句中的错误原因。

(1) MOV BYTE PTR[BX], 1000

答:数据类型不匹配,目的地址单元是字节单元,1000大于255。无法存放。

(2) MOV BX, OFFSET[SI]

答:OFFSET后只能跟标识符。

(3) CMP MYBYTE1, MYBYTE2

答:CMP的两个操作数不能同时在存储器中。

(4) MOV AL, MYBYTE1+MYBYTE2

答:运算符只能对常数进行操作,不能对变量进行操作。

(5) SUB AL, MYWORD

答:数据类型不匹配,AL是8位的,MYWORD是16位变量。

(6) JNZ MYWORD

答:MYWORD是变量,其指的单元中存放的是操作数,不能用做跳转入口。

8.OPRL是个常数,请问下列语句中两个AND操作有什么不同?

AND AL, OPRL AND 0FEH

答:第一个AND是指令语句,在程序运行时才执行,第二个AND是逻辑运算符,是在汇编时就对两个常量完成的关系运算。

选做题

22题(P184).编写程序完成两个已知双精度(4B)A和B相加,并将结果存入双精度变量单元SUM中(不考虑溢出)

A DD ?

B DD ?

SUM DD?

MOV AX, WORD PTR A

ADD AX, WORD PTR B

MOV WORD PTR SUM AX

MOV AX, WORD PTR A+2

ADDC AX, WORD PTR B+2

MOV WORD PTR SUM+2 AX

22题(P184).编写程序完成12H,45H,0F3H 6AF,20H,0FEH,90H,0C8H,57H和34H 共10字节数据之和,并将结果存入字节变量SUM中(不考虑溢出)。

DAT1 DB 12H,45H,0F3H6AF,20H,0FEH, 90H, 0C8H, 57H,34H

MOV CX, 10

MOV AL, 0

LEA SI ,DAT1

SUM_LOOP: ADD AL, [SI]

INC SI

LOOP SUM_LOOP

MOVE SUM, AL

25题(P185).编写一个程序段,将AX寄存器中的16位数连续4位分成一组,共

4组,然后把这4组数分别放在AL、BL、CL和DL中。

MOV BX, AX

AND AL, 0FH

MOV CL, 4

SHR BL, CL

AND BL, 0FH

MOV DL, AH

SHR DL, CL

AND DL, 0FH

MOV CL, AH

AND CL, 0FH

27题(P185).已知用于LED数码显示的代码表位为:LEDTABLE DB 0C0H,0FCH,0A4H, 0B0H,99H,92H,82H,0F8H,80H,90H,88H,

83H,0CCH,0C1H,86H,8EH

它依次表示0~9,A~F这16个数码的显示代码。现编写一个程序实现将LEDNUM 中的一个数字(0~9,A~F)转换成对应的LED显示码。

LEA BX LEDTABLE

MOV AL, LEDNUM

XLAT

26题(P185).编写一个程序,把从键盘输入的一个小写字母转换成大写字母显示出来

MOV AH, 08H; 不带显示的键盘输入(字符以ASCII码存AL中)

INT 21H

AND AL, 1101 1111

MOV DL, AL;将要显示字符的ASCII码DL

MOV AH, 02H ;调显示

INT 21H

32题(P185).不用串操作指令,求主存0040H:0开始的一个64KB物理段中共有多少空格?编写程序实现。

MOV AX,0040H

MOV DS, AX

MOV SI, 0

MOV CX,0

MOV DX,0

L0:MOV AL,[SI]

INC SI

CMP AL,20H ; 20H空格的ASCII码

JNZ L1

INC DX

L1:LOOP L0

HLT

习题4(教材P280)

15.8255A有哪几种工作方式,对这些工作方式有什么规定?

答:8255A有三种工作方式。分别是方式0(基本的输入输出方式);方式1(选通的输入输出方式);方式2(双向传输方式)。

方式0:不需要应答联络信号。A、B、C口都可以工作在方式0。

方式1:选通的输入输出方式,只有A、B端口可以工作在方式1,C端口作为A、B端口的应答信号。而且是单向的,作为输入端口,就不能做输出端口,作为输出端口就不能做输入端口。

方式2:双向传输方式,只有A端口可以工作在方式2,C端口做为A端口输入输出时的应答信号,可以工作在输入,也可以工作在输出。

16.假设8255A端口地址为00C0~00C6H,要求:

(1)对8255A设置工作方式,A端口工作在方式1,输入;B端口工作在方式0,输出;端口C的4为配合端口A工作,端口C的低4为方式0,输入。

(2)用置0∕置1,直接对PC6置1,对PC4置0

答:端口地址0000 0000 1100 0000 ~0000 0000 1100 0110。说明A口地址为00C0H,B 口地址为00C2H,C口地址为00C4H,控制字地址为00C6H。

(1)控制字为:1011X001B,即0B1H(X取0)

MOV AL,0B1H

MOV DX,00C6H

OUT DX,AL

(2)直接对PC6置1时的控制字为:0XXX1101B,即0DH

MOV AL,0DH

MOV DX,00C6H

OUT DX,AL

直接对PC4置0时的控制字为:0XXX1000B,即08H

MOV AL,08H

MOV DX,00C6H

OUT DX,AL

17.使用8255A作为开关和LED指示灯的接口。要求8255A的A口连接8个开关,B口连接8个LED(发光二极管),用作指示灯,将A口的开关状态读入,然后送至B口控制指示灯亮、灭。试画出接口电路设计图,并编写程序实现。

解:根据要求,设计电路如图所示。用PA7引脚上的开关控制PB7上的LED,PA0引脚上的开关控制PB0上的LED。开关闭合输入低电平,开关打开输入高电平。高电平指示灯亮。A端口地址为8000H,B端口地址为8001H ,C端口地址为8002H ,控制字寄存器地址为8003H(假设未使用的地址线都取0)。

控制字:10010000B(C口工作在输出),即90H

参考程序:

MOV AL, 90H

MOV DX, 8003H

OUT DX, AL

LOOP: MOV DX, 8000H

IN AL, DX

MOV DX, 8001H

OUT DX, AL

JMP LOOP

3.若8253芯片的接口地址为D0D0H~D0D3H,时钟信号为2MHz,现利用计数器0、1、2分别产生周期为10us的方波,每隔1ms和10ms(1s)产生一个负脉冲,试画出系统的连线图。并写出初始化程序。

解:定时器0的计数初值=10×10-6×2×106=20,工作在方式3。控制字:00010111(17H)定时器1的计数初值=1×10-3×2×106=2000,工作在方式2。控制字:01110101(75H)定时器2的计数初值=10×10-3×2×106=20000=4E20H,工作在方式2。控制字:10110100(B4H)。

注意:1s定时器2的计数初值=2×106=2000000(超过16位计数器计数范围65536,采样2级计数,有计数1的输出OUT1作为计数器2的CLK2的计数脉冲。所以计数器2的计数常数1000

初始化程序:

MOV AL,17H

MOV DX, 0D0D3H

OUT DX, AL

MOV AL,20

MOV DX, 0D0D0H

OUT DX, AL

MOV AL,75H

MOV DX, 0D0D3H

OUT DX, AL

MOV AX,00H

MOV DX, 0D0D1H

OUT DX, AL ;先送计数值低位

MOV AL,20H

OUT DX, AL ;再送计数值高位

MOV AL,0B4H

MOV DX, 0D0D3H OUT DX, AL MOV AX,1000

MOV DX, 0D0D2H OUT DX, AL ;先送计数值低位 MOV AL,AH OUT DX, AL ;再送计数值高位

4.某计算机系统采用8253的计数0作为频率发生器,输出频率500Hz ,利用计数器1产生1000Hz 的方波,输入的时钟频率为1.19MHz 。请问计数器0和计数器1工作在什么方式下?计数初值分别是多少?

解:计数器0工作方式2,计数器1工作方式3下。

计数0初值=1.19×106

÷500=2380

计数2初值=1.19×106

÷1000=1190

5.利用8254的通道1,产生500Hz 的方波信号。设输入时钟的频率CLK1=2.5MHz ,端口地址为FFA0H~FFA3H ,试编制初始化程序。 解:计数器1工作方式3下。

计数1初值=2.5×106

÷500=5000 控制字:01110111(77H ) 初始化程序:

MOV AL,77H

MOV DX, 0FFA3H OUT DX, AL MOV AL,00H

MOV DX, 0FFA1H OUT DX, AL ;先送计数值低位

0 0 1 1 1

2 2 2

MOV AL,50H

OUT DX, AL ;再送计数值高位

6.某系统使用5254的通道0作为计数器,计满1000,向CPU发中断请求,试编写初始化程序(端口地址自设)。

解:计数器0工作方式0下。(假设端口地址为FFA0H~FFA3H)

计数0初值=1000

控制字:00110001(31H)

初始化程序:

MOV AL,31H

MOV DX, 0FFA3H

OUT DX, AL

MOV AL,00H

MOV DX, 0FFA0H

OUT DX, AL ;先送计数值低位

MOV AL,10H

OUT DX, AL ;再送计数值高位

习题5(教材P208)

3.8259A的初始化命令字有哪些?各自如何定义?如何解决地址问题。

答:有4个。分别为ICW1、ICW2、ICW3、ICW4。

各自定义参考教材。

首先在偶地址(A0=0)送ICW1(D4=1),然后在奇地址(A0=1)根据顺序分别送ICW2→ICW3→ICW4。其中ICW2必须送,单片不需要送ICW3,是否送ICW4有ICW1中的D0位是否为1决定。D0=1送ICW4,并且8086系统必须送ICW4。

4.假设8259A的端口地址为92H、93H,如何用它的命令字来禁止IR3和IR5引脚上的请求,又如何撤销这一禁止命令?

解:运用操作命令字OCW1来完成,该操作命令字是奇地址93H

IN AL 93H

OR AL,00101000

OUT 93H,AL

撤销:

IN AL 93H

AND AL,11010111

OUT 93H,AL

5.假设8259A的端口地址为92H、93H,按照如下要求对8259A设置初始化命令字,系统中只有一片8259A,中断请求信号采用电平触发,中断类型码为60H~67H,用特殊嵌套,不用缓冲方式,采用中断自动结束方式。

解:ICW1:00011011(1BH;一片8259A,中断请求信号采用电平触发,设置ICW4)ICW2:60H(中断类型码60 H~67H)

单片不需要ICW3

ICW4:00010111(17H;用特殊嵌套,不用缓冲方式,采用中断自动结束方式)

MOV AL, 1BH

OUT 92H,AL

MOV AL, 60H

OUT 93H,AL

MOV AL, 17H

OUT 93H,AL

P352

2.A/D和D/A转换器在微机控制系统中起什么作用?

答:A/D负责将输入的模拟信号转换成数字信号供计算机处理。

D/A:负责将计算机处理完的数字信号转换为模拟信号去控制外部设备。

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

编程入门基础知识总结

编程入门基础知识总结 https://wenku.baidu./task/browse/javascript:void(0); 基本知识 程序= 算法+ 数据结构,算法是对操作的描述,数据结构是对数据的描述。 伪代码:pseudo code 程序一般包括: (1)预处理命令:#include等 (2)全局声明部分 (3)函数:函数首部(声明)、函数体(局部声明+执行部分) 程序执行过程 源程序-->编译成目标程序obj-->连接目标程序成可执行文件 类:数据成员+成员函数 命名空间 实际上就是一个由程序设计者命名的内存区域。程序员可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开,解决名字冲突,防止全局命名空间污染。 C++库的所有标识符(标准头文件中函数、类、对象、类模版)都是在std命名空间定义的 A 的ASCII码值65 a 的97 1.数据类型 ?基本类型:整型、浮点型、字符型、布尔型 ?构造类型:枚举、数组、结构体类型(struct)、公用体(union)、类类型 ?指针类型 ?引用类型 ?空类型:null int 4 unsigned int 4 short int 2 unsigned short int 2 long int 4 unsigned long int 4 char 1 uchar 1 float 4 double 8 long double 8 无符号:不用保存符号位,故比有符号多了一位 有符号:数值用补码存放(无论正负),最高位为符号位 VC中,long double与double字节数相同,故long double是无用的 GCC中,long double则有12个字节 无负值的量可以定义为unsigned int,如年龄、学号等,以增大存储范围。 short int,long int,unsigned int这些类型后面的int可以省略 整型表示: 十进制,后面加L 或l 八进制,前面加0 十六进制,前面加0x 浮点数表示: 默认为双精度型double 后面加f 或 F 则为单精度float 后面加l 或L 则为长精度型long double

《算法与程序设计》考前模拟题1

《算法与程序设计》考前模拟题 1、下列选项中不是字符串常量的是 ( D ) A、”ab” B、”你好” C、”2006” D、1235 2、以下不属于算法基本特征的是( D)。 A、可执行性 B、确定性 C、有穷性 D、无限性 3、流程图是描述(B)的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 4、以下运算符中运算优先级最高的是( D ) A、+ B、- C、>= D、* 5、结构化程序设计由顺序结构,选择结构和循环结构三种基本结构组成,其中某程序中 三个连续语句如下: a=1 b=2 c=b+a 它属于(A) A、顺序结构 B、选择结构 C、循环结构 D、其他三种都不是 6、在现实生活中,人工解题的过程一般分为:( A ) A、理解分析问题->寻找解题方法->用工具计算->验证结果 B、寻找解题方法->理解分析问题->用工具计算->验证结果 C、用工具计算->验证结果->寻找解题方法->理解分析问题 D、用工具计算->验证结果->理解分析问题->寻找解题方法 7、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是(C) A、设计算法,编写程序,提出问题,运行程序,得到答案 B、分析问题,编写程序,设计算法,运行程序,得到答案 C、分析问题,设计算法,编写程序,运行程序,得到答案 D、设计算法,提出问题,编写程序,运行程序,得到答案 8、一位爱好程序设计的同学,想通过程序设计解决“鸡兔同笼”的问题,他制定的如下工作过程中,更恰当的是(A)。 A、提出问题、设计算法、编写程序、得到答案 B、提出问题、编写程序、运行程序、得到答案 C、编写程序、设计算法、调试程序、得到答案 D、设计程序、提出问题、编写程序、运行程序 9、下列关于算法的特征描述不正确的是(C) A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须有确切的含义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 10.下面关于算法的说法错误的是( B )。 A.算法必须有输出B.算法就是程序 C.算法不一定有输入D.算法必须在有限步执行后能结束 11、下列哪一个不是用于程序设计的软件(C) A、BASIC B、C语言 C、Word D、Pascal 12、下列可以作为合法变量名的是(A) A、a7 B、7a C、a-3 D、8 13、流程图中表示判断框的是(B)。 A、矩形框B、菱形框C、圆形框D、椭圆形框 14、由“上车—掏钱—投币”所描述的问题是(A)。 A、无人售票车投币过程B、乘公交车过程C、上车过程D、下车过程 15、下列给出的赋值语句中正确的是(C)。

教科版高中信息技术选修一《算法与程序设计》选修教案.doc

学习必备欢迎下载 第一课初识算法与程序设计 一、教学目标 1、知识与技能 (1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力; (2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动 手操作能力。 2、情感、态度、价值观 学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学 生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。 二、教学重点难点 重点:算法概念的理解 难点:如何科学合理的选择和设计算法。 三、教学策略与手段 以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动 探讨,通过 Flash 演示材料,比较直观地把抽象的问题简单化,使学生的思考 逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主 探究学习的能力。 四、教学过程( 1 课时) (一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。 【问题一】天下真的有“不要钱的午餐”吗? 某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来

的顺序都坐一遍,以后来吃饭就可永远免费” 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢? 学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题 的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一 个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任 一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位 只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需 要吃120次才有可能吃上免费午餐。 【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的 任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉 的危险。你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。学 生:学生讨论回答。 〖展示步骤〗 ①两个妖怪先过河,一个妖怪回来; ②再两个妖怪过河,一个妖怪回来; ③两个和尚过河,一个妖怪和一个和尚回来; ④两个和尚过河,一个妖怪回来; ⑤两个妖怪过河,一个妖怪回来; ⑥两个妖怪过河。 【F lash 动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和 人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。(二)【课件展示】算法的概念:

历年算法与程序设计学业水平考试真题(带答案)

一、选择题 1、流程图是描述()的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是()。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是()。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于() A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是() A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为() A、理解分析问题→寻找解题方法→用工具计算→验证结果 B、寻找解题方法→理解分析问题→用工具计算→验证结果 C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是() A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件() A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合作变量名的是() A、a7 B、7a C、a-3 D、8 10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是() A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护12.以下程序段运行时,语句k=k+1 执行的次数为()次。 k=-10 do k=k+1 loop while(until)k=0 A. 9 B. 10 C. 11 D. 12 13.已知x=6, y=5, 则以下运算结果为True 的是() A.Not(x>y) B. (x<5)or(y>6) C. (x>=6)And(y>=5) D. Not(x>4) 14.模块化程序设计方法反映了结构化程序设计的()基本思想。 A、自顶向下,逐步求精 B、面向对象 C、自定义函数、过程 D、可视化编程 15、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是() A、设计算法,编写程序,提出问题,运行程序,得到答案

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

算法与程序设计会考复习题

《算法与程序设计》模块会考复习题 一.单选题 1. java方法重载时参数不可能出现的情况是____D______。P67 A.参数的个数不同 B.参数的个数相同而参数的类型不同 C.参数不完全对应相同D.参数完全对应相同 2. 运行Java程序需要的工具软件所在的目录是___A_______。P16 A.JDK的bin目录B.JDK的demo目录 C.JDK的lib目录D.JDK的jre目录 3. J_HelloWorld.java 的文件内容如下: class J_HelloWorld { public static void Main(String args[]) M不应大写 { System.out.println(" Hello World "); } } 下面说法正确的是____B______。 A.J_HelloWorld.java无法通过编译,因为main方法的声明方式不对 B.J_HelloWorld.java可以通过编译,但程序运行时出现“程序中没main方法”的异常C.J_HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类 D.J_HelloWorld.java可以通过编译并正常运行,结果输出字符串“Hello World” 4. 逻辑表达式!(3/2==1.5)&& 9<3|| 9>3的运算结果为_____A_______。 P9 A.true B.false C.表达式有错D.条件不足 5. 下列可以将变量x和y的值互换的语句是___B______。P35 A.x=y;y=x; B.z=x;x=y;y=z; C.x=z;z=y;y=x; D. x=(x+y)/2;y=(x-y)/2; 6. 执行完下面程序片段之后,下面结论正确的是___B_____。 P43 int a,b,c; a=1;b=2; c=(a+b)>3 ? a++:b++; A.a的值是2,b的值是3 B.a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false。 7. 下面程序片段输出的是___C_______。应使用关系运算符== int a=3,b=1; if(a=b)

程序设计基础知识(简答题)

1.请简述程序设计的一般步骤。 (1)分析问题:(2)设计算法;(3)选择程序设计语言;(4)编写程序代码 2.请说明算法的五个基本特征,并进行简要的分析 ①确定性:算法的每一种运算必须要有确切的定义,即每一种运算应该执行何种动作必须是相当清楚的、无二义性的。 ②输入:一个算法有0个或多个输入,这些输入是在算法开始之前给出的量,它取自特定的对象集合 ③输出:一个算法产生一个或多个输出,这些输出是同输入有某种特定关系的量。 ④有穷性:一个算法总是在执行了有穷步的运算之后能够终止,且每一步都可在有穷时间内完成。这里的有穷的概念不是纯数学的,而是在实际上是合理的,可以接受的。 ⑤可行性:每个算法都可以有效地执行,并能得到确定的结果 3.算法的表示方法有哪些? 常用的算法表示方法有自然语言、流程图、N-S图、伪代码等 ①自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁

性,容易产生歧义。 ②流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观 更容易理解 ③N-图:它是一种简化的流程图,去掉了流程图中的流程线,全部算法写在一个矩 形框内。 ④伪代码:介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法 限制。例如:If(明天 不下雨)Then(我们骑车去郊游)表示“如果明天不下雨,那么我们骑车去郊游如果 一种算法描述中既出 现了自然语言,又出现了程序语言中的关键字(变量名不算关键字),则这种算法描 述方法就是伪代码。 4.简述算法的三种基本控制结构 ①顺序结构:按照语句的先后顺序执行即为顺序结构,是算法中最简单的一种结构。 ②选择结构:根据条件的不同,程序执行不同的语句,即为选择结构。 ③循环结构:根据约束条件的不同,多次重复执行某一条或多条语句的结构,称为 循环结构。

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

算法与程序设计教案

算法与程序设计思想 【基本信息】 【课标要求】 (一)利用计算机解决问题的基本过程 (1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。 (2)经历用自然语言、流程图或伪代码等方法描述算法的过程。 (4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。 【学情分析】 高一年级的学生已具备了一定的观察、思考、分析和解决问题能力,也已有了顺序结构、分支结构、循环结构等知识的储备。因此,对于如何将解决问题的思路画成流程图已有一定的基础,但可能还不很熟练,尤其对刚学过的循环结构,教师在课堂上要注意引导。 『此处说“已有了顺序结构、分支结构、循环结构等知识的储备”,应该是指在必修部分对“计算机解决实际问题的基本过程”已有所体验与了解,或是指已学习过数学中相关模块的知识,这是本案例教学得以实施的必不可少的前提条件。』 【教学目标】 1.知识与技能: 建立求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。 2.过程与方法: 利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出求最大值的思想方法,即算法思想。 培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。 『在过程上,通过现实生活中的实例来引导学生总结“求最大值”的算法思想。过程的实现关键在于实例引用是否贴切,是否有利于学生向抽象结论的构建。本案例的实例选择是符合这一要求的。在方法上,注重培养学生分析、解决问题的一般能力,再次体验与理解应用计算机解决问题的基本过程,为后面更一步的学习打下基础,积累信心。』 3.情感态度与价值观:

算法与程序设计填空题10套

第一套 1.有如下程序段: x=5 y=6 p=Not(x+y=11) 该程序段运行后,P的值是(1)False或0。 2.有如下程序段: x=5 y=10 z=12 if x+y<=z Or y+z<=x Or x+z<=y then a="False"else a="True" 该程序段运行后,a的值为(1)True。 3.有如下程序段: s=0 for i=1to5 s=s+i*i next i 该程序段运行后,s的值为(1)55。 4.程序填空 随机产生10个0~100之间的整数,按从小到大的次序排序并输出。为了实现这一目标,完善下面 的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图参见图12-3)。

图12-3 sub command1_click() const n=10 dim i,j,t as integer dim a(1to10)as integer for i=1to10 ______(1)__a(i)=int(Rnd*101)________ next i For i=1To n-1 For j=i+1To n If______(2)_a(i)>a(j)_____Then k=a(i):a(i)=a(j):a(j)=k End If Next j Next i

For i=1To n List1.AddItem Str(a(i)) Next i 第二套 1.有如下程序段: x=5 y=6 t=x x=y y=t 该程序段运行后,y的值为(1)5。 2.有如下程序段: x=5 y=-20 if not x>0then x=y-3else y=x+3 该程序段运行后,x的值为(1)5。 3.有如下程序段: e=0:f=1 for i=1to3 e=e+f f=f+e next i 该程序段运行后,f的值为(1)13。 4.程序填空 有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去500元。已知,每个男人花30元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人? 为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。 sub command1_click() dim man,woman,child,s as integer for man=1to15 for woman=1to23 child=_______(1)_30-woman-man_ s=30*man+20*woman+10*child if___(2)s=500and child>0then list1.additem str(man)+""+str(woman)+""+ str(child) end if

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

算法与程序设计试题带答案

高一第二学期《算法与程序设计》学分认定试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”请问“如何做”是属于用计算机解决问题的哪一个步骤() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、 D、 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()A、F1 B、F8 C、F9 D、F12 13、算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法() A、自然语言 B、流程图 C、伪代码 D、机器语言 14、以下不属于非法用户自定义标识符(常量和变量命名)的是() A、8ad B、ad8 C、_a8d D、const 15、已知A,B,C,D是整型变量,且都已有互不相同的值,执行语句B=0;A=C;D=A;D=B;后,其值相等的变量是() A、A,D B、A,C C、C,B D、B,A 16、要交换变量A和B的值,应使用的语句组是( ) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、VisualBasic中以单引号开头一行文字称为注释,它对程序的运行() A、起一定作用 B、有时候起作用 C、不起任何作用,但是必须的 D、不起任何作用,但能增加程序的可阅读性 18、要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的()。 A、属性Font设置为“确定” B、属性.ForeColor设置为“确定” C、属性Caption设置为“确定” D、属性BorderStyle设置为“确定” 19、要从文本框TXTShowOut中输出"中国您好!",代码为( ) A ="中国您好!" B ="中国您好!" C ="中国您好!" D Val=“中国您好!” 20、下列Visual Basic程序段运行后,变量max的值为()。 a=11; b=15; max=a IF b>max Then max =b A、15 B、11 C、15或11都有可能 D、以上都不是 二、阅读程序写结果(第1~2小题每题5分,第3小题10分,共20分) 1、Private Sub Form_Load() N=InputBox(“请输入N的值:”,“输入”) S=1 For i=1 to N S=S*i Next i MsgBox “S=”+Str(s),0,”计算结果” End Sub 当N=5时,运行的结果是__________________。

高中信息技术算法与程序设计教案沪教版选修1

解析法 一、基本说明 1、教学内容所属模块:信息技术选修1《算法与程序设计》 2、年级:高一年级 3、所用教材出版单位:上海科技教育出版社 4、所属的章节:第三章第一节 5、学时数:45分钟 二、教学设计 1、教学目标: (1)了解解析算法的基本概念。通过实例的学习,掌握用解析算法设计程序的基本思路。 (2)学会根据问题寻找恰当算法和解决问题的方法,并进一步理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的过程和方法。 (3)学会合作、交流,培养勇于实践、勤于思考和善于总结的精神和态度。 2、内容分析: 本节内容为用解析法设计程序,解析法是一种最基本的常用算法,在之前三种基本结构程序设计的例题分析中也曾使用过,该算法的分析也为今后的各种算法学习做好了准备。本课教学重点是“理解解析算法的思想,能写出求解问题的解析式并用程序实现”,本课的教学难点是“如何学会分析问题,合理设计算法,建立求解问题的解析式”。 3、学情分析: 学生已经具备了可视化编程的能力及程序设计的基本技能,这样就可以将教学的重点放在算法的分析上,培养学生解决实际问题的能力。 4、设计思路: 本课采用一个测量树高的例子进行引入,用简单的例子分析解析算法,然后采用教材上的活动“求解铁丝问题”让学生掌握解析算法的实现过程,用“求岛屿面积”的实践环节巩固学生的学习。课堂教学中主要采用任务驱动、分析归纳、小组合作、自主探究相结合的学习方法。

题 2’ 从A、B两点仰角的角度与两点之 间的距离可计算出MN的高度。 引出课题:解析法 探究学习 8’[学习任务一] 问题:MN是竖直于地面的物体, 其底部N不可到达。为了测量MN 的高度,在地面上选取一条与MN 在同一平面的水平线线段AB为 基线,测得AB的长为a=20米, 在A点向M点张望的仰角α =38.4°,在B点向M点张望的仰 角β=22.8°。试设计程序计算高 度MN。 要求:完成“学习任务一”(填 写电子文档) 1、问题分析:怎样写出计算表达 式。(请学生回答) 2、设计求解表达式MN=a/(1/tan β- 1/tanα)的算法。 (以下部分小组合作完成) 3、实现应用程序:老师提供程序 的可视化界面及不完整的程序, 要求学生程序填空,完善程序。 4、将程序输入到程序窗体的按钮 中并调试计算本题结果。附带计 算学校中一棵桂花树和一棵龙柏 的高度。 1、由α、β与a 推导出计算表达 式。 2、根据计算表达 式,分析解题算 法。 3、小组合作,填 空完成程序,交流 填空结果。 4、复制程序,调 试并得出运算结 果。 让学生在 老师的带 领下了解 解析法解 题的一般 过程。 学习小结2’老师提问:请同学说说求解任务 一的步骤是怎样的? 老师用流程图表示这个步 骤,提出解析法的概念。 了解解析算法的 概念。 让学生初 步了解解 析算法的 概念。 [学习任务二]求解“铁丝问题” “智力大比拼”活动: (1)一根长为6米,可制作一个 2平方米的矩形框,问该矩形长 和宽各为多少? (2)上面同样的问题,制作的面 积为2.1平方米,那么长、宽各 参与“智力大比 拼”活动。 产生计算机程序 解决问题与简单 人脑思维运算的 比较。 让学生参 与“智力大 比拼”活 动,产生冲 突,激发学 生学习的 兴趣。

编程入门基础知识总结

编程入门基础知识总结 基本知识 程序= 算法+ 数据结构,算法是对操作的描述,数据结构是对数据的描述。 伪代码:pseudo code 程序一般包括: (1)预处理命令:#include等 (2)全局声明部分 (3)函数:函数首部(声明)、函数体(局部声明+执行部分) 程序执行过程 源程序-->编译成目标程序obj-->连接目标程序成可执行文件 类:数据成员+成员函数 命名空间 实际上就是一个由程序设计者命名的内存区域。程序员可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开,解决名字冲突,防止全局命名空间污染。 C++库的所有标识符(标准头文件中函数、类、对象、类模版)都是在std命名空间定义的 A 的ASCII码值65 a 的97 1.数据类型 ?基本类型:整型、浮点型、字符型、布尔型 ?构造类型:枚举、数组、结构体类型(struct)、公用体(union)、类类型 ?指针类型 ?引用类型 ?空类型:null int 4 unsigned int 4 short int 2 unsigned short int 2 long int 4 unsigned long int 4 char 1 uchar 1 float 4 double 8 long double 8 无符号:不用保存符号位,故比有符号多了一位 有符号:数值用补码存放(无论正负),最高位为符号位 VC中,long double与double字节数相同,故long double是无用的 GCC中,long double则有12个字节 无负值的量可以定义为unsigned int,如年龄、学号等,以增大存储范围。 short int,long int,unsigned int这些类型后面的int可以省略 整型表示: 十进制,后面加L 或l 八进制,前面加0 十六进制,前面加0x 浮点数表示: 默认为双精度型double 后面加f 或F 则为单精度float 后面加l 或L 则为长精度型long double 指数形式

算法与程序设计习题

《算法与程序设计》模块练习题 一、单选题 1、模块化程序设计方法主要通过()来实现。 A.递归算法和递归程序 B.过程和函数的定义和调用 C.程序的循环结构 D.对象答案:B 2、text1.text的含义正确的是()。 A.text1是控件名称,text是控件属性 B.text1是窗体名称,text 是控件 C.text1是控件名称,text是方法 D.text1是控件属性,text是控 件答案:A 3、以下程序段运行后S的值是()。 s = 0 For i = 1 To 14 x = 2 * i - 1 If x Mod 3 = 0 Then s = s + 1 Next i A.0 B.4 C.5 D.14 答案:C 4、数列1,4,7,10,13,……的递推公式为()。 A.f(1)=1;f(n)=n+3 B.f(1)=1;f(n)=n*2-1 C.f(1)=1;f(n)=n*2+1

D.f(1)=1;f(n)=f(n-1)+3 答案:D 5、对于对象及其特征的错误理解是()。 A.对象都具有一个标识自己以区别其他对象的名字。 B.对象都具有自身的属性及其属性值。 C.对象一般只用数据表示属性,但不用代码表示行为。 D.对象都具有自身的行为(操作)。 答案:C 6、VB函数Left ()从字串左端取部分字串,那么Left("Visual Basic 6.0", 8)的值为()。 A.Visual B B.Visual C.Visual Ba D.asic 6.0 答案:A 7、程序段如下: c ="1234" For i = 1 To 4 Print _____, Next 如果要让程序运行后得到如下结果: 1 1 2 12 3 1234 则在下划线处应填入的内容为()。 A.Right(c,i) B.Left(c,i) C.Mid(c,i,1) D.Mid(c,i,i) 答案:B 8、若X = True,执行If X Then X = 0 Else X = 1后X的结果为()。

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

《ACM算法与程序设计》期末问题集

一、综合处理题 1、两倍- https://www.wendangku.net/doc/9b16624865.html,/problem?id=2807 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。 比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。 Input 输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。 Output 对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。 Sample Input 1 4 3 2 9 7 18 22 0 2 4 8 10 0 7 5 11 13 1 3 0 -1 Sample Output 3 2 2、谁拿了最多奖学金 - https://www.wendangku.net/doc/9b16624865.html,/problem?id=2715 Description 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得; 4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得; 5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

相关文档
相关文档 最新文档