搜档网
当前位置:搜档网 › 《Java语言程序设计(一)》(课程代码04747)汇编

《Java语言程序设计(一)》(课程代码04747)汇编

《Java语言程序设计(一)》(课程代码04747)汇编
《Java语言程序设计(一)》(课程代码04747)汇编

《Java语言程序设计(一)》(课程代码04747) 第一大题:单项选择题

1、下列字符组合不能作为Java整型常量的是( )

? A.078

? B.0x3ACB

? C.5000

? D.0x3ABC

参考答案:A

2、以下程序代码的输出结果是( )

int x = 10;

while (x > 7)

{ System.out.print("*"); x--;}

? A.**

? B.***

? C.*

? D.****

参考答案:B

3、设类U声明,及对象u和v的定义如下:

class U{

int x, int y;

U(int a, int b){x= a; y = b;}

void copy(U a){ x = a.x; y = a.y;}

}

U u = new U(1, 2), v = new U(2, 3);

在以下供选择的代码中,可能引起系统回收内存的是( )

? A.u.x=v.y;u.y=v.x

? B.u=v

? C.u.copy

? D.v.copy(u)

参考答案:B

4、设有以下代码:

String s l="123";

String s2="123";

String s3=new String("123");

则表达式s1==s2和s1==s3的值分别是( )

? A.true,true

? B.false,false

? C.true,false

? D.false,true

参考答案:C

5、以下关于AWT与Swing之间关系的叙述,正确的是( ) ? A.Swing是AWT的提高和扩展

? B.在写GUI程序时,AWT和Swing不能同时使用? C.AWT和Swing在不同的平台上都有相同的表示? D.AWT中的类是从Swing继承的

参考答案:A

6、在以下Swing组件中,能为它指定布局管理器的是( ) ? A.JScrollBar对象

? B.JMenuBar对象

? C.JComboBox对象

? D.JDialog对象

参考答案:D

7、一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( )

? A.paint()

? B.paintComponent()

? C.repaint()

? D.update()

参考答案:B

8、用Runnable接口实现多线程的主要工作是( )

? A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。

? B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。

? C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。

? D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程

参考答案:C

9、程序如果要按行输入输出文件的字符流,最合理的方法是采用( )

? A.BufferedReader类和BufferedWriter类

? B.InputStream类和OutputStream类

? C.FileReader类和FileWriter类

? D.File_Reader类和File_Writer类

参考答案:A

10、在编写访问数据库的Java程序时,ResultSet对象的作用是( )

? A.建立新数据库连接

? B.用来表示与数据库的连接

? C.在指定的连接中处理SQL语句

? D.存储查询结果

参考答案:D

11、以下是关于Java语言关键字的叙述,其中正确的是( )

? A.关键字可以用来描述类的成员类型,但是不能描述普通变量

? B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成? C.关键字不可以用作变量、方法、类或标号的标识符

? D.break和main都是Java语言的关键字

参考答案:C

12、

以下程序代码的输出结果是( )

int x=5,y=7,u=9,v=6;

System.out.println(x>y ? x+2:u>v ? u-3:v+2);

? A.8

? B.6

? C.7

? D.true

参考答案:B

13、Java语言中,在类定义时用final关键字修饰,是指这个类( )

? A.不能被继承

? B.在子类的方法中不能被调用

? C.能被别的程序自由调用

? D.不能被子类的方法覆盖

参考答案:A

14、以下是关于字符串运算的代码,执行该代码段的输出结果是( )

String s=″0123456789″,sl,s2;

sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);

? A.0122345

? B.234567892345

? C.012234

? D.23456789234

参考答案:D

15、以下是关于FlowLayout布局组件排列顺序的叙述,正确的是( )

? A.从上到下排列

? B.从左到右排列

? C.从下到上排列

? D.从右到左排列

参考答案:B

16、程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_OPTION,则用户执行的动作是( )

? A.对话框非正常关闭

? B.按下“打开/保存”按钮

? C.按下“撤销”按钮

? D.重新输入了一个文件名

参考答案:B

17、设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是( )

? A.g2d.draw(r)

? B.g2d.drawRect(r)

? C.r.draw()

? D.r.drawRect()

参考答案:A

18、在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是( )

? A.start()

? B.init()

? C.resume()

? D.run()

参考答案:C

19、在以下供选择的方法中,不能用于文件随机访问的方法是( )

? A.readChar()

? B.readLong()

? C.readInteger()

? D.writeChars()

参考答案:C

20、某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象,则这个url对象要调用的方法是( )

? A.connection()

? B.URLConnection()

? C.getConnection()

