当前位置:文档之家› 程序

程序

程序
程序

第一阶段面向过程程序设计

1. 编程序用迭代法求a的立方根,求立方根的迭代公式为 ::Xi+1=(2*Xi)/3+a/(3*Xi*Xi)

假定X的初值为a,迭代到|Xi+1-Xi|<10的-5次方为止. 显示a=3,27的值,并通过调用pow(a,1.0/3)函数加以验证.。

#include

#include //添加包含pow()函数的头文件

using namespace std;

int main()

{

float a[2],x,y,t;

int i;

a[0]=3;a[1]=27;

for(i=0;i<2;i++) //根据题目要求计算两个具体数字的立方根,使用循环

{

x=a[i];

while(1)

{

y=x;

x=(2*x)/3+a[i]/(3*x*x); //运用迭代法公式估算立方根

if(abs(x-y)<0.00001) //对前后两次结果进行比较,如果差值小于规定值

{

cout<<"迭代法求"<

break; //结束循环

};

};

t=pow(a[i],1.0/3); //调用库函数据算立方根

cout<<"调用库函数计算结果是"<

};

return 0;

};

2. 编程序,从键盘输入正整数n,求出n与其反序数之和并输出。例如,输入2038,输出应为2038+8302=10340。

#include

using namespace std;

int main()

