数值分析实验 插值法
数值分析实验 插值法 java版
import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;
import javax.swing.Box;
class chazhifa extends Frame implements ActionListener {
TextArea area, result, result2;
Button butt, butt2, butt3;
Label lab, lab3;
Box box1, box2, box3, box4, box5, box6, box7;
TextField field, field2;
chazhifa() {
super("插值法:");
area = new TextArea(5, 34);
result = new TextArea(4, 8);
result.setEditable(false);
result2 = new TextArea(4, 8);
result2.setEditable(false);
butt = new Button("拉格朗日插值:");
butt3 = new Button("牛顿插值:");
butt2 = new Button("清除");
field = new TextField(5);
field2 = new TextField(5);
lab = new Label("依次输入xi和yi的值:");
lab3 = new Label("输入n和x:");
box2 = Box.createHorizontalBox();
box1 = Box.createVerticalBox();
box3 = Box.createHorizontalBox();
box4 = Box.createHorizontalBox();
box5 = Box.createHorizontalBox();
box6 = Box.createHorizontalBox();
box7 = Box.createVerticalBox();
setLayout(new FlowLayout());
box2.add(lab3);
box2.add(field);
box2.add(field2);
box2.add(butt2);
box3.add(lab);
box4.add(area);
box5.add(butt);
box5.add(butt3);
box6.add(result);
box6.add(result2);
box7.add(Box.createVerticalStrut(6));
box7.add(box2);
box7.add(Box.createVerticalStrut(5));
box7.add(box3);
box7.add(Box.createVerticalStrut(5));
box7.add(box4);
box7.add(Box.createVerticalStrut(5));
box7.add(box5);
box7.add(Box.createVerticalStrut(5));
box7.add(box6);
box7.add(Box.createVerticalStrut(5));
add(box7);
butt.addActionListener(this);
butt2.addActionListener(this);
butt3.addActionListener(this);
validate();
setBounds(200, 200, 300, 330);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
os课设-文件系统的实现
对文件系统中目录和文件的管理,具体要求如下:
在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个 简单的基于多级目录的但用户单任务系统的文件系统。在退出文件系统的使 用时,应将虚拟文件系统保存到磁盘中,以便下次可以再将它恢复到内存的虚拟磁盘空间中。
文件存储空间的分配可采用显示链接分配或其它方法。
空闲磁盘空间的管理可选择位示图或其它方法。如果采用位示图来管理文件存储空间,并采用显示链接分配方式,那么可以将位示图合并到FAT中。
文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名,物理地址,长度等信息,还可以通过目录项实现对文件的读和写的保护。
需要提供以下有关的操作:
format: 对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。
mkdir: 用于创建子目录。
rmdir:用于删除子目录。
ls : 用于显示目录。
cd: 用于更改当前目录。
create : 用于创建文件。
open: 用于打开文件。
close: 用于关闭文件
write: 用于写文件。
read: 用于读文件。
rm: 用于删除文件。
java课设-具有保存功能的计算器
java课程设计,具有保存功能的计算器,可以完成加减乘除及sin,cos,log...功能,界面美观。
java课设-学生管理系统
在正确输入了登录系统的用户名称和密码后可以顺利的进入系统的主窗体界面中。管理员可以方便的在菜单中选择对学院,专业的删除和添加,对学生信息的添加,删除,查询,修改。在对这些信息进行处理后要求系统能及时的更新,选择专业之前要求先通过下拉框的形式选择学院,即要求实现学院和专业的分级。此外,添加日志文件,以供查看操作的记录,操作界面美观,实现基本的学籍管理系统的功能。
进程调度算法模拟
本模拟程序实现对n个进程根据优先权的高低调度的模拟,创建进程描述符PCB,进程的优先权在运行过程中动态改变,每个时间片结束后显示当前各进程的状态。具体要求如下:
用C语言来实现对n个进程采用不同调度算法的进程调度。
每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:
进程标识数 ID。
进程优先数 PRIORITY,并规定优先数越大的进程,其优先权越高。
进程已占用的CPU时间CPUTIME。
进程还需占用的CPU时间NEEDTIME。当进程运行完毕时,NEEDTIME变为0。
进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,将进入阻塞状态。
进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。
进程状态STATE。
队列指针NEXT,用来将PCB排成队列。
优先数改变的原则:
进程在就绪队列中呆一个时间片,优先数加1。
进程每运行一个时间片,优先数减3。
假设在调度前,系统中有5个进程,它们的初始状态如下:
ID 0 1 2 3 4
PRIORITY 9 38 30 29 0
CPUTIME 0 0 0 0 0
ALLTIME 3 3 6 3 4
STARTBLOCK 2 -1 -1 -1 -1
BLOCKTIME 3 0 0 0 0
STATE READY READY READY READY READY
为了清楚的观察各进程的调度过程,程序应将每个时间片内的情况显示出来,参照的具体格式如下:
RUNNING PROG:i
READY-QUEUE:-〉id1-〉id2
BLOCK-QUEUE:-〉id3-〉id4
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = =
ID 0 1 2 3 4
PRIORITY P0 P1 P2 P3 P4
CUPTIME C0 C1 C2 C3 C4
ALLTIME A0 A1 A2 A3 A4
STARTBLOCK T0 T1 T2 T3 T4
BLOCKTIME B0 B1 B2 B3 B4
STATE S0 S1 S2 S3 S4
请求调页存储管理方式模拟
假设每个页面中可存放10条指令,分配给作业的内存块数为4。
用C语言语言模拟一个作业的执行过程,该作业共有320条指令, 即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需要记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需要进行页面置换,最后显示其物理地址,并转向下一条指令。在所有320条指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。
置换算法:请分别考虑最佳置换算法(OPT)、先进先出(FIFO)算法和最近最久未使用算法(LRU)。
作业中指令的访问次序按下述原则生成: 50%的指令是顺序执行的; 25%的指令是均匀分布在前地址部分; 25%的指令是均匀分布在后地址部分;
具体的实施方法是:
在[0,319]的指令地址之间随机选取一起点m;
顺序执行下一条指令,即执行地址序号为m+1的指令;
通过随机数,跳转到前地址部分[0,m+1]中的某条指令处,其序号为m1;
顺序执行下一条指令,其地址序号为m1+1的指令;
通过随机数,跳转到后地址部分[m1+2,319]中的某条指令处,其序号为m2;
顺序执行下一条指令,其地址序号为m2+1的指令;
重复跳转到前地址部分,顺序执行,跳转到后地址部分,顺序执行的过程直至执行320条指令。