? D.openConnection()

参考答案:D

21、在下述字符串中,不属于Java语言关键字的是 ( )

? A.float

? B.new

? C.java

? D.return

参考答案:C

22、Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为 ( ) ? A.byte→int→short→long→float→double

? B.byte→short→int→long→float→double

? C.byte→short→int→float→long→double

? D.short→byte→int→long→float→double

参考答案:B

23、在以下供选择的概念中,不属于面向对象语言概念的是 ( )

? A.消息

? B.模块

? C.继承

? D.多态性

参考答案:B

24、在下述Java语言语句中,错误的创建数组的方法是 ( )

? A.int intArray [ ]; intArray=new int[5];

? B.int intArray [ ]=new int[5];

? C.int [ ] intArray ={1,2,3,4,5};

? D.int intArray [5]={1,2,3,4.5};

参考答案:D

25、在Swing中,它的子类能用来创建框架窗口的类是 ( )

? A.JWindow

? B.JFrame

? C.JDialog

? D.JApplet

参考答案:B

26、MouseListener接口不能处理的鼠标事件是 ( )

? A.按下鼠标左键

? B.点击鼠标右键

? C.鼠标进入

? D.鼠标移动

参考答案:D

27、以下不属于文字字型要素的是 ( )

? A.颜色

? B.字体

? C.风格

? D.字号

参考答案:A

28、在以下四个供选的整数中,能作为线程最高优先级的整数是 ( )

? A.0

? B.1

? C.10

? D.11

参考答案:C

29、Java语言可以用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。用户通过文件对话框不可能获得的信息是 ( )

? A.文件名称

? B.文件路径

? C.文件内容

? D.文件对象

参考答案:C

30、在编写访问数据库的Java程序时,Connection对象的作用是 ( )

? A.用来表示与数据库的连接

? B.存储查询结果

? C.在指定的连接中处理SQL语句

? D.建立新数据库连接

参考答案:A

第二大题:填空题

1、Java语言采用多种机制来保证可移植性,其中最主要的是______。

参考答案:虚拟机(或者字节码)

2、构造一个Java表达式:y/x>5,并且x!=0。这个表达式是_________。

参考答案:y/x>5 && x!=0

3、在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。

参考答案:final

4、使用默认字节字符对应表,将字符串转化为字节数组的方法是______。

参考答案:getBytes( )

5、在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和_________。

参考答案:getSource( )

6、使用单选按钮的方法是将一些单选按钮用_________对象分组,使同一组内的单选按钮只允许一个被选中。

参考答案: ButtonGroup

7、在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_________。

参考答案:Font fnA=new Font(“细明体”,Font.PLAIN.12)

8、线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_________方法恢复。

参考答案:notify( )或notifyAll( )

9、为普通的8位字节流文件读和写操作提供支持的类是_________。

参考答案:InputStream 和 OutputStream

10、Connection类是java.sql包中用于处理与数据库连接的类。Connection对象是用来表示_________的对象,Java程序对数据库的操作都在这种对象上进行。

参考答案:数据库连接

11、一个应用程序必须在某个类中定义的方法是______。

参考答案:main( )

12、import语句的格式是______。import包名.;

参考答案:类名

13、在面向对象语言中,对象之间的交互通过______实现。

参考答案:相互发送消息

14、设有两个字符串对象str1和str2,则表达式“strl==str2”的意义是判别字符串strl和str2______。

参考答案:是否引用同一个对象

15、一个基于Swing的应用程序可能在任何平台上都会有相同的______。

参考答案:外观与风格

16、处理键盘事件的Java程序,要实现的接口是______。

参考答案:KeyListener

17、Java语言约定,坐标原点位于绘图区域的______。

参考答案:左上角

18、Java程序中,在临界段中使用______方法,使执行该方法的线程等待。

参考答案:wait( )

19、BufferedWriter类对象能按行输入文件的内容,按行输入的方法是______。

参考答案:readLine( )

20、在https://www.sodocs.net/doc/2218626232.html,包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是______。

参考答案:IP地址和域名

21、一个水平滚动条对象的初始值是50,滑块的宽是10个像素,表示的范围是[0,250]。创建这样的滚动条对象时,提供的5个参数依次是__________。

参考答案:JScrollBar.HORIZONTAL,50,10,0,250

22、要在JComponent 子类的组件中绘图,应重写__________方法。

参考答案:paintComponet( )

23、当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是__________。

参考答案:notify( )

24、某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是__________。

参考答案:RandomAccessFile

25、设已知服务器的IP地址和端口号,要创建一个套接字对象,支持这个要求的类是__________。参考答案:Socket