{

int n,m,x,j,i,k,t;

m=0; //m代表调换顺序后的数,赋予初值0

int a[100];

cout<<"Please input an integer:";

cin>>n; //输入要调换顺序的数n

i=0;

x=n; //将n的值赋给计算中间变量x

while(1) //while循环作用是将正整数的每个数字剔除开来

{

a[i]=x%10;

x=x/10;

i++;

if(x<10)

{a[i]=x;break;}

}

for(k=0;k

{

t=a[k];

for(j=0;j<(i-k);j++)

t=t*10;

m=m+t;

}

cout<

return 0;

};

3 编程序,使用如下所谓的简单变量―数据平移‖方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是―距它最近‖的前两项(old1与old2)的累加和。而后通过―old1=old2; old2=newItem;‖进行所谓的―数据平移‖。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。

Fibonacci数列的计算公式如下:

fib(1)= 1;

fib(2)= 1;

fib(n)= fib(n-1)+ fib(n-2); //对大于等于3的任意n。

拓展编程(选做),设计递归函数double fib(int n);用于求出Fibonacci数列的第n项(的具体项值)并返回,而后编制主函数对它进行调用。

#include

using namespace std;

int main()

{

int n,old1=1,old2=1,newitem; //定义变量,并对old1,old2进行初始化

cout<<"Please input n:";

cin>>n; //输入要求的第n项具体是哪一项

if(n==1) cout<

else

if(n==2) cout<

else

{

for(int i=2;i

{

newitem=old1+old2;

old1=old2;

old2=newitem;

}

cout<

}

return 0;

}

4. 编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。

注意,现在共有7种元以上面值的人民币纸币,分别为:100,50,20,10,5,2,1。

#include

using namespace std;

int main()

{

int m,a,b,c,d,e,f,g;

cout<<"input the number of money:";

cin>>m; //输入要计算的钱数

a=m/100; //计算面值100所需张数

m=m%100; //计算减去100面值所占钱数剩下的钱数

b=m/50; //计算面值50所需张数

m=m%50; //计算减去50面值所占钱数剩下的钱数

c=m/20; //计算面值20所需张数

m=m%20; //计算减去20面值所占钱数剩下的钱数

d=m/10; //计算面值10所需张数

m=m%10; //计算减去10面值所占钱数剩下的钱数

e=m/5; //计算面值5所需张数

m=m%5; //计算减去5面值所占钱数剩下的钱数

f=m/2; //计算面值2所需张数

g=m%2; //计算面值1所需张数

cout<<"需要"<

cout<<"需要"<

cout<<"需要"<

cout<<"需要"<

cout<<"需要"<

cout<<"需要"<

cout<<"需要"<

}

5. 编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。

思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。

#include

using namespace std;

char *week[]={"Mon","Tue","Wen","Thu","Fri","Sat","Sun"}; //

int judge(int y) //此函数用于判断平闰年

{

if((y%4)==0&&(y%100)!=0) return 1;

else if((y%400)==0) return 1;

else return 0;

}

void output(int f,int *M,int m,int d) //这个函数的作用是计算具体日期是该年的第几天,并且计算出这一天是周几,并输出

{

int i,n,l,sum=0;

for(i=0;i

sum=sum+*(M+i);

sum=sum+d-1;

l=sum%7;

n=f+l;

if(n<=7) cout<<"It's"<<" "<

else cout<<"It's"<<" "<

}

void main()

{

int year,first,month,day;

int m1[12]={31,28,31,30,31,30,31,31,30,31,30,31}, //此行和下一行定义了两个数组,分别是平年和闰年每个月的天数

m2[12]={31,29,31,30,31,30,31,31,30,31,30,31};

cout<<"输入年份:";

cin>>year;

cout<<"输入这一年的第一天是星期几:";

cin>>first;

cout<<"输入月份和日期:";

cin>>month>>day;

if(judge(year)==1) output(first,m2,month,day);

if(judge(year)!=1) output(first,m1,month,day);

}

拓展编程序(选做),设计星座的计算。

6. 编写程序求解骑士巡游问题:在n行n列的棋盘上(如n=5),假设一位骑士(按象棋中―马走日‖的行走法)从初始坐标位置(x1,y1)出发,要遍访(巡游)棋盘中的每一个位置一次。请编一个程序,为骑士求解巡游―路线图‖(或告诉骑士,从某位置出发时,无法遍访整个棋盘—问题无解)。

当n=5时,意味着要在5行5列的棋盘的25个―点‖处,按骑士行走规则,依次将1至25这25个―棋子‖(数码)分别摆放到棋盘上(摆满25个位置则成功,否则失败问题无解)。

例如,当n=5且初始坐标位置定为(1,1) —即最左上角的那个点时,如下是一种巡游―路线图‖。程序执行后的输出结果为:

(x1,y1)? => (1=>5, 1=>5) : 1 1

1 6 15 10 21

14 9 20 5 16

19 2 7 22 11

8 13 24 17 4

25 18 3 12 23

提示:

(1)―棋盘‖可用二维数组B表示。

(2)编制一个具有如下原型的递归函数solve,用于完成任务:从(i,j)点出发,做第k至第n*n(即n的平方)次的移动—将k直到n的平方这些数码按

规则分别摆放到棋盘即数组B中,若成功则通过引用参数ok返回true,否则返回false。

void solve(int i, int j, int k, bool& ok);

(3)编制主函数,让用户输入作为巡游起点的初始坐标位置(x1,y1),在该处摆放―棋子‖(数码)1,而后进行调用―solve(x1, y1, 2, ok);‖来完成所求任务。

欲处理的初始问题为:从某点(x1,y1)出发,按所给行走规则,作24次移动,遍访棋盘中没被访问过的各点(或发现无路可走)。

可分解化简为如下两个子问题(正是形成递归函数的基础):

①由点(x1,y1)出发,按所给行走规则作1次移动到达(g,h)(或发现无路可走);

②从(g,h)点出发,按所给行走规则,作23次移动,遍访棋盘中没被访问过的各点(或发现无路可走)。

solve函数具体实现时,若由(i,j)点出发已―无路可走‖,则将引用参数ok置为false 而递归出口;否则,先―迈一步‖到达(g,h)点,而后再进行递归调用:solve(g, h, k+1, ok);以实现从新点(g,h)出发,将k+1直到25这些―棋子‖(数码)分别摆放到棋盘上,若成功则通过引用参数ok返回true(否则返回false)。

点评:

(1)也可编制第二种解法的主函数:将棋盘上的n平方个点依次作为巡游起点的初始坐标位置(x1,y1),判断从每一位置出发是否有解或无解(输出―OK!‖或―NO!‖,但并不输出―路线图‖)。

(2)若更改程序中的n值(如改为4或6等),便可求解其他阶数的巡游―路线图‖。

(3)可改用非递归方法设计并编写solve函数,那样的话,通常要增加一个记录摆放―棋子‖信息的数组,可记录下是沿着什么方向到达了当前的什么位置(在那儿摆放了―棋子‖)等,而且对上述数组可按照栈(stack)的方式来使用(栈总是采用FILO即所谓的先进后出使用方式),以便在―无路可走‖的情况下,回退(回溯)到上一个位置,接着按照另外的方向去寻找其他的―行走‖方法。

7. 将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7个―基值‖字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。如,罗马数据LXXXVII表示10进制的87。

将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用―基值‖字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。

8. 编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。

提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用―rand()%10‖或―rand()%100‖来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。

9. 编程序,按如下要求来求解任意阶数满秩矩阵的逆矩阵。

(1)矩阵行数(阶数)n之值由用户通过键盘输入;

(2)将欲求逆的―原始矩阵‖另加一个―单位矩阵‖存放在于数组A之中,而n 行2n列的A存储空间通过new来动态分配,且―原始矩阵‖的各元素值也由用户通过键盘输入;

(3)利用行初等变换设法将A左半的―原始矩阵‖化为―单位矩阵‖,此时,右半的原―单位矩阵‖则变成了欲求的结果逆矩阵。

提示:将整个求解任务(总任务)进行―分解‖,设计出多个各负其责的自定义函数以完成各子任务。

求取逆矩阵的主要工作是:利用行初等变换(如将某一行的各数据乘以适当的倍数加到另一行的对应各元素上去),设法将A左半的―原始矩阵‖化为―单位矩阵‖(首先将―左半‖消为―上三角‖;又将―左半‖主对角线消为1;最后将―左半‖消为单位矩阵),此时,右半的原―单位矩阵‖则变成了欲求的逆矩阵。

10. 编写程序对八皇后问题进行求解:在8行8列的棋盘上放置8个皇后,使任一个皇后都不能吃掉其他的7个皇后(注:皇后可吃掉与她处于同行或同列或同一对角线上的其他棋子),并将结果以某种方式显示出来。

例如,当求出下述的一个解时,可输出如下信息来表示该解(输出了表示摆放皇后的坐标位置以及―棋盘状态‖—棋盘中有皇后的位置放一个―Q‖字符,其他位置为―+‖字符)。

(1,1) (5,2) (8,3) (6,4) (3,5) (7,6) (2,7) (4,8)

Q + + + + + + +

+ + + + + + Q +

+ + + + Q + + +

+ + + + + + + Q

+ Q + + + + + +

+ + + Q + + + +

+ + + + + Q + +

+ + Q + + + + +

提示:

(1)通过―int LineNum[9]; bool a[9], b[15], c[15];‖说明具有全局作用域的4个数组。其中的:

LineNum[i]表示第i列的皇后要放的行位置(只用其中的列号1到8);

a[i]为true(i =1,2,…,8)表示第i行上尚未放皇后;

b[i]为true(i =0,1,2,…,14)表示第i条斜对角线上尚未放皇后(斜对角线指的是―/‖状对角线,该对角线上各点的行列号之和i+j为一个常数);

c[i]为true(i=0,1,2,…,14)表示第i条反斜对角线上尚未放皇后(反斜对角线指的是―\‖状对角线,该对角线上各点的行列号之差i-j为一个常数)。

从而当使用语句―if ( a[j] && b[i+j-2] && c[i-j+7] ) LineNum[i]=j;‖时,可用于判断并实现:如果在第j行的第i列上放置皇后安全的话,则将一枚皇后放置到那儿。

(2)编制一个具有如下原型的递归函数solve,它负责往第i列开始的连续8-i+1列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

void solve(int i, bool& ok);

摆放皇后之后,若i=8即已放满时则递归出口;否则通过solve(i+1,ok);进行递归调用。

(3)编制主函数,首先初始化一个―空棋盘‖,即将a、b、c数组的各元素均置为true(表示当前棋盘的8个行、15条斜对角线以及15条反斜对角线上都尚未摆放皇后)。而后执行调用语句―solve(1, ok);‖,它负责往第1列开始的连续8列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

点评:

(1)可改用非递归方法设计并编写solve函数,那样的话,通常要设置数组来记录皇后的摆放位置信息,还要记录这些皇后所产生的―影响面‖(所建立的―势力范围‖)—使得哪些行列位置不可再摆放皇后。当在新的行列位置摆放了皇后、但此时又无法进一步摆放其他的皇后时,要回退(回溯)到上一个位置接

着去考虑另外的―行走‖方法(若还有的话)等等。但注意,―回退‖一步后,要同时―撤销‖由于该步的回退而关联的那些―影响面‖(释放―势力范围‖)。

(2)本程序只是找到了某一种―摆放方案‖而终止,还可进一步考虑寻找其他各种不同的―摆放方案‖(实际上共有92种)。

(3)也可用同样的方法去处理其他―阶数‖的皇后问题,如求解四皇后问题等。

第二阶段面向对象程序设计

1. 自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。请完成类定义,并编制主函数,说明complex类对象,对定义的各成员函数进行调用。

class complex{

double real; //复数实部

double imag; //复数虚部

public:

complex(); //无参构造函数

complex(double r, double i); //2参构造函数

complex addCom(complex c2); //调用者对象与对象c2相加,返回complex 类对象

void outCom (); //输出调用者对象的有关数据(各分量)

};

进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。

2. 自定义一个简单的日期类DateType,它具有数据成员y、m、d,用来表示当前日期的年、月、日。而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。

例如,下面给出的―雏形‖可用来实现对天的增加,比较两个日期是否相等,以及对日期的输出等操作。请完成各类成员函数,并编制主函数,说明DateType类对象,对定义的各成员函数进行调用,以验证它们的正确性。

class DateType { //自定义的日期类DateType

int y,m,d; //数据成员,表示当前日期的年、月、日

public:

DateType(int y0=1, int m0=1, int d0=1);

//构造函数,设定年、月、日;并设置参数默认值

void incrementDay(); //增加1天

bool equal(DateType dt2); //判断二日期是否相等

void printDate(); //屏幕输出日期对象的有关数据(年、月、日)

};

注意,当对日期增加1天后,也会涉及所谓的―进位‖问题:首先算出本―日‖所在的月份具有的天数N,若加1之后的―日‖数值超过所在的月份具有的天数N时,―进位‖到月,而月份若超过12时还要―进位‖到年。

思考:可对该类增加你所考虑到的其他功能,如,对日期进行输入,计算二日期的间隔天数,计算某日期为星期几,打印对象当前数据的y年m月的月历,一次增加若干天,对两个日期进行其他比较运算等。

3. 利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n 项(的具体项值)并输出。具体地说,可通过在基类baseCla及其派生类fib1Cla、fib2Cla和fib3Cla中说明如下的同一个虚函数―virtual double fib(int n);‖,来实现求Fibonacci数列第n项值并返回的3种不同求解方法。例如,可设计并使用已经在第4和第5章的练习中所实现的求解方法:简单变量―数据平移‖法、使用数组的实现法以及使用递归函数的实现法。

下面给出具体的―实现程序骨架‖。

class baseCla { //自定义的基类baseCla

public:

virtual double fib(int n)=0; //基类baseCla中说明了一个虚函数fib,且为纯虚函数

};

class fib1Cla:public baseCla { //由基类baseCla派生出的fib1Cla类

public:

virtual double fib(int n); //派生类中说明同一个虚函数fib(简单变量―数据平移‖法)

};

class fib2Cla:public baseCla { //派生类fib2Cla

public:

virtual double fib(int n); //派生类中说明同一个虚函数fib(使用数组的求解法)

};

void fun(baseCla *p, int n) {

//自定义函数fun,形参p为指向基类的指针,其对应实参

//可为不同派生类对象的地址;n指明要求出数列的第n项

double d = p->fib(n); //根据p指针值的不同,将调用不同派生类的虚函数fib

cout.flags(ios::scientific);

cout.precision(15);

cout<<"fib("<

}

void main() {

fib1Cla obj1; //fib1Cla类对象obj1

fib2Cla obj2; //fib2Cla类对象obj2

fib3Cla obj3; //fib3Cla类对象obj3

cout<<"------------ fib1Cla ------------"<

fun(&obj1, 1476); //简单变量―数据平移‖求解方法,求fib(1476)

cout<<"------------ fib2Cla ------------"<

fun(&obj2, 888); //数组求解方法,求fib(888)

cout<<"------------ fib3Cla ------------"<

fun(&obj3, 35); //递归求解方法,求fib(35)

}

程序执行后,屏幕显示结果为:

------------ fib1Cla ------------

fib(1476)=1.306989223763399e+308

------------ fib2Cla ------------

fib(888)=1.704274475850073e+185

------------ fib3Cla ------------

fib(35)=9.227465000000000e+006

自定义如下形式的一个称为point的类,其对象表示平面上的一个点(x,y),并通过类成员方式对该类重载二目运算符―+‖和―^‖,用来求出两个对象的和以及两个对象(平面点)的距离。各运算符的使用含义(运算结果)如下所示:

(1.2, -3.5) + (-1.5, 6) = (-0.3, 2.5);

(1.2, -3.5) ^ (-1.5, 6) = 9.87623。

并编制主函数,说明类对象,而后通过类对象实现所定义的相关运算(以验证其正确性)。

class point {

double x,y;

public:

point (double x0=0, double y0=0){x=x0; y=y0;}

point operator + (point pt2);

double operator ^ (point pt2);

void display();

};

4. 设计一个简单的计算器类(类型),要求:

(1)从键盘读入算式。

(2)可以进行加、减、乘、除运算。

(3)运算要有优先级。

(4)用户可以按任何的运算符出现顺序进行输入。

(5)不限定用户输入的计算式的长度。

(6)可以带有括号()。

(7)有排错功能,当用户输入错误的算式时提示用户。

例如,如果用户输入:(3 + 4 )* 5 – 7,计算结果应为28。

5. 设计一个类CStudent,类中包含一个学生的基本数据如下:

编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。

并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字符。如:

1 LiPing m 18 89 98 94

请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为―序‖来对文件中的各对象数据进行随机读写处理)。并设计该类的成员函数,而且对输出运算符―<<‖进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。要求成员函数完成以下功能:

(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。

(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。

(3)按姓名对学生信息进行检索并将检索结果显示在屏幕上。

(4)计算某编号学生的总成绩与平均成绩。

(5)列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。

思考:可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数(如可通过咨询教学办公室管理人员后确立),进而将其编制成为一个简单而实用的小型学籍与成绩管理软件。

6. 编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):

template class tmplt {

T arr[n]; // n个T类型的数据存放于数组arr之中

public:

void dataIn(); //从键盘输入n个T类型数据放入arr数组中

void reverseOut(); //将arr数组中的数据按输入的相反顺序输出

};

而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。

7. 编程序CompFile,首先让用户输入两个文件名及其路径(二文件均为text 文件),而后通过使用类成员函数getline逐行读入这两个指定文件的内容并进行比较。若发现有不同,则在屏幕上显示出相异二行的行号及其内容,并暂停下来询问用户是否需要继续比较后继行,直到用户回答不需要继续进行比较,或者已经比到了二文件的结束时停止处理。

思考:也可改写程序,将―让用户输入两个文件名及其路径‖改为从命令行参数处获取这两个文件名及其路径。

8. 编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单位,家庭电话,移动电话。具体功能如下:

1.创建信息链表并以磁盘文件保存。

2.读取磁盘文件并显示输出所有人的移动电话。

3.按姓名或单位查询家庭电话。

4.通过姓名和单位确定个人,修改其电话信息并存盘.

9. 银行账户管理

问题描述

设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。

基本要求

程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。

测试数据

程序应输入不少于10人的账户信息,应考虑到人员同名的情况。

实现提示

可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。

选作内容

在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理10. 足球联赛积分

问题描述

足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。

基本要求

设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。

测试数据

可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。

实现提示

定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。

选做内容

篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。

第三阶段可视化编程

一.必做:

1.课堂观看可视化视频(自带耳机)并当堂写出纸质操作步骤,课下观看可视化视频,写出纸质操作步骤及学习笔记。

2.选取第一、二阶段已设计的任一题目,改写成可视化方法设计。

建议观看:

1.从Appwizard开始-----―HELLO‖;

2.菜单和加速键;

3.对话框;

4.windows消息;

二.选作:

1. 用你熟悉的一种可视化编程语言实现如下图所示的计算器。该计算器需要实现基础的数学运算,如加,减,乘,除。

2. 使用Visual C++ 6.0实现以下绘图程序(可以参考附件中的程序代码)。要求:

(1)程序中包含图中所示菜单项和工具栏;

(2)先选择菜单项或单击工具栏上的命令按钮,然后在窗体空白区域单击鼠标后,绘制相应菜单项或命令按钮指定的图形、文字。

扩充:

1)能够选择、移动、删除、拷贝、剪切图元

2)完成图形文件的保存、打开、打印

3. 用你熟悉的一种可视化编程语言实现以下汉诺塔演示程序(可以参考附件中的程序代码)。

4. 单机版俄罗斯方块

游戏规则:在方块从屏幕上方落下来时,玩家可以移动和旋转窗口内落下的方块,巧妙地安排布置,达到充分利用屏幕空间的目的。每当屏幕的一整行被方块积木排满时,作为奖赏,整行从屏幕上消失,剩余的积木依次往下降一行。当积木堆积达到屏幕顶端的时候,游戏结束。方块效果如下图所示。

扩充:多人联机游戏。

程序性文件

安徽福恩食品科技有限公司程序文件 文件编号:FE011 版次:第一版 受控状况:受控 批准: 编制: 审核: 持有人:刘飞鸣 分发号:FE011-01

年月日发布年月日实施

文件控制程序 1目的 对公司内所有与质量管理体系有关的文件进行控制,确保文件的充分性和适宜性,确保在文件的各相关场所得到适用文件的有效版本。 2范围 适用于与厂质量管理体系有关文件的控制。 3术语 本程序采用GB/T 19000标准中所采用的术语和定义。 4职责 4.1办公室是文件管理的主管部门。 4.2经理负责批准发布质量管理体系手册、方针、目标及程序文件。 4.3质量负责人负责质量管理体系手册及程序文件的审核。 4.4各部门负责与其相关质量管理体系文件的编制、使用、收集、保管、整理及归档。 4.5办公室负责现有体系文件的定期评审。 4.6各部门资料员负责本部门与质量管理体系有关的文件的收集、整理和归档等。 5程序 5.1文件分类及保管 5.1.1质量手册 5.1.2程序文件 5.1.3第三级质量管理体系文件:

a)各部门运行质量管理体系的常用实施细则:包括管理标准(部门管理制度等);工作标准(岗位责任制和任职要求等);技术标准(国标、行标、地标、企标及作业指导书、检验规范等);部门记录文件等。由各相关部门自行保存并报办公室备案存档; b)其他体系文件:可以是针对特定产品、项目或合同编制的质量计划、设计开发输出文件或其他标准、规范管理方案等,文件的组成应适合于其特有的活动方式。由各相应的业务部门保存、使用。 c)与质量管理体系有关的政策,法规文件等外来文件,按本程序执行。 《质量手册》、《程序文件》及《作业指导书》编号按下述规则要求执行: 5.2.1质量手册的编号: FE002 FE---代表本厂 00---代表质量手册2---代表发布编号 5.2.2程序文件的编号 FEO11 FE----代表本厂O1---代表程序文件 1---代表发布编号 5.2.3作业指导书的编号 FE021 FE----代表本厂O2---代表作业指导书 1---代表发布编号 5.3文件的编写、审核、批准、发放 5.3.1文件发布前应得到批准,以确保文件是适宜的。 5.3.2质量管理手册由办公室负责组织编写,由质量负责人审核,最后由办公室汇总后上报经理批准发布,统一由办公室负责登记、发放。 5.3.3各部门文件由各部门负责人组织编写、汇总、审核,由质量负责人批准,统一由办公室负责登记、发放。