26、Java的编译程序先将Java源程序翻译成与机器无关的__________。

参考答案:字节码

27、表达式¨23 & 18’’的值是__________。

参考答案:2318

28、如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。

参考答案:has-a

29、Java语言提供了两个用于处理字符串的类,它们是__________。

参考答案:String\StringBuffer

30、某程序用代码“J TextField text=new JTextField();”创建了一个文本框,并对这个文本框注册了监视器,则在监视器处理方法actionPerformed(ActionEvent e)中,判定是在这个文本框上发生事件的条件表达式是__________。

参考答案:e.getSource()==text

第三大题:简答题

1、请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。

参考答案:表示year年是闰年的Java表达式:

(year%4= =0) && (year%100!=0)||(year%400= =0)

2、请写出在类的方法的定义之前,加上修饰字public、private的区别。

参考答案:请写出在类的方法的定义之前,加上修饰字public、private的区别。

Public修饰的方法为公用方法,任何类的方法都可以访问他

Private修饰的方法,本类内部可以访问

3、请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame 的Java语句

参考答案:请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。

TextArea text=new TextArea();

JScrollPane jsp=new JScrollPane(text);

myFrame.getContentPane().add(jsp);

4、要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。

参考答案:Graphics2D g2d=( Graphics2D) g;

Line2D line=new Line2D.Double(10,20,30,40);

G2d.draw(line)

5、请写出字符流数据与字节流数据的区别。

参考答案:字节流用于读写二进制数据,字节流数据是8位的,由InputStream类和OutputStream类为字节流提供API和部分实现,由FileInputStream类和FileOutputStream类提供支持。

字符流数据是16位的Unicode字符,由Reader类和 Writer类为字符流程提供 API和部分实现,由FileReader类和 FileWriter类提供支持。 (P.175)

6、请写出URLConnection类在编写Java网络应用程序中的作用。

参考答案:URLConnection类完成流对象和实现网络连接

7、请写出实现计算y=|x|的if语句。

参考答案: if(x>=0)y=x;

else y=-x;

8、以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。

class Test22{ //1

float u;static float v; //2

static void setUV(boolean f){ //3

u=fac1(f); //4

v=fac2(!f);} //5

static float facl(boolean f){return f?u:v;} //6

float fac2(boolean f){return f?v:u;} //7

} //8

参考答案:4,5,6行错误

9、在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种对象。参考答案:源对象、监视器对象、事件对象

10、写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics的g。

参考答案:Font fn=new Font("Courier",Font.BOLD,18);

g.setFont(fn);

11、通过流的构造方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方法。参考答案:FileInputStream(String name)

FileInputStream(File filename)

FileOutputStream(String name)

FileOutputStream(File filename)

12、当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双方实现通信的两种方式。

参考答案:流式socket和数据报式socket。

13、请写出一段if语句,判断一个整数n是否为偶数。如果是偶数,输出“Yes.”;否则,输出“No.”。

参考答案:If(n%2==0){System.out.println(“Yes”);}els{System.out.println(“No”);} 14、请写出接口定义的一般形式。

参考答案:答:接口定义包括接口声明和接口体两部分。一般形式如下:

[public] interface 接口名 [extends 超接口表]{

接口体

}

15、请写出Java语言编写事件处理程序的两种主要方案。

参考答案:Java语言编写事件处理程序主要有两种方案:一个是程序重设方法handleEvent (Eventevt),采用这个方案的程序工作量稍大一些。另一个方案是程序实现一些系统设定的接口。

16、设已经有Graphics2D对象g2d, 请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽是120,高是30。

参考答案:Rectangle2D rect=new Rectangle2D.Double(20,30,120,30)

G2d.draw(rect);

17、打开文件对话框时,还可以设置筛选条件,即指定文件的类型。请写出FileFilter类预设的两个方法。

参考答案:accept() getDescription()

18、请写出URLConnection类提供的三个常用方法。

参考答案:getOutputStream()

getInputStream()

connect()

第四大题:程序设计题

1、

阅读下列程序,请写出调用pascal(4)的输出结果。

static void pascal(int n) {

int pas[];

pas = new int[n];

pas[0] = 1;

System.out.println(pas[0]);

for (int i = 2; i <= n; i++) {

/* 由存储在pas中的原来内容生成新内容*/

pas[i - l] =1;

for (int j = i- 2;j > 0; j--)

pas[j] = pas[j] + pas[j - 1 ];

for (int j = 0; j < i; j++)

System.out.print(pas[j] +" ");

System.out.println();

}

}

参考答案:1

1 1

1 2 1

1 3 3 1

2、

阅读下列程序,请回答以下问题:

(1)程序要求在文本框text中输入的内容是什么?

(2)辅助文本区showArea组件的作用是什么?

(3)如何使程序开始下载网络文本文件?

(4)程序采用什么输入方式下载网络文件?

import https://www.sodocs.net/doc/2218626232.html,.*; import java.awt.*;

import java.awt.event.*; import,java.io.*; import javax.swing.*;public class Class1{

public static void main(String args[]) .

{ new ConnectNet("读取网络文本文件示意程序");}

}

class ConnectNet extends JFrame implements ActionListener{ JTextField text=new JTextField(30);

JTextArea showArea=new JTextArea();

JButton b=new JButton("下载");JPanel p=new JPanel();

ConnectNet(String s){

super(s);Container con=this.getContentPane();

p.add(text);p.add(b);

JScrollPane jsp=new JScrollPane(showArea);

b.addActionListener(this);

con.add(p,"North"); con.add(jsp,"Center");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(500,400);setVisible(true);

}

public void actionPerformed(ActionEvent e){

String urlName=text.getText();

try{ URL url=new URL(urlName);//由网址创建URL对象

URLConnection tc=url.openConnection();//获得URLConnection对象

tc.connect();//设置网络连接

InputStreamReader in=new InputStreamReader(tc.getInputStream());

BufferedReader dis=new BufferedReader(in); String inLine;

while((inLine=dis.readLine())!=null){showArea.append(inLine+"\n");}

dis.close();

}catch(MalformedURLException e2){e2.printStackTrace();}

catch(IOException e3){ e3.printStackTrace();}

}

}

参考答案:

(1)程序要求在文本框text中输入的内容是什么? 需要读取的文件URL地址

(2)辅助文本区showArea组件的作用是什么? 显示读取的文件内容

(3)如何使程序开始下载网络文本文件? 点击下载按钮

(4)程序采用什么输入方式下载网络文件? 使用字节流完成下载

3、阅读下列程序,请写出该程序的输出结果。

class Tree {

private String name;public boolean flower;

public int birthYear;

Tree(String n, boolean f, int y){ name = n; flower = f; birthYear = y; }

public void setName(String n){name = n;}

public String getName(){return name; }

public void printTree(String str){

System.out.println(str); System.out.println("Name:"+name);

System.out.println("Birth Year:"+birthYear);

System.out.println("Flower:"+flower);

}

}

class PineTree extends Tree {

public boolean coniferous = true;

PineTree(String n, boolean f, int y, boolean c){super(n, f, y);coniferous = c; } public void printTree(String str){

super, printTree(str);

System.out.println("Coniferous:" + coniferous);

}

}

class Test32 {

public static void main(String []args){

Tree fOb = new Tree("May Flower", true, 1980);

PineTree sOb = new PineTree("Pine", false, 2000, true);

fOb.printTree(" fOb:"); sOb.printTree("sOb:");

}

}

参考答案: fOb:

Name:May Flower

Birth Year:1980

Flower:true

sOb:

Name:Pine

Birth Year:2000

Flower:false

Coniferous:true

4、阅读下列程序,请写出该程序的功能。

import java.applet.*; import javax.swing.*;

import java.awt.*; import java.awt.event.*;

public class Test34 extends Applet implements ActionListener {

JTextField text;int r; JPanel panel;

public void paint(Graphics g){

Graphics gc = panel.getGraphics();

gc.clearRect(0,0, panel.getWidth(), panel.getHeight());

gc.setColor(Color.red); gc.fillOval(10, 10, r, r);

}

public void init() {

text = new JTextField(10); panel = new JPanel();

setSize(200, 100); setLayout(new GridLayout(2,1));

add(text); add(panel); text.addActionListener(this);

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == text) {

r = Integer.parseInt(text.getText());

repaint();

}

}

}

参考答案:以文本框输入的数字为半径,以(10,10)为左上角,填充一个红色的圆。

5、阅读下列程序,请回答以下问题:

(1)该程序的菜单条中共有几个菜单项?

(2)单击哪个菜单项,可以打开一个对话框?

(3)该对话框是强制型还是非强制型?

(4)该对话框中显示的是什么内容?

Import javax.swing.*;import java.awt.*;

import java.awt.event.*; import java.util.*;

class MyDialog extends JDialog {

MyDialog(JFrame F, String s) {

super(F, s, false); Date date = new Date();

String t = date.toString(); JLabel text = new JLabel(t);

add(text); setSize(200,100); setVisible(true);

}

}