LCC管理控制程序

Q/SFC 南车四方车辆有限公司企业标准 Q/SFCG04-29-2013 LCC管理控制程序 2013-08-30发布2013-08-30实施南车四方车辆有限公司发布

Q/SFCG04-29-2013 前言 本标准由产品开发部提出。 本标准由产品开发部负责起草。 本标准主要起草人:朱林。 本标准审核人:王晓峰。 本标准批准人:夏春生。 本标准由产品开发部归口并负责解释。 本标准于2012年07月首次发布。2013年07月第一次修订。 修订说明: 1.3.1条款更改寿命周期的概念。 2.文件中所有“寿命周期成本”统一为“寿命周期费用”。 3.3.2条款改为“是指产品从开始酝酿,经过论证、研究、设计、生产、使用一直到 最后报废的整个寿命周期内所耗费的研究开发设计费用、生产费用、使用和保障费用 及最后废弃处理费用的总和。对用户来说,则是指在系统的整个寿命周期内,为获取 并维持系统的运营(包括处置)所花费的总费用”。 4.3.3条款改为“产品在寿命周期内或其中一部分的(比较各种方案时,可能只分 析产品生命周期中的某个阶段)寿命周期内进行费用评估的经济分析过程”。 5.增加了 5.1.3条款在LCC 分析前,应确定有关的限制条件、假设。 6.原文中 5.1.3条款及以下的条款号向下顺延,原 5.1.3条款“LCC 工作小组负责 确定LCC 构成,按照产品具体结构及其他相关因素确定LCC 分析模型,并发送财务 部。费用分解结构可根据顾客合同进行相应剪裁”改为“LCC 工作小组负责确定LCC 构成,按照产品具体结构及其他相关因素确定LCC 分析模型,并发送财务部。费用 分解结构可根据顾客合同进行相应剪裁。通常顾客仅关心购置费、使用能耗费用、保 障费用等,并不关心研发费、试验费等,因此提供给顾客的LCC一般按附件二的内容 进行统计、计算”。 7.增加了“附件二LCC结构图”,原附件序号向下顺延。

工程测量竖曲线程序及公式

竖曲线程序要素 已知要素 ? 1. 变坡点里程桩号 2. 变坡点高程3. 竖曲线半径4. 变坡点前坡度(上坡为正,下坡 为负) 5. 变坡点后坡度(上坡为正,下坡为负)6.待求点里程 计算公式 ●凹凸型:当前坡度-后坡度为正,则为凸型,反之为凹型 ●转坡角(曲折角):前坡度–后坡度 ●竖曲线长:半径* 转坡角 ●切线长:竖曲线长/ 2 ●外矢距:切线长的平方/ 2倍半径 ●待求点到变坡点距离:待求点桩号–变坡点桩号(取绝对值) ●曲线起终点桩号: 起点:变坡点的桩号–切线长终点:变坡点的桩号+ 切线长 ●任意点切线标高:变坡点的标高±测点与变坡点里程距离*该里程对应坡度 ●任意点设计标高: 1. 凸型:该桩号在切线上的设计标高–修正值 2. 凹型:该桩号在切线上的设计标高+ 修正值 程序条件 ◆条件:如果待求点≦变坡点,则待求点–起点=间距,反之待求点>变坡点,则终点–待 求点=间距 ●曲线点间距:待求点–起点或终点–待求点 If K ≦Z:Then K - A→X:Else K > Z =>B - K→X : IfEnd ●竖曲线上点的高程修正值:曲线点间距的平方/ 2倍半径 ◆条件:凸型竖曲线(J>0) 如果待求点≦变坡点,则任意点设计标高=变坡点高程-(变坡点-待求点)* 前坡度(取绝对值)-修正值,反之待求点>变坡点,则变坡点任意点设计标高=变坡点高程-(待求点-变坡点)* 后坡度(取绝对值)-修正值 If K≦Z:Then H-Abs(U*I)-Y→G:Else K>Z=>H-Abs(U*L)-Y→G:IfEnd ◆条件:凹型竖曲线(J<0) 如果待求点≦变坡点,则任意点设计标高=变坡点高程+(待求点-变坡点)* 前坡度(取绝对值)+修正值,反之待求点>变坡点,则变坡点任意点设计标高=变坡点高程+(变坡点-待求点)* 后坡度(取绝对值)+修正值 If K≦Z:Then H+Abs(U*I)+Y→G:Else K>Z=>H+Abs(U*L)+Y→G:IfEnd

陈述性知识与程序性知识

陈述性知识与程序性知识 知识的定义、基于哲学反映论知识就是人脑对客观世界的主观反映。 、基于信息加工心理学将人脑比作计算机知识就是按一定方式储存的信息。 认知心理学认为知识就是信息在人脑中的表征。 知识分类的缘由认知心理学把长时记忆分为三类内容:、情景记忆(与生活经历、空间场景相联系的)、语义记忆(各种概念、思想及其关系的)、程序记忆(关于如何做某件事的)安德森认为后两种记忆与学生的学习有更为密切的关系。 把这两类记忆区分为两类知识:陈述性知识和程序性知识。 为什么要分类不同知识的学习条件不一样。 陈述性:语文、历史。 第一节程序性知识一、定义二、陈述性知识的表征三、陈述性知识的学习过程四、陈述性知识的教学策略【教学目标】、了解学习的分类、了解陈述性知识的表征方式。 【重点与难点】、陈述性知识的学习过程、陈述性知识的教学策略。 一、定义陈述性知识是个体对有关客观环境的事实及其背景与关系的知识是可以用词语来表达或视觉化的方式来描述的知识。 主要用于回答事件“是什么”、“为什么”及“怎么样”的问题它使我们能够描述或者识别客体和事件。 如:中国的地形特征是什么为什么爆发第二次世界大战国际经济

合作与发展组织在年发布的《以知识为基础的经济》报告中对知识的形态作了更加明确的界定知识应当包括四种类别,即事实知识,知道是什么(knowwhat),指人类对某些事物的基本知识所掌握的基本情况原理知识,知道为什么(knowwhy),指对产生某些事情和发生事件的原因和规律性的认识技能知识,知道怎样做(knowhow),知道实现某项计划和制造某个产品的方法、技能和诀窍等人力知识,知道是谁创造的知识(knowwho),谁知道是什么,为什么和怎么做的信息。 这种划分方法通常叫“4W”法。 其中第一、第二、第四类都可归入陈述性知识的范畴。 二、陈述性知识的表征知识的表征是指信息在心理活动中表现和记载的方式。 陈述性知识的主要表征形式有命题与命题网络、图式以及表象系统。 (一)命题与命题网络、命题是知识的最小单位用于表述一个事实或描述一个状态通常有一个关系和一个以上论题组成。 如:小明买书他喜欢你她很美。 、命题用句子来表达一个句子可以包含一个或多个命题。 小明给张英一本有趣的书。 鸟是有羽毛的动物。 、虽然命题有句子组成但命题不等同于句子。 、命题网络:共同涉及某些信息的命题能相互联系起来形成。 ()事实(facts)指用以表达两个或两个以上有名称的客体或事

RAMS及LCC控制程序