public class MenuDemo extends JFrame implements ActionListener { JMenuBar menubar; JMenu action;

JMenuItem show, set, quit;

public MenuDemo() {

menubar = new JMenuBar(); setJMenuBar(menubar);

action = new JMenu(''操作''); menubar.add(action);

show= new JMenuItem(''显示''), action.add(show);

set = new JMenuItem("设置"); action.add(set);

action.addSeparator(); quit = new JMenuItem("退出");

action.add(quit); show.addActionListener(this);

set.addActionListener(this); quit.addActionListener(this);

setSize(300,300); setVisible(true);

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == show) {MyDialog diag = new MyDialog(this, "信息");} else if(e.getSource()== set) { this.setTitle("菜单演示");}

else if(e.getSource() == quit){ System.exit(0); }

}

public static void main(String[] args) {new MenuDemo();}

}

参考答案:(1)3个菜单项

(2)“显示”菜单项

(3)非强制型对话框

(4)显示当前事件

6、

class CurrentThreadDemo {

public static void main(String args[]) {

Thread t = new Thread(); System.out.println("Current thread");

t.setName("My Thread"); System.out.println("After name change");

try {for(int n = 3; n > 0; n--) {

System.out.println(n); Thread.sleep(1000);

}

} catch (InterruptedException e) {

System.out.println("Main thread interrupted");

}

}

}

参考答案:urrent thread(1分)

After name change(1分)

3

2

1(2分)

7、阅读下列程序,请写出该程序的输出结果。

class Parent{

private void method 1 () { System.out.println(″Parent′s method 1()″);}

public void method 2 () { System.out.println(″Parent′s method 2()″);method 1();} }

class Child extends Parent {

public void method l (){ S ystem.out.println(″Child′s method 1 ()″);}

public static void main(String args[]){ Parent p = new Child();p.method2();}

}

参考答案:Parent′s method 2()

Parent′s method 1()

8、

阅读下列程序,请写出该程序的功能。

import java.util.*;import javax.swing.*;

public class Test33{

public static void main(String args[]){

String str=(String)JOptionPane.showInputDialog(null,″请输入信息″,

″输入对话框″,JOptionPane.PLAIN_MESSAGE,null,null,null);

StringTokenizer pas=new StringTokenizer(str, ″,″);

int n=pas.countTokens();

System.out.println(″输入的信息有单词:″+n+″个,全部单词如下:″);

while(pas.hasMoreTokens()){

String s=pas.nextToken();

System.out.println(s);

}

}

)

参考答案:

在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词

9、

阅读下列程序,请写出该程序的功能。

import java.applet.*:import java.awt.event.*;import javax.swing.*