RAMS 及LCC 控制程序 1. 目的 产品在生命周期内,通过执行的一系列活动以确保在每个阶段完成为产品确定的RAMS要求,并符合和满足顾客提出的 RAM目标。 2. 范围 本程序适用于公司产品论证开始到质保期,延伸到产品使用维护期间的相关跟踪活动结束。 3. 定义 3.1RAMS可靠性、可用性、可维修性和安全性的统称。 3.1.1 可靠性: 产品在规定条件下和规定时间内,完成(或保持)规定功能的能力。 3.1.2 可用性 : 产品在任一随即时刻需要和开始执行任务时,处于可工作或可使用状态的程度。简单的说:可用性就是产品处于可工作状态的可能性。 3.1.3 可维修性 : 在规定的条件下和规定的时间内,按规定的程序和方法进行维修时,保持或恢复到规定状态的能力。 3.1.4 安全性 :不发生危险事件的能力。 3.1.5 产品生命周期 : 从产品的初始概念阶段一直到产品停用和处置的整个阶段。 3.1.6 系统的寿命周期费用(LCC): 在系统的整个寿命周期内,为获取并维持系统运营(包括处置)所花费的总费用。 3.1.7不良品质成本:简称COPQ指因产品不良产生的并由本公司承担的成本,包括内部损失成本和外部损失成本,不包括在品质成本统计中所提到的鉴定成本、预防成本、外部品质成本等,也不考虑现行会计制度之外的其它隐性损失,如品牌损失、名誉损失等。 4. 职责和权限 4.1总工程师负责组织 RAMS评审工作; 4.2 销售部负责本程序运行过程中与用户的联系和协调; 4.3 质量控制部负责本程序运行过程中的质量管理、质量评审工作 , 负责产品安全事例的管理、建立、更新工作;

4.4研发部负责具体产品RAMS程序策划、建立工作及相关文件的编制、更

设备预防性维护保养管理程序

食品厂设备预防性维护保养管理程序 1.0目的 将本公司设备的故障率和实际折旧率降至最低,使整个设备在使用周期中的可用性和可靠性增至最高。 2.0 范围 本程序适用于本公司所有生产设备。 3.0 内容 3.1预防性维护保养体系 3.1.1生产部负责制定预防性维护保养计划,安排各时期工作任务并在有异议的情况下进行协调,达成一致,以保证预防性维修保养工作有效地进行。 3.1.2生产部负责添加、取消或延迟设备的维护保养计划,以及由此产生的相关表格的更新,添加、取消或延迟设备的维护计划需经过生产相关负责人协调一致。 3.1.3生产部负责将新的设备加入预防性维护保养计划中,同时负责确定设备最适当的预防性维护时间,以及对设备预防性维护计划所作的任何更改。 3.1.4设备维修依维修难度和工作量分:小修、中修、大修

3.1. 4.1小修是指设备某点或某个部件发生损坏或故障,不影响设备整体效能而进行的定点维修,一般在1—3个工时内完成。 3.1. 4.2中修是指设备部分功能发生故障或丧失,需对设备部分部件进行维修,一般在1—3个工作日能完成。 3.1. 4.3大修是指设备整体性能下降,已不能满足生产需求,必须对整机进行系统维修,以恢复设备的使用价值和性能,一般委托专业维修公司进行,周期大约1—2个月。 3.1. 4.4设备小修按设备维修规程进行,中修按设备维修计划进行专项维修,大修应建立相应的维修计划、委修合同、验收报告等,确保大修工作按期保质的完成。 3.1.5设备三级保养制度,包括:日常维护保养、一级保养、二级保养 3.1.5.1 日常维护保养主要以操作工为主,对设备进行点检并填写设备点检表,并对设备进 行清洁和润滑,严格按操作规程操作设备,并注意设备的运转状况,发现有小故障应及时排 除,及时调整紧固松动部件,下班前对设备进行清洁,对各部件进行擦拭和注油润滑等,并详细记录于《机器设备保养记录表》。

【测量程序】FX5800计算器测量程序集

【测量程序】FX5800计算器测量程序集 FX5800计算器测量程序集2.0 版一、程序功能 主要功能:计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。新版本特点:1、优化原所有主程序,所有参变量(如导线点置仪点坐标、正反算选择、偏角、线路选择等),全部在程序头次显示一次,以后运行不需输入。运行中也可以返回再次选择线路、可以直接以矩阵形式调出线路参数。2、坐标计算考虑了线元法与交点法相结合,即是一条线路也可以一段用线元法,一段用交点法。参数置放矩阵中,输入和可读性极好。3、新增隧道断面欠超挖值放样计算4、高程程序中考虑了初次输入线路选择、计算面与设计面高差,输出中加入显示本桩号路基标准宽度。二、源程序 1.主程序1:一般放样正反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XY Lb1 Q: Norm 2:14→DimZ:1→F:Prog"DX":Lb1 X:Prog"QX":90→B:"PJ"?B:B→Z[1]:Lb1 0: Norm 2 :“KM”?Z:If Z=-1:Then Goto X:Else If Z=-2: Then 2→F :Goto 0: Else If Z=-3: Then Goto 9:IfEnd: Prog"KM":If

F=1:Then ?D:Else “X0”?X:“Y0”?Y: IfEnd: Prog"THB":If F=1: Then Goto 1: Else Goto 2:Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"6JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 0:Lbl 9:Mat F◢Goto Q2.主程序2:高程、横坡、宽度程序(计算设计任意点高程、横坡及路基设计标准宽度)程序名:2GC14→DimZ:LbI 0:Norm 2: Prog"QX":0→B:”H-B:”?B:B→Z[9]:LbI H: Norm 2: “KM”?Z:Z=-1=> Goto 0:?D:Prog”H”:Fix 3:”H=”:Locate 6,4,H◢“I=”: Locate 6,4,I◢Prog"GD":“SJLG=”: Locate 6,4,L◢Goto H3.主程序3:涵洞放样程序(输入置仪点坐标。选择线路、输入路线右夹角、前进方向偏角、由涵中心桩号计算出各涵角坐标、计算放样点至置仪点方位角及距离)程序名:3JH-XY14→DimZ:Prog"DX":LbI X:Norm 2: Prog"QX":90→B:"PJ1"?B:B→C: "PJ2"?C: B→Z[1]:C→Z[8]:LbI 0:Norm 2:1→F: “KM”?Z:If Z=-1:Then Goto X: ?D:Prog”THB”:0→L:“L0”?L:Z[2]+Z[1]-Z[8] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"6JS”:Goto 0:4.主程序4:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:4FBX17→DimZ:LbI B:Norm 2: Prog"QX":

调度指挥与统计分析课程教学设计

交通运输学院 《调度指挥与统计分析》课 程设计 学院交通运输学院班级运输13班 姓名学号 成绩指导老师杨 2016年12 月23 日

指导教师评语及成绩

兰州交通大学交通运输学院课程设计任务书 所在系:交通运输课程名称:调度指挥与统计分析指导教师(签名):杨x 专业班级:交通运输13x班学生姓名:学号:

目录 第一章绪论 (1) 一、列车运行图的意义 (1) 二、列车运行的坐标表示法 (1) 第二章编制列车运行图 .................................. 错误!未定义书签。 一、列车运行图的编图要求 ........................... 错误!未定义书签。 二、列车运行图的编图资料 ........................... 错误!未定义书签。 三、列车运行图的设计步骤 ........................... 错误!未定义书签。 四、列车运行图的编制步骤 ........................... 错误!未定义书签。 五、列车运行图的编制过程 ........................... 错误!未定义书签。 六、机车交路线的绘制 ............................... 错误!未定义书签。第三章区段通过能力的计算 .............................. 错误!未定义书签。 一、会车方案的确定 ................................. 错误!未定义书签。 二、计算区段通过能力 (12) 三、区段通过能力利用系数的计算 ..................... 错误!未定义书签。 四、区段非平行运行图通过能力的计算 (13) 第四章运行图质量指标的计算 (15) 一、上下行列车相关时间的计算 ....................... 错误!未定义书签。 二、机车周转时间计算 ............................... 错误!未定义书签。 三、列车运行图的质量指标 ........................... 错误!未定义书签。 四、机车周转时间和机车日车公里 (19) 五、机车运用效率指标 ............................... 错误!未定义书签。设计心得 .. (23) 参考文献 ............................................... 错误!未定义书签。

首件鉴定控制程序(含表格).doc

FAI归档资料清单 序号项目子项责任部门归档 归档不不需要 未归档备注 完全归档 1.1 项目进度计划技术部 1.2 项目管理项目组织机构图技术部 1.3 首件检验计划技术部检验点的确认 2.1 技术规格逐条响应技术部 2.2 合同图纸 / 文件清单技术部 2.3 系统设计说明文件 / 项目 技术部技术规范 / 图策划 2.4 纸产品构造明细技术部2.5 总图部件图技术部2.6 设计计算书技术部 2.7 文件 / 图纸变更清单技术部 3.1 DFMEA报告技术部 3.2 RAMS计划技术部/质 设计 FMEA 保部3.3 有效性 / 安全分析技术部 3.4 LCC分析技术部 4.1 设计审查设计评审记录技术部4.2 设计评审开口项关闭技术部 5.1 合同/ 定单合同市场部 5.2 备品备件清单技术部 6.1 型式试验计划技术部 6.2 型式试验型式试验大纲技术部 6.3 更改方案评审记录技术部6.4 型式试验报告技术部 7.1 例行试验例行试验大纲技术部 7.2 例行试验报告技术部 8.1 重量重量测量报告技术部 9.1 尺寸测量尺寸测量记录质保部 10.1 质量保证计划技术部/质 保部 质量保证 10.2 主要部件供应商清单质保部 10.3 主要部件供应商评估质保部 11.1 主要原材料材质证明制造部采 11.2 主要原材料/ 特殊材料防烟火证明制造部采主要原材料 / 零部件检验制造部采 11.3 零部件检验证 报告购书及溯源性 11.4 主要或关键部件清单技术部 11.5 主要原材料变更清单技术部 12.1 生产流程图生产工序流程图 /QC 技术部 13.1 生产控制计划检查和试验计划技术部 14.1 特殊工艺清单技术部14.2 特殊过程操作特殊工艺确认证明文件技术部14.3 资格检查无损检测人员名单和资质综合办14.4 喷漆、喷涂检验记录质保部 15.1 工艺 / 检验文工艺文件技术部 15.2 检验文件技术部 件 15.3 组装调试文件 / 调试大纲技术部 16.1 计量器具检定记录质保部 16.2 监视和测量装生产设备及工装清单、维 质保部置控制和维护护记录

预防性维护程序

预防性维护程序 1.为了确保各项设备均按生产厂商的规范要求进行运行和使用,在编制《预防性维护程序》之前必须完成《维修记录簿》。 2.根据《维修记录簿》内容,编制一份包含所有设备、相关设备标识编号、预防性维护项目以及时间间隔的清单。所有信息必须输入分项分割数据表。 3.应将所有工作负荷按52周时间进行平均分配,这一点非常重要,因为这样可确保每周均按规定执行预防性维护工作。通过横向调节维护项目时间间隔,可防止出现需要在某一周内超荷完成相关工作而其他周只需完成很少工作的不平衡现象。分项分割工作表的数量应视预防性维护计划中所包括的设备的数量和规模而定。 4.在分项分割工作表完成并调整至最大效率时,可完成每周工作计划表。5.在第一周内进行维护的各项设备应从分项分割工作表中拉出并输入每周工作计划表,应注明设备名称、标号和具体维护项目。第二周到第52周按第一周的做法进行。已执行完成的周计划工作表插入透明塑料文件封皮中与整个程序一起放在一个三孔文件夹中保存。这些计划工作表应设为一级工作表。

6.每周必须复印年度分周一级计划表。该复印件可视为二级计划表。负责完成该项工作的员工姓名必须注明在此二级计划工作表上。视完成所分配任务的员工数量,可能需要多份二级计划工作表复印件。7.在各项设备和总体任务完成后,相关员工应在二级工作表上签名并注明工作完成日期。如进行了或需要执行任何增加工作,则应在二级工作表上注明并填写物业部申请单。填写完成的二级工作表以及物业部申请单应返还给物业部长。 8.物业部长应审核所返还的所有二级工作表确保所需的预防性维护均已完成,并审查已完成或需要计划的增加工作。所有上述执行的工作以及超出预防性维护工作范围的工作必需输入《维修记录簿记录》中。9.二级工作表必须归档,以一年为一阶段装订成册,保存在物业部长的办公室内。在每年年底,应将这些文件夹放到永久性存放地点,以备法务检查。 10.建议采用计算机系统按上述格式执行消防维护管理系统。如果中心已购买了计算机化维护管理程序,则需按本政策要求予以使用和运行。

一个python脚本看透Linux程序对库的依赖

一个python脚本看透Linux程序对库的依赖 在下今天写了一个小小的python程序,可以在完全不看源代码的情况下,分析a如果调用b.so的时候,会引用b.so的哪些函数,它的用法如下: ./symbol-dep.py-sa -db.so 把a作为-s参数,把b.so作为-d参数。 它的原理如下: 用nm -D --undefined-only命令可以列出一个程序依赖的需要动态链接的库函数,譬如:用nm -D --defined-only命令可以列出一个动态链接库给别人提供的函数,譬如: 我们只要把a依赖的函数,与b.so供给的函数中,求一个交集,即可在完全没有源代码的情况下,知道a会call到b.so的哪些函数。核心源代码如下(部分用了省略号方便阅读):#!/usr/bin/python3 import sys, getopt, os def main(argv): ... try: opts, args = getopt.getopt(...) except getopt.GetoptError: ... for opt, arg in opts: if opt == -h: p... elif opt in ("-s", "--sfile"): srcfile = arg elif opt in ("-d", "--dfile"): dstfile = arg # get the symbols srcfile depends on src=os.popen("nm -D --undefined-only "+srcfile) srclist=src.read().splitlines()

红外遥控原理及解码程序

红外遥控系统原理及单片机 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC 的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周

期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

ramslcc控制程序

文件控制程序 青岛四方车辆研究所有限公司企业标准 Q/SRI Q/SRIG- 06-018-2010 RAMS/LCC 控制程序 版本:00

RAMS/LCC控制程序 1目的与适用范围 1.1 为规范产品的RAMS/LCC实施步骤和控制要求,特制定本程序。 1.2 本程序适用于公司轨道车辆产品RAMS/LCC工作。 2 规范性引用文件 Q/SRIG-06-001-2010《经营管理手册》 GB/T21562《轨道交通可靠性、可用性、可维修性和安全性规范及示例》(idt EN 50 126) GB/T19001-2008《质量管理体系要求》(idt ISO9001:2008) 国际铁路行业标准(IRIS) 3 术语 3.1 RAMS:指(铁路)产品的可靠性、可用性、可维护性和安全性。 3.2 可靠性:产品在规定条件下和规定的时间区间内完成规定功能的能力。 3.3 可用性:可修复产品在某一特定瞬间维持其功能的概率,或在某一期间内维持其功能的时间比率。可用性是产品可靠性、可维护性的综合指标。 3.4 可维护性:产品在规定的使用条件下并按规定的程序和手段实施维修时,为保持产品处于正常使用状态或为修复产品故障、缺陷,使之恢复执行功能状态的能力。 3.5 安全性:保证行车和人身以及设备安全的能力,以在给定时刻系统维持安全功能完善的概率指标。 3.6 LCC:是指生命周期成本。 3.7 其它术语: 本程序中标准术语采用GB/T 19000-2008 《质量管理体系基础和术语》(idt ISO9000:2005)中的有关术语和定义。 铁路行业的术语和定义采用国际铁路行业标准(IRIS)附录5的内容。 4 管理职责 4.1 发展计划部负责RAMS归口管理。 4.2财务部负责公司成本核算的归口管理及汇总。

设备预防性维护管理程序(含表格)