public class Class 1 extends Applet implements KeyListener{

JButton button=new JButton(″开始″);

JTextArea text=new JTextArea(5,20);

public void init() {

button.addKeyListener(this); add(button);add(text);

}

public void keyPressed(KeyEvent e){

int t=e.getKeyCode();

if(t>=KeyEvent.VK_A&& t<=KeyEvent.VK_Z) {

text.append(″ ″+(char)t);

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

}

参考答案:

程序功能:从键盘输入字符如果是大写字母A-Z,则显示在文本区中

10、阅读下列程序,请写出该程序的功能。

import java.applet.*; import java.awt.*;

public class Test36 extends java.applet.Applet implements Runnable{ Thread myThread = null;

double seta=0.0;

public void start() {

setSize(500,400);

if(myThread=null){ myThread=new Thread(this); myThread.start();} }

public void run() {

while(myThread!=null) {

try {myThread.sleep(40);

} catch(InterruptedException e){}

seta+=3.0; if(seta>=360)seta=0; repaint();

}

}

public void paint(Graphics g) {

final double pi=3.14159; final double r = 100.0;

int x0=250+(int)(r*Math.cos(3.1415926/180.0*seta));

int y0=200+(int)(r*Math.sin(3.1415926/180.0*seta));

g.setColor(Color.red); g.drawOval(x0,y0,10,10);

}

}

参考答案:红色、顺时针画圆

第五大题:编程题

1、

编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角二维数组。设复制数组方法的模型为:

public static double[][] leftDownConer(double[][]anArray)

public static double[][] leftDownConer(double[][]anArray){

int l1= anArray.length;

int l2=anArray[0].length;

double temp[][];

if(l1<=l2){

temp=new double[l1][];

for(int i=0;i

temp[i]=new double[i+1];

for(int j=0;j

temp[i][j]=anArray[i][j];

}

return temp;

}else{

temp=new double[l2][];

for(int i=0;i

temp[i]=new double[i+1];

for(int j=0;j

temp[i][j]=anArray[l1-l2+i][j];

}

return temp;

}

}

参考答案:

public static double[][] leftDownConer(double[][] anArray) {

int l1 = anArray.length;

int l2 = anArray[0].length;

double temp[][];

if (l1 <= l2) {

temp = new double[l1][];

for (int i = 0; i < l1; i++) {

temp[i] = new double[i + 1];

for (int j = 0; j < i + 1; j++)

temp[i][j] = anArray[i][j];

}

return temp;

} else {

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

北京理工大学汇编实验报告3

北京理工大学汇编实验报告3

本科实验报告实验名称:实验三字符串操作实验 课程名称: 课程设计Ⅰ(CPU与汇编)(实 验)实验时间: 第5-10周周五 下午 任课教师:聂青实验地点:10-102 实验教师:苏京霞 实验类型:?原理验证□综合设计□自主创新 学生姓名:罗逸雨 学号/班级:1120141208 05211401 组号:3 学院:信息与电子学院同组搭档: 专业:通信工程成绩:

CX 中值减 1,当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令。当REP无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为0为止。经常与REP 配合工作的字符串处理指令有MOVS、STOS和LODS。 当REPE/REPZ判断计数寄存器的内容 CX 是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 当REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 3)字符串操作指令 lodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据 DF 标志增减 SI; stosb、stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据 DF 标志增减 DI; movsb、movsw:把 DS:SI 指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据 DF标志分别增减SI和DI; scasb、scasw:把AL或AX 中的数据与ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; cmpsb、cmpsw:把DS:SI 指向的存储单元中的数据与 ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; rep:重复其后的串操作指令。重复前先判断 CX 是否为0,为0就结束重复,否则CX减1,重复其后的串操作指令。主要用在MOVS和STOS前。一般不用在 LODS 前。 上述指令涉及的寄存器:段寄存器DS和ES、变址寄存器SI和DI、累加器 AX、计数器CX。 涉及的标志位:DF、AF、CF、OF、PF、SF、ZF。 三、实验步骤 1) 编写程序,比较两个字符串BUF1和BUF2所含的字符是否相同,相同则AL 返回0,不同AL返回1,字符串长度要求自动获取,要求用字符串处理方法。提示:输入两个字符串之后,将串操作所必须的寄存器等参数设置好,然后使用串操作指令进行从头到尾的比较,两个字符串相等的条件是串长度相等且对应的字符相同。 2) 编写程序,设有一字符串存放在以BUF为首址的数据区中,其最后一字符‘$’作为结束标志,计算该字符串的长度并输出。提示:从串的第一个字符开始统计,直到遇到定义的字符串结束符为止,看看在这个过程中总共有多少个字符,

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

汇编课程设计报告

四川大学计算机学院 学生实验报告 实验名称:汇编课程设计报告 指导教师:唐宁九 姓名:廖偲 学号:0943111209 班级:软件09级一班 日期:20101114

实验报告 班级______________姓名_______________学号_________ 一、实验一:DEBUG基本命令与数据传输指令 二、实验的目的和要求: ? 1.熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。 ? 2.在理解数据传输指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录; 三、实验的环境: 1.硬件环境:cpu 2.26gHZ、内存2G、显存1G、64位总线笔记本电脑 2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具。 四、源程序清单: ?MOV AL, 01H ?MOV SI, 0002H ?LEA SI, [SI] ?MOV BYTE PTR [SI], 80H ?LAHF ?XCHG AL, AH ?SAHF ?XCHG AH, [SI] ?SAHF 五、操作内容: 1.从cmd在debug下进入用A命令进行汇编 格式: A [地址] 功能:从键盘输入汇编程序, 并逐条地把汇编指令翻译成机器代码指令存入对应内存单元。如果不指定汇编地址, 则以CS:IP为地址 2. 反汇编命令U使用 格式: U [地址]/[地址范围] 功能: 将指定地址范围内的机器代码翻译成汇编源程序指令显示出来, 并同时显示地址及代码。 注意: 反汇编时一定确认指令的起始地址, 否则得不到正确的结果。 3.寄存器查看/编辑命令r或r寄存器名称 功能: 显示当前所有寄存器内容, 状态标志及将要执行的下一条指令的地址、代码和汇编指令形式。

微机原理与汇编语言课程设计报告

西北师范大学 计算机科学与工程学院 微机原理与汇编语言 课程设计报告 设计题目:中断控制点阵显示与音乐模块姓名: 学号: 专业班级: 系所中心: 指导老师: 起讫时间: 设计地点: 2016年8月20日

摘要 使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。 【关键词】级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号

目录 摘要 (2) 第一章课程设计 (2) 1.1 目的和任务 (2) 1.2 设计环境、设备与器材 (2) 第二章设计内容和方案 (3) 2.1 设计内容 (3) 2.2 设计方案 (3) 第三章课程设计相关原理简述 (3) 第四章设计实现 (4) 4.1 系统设计框架结构 (4) 4.2 系统硬件设计 (4) 4.3 系统软件设计 (6) 4.4 程序流程图 (6) 4.5 核心数据结构 (8) 4.6 关键代码片段分析 (10) 第五章设计验证 (10) 5.1 验证步骤及结果 (10) 5.2 数据分析 (10) 5.3 遇到的问题及解决 (11) 5.4 需要讨论的其它问题 (11) 5.5 结论 (11) 第六章设计总结 (12) 第七章本课程教学建议 (13) 第八章参考文献 (13) 第九章附录:源代码 (13) 第一章课程设计 1.1 目的和任务 使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

汇编课程设计报告

汇编课程设计报告

学 号: 课程设计 题目打印水仙花数 学院计算机科学与技术 专业计算机科学与技术 班级 姓名 指导教师

武汉理工大学《汇编语言程序设计》课程设计 2012 年 6 月28 日 课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 打印水仙花数 初始条件: 理论:完成了《汇编语言程序设计》课程, 对微机系统结构和80系列指令系 统有了较深入的理解,已掌握了汇 编语言程序设计的基本方法和技 巧。 实践:完成了《汇编语言程序设计》的4 个实验,熟悉了汇编语言程序的设 计环境并掌握了汇编语言程序的 调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握较复杂程序的设计方 法,掌握子程序结构的设计和友好用户界 3

2.1简要分析 2.1.1原理说明 可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。 将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。 在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。 在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。 系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。 2.1.2程序流程图

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学 号 指导教师 完成日期

目录 目录 (2) 1概述 (1) 1.1 设计目的 (1) 1.2 设计内容 (1) 2系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3 系统概要设计 (2) 3.1 系统的功能模块划分 (2) 3.2 系统流程图 (3) 4系统详细设计 (3) 5测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6小结 (5) 参考文献 (6) 附录 (7) 附录源程序清单 (7)

实现加减乘除四则运算的计算器 1 概述 1.1 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 1.2 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 2.1 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 2.2 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 2.3 开发环境 TASM5.0集成环境

(最新版)基于51单片机汇编语言的数字钟课程设计报告含有闹钟万毕业论文

单片微型计算机课程设计报告 多功能电子数字钟 姓 名 学

教师 许伟敏 电气二班 林卫

目录 一:概述 (1) 二:设计基本原理简介 (2) 三:设计要求及说明 (3) 四:整体设计方案 (4) 系统硬件电路设计 4 系统软件总流程设计模块划分及分析5 6 五:单模块流程设计 (8) 各模块设计概述、流程图模块源程序集合及注释8 13 六:单模块软件测试 (23) 七:系统检测调试 (24) 硬件电路调试 软件部分烧写调试 八:系统优化及拓展 (26) 九:心得体会 (28)

单片微型计算机课程设计 一、概述 基于汇编语言的电子数字钟概述 课程设计题目:电子数字钟 应用知识简介: ● 51 单片机 单片机又称单片微控制器,它不是完成某一个逻辑功能 的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌 入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。 ●汇编语言 汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。 ● ISP ISP(In-System Programming)在系统可编程, 是当今流行的单片机编程模式,指电路板上的空白元器 件可以编程写入最终用户代码,而不需要从电路板上取 下元器件。已经编程的器件也可以用ISP方式擦除或再 编程。本次课程设计便使用ISP方式,直接将编写好的 程序下载到连接好的单片机中进行调试。 选题 系统功能分析 硬件电路设计 整体流程设计 及模块划分 模块流程设计 模块编 码测试 系统合成调 试编译 下载调试(含硬件电路调试及软件烧写调试) 验收 完成总结报告课程设计流程图↑ 选题目的及设计思想简介: 课程设计是一次难得的对所学的知识进行实践的机会,我希望通过课程设计独立设计一个简单的系统从而达到强化课本知识并灵活运用的目的。电子数字钟是日常生活钟随处可见的简单系统。对电子数字钟的设计比较容易联系实际并进行拓展,在设计中我将力求尽可能跳出课本的样板,从现实生活中寻找设计原型和设计思路,争取有所突破。 如图所示便是我本次课程设计流程图,设计的整个过程运用自顶向下分析、自底向上实现的

计算机组成原理与大全实验报告

计算机组成原理与汇编课程设计 实验报告 字符统计.asm 2.斐波那契数(小于50).asm (29) 一、课程设计目标 通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。

课程设计的目的和要求: 1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。 2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。 3、使学生养成良好的编程习惯并掌握调试程序的基本方法。 4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。 5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。 1 2 3 4 1 2 3 00001001 00100000 00001011 00110000 00001011

01000000 00000000 00000001 本实验设计机器指令程序如下: 4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中, 第二个加数是需要手工输入的。在实验运行面板中点击“运行”按钮,选择 “输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样 第二个加数就设置好了。 5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。 或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型 机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一

微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。观察各个芯片的状态,思考模型机的运行原理。 四、课程设计的要求 1、根据题目内容,查阅资料。 2、编写课程设计预习报告。 3、编制程序及调试程序。 4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能 实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清 5 6 1 通 三、实验设计内容 读取文件代码段: MOV AX,DATAS MOV DS,AX ;置数据段寄存器 ; MOV DX,OFFSET FNAME MOV AX,3D00H ;读打开指定文件

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

《汇编语言》课程设计任务书

学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 电话号码本编辑和查找程序的设计与实现 初始条件: 理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。 实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求: 1)建立一个可存放50项的电话号码表,每项包括人名及电话号码两部分; 2)程序可接受输入人名及相应的电话号码,并将他们加入电话号码表中; 3)凡有新的输入后,程序应按人名对电话号码表重新排序; 4)程序可接受需要查找电话号码的人名,并从电话号码表中查出其电话号码,并显示出来。 5)程序采用子程序结构,结构清晰; 6)友好清晰的用户界面,能识别输入错误并控制错误的修改。 在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。 阅读资料: 1)《IBM—PC汇编语言程序设计实验教程》实验2.4 2)《IBM—PC汇编语言程序设计(第2版)》例6.11 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试,和验收。 周5:撰写课程设计报告。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 乐曲程序的设计与实现 初始条件: 理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。 实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握程序直接控制I/O方式,掌握计算机发声程序的设计。具体的设计任务及要求:1.采用位触发方式编写程序,使计算机发出音响并演奏乐曲(例如《两只老虎》等)。 1)进一步理解程序直接控制I/O方式和位触发方式控制声音的工作原理。 2)一首乐曲是由不同频率和节拍的音调组成,因此控制脉冲的频率和持续时间是编写乐曲程序的关键。根据已知的音符频率对照表,设置乐曲的频率表和节拍时间表; 3)编写程序并调试通过。 2.了解定时器的工作原理,掌握利用定时器产生声音的方法,使计算机演奏乐曲(例如《两只老虎》等)。编写程序并调试通过。 在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。 阅读资料: 1)《IBM—PC汇编语言程序设计实验教程》3.1节 2)《IBM—PC汇编语言程序设计(第2版)》10.4节,10.5节 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试,和验收。 周5:撰写课程设计报告。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