设备预防性维护管理程序 (IATF16949-2016/ISO9001-2015) 1.0目的 确保产品生产的需要,使设备处于完好状态,防止不必要的损坏。 2.0适用范围 适用于对产品生产过程的机器/设备的管理。 3.0职责 3.1生产技术部是设备预防性维护的管理部门。 3.2其他部门是配合部门。 4.0工作程序 4.1生产技术部应建立机器/设备台账,进行编号、标识,关键设备的标识牌上必须写有“关键设备”字样。 4.2对机器/设备的管理,按《设备管理工作的规定》执行。 4.3设备的操作,操作人员按《生产操作规程》进行操作。 4.4操作人员须经培训,未经培训和培训不合格者一律不得上岗操作,按《员工培训控制程序》执行。 4.5制定《设备维护和保养计划》,对设备维护、保养、包装和防护,同时定期由操作人员为主,会同机修人员对其检查并维护保养,每一年一次由机修人员会同操作人员进行检查并维护保养。 4.6对机器/设备的检查,操作人员应在生产前进行试运转检查,在生产过程中进行巡回检查,生产结束后应对其维护保养。

4.7对检查结果不符合规定要求,生产技术部应查明原因,进行分析,研究对策,排除故障,并填写《设备故障报告》。 4.8当维护保养计划与生产计划不符时,车间应进行计划调整。交于生产技术部经理确认。 4.9对设备、工艺控制,使过程中涉及到主要设备、工艺受控,生产出高质量的产品。 4.10生产技术部制定关键设备的《备件清单》,并在清单中明确最少库存量。 4.11当生产技术部领用备件后,应及时采购备件,确保规定的备件数量。 4.12设备预测性维护的要求: 生产技术部对主要设备进行预测性维护靠建立备件计划通过分析设备的精度、噪音/振动、工装、刀具、磨损等主要因素,同时对CMK值进行监控,建立《生产设备预测计划表》。生产技术部每季度进行统计提出改进的要求同时记录于《预测性设备维护统计表》。 4.12每年年底,生产技术部应在年度工作报告中对非计划停车时间进行评价分析,并提交管理评审。 5.0相关/支持性文件 5.1《过程控制程序》 5.2《设备管理工作的规定》 5.3《生产操作规程》 6.0质量记录 《设备维护和保养计划》

性能保障方案

1性能保障方案 1.1从构架设计解决系统性能问题 一个好的构架设计是保证系统今后可靠、稳定、高效运行的基础。从构架设计上考虑系统性能问题,其目标是保证如下指标: ●并发用户数 ●吞吐量 ●可靠性 ●性能 即:让系统更快更好地为更多的用户提供服务,并且保证服务过程不会中断。 为了达到以上指标,在设计中可以采用如下方案: 1.1.1构架设计性能保障原则 (1)面向性能的业务流程分析 明确性能问题在整个软件生产与运行过程中的重要意义,在考虑架构分析与设计的时候,出发点与指导原则是帮助用户使用某种技术手段来高效地完成业务流程,其本质是“高效的业务流程”,而不是一个计算机系统或计算机应用。在这一原则之下,我们的应用开发是围绕着开发高效“业务流程”展开的,Java或其他技术只是我们的一种技术手段而已。避免由于具体的技术实现方案对业务流程分析中的性能指标的束缚。 (2)“化整为零”的领域模型设计 领域模型分析与设计过程中,抽取,抽象出稳定的领域模型,并且剥离出严重影响系统性能的长事物处理与批量事物处理,针对长事务处理采用“化整为零”的处理模式,将集中式处理过程中的具体环节分散到日常的业务处理功能中,对于批量业务处理采用多线程并行独立处理。同时这种“化整为零”领域模型设计在面对业务流程与模型的自然变化面前,可以通过最少,最小的程序变动,降低

对应用性能的影响。 (3)面向性能的架构关键技术选型 在架构设计的时候要时刻围绕着系统的QoS需求,并将这些需求转化到Service的设计上,真正做到“面向性能的架构关键技术选型”,如下内容概述出在架构设计国政部分关键技术选择是如何围绕“性能”进行考虑的。RIA(Rich Internet Application)客户端架构在保证良好的用户体验的同时,处理UI界面的展现与渲染过程中充分利用客户机的运算与处理能力。 数据交互格式定义 精简的客户端与应用服务器端数据交互格式,在不丢失数据语义的同时,尽量降低在网络中传输的数据内容。 自动事物管理 利用面向切面的技术进行事物管理的切入,从而实现自动化的事物处理,避免编程式事物导致的事物与数据库连接问题 ?并行处理 并行处理是通过利用J2EE层执行模式的多线程和多CPU特点来提高性能。与使用一个线程或CPU处理任务相比,以并行方式处理多个子任务可以使操作系统在多个线程或处理器中进行分配这些子任务。 ?异步处理 异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者,其他任务部分将在稍后执行。异步处理是通过缩短那些在将控制返回给用户之前必须处理的时间来提高性能的。虽然都做同样多的事情,但是用户不必等到整个过程完成就可以继续发出请求了 ?缓存机制 缓存中存放着频繁访问的数据,在应用的整个生命周期中,这些数据存放在持久性存储器或存放在内存中。在实际环境中,典型的现象是在分布式系统中每个JVM中有一个缓存的实例或者在多个JVM中有一个缓存的实例。缓存数据是通过避免访问持久性存储器来提高性能的,否则会导致过多的磁盘访问和过于频

红外线遥控器解码程序

资料整理自互联网,版权归原作者! 欢迎访问 https://www.doczj.com/doc/8516983616.html, 新势力单片机,嵌入式
专业技术论坛:https://www.doczj.com/doc/8516983616.html,
红外线遥控器解码程序
Wang1jin 收藏. 交流论坛: https://www.doczj.com/doc/8516983616.html,/ 推荐网站: https://www.doczj.com/doc/8516983616.html, 个人博客: https://www.doczj.com/doc/8516983616.html,
红外线遥控是目前使用最广泛的一种通信和遥控手段.由于红外线遥控装置具有体积小,功耗低,功能强,成本低等特点,因 而,继彩电,录像机之后,在录音机,音响设备,空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控.工业设备中, 在高压,辐射,有毒气体,粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰.
1 红外遥控系统
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图 1 所示.发射部分 包括键盘矩阵,编码调制,LED 红外发送器;接收部分包括光,电转换放大器,解调,解码电路.
2 遥控发射器及其编码
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明, 现以日本 NEC 的 uPD6121G 组成发射电路为例说明编码原理.当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码 也不同.这种遥控码具有以下特征:
采用脉宽调制的串行码,以脉宽为 0.565ms,间隔 0.56ms,周期为 1.125ms 的组合表示二进制的"0";以脉宽为 0.565ms, 间隔 1.685ms,周期为 2.25ms 的组合表示二进制的"1",其波形如图 2 所示.
个人博客:https://www.doczj.com/doc/8516983616.html,
电子综合站点:https://www.doczj.com/doc/8516983616.html,

LCC管理控制程序之欧阳家百创编

Q/SFC 南车四方车辆有限公司企业标准 Q/SFCG04-29-2013 LCC管理控制程序 2013-08-30 发布2013- 08-30 实施 欧阳家百(2021.03.07)

前言 本标准由产品开发部提出。 本标准由产品开发部负责起草。 本标准主要起草人:朱林。 本标准审核人:王晓峰。 本标准批准人:夏春生。 本标准由产品开发部归口并负责解释。 本标准于2012年07月首次发布。2013年07月第一次修订。 修订说明: 1.3.1条款更改寿命周期的概念。 2.文件中所有“寿命周期成本”统一为“寿命周期费用”。 3.3.2条款改为“是指产品从开始酝酿,经过论证、研究、设计、生产、使用一直到最后报废的整个寿命周期内所耗费的研究开发设计费用、生产费用、使用和保障费用及最后废弃处理费用的总和。对用户来说,则是指在系统的整个寿命周期内,为获取并维持系统的运营(包括处置)所花费的总费用”。 4.3.3条款改为“产品在寿命周期内或其中一部分的(比较各种方案时,可能只分析产品生命周期中的某个阶段)寿命周期内进行费用评估的经济分析过程”。 5.增加了5.1.3条款在LCC分析前,应确定有关的限制条件、假设。6.原文中5.1.3条款及以下的条款号向下顺延,原5.1.3条款“LCC工作小组负责确定LCC构成,按照产品具体结构及其他相关因素确定LCC 分析模型,并发送财务部。费用分解结构可根据顾客合同进行相应剪裁”改为“LCC工作小组负责确定LCC构成,按照产品具体结构及其他相关因素确定LCC分析模型,并发送财务部。费用分解结构可根据顾客合同进行相应剪裁。通常顾客仅关心购置费、使用能耗费用、保障费用等,并不关心研发费、试验费等,因此提供给顾客的LCC一般按附件二的内容进行统计、计算”。