汇编语言课程设计报告

课程设计报告 课程名称课题名称 汇编语言程序设计 1.显示彩色菱形 2.显示系统当前时间 专业 班级 学号 姓名 指导教师 年月日

课程设计任务书 课程名称汇编语言程序设计 课题 1.显示彩色菱形 2.显示系统当前时间专业班级 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

一、设计内容与设计要求 1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能 够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。 (1)、编制一计算比赛成绩的程序,要求完成以下功能: a、9 名评委,每个评委给分范围为 0~100(整数); b、9名评委给分中,去掉一个最高分和一个最低分,剩余7 名评委的平均分即为参赛者的得分(精确到小数点二位); c、将得分在光标位置处显示出来。 (2) 、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30 字的 grade 数组中,各数据的格式为: 学号,成绩 1,成绩 2,?,成绩 5 然后根据 grade 中的学生成绩,把学生名次填入rank 数据组中,并显示出来,格式为:学号,名次 (3)、利用 INT 1CH(大约每秒中断 18.2 次)编写一个中断驻留程序,要求在屏幕的右 上角显示计算机中当前系统时间,显示格式为 时:分: 秒:1/100 秒 (4)、输入一个菱形的两条对角线长,在屏幕上用‘ * ’号画出一个彩色的菱形。 (5)、设置图形方式并显示彩条,要求: 选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次, 一直到整个屏幕都显示出彩条 2.设计要求: 掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一 些实际的问题,为将来编写软件积累一些典型的案例处理经验。 (1)、设计正确,方案合理。 (2)、界面友好,使用方便。 (3)、程序精炼,结构清晰。 (4)、设计报告 5000 字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 (5)、上机演示。 (6)、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编

相关主题