最新常用程序测量集

常用程序测量集

常用测量程序集 (内部资料请勿外传) 2007年3月20日 工程技术部 3-JDFX(JD辐射)适用于圆曲线及缓和曲线,左转角:后视直缓点(ZH)。右转角:后视缓直点。 L1C〝ZJ〞:R:L:E:T:A:〝ZH〞:B〝HZ〞:F〝QZ〞=(B-A)/Z:D〝HY〞=A+L:G〝YH〞=B-L L2 Lb10 L3 {K} L4 K<D=>U=K-A:Prog 4△ L5 K>G=>U=B-K:Prog 4△ L6 K≥D=>H=G-K:H≥0=>Prog 5△

L7 △Go to 0 4(子程序) L1 X=U-UXY5/(40R2LXYZ):Y=UXY3/(6RL):K<D=>W=tan-1(Y/(T-X))S= (Y2+(T-X)2) =>W=180-C-tan-1(Y/(T-X)) S== (Y2+(T-X)2) 5(子程序) L1 U=F-K:S= (R2+(R+E)2-2R(R+E)COS(Abs(U)/R×180/п))◢ I=Ssin-1(Rsin(Abs(U)/R×180/п)/S):U≥0=>W=(180-C/2-I▲≠=>W=(180-C)/2+I▲ ZJ-转角(右转角),(°ˋ〞) R-半径 L=缓和曲线长(m)为圆曲线则L=0 E-外距 T-切线长 ZH-ZH点桩号 HZ-HZ点桩号 K-待测点桩号 1-vw:坐标放样 (1){ABCD}:A〝X1〞B〝Y1〞〝C〞 XZ〝D〞〝YZ〞 (2)POL(C-A,D-B)(3)Fixm:WW=360+W⊿V⊿W⊿ X1.Y1-架设点坐标 X2.Y2-后视或待测点坐标 V-1-2距离 W-方位角 2-DZB 应用增设导线、导线加密. (1) A〝X1〞B〝Y1〞C〝XZ〞D〝YZ〞

蒙汉双语诉讼程序性保障措施论文

蒙汉双语诉讼程序性保障措施论文 摘要:蒙汉双语诉讼是公民使用本民族语言文字进行诉讼的具体的样态之一,也是内蒙古区域蒙汉双语司法的表征。应从程序保障的原理出发,对内蒙古区域司法实践当中所形成的蒙汉双语司法的经验进行总结并形成统一的程序性规范,从相关配套制度及技术措施等方面保障当事人及诉讼参与人享有的民族语言文字诉讼权利的充分实现。 关键词:蒙汉双语/诉讼/程序性/保障 民族语言文字平等权是公民的宪法性权利。三大诉讼法中所确立的民族语言文字诉讼原则是公民这一宪法性权利在部门法当中的具体体现,它赋予了公民在诉讼过程中可使用本民族语言文字进行诉讼的权利,也称母语诉讼权。我国有56个民族,5个民族自治区。在这些民族地区的司法实践当中,当事人及诉讼参与人对其所享有的母语诉讼权的行使体现出我国诉讼语言文字的多元性。内蒙古是以蒙古民族为主体的民族自治区,在基层司法实践中,用蒙语或蒙汉双语进行诉讼是常见的事情。基于蒙汉双语诉讼实践的需要以及新时期实现社会和谐的司法保障为宗旨,研究蒙汉双语诉讼中的程序保障问题具有一定的理论意义和现实的价值。 一、蒙汉双语诉讼的运行状态及分析 少数民族地区诉讼语言文字多样性的司法实践告诉我们,诉讼语言文字的多元性需要特有的程序制度加以保障。由于我国少数民族大多居住在偏远地区,“少”且“边缘化”的状态,使得这种诉讼语言文字的多元化及相关程序上的特殊利益诉求没有被更多的人所关注。内蒙古是以蒙古族为主体的少数民族自治区之一,全区共居住有49个民族,其中人口在100万以上的有汉族、蒙古族。根据宪法、国家通用语言文字法、民族区域自治法的规定,蒙古语言文字和汉语言文字都是当地的通用语言文字。因此,用蒙语和蒙汉双语进行诉讼就成为内蒙古区别于其他地区的特有诉讼文化之一。 2007年笔者在内蒙古自治区的西部和东部,分别选择蒙古族居住比较集中地区的3个基层法院、1个中级法院进行了调查,统计了从2004年至2006年(以下调查内容中简称三年)使用蒙古语言文字进行诉讼的案件数量和使用蒙汉双语进

2020年政策工具箱将打出组合拳.doc

2020年政策工具箱将打出组合拳 导读:三大战略陆续细化实施标志着区域协调协同发展的相关政策即将落地,而为了确保今年经济继续运行在合理区间,我国的政策工具箱还将打出一系列"组合拳"。以下是由我J.L为您整理推荐的2019年政策工具箱将打出组合拳, 国家发展改革委15日连发两文,分别就"一带一路"和长江经济带建设在2019年的工作进行了部署,加上春节期间正式印发实施的《"十三五"时期京津冀国民经济和社会发展规划》,至此,国家层面关于三大战略的中短期构想已悉数出台。 专家表示,三大战略陆续细化实施标志着区域协调协同发展的相关政策即将落地,而为了确保今年经济继续运行在合理区间,我国的政策工具箱还将打出一系列"组合拳"。 国家发展改革委表示,2019年,围绕"一带一路"将通过一系列重要举措,确保各项工作迈上新台阶,一是推动共建陆海经济走廊,二是统筹国内各种资源,三是扩大全方位影响。 具体措施方面,为了保证这三项工作的推进,将进一步完善政策框架,力争在我国具备国际竞争优势、国外市场需求较大的装备制造等重点合作领域取得突破。 此外,还将加快编制文化、教育和旅游合作等专项规划;重点打造新疆丝绸之路经济带核心区和福建21世纪海上丝绸之路核心区;推动丝路基金、亚洲基础设施投资银行有效运转;建立中欧通道铁路运输、口岸通

关协调机制;建设沟通境内外、连接东中西的运输通道等。 而围绕长江经济带,国家发展改革委表示,2019年将着力打造"一道两廊三群",即大力构建绿色生态廊道、建设综合立体交通走廊和现代产业走廊、发展沿江三大城市群,新开工建设一批重大项目,充分发挥协商合作机制作用,推动长江经济带发展迈上新台阶。 具体措施包括:抓紧编制出台长江三角洲城市群发展规划、成渝城市群发展规划、长江岸线开发利用和保护总体规划、长江经济带生态环境保护规划等专项规划,形成各项规划相互衔接、有机统一的规划体系;支持上海加快建设具有全球影响力的科技创新中心,推进上海、安徽(合芜蚌)、四川(成德绵)和武汉市全面创新改革试验等。 "三大战略经过一年的部署,已经进入了重在落实的阶段,很多项目今年要展开落实落地,效果也会显现,外贸和投资的相关数据增长都比较快。" 中国银行国际金融研究所研究员高玉伟告诉《经济参考报》记者,三大战略在国内区域互联互通方面会有比较积极的影响。 此前,国家发展改革委主任徐绍史表示,中国经济韧劲十足,还有很多政策工具可以用,能够使得经济运行保持在合理的区间。 对此,多位专家表示,我国经济发展到今天,强刺激已经不能使其反弹。在接下来的政策工具箱内,除了三大战略具体实施方案以及央行于节前下发的房贷新政之外,今年在货币政策、财税政策、简政放权等领域应该还会有新的政策出台,这些也是供给侧结构性改革发力的重要方向。 中国国际经济交流中心经济研究部部长徐洪才说,简政放权、放松

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