计算机模拟2
计算机二级c语言考前模拟二

第一部分:C语言程序设计试卷(共100分)一、填空题(每题1分,共10分)1、若已知a=20,b=l0,则表达式!a>b的值为( )。
2、为表示关系x大于等于y并且大于等于z,应使用的C语言表达式是()。
3、有以下程序main( ){int x=102,y=012;printf(“%2d,%2d ”,x,y);}执行后输出结果是()。
4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是( )。
5、有以下程序main( ){ char A[]=”abcdefg”,B[10]=”abcdefg”;printf(“%d %d ”,sizeof(A) ,sizeof(B) );}执行后输出结果是()。
6、以下程序运行时若从键盘输入:B33<回车>,则输出结果是( )。
#include <stdio.h>main(){char a,b;a=getchar();scanf("%d",&b);a=a-'a'+31;b=b*2;printf("%d %c\n",a,b);}7、以下程序运行后的输出结果是( )。
main(){ int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t;printf("%d,%d\n",x,y);}8、以下程序的输出结果是( )。
main(){int arr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}9、下列程序段的输出结果是( )。
main(){char b[]="Hello you";b[5]=0;printf("%s\n",b);}10、用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
计算机培训模拟试卷二

计算机操作员高级技能知识练习(二)操作参考步骤一、基础操作(10分)将考试文件夹重命名,文件夹名称为“姓名(准考证号)”,如:张三(12345)1.单击“开始”→程序→附件→辅助工具→屏幕键盘,按下Alt+Printsereen键截窗口,打开“画图”软件→粘贴→文件→保存。
2.“我的电脑”右击→“管理”→双击“本地用户和组”→右击 “组”→“新建组”→输入组名、描述→单击“添加”→高级→立即查找→选中“GUEST” →确定→确定,按下Alt+Printsereen键截窗口,打开“画图”软件→粘贴→文件→保存。
3.开始→设置→控制面板→性能和维护→管理工具→双击“本地安全策略”→单击“账户策略”→双击“密码策略”→双击右边窗口“密码长度最小值”,改为3,确定→双击“密码最长存留期”,改为10,确定→按下Alt+Printsereen键截窗口,打开“画图”软件→粘贴→文件→保存。
二、文字录入(20分)略三、通用文档处理(60分)(一)WORD应用(20分)1.步骤:a.选中标题,右键单击,在弹出的快捷菜单上选择“字体”,在“字体”选项卡中进行设置,如下图所示。
b.选中标题第一个字,右键单击,在弹出的快捷菜单上选择“字体”,在“字符间距”选项卡中进行设置,如下图所示。
c.选中标题第二个字,右键单击,在弹出的快捷菜单上选择“字体”,在“字符间距”选项卡中进行设置,如下图所示。
d.选中标题,右键单击,在弹出的快捷菜单上选择“字体”,在“文字效果”选项卡中进行设置,如下图所示。
2.步骤:鼠标选中第二段的第一个汉字“希”,选择工具栏中带圈字符工具,如下图所示:若工具栏中找不到带圈字符工具,请按如下所示找:在出现的“带圈字符”对话框中,设置如下:同样的方式,设置后面的汉字“望”。
望”2字选中,编辑-复制将设置好的“○希○鼠标选中第二段和第三段所有文字,编辑-查找-替换-查找内容中输入文字:希望点击“全部替换”,出现如下对话框,选择“否”3.步骤:a.选中第四段,右键单击在弹出的快捷菜单中选择“段落”选项,进行设置,如下图所示。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
全国计算机等考二级C语言模拟试题二

全国计算机等考二级C语言模拟试题二一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面叙述正确的是________。
A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间答案:C评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱。
(2)以下数据结构属于非线性数据结构的________。
A)队列B)线性表C)二叉树D)栈答案:C评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。
栈又称后进先出表(Last In First Out);队列又称先进先出表(First:In First Out)。
二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。
(3)在一棵二叉树上第8层的结点数最多是________。
A)8B)16C)128D)256答案:C评析:根据二叉树的性质:二叉树第i(i≥1)层上至多有2i-1个结点。
得到第8层的结点数最多是128。
(4)下面描述中,不符合结构化程序设计风格的是________。
A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)自顶向下C)注重提高程序的执行效率D)限制使用goto语句答案:C评析:结构化程序设计方法的四条原则是:1.自项向下;2.逐步求精;3.模块化;4.限制使用goto语句。
(5)下面概念中,不属于面向对象方法的是________。
A)对象、消息B)继承、多态c)类、封装D)过程调用答案:D评析:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。
2020年全国计算机二级等级考试全真模拟试卷及答案(第二套)

2020年全国计算机二级等级考试全真模拟试卷及答案(第二套)1. 下列叙述中正确的是A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 算法的时间复杂度与空间复杂度没有直接关系参考答案:D2. 下列叙述中正确的是A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B) 循环队列中的元素个数随队头指针的变化而动态变化C) 循环队列中的元素个数随队尾指针的变化而动态变化D) 以上说法都不对参考答案:A3. 棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为A) 219B) 229C) 230D) 231参考答案:B4. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为A) 9B) 10C) 45D) 90参考答案:C5. 构成计算机软件的是A) 源代码B) 程序和数据C) 程序和文档D) 程序、数据及相关文档参考答案:D6. 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是A) 测试B) 设计C) 可行性研究D) 实现参考答案:C7. 下面不能作为结构化方法软件需求分析工具的是A) 系统结构图B) 数据字典(DD)C) 数据流程图(DFD图)D) 判定表参考答案:A8. 在关系模型中,每一个二维表称为一个A) 关系B) 属性C) 元组D) 主码(键)参考答案:A9. 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A 和C的联系是A) 一对一B) 一对多C) 多对一D) 多对多参考答案:B10.A) 选择B) 投影C) 交D) 并参考答案:D11. 以下叙述中正确的是A) C语言程序所调用的函数必须放在main函数的前面B) C语言程序总是从最前面的函数开始执行C) C语言程序中main函数必须放在程序的开始位置D) C语言程序总是从main函数开始执行参考答案:D12. C语言程序中,运算对象必须是整型数的运算符是A) &&B) /C) %D) *参考答案:C13. 有以下程序#include <stdio.h>main(){int sum, pad, pAd;sum = pad = 5;pAd = ++sum, pAd++, ++pad;printf("%d\n", pad );}程序的输出结果是A) 5B) 6C) 7D) 8参考答案:B14. 有以下程序#include <stdio.h>main(){int a=3;a+=a-=a*a;printf( "%d\n", a );}程序的输出结果是A) 0B) 9C) 3D) -12参考答案:D15. sizeof( double )是A) 一个整型表达式B) 一个双精度型表达式C) 一个不合法的表达式D) 一种函数调用参考答案:A16. 有以下程序#include <stdio.h>main(){int a=2, c=5;printf( "a=%%d,b=%%d\n", a,c );}程序的输出结果是A) a=2,b=5B) a=%2,b=%5C) a=%d,b=%dD) a=%%d,b=%%d参考答案:C17. 若有定义语句:char a='\82';则变量aA) 说明不合法B) 包含1个字符C) 包含2个字符D) 包含3个字符参考答案:A18. 有以下程序#include <stdio.h>main(){char c1='A', c2='Y';printf( "%d, %d\n", c1,c2 );}程序的输出结果是A) 输出格式不合法,输出出错信息B) 65,89C) 65,90D) A,Y参考答案:B19. 若变量已正确定义for( x=0,y=0; ( y!=99 && x<4 ); x++ )则以上for循环A) 执行3次B) 执行4次C) 执行无限次D) 执行次数不定参考答案:B20. 对于while(!E) s; ,若要执行循环体s,则E的取值应为:A) E等于1B) E不等于0C) E不等于1D) E等于0参考答案:D21. 有以下程序#include <stdio.h>main(){int x;for( x=3; x<6; x++ )printf( (x%2 ) ? ("*%d") :("#%d"),x);printf("\n");}程序的输出结果是A) *3#4*5B) #3*4#5C) *3*4#5D) *3#4#5参考答案:A22. 有以下程序#include <stdio.h>main(){ int a, b;for( a=1,b=1; a<=100; a++ ){ if(b>=20) break;if(b % 3==1) { b=b+3; continue; }b=b-5;}printf("%d\n",a);}程序的输出结果是A) 10B) 9C) 8D) 7参考答案:B23. 有以下程序#include <stdio.h>void fun( int x, int y, int *c, int *d ){ *c = x+y; *d = x-y; }main(){ int a=4, b=3, c=0, d=0;fun ( a, b, &c, &d );printf( "%d %d\n" , c, d );}程序的输出结果是A) 0 0B) 4 3C) 3 4D) 7 1参考答案:D24. 有以下程序#include <stdio.h>void fun( int *p, int *q ){ int t;t = *p; *p = *q; *q=t;*q = *p;}main(){ int a=0, b=9;fun ( &a, &b );printf( "%d %d\n" , a,b );}程序的输出结果是A) 9 0C) 9 9D) 0 9参考答案:C25. 有以下程序#include <stdio.h>main(){ int a[ ]={ 2,4,6,8,10 }, x, *p, y=1;p = &a[1];for( x=0; x<3; x++ ) y += *(p+x);printf( "%d\n",y );}程序的输出结果是A) 13B) 19C) 11D) 15参考答案:B26. 有以下程序#include <stdio.h>main()int i, x[3][3] = { 1,2,3,4,5,6,7,8,9 };for( i=0; i<3; i++ )printf( "%d ", x[i][2-i] );printf( "\n" );}程序的输出结果是A) 1 5 0B) 3 5 7C) 1 4 7D) 3 6 9参考答案:B27. 设有某函数的说明为int* func(int a[10], int n);则下列叙述中,正确的是A) 形参a对应的实参只能是数组名B) 说明中的a[10]写成a[]或*a效果完全一样C) func的函数体中不能对a进行移动指针(如a++)的操作D) 只有指向10个整数内存单元的指针,才能作为实参传给a参考答案:B28. 有以下程序#include <stdio.h>char fun( char *c ){if ( *c<='Z' && *c>='A' )*c -= 'A'-'a';return *c;}main(){char s[81], *p=s;gets( s );while( *p ){*p =fun( p );putchar( *p );p++;}printf( "\n");}若运行时从键盘上输入OPEN THE DOOR<回车>,程序的输出结果是A) OPEN THE DOORB) oPEN tHE dOORC) open the doorD) Open The Door参考答案:C29. 设有定义语句:char *aa[2]={ "abcd","ABCD"};则以下叙述正确的是A) aa[0]存放了字符串"abcd"的首地址B) aa数组的两个元素只能存放含有4个字符的一维数组的首地址C) aa数组的值分别是字符串"abcd"和"ABCD"D) aa是指针变量,它指向含有两个元素的字符型数组参考答案:A30. 有以下程序#include <stdio.h>int fun( char *s ){ char *p=s;while (*p !=0 ) p++;return ( p-s );}main(){ printf( "%d\n", fun( "goodbey!" ) ); }程序的输出结果是A) 0B) 6C) 7D) 8参考答案:C31. 有以下程序#include <stdio.h>int fun( int n ){ int a;if( n==1 ) return 1;a = n + fun( n-1 );return ( a );}main(){ printf( "%d\n", fun( 5 ) ); }程序的输出结果是A) 9C) 10D) 15参考答案:D 32. 有以下程序#include <stdio.h>int d=1;void fun( int p ) {int d=5;d += p++;printf("%d ", d ); }main(){int a=3;fun( a );d += a++;printf("%d\n",d); }程序的输出结果是B) 9 6C) 9 4D) 8 5参考答案:A 33. 有以下程序#include <stdio.h>int fun(intA){int b=0;static int c=3;a =( c++,b++);return ( a );}main(){int a = 2, i, k;for( i=0; i<2; i++ )k = fun(a++);printf( "%d\n",k ); }程序的输出结果是A) 4B) 0C) 1D) 2参考答案:B34. 有以下程序#include <stdio.h>main(){ char c[2][5]={ "6934", "8254" },*p[2] ;int i, j, s=0;for( i=0; i<2; i++ ) p[i]=c[i];for( i=0; i<2; i++ )for( j=0; p[i][j]>0 && p[i][j]<='9'; j+=2 )s = 10*s + p[i][j] - '0';printf( "%d\n" ,s );}程序的输出结果是A) 693825B) 69825C) 63825D) 6385参考答案:D35. 有以下程序#include <stdio.h>#define SQR(X) X*Xmain(){int a=10, k=2, m=1;a /= SQR(k+m)/SQR(k+m);printf("%d\n",a);}程序的输出结果是A) 0B) 1C) 9D) 10参考答案:B36. 有以下程序#include <stdio.h>main(){ char x=2, y=2, z;z=( y<<1 )&( x>>1 );printf( "%d\n",z );}程序的输出结果是A) 1B) 0C) 4D) 8参考答案:B37. 有以下程序#include <stdio.h>struct S{ int a;int b; };main(){ struct S a, *p=&a;a.a=99;printf( "%d\n" , __________ );}程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是A) a.aB) *p.aC) p->aD) (*p).a参考答案:B38. 有以下程序#include <stdio.h>#include <stdlib.h>void fun( double *p1,double *p2,double *s){ s = (double *)calloc( 1,sizeof(double) );*s = *p1 + *( p2+1 );}main(){ double a[2] = { 1.1, 2.2 }, b[2] = { 10.0, 20.0 }, *s=a;fun( a, b, s );printf( "%5.2f\n", *s);}程序的输出结果是A) 21.10B) 11.10C) 12.10D) 1.10参考答案:D39.A) p=p->next; s ->next=p; p->next=s;B) s ->next='\0'; p=p->next; p->next=s;C) p=p->next; s ->next=p->next; p->next=s;D) p=(*p).next; (*s ).next=(*p).next; (*p).next=s;参考答案:A40. 若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是A) EOFB) 非0C) -1D) 0参考答案:D。
计算机模拟试题2

判断题(1). 自动柜员机属于微型计算机的一种。
()正确错误(2). 补码减法运算可以转换为补码加法运算实现。
()正确错误(3). 奇偶校验主要用于单个字符通讯时的校验。
()正确错误(4). 奇校验中要求有效数据中有奇数个位为1。
()正确错误(5). CPU处理速度快,计算机的速度一定快,速度完全由CPU决定。
()正确错误(6). 计算机硬盘驱动器也是一种输入输出装备。
()正确错误(7). 接口是外部设备和CPU之间的信息中转站。
()正确错误(8). 驱动程序是一种可以使计算机和设备通信的特殊程序。
()正确错误(9). 在Excel中,关系运算符的结果是TRUE或FALSE。
()正确错误(10). 在Excel中不能处理图形和与图形相关的数据。
()正确错误(11). 在Access中字段的命名不能包含句号“.”。
()正确错误(12). 在Access中可以通过定义“有效性规则”属性来设置用户自定义完整性规则。
()正确错误(13). 关系模型由数据结构、数据操作和数据完整性约束这三部分组成。
()正确错误(14). 网络操作系统与普通操作系统的功能相同。
()正确错误(15). DNS既是一个分布式数据库,也是TCP/IP协议中应用层的一种服务。
()正确错误(16). 交换机可以工作在网络层,并称之为二层交换机。
()正确错误(17). 只要带有Flash动画的网页都可以称为动态网页。
()正确错误(18). HTML的标记的属性可以写在首标记或尾记签中。
()正确错误(19). 防火墙被用来防备已知的威胁,没有一个防火墙能够自动防御所有新的威胁。
()正确错误(20). 蠕虫是能进行自我复制,并能自动在网络上传播的程序。
()正确错误单选题(21). 计算机中最重要的核心部件是()。
DRAMCPUCRTROM(22). PC机启动后()从内存中取出第一条指令。
运算器I/O控制器操作系统(23). 下面最小的数字是()。
专升本计算机基础模拟试卷2_真题-无答案

专升本(计算机基础)模拟试卷2(总分220,考试时间90分钟)填空题每空。
请将每一个空的正确答案写在答题卡上。
1. 表示6种状态至少需要_______位二进制数。
2. 二进制数1010111与1001011的和是_______。
3. 汉字在计算机内部采用二进制编码方式存储,该编码称为_______码。
4. 十进制数183.8125对应的二进制数是_______。
5. 显示器的分辨率指水平分辨率和_______的乘积。
6. 在Word 2010中,选定文本后,会显示出_______,可以对字体进行快速设置。
7. 在Word 2010中,在选定文档内容之后,单击工具栏上的“复制”按钮,是将选定的内容复制到_______。
8. 在Word 2010中,格式工具栏上标有“I”字母按钮的作用是使选定对象_______。
9. 在Word 2010中,按键v与工具栏上的粘贴按功能相同。
10. 在Word 2010中插入了表格后,会出现_______选项卡,对表格进行“设计”和“布局”的操作设置。
11. 要停止正在放映的幻灯片,按_______键即可。
12. 打印内容选项中包含幻灯片、讲义、备注页_______。
13. 要在PowerPoint 2010中设置幻灯片的切换效果以及切换方式,应在_______选项卡中进行操作。
14. 演示文稿打包所用到的选项卡是_______。
15. 若想改变演示文稿的播放顺序,或者通过幻灯片的某一对象链接到指定的文件,可以使用动作设置和_______命令实现。
16. 在OSI-RM网络参考模型中,网络层数据的传送单位是_______。
17. 在IE中,_______按钮指的是移到上次查看过的Web页。
18. TCP/IP协议所采用的通信方式是_______,简单地说就是数据在传输时分成若干段,每个数据段称为一个数据包,TCP/IP协议传输就是这些被编号的数据包。
19. IPv6协议是为了解决IPv4地址资源短缺问题而提出的。
计算机培训模拟试卷2

计算机操作员高级技能知识练习试(二)一、基础操作(10分)将考试文件夹重命名,文件夹名称为“姓名(准考证号)”,如:张三(12345)1. 打开辅助工具中的“屏幕键盘”程序(也可使用键盘上‘Print Screen SysRq ’键),将其窗口画面保存成图片文件“Keyboard.jpg ”,并保存到考试文件夹“操作系统”文件夹下。
(3分)提示:开始---所有程序---附件---辅助工具---屏幕键盘---保存2. 建立一个名为Produce 的用组,其描述信息为“生产部”,并将用户GUEST 添加到该组中。
操作过程中对操作窗口进行截图,并保存到考生文件夹“操作系统”文件夹下,文件名为“添加用户.bmp ”。
(3分)提示:(开始菜单——控制面板——管理工具——计算机管理——组——新建组并添加GUEST 成员)3. 设置帐户策略,将密码长度设为不允许小于3位,密码最长存留期为10天。
操作过程中对操作窗口进行截图,并保存到考生文件夹“操作系统”文件夹下,文件名为“添加用户.bmp ”。
(4分)提示:开始→控制面板→管理工具→本地安全策略→账户策略→密码策略→设置密码长度最小值”,密码最长存留期二、文字录入(20分)要求:新建一个WORD 文档,录入下列文字(不必排版),完成后以保存到考生文件夹的“文字录入”子文件夹下,文件名为“文字录入.doc ”。
三、通用文档处理(60分)(一)WORD 应用(20分)1. 打开考生文件夹下“Word ”子文件夹下的文件“Wfile1.doc ”,将标题字体设为方正舒体,字号为40,将标题第1个字和第2个字分别水平提升3磅和水平下降3磅,并为文字添加礼花绽放的动态效果。
(2分)提示:选中标题,设置字体、字号40选中字,右击“字体”---字符间距,位置---提升或下降选中字,右击“字体”---文字效果---礼花绽放2. 打开考生文件夹下“Word ”子文件夹下的文件“Wfile1.doc ”,将文章第二段和第三段中所有的“希望”替换成红色带圈字(使用增大圈号)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟的方法 1、物理模拟: 对实际系统及其过程用功能相似的实物系统去模仿。 例如,军事演习、船艇实验、沙盘作业等。
物理模拟通常花费较大、周期较长,且在物理模 型上改变系统结构和系数都较困难。而且,许多系统 无法进行物理模拟,如社会经济系统、生态系统等。
2、数学模拟 在一定的假设条件下,运用数学运算模拟系统的运 行,称为数学模拟。现代的数学模拟都是在计算机上进 行的,称为计算机模拟。 计算机模拟可以反复进行,改变系统的结构和系数 都比较容易。 在实际问题中,面对一些带随机因素的复杂系统, 用分析方法建模常常需要作许多简化假设,与面临的实 际问题可能相差甚远,以致解答根本无法应用。这时, 计算机模拟几乎成为唯一的选择。 蒙特卡洛(Monte Carlo)方法是一种应用随机数来 蒙特卡洛( Carlo)方法 进行计算机模拟的方法.此方法对研究的系统进行随机 观察抽样,通过对样本值的观察统计,求得所研究系统 的某些参数.
基本假设 符号假设
试验点的第j个分量xj服从[aj ,bj]内的均匀分布.
P: 试验点总数; MAXP:最大试验点总数; K: 可行点总数; MAXK:最大可行点数; X*:迭代产生的最优点; Q:迭代产生的最小值 f(X*),其初始值为计算机所能表示的最大数.
求解过程 先产生一个随机数作为初始试验点,以后则将上一个试验点的第j个分 量随机产生,其它分量不变而产生一新的试验点.这样,每产生一个新试 验点只需一个新的随机数分量.当K>MAXK或P>MAXP时停止迭代.
k!
指数分布与帕松分布的关系: 如相继两个事件出现的间隔时间服从参数为 λ 的指数分布, 则在单位时间间隔内事件出现的次数服从参数为 λ 的泊松分 布.即单位时间内该事件出现k次的概率为:
P( X = k ) =
λk e λ
k!
, k = 0,1,2,L ,
反之亦然。
(1)顾客到达某商店的间隔时间服从参数为0.1的指数分布 顾客到达某商店的间隔时间服从参数为0.1 例 (1)顾客到达某商店的间隔时间服从参数为0.1的指数分布
初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数 xj=aj+R(bj-aj) j=1,2,…,n
框图
Y
j=0 j=j+1,p=p+1 P>MAXP? N
xj=aj+R(bj-aj) Y Y f(X)≥Q? N gi(X)≥0? i=1,2…n N
Y j<n? N
X*=X,Q=f(X) k=k+1 Y 输出X,Q,停止 k>MAXK? N
离散系统模拟实例: 离散系统模拟实例 排队问题
排队论主要研究随机服务系统的工作过程。 排队论 在排队系统中,服务对象的到达时间和服务时间都是随机的。排队 论通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象 平均特性的规律,从而为设计新的服务系统和改进现有服务系统的工作 提供依据。 对于排队服务系统, 顾客常常注意排队的人是否太多, 等候的时间是否 长, 而服务员则关心他空闲的时间是否太短. 于是人们常用排队的长度、等 待的时间及服务利用率等指标来衡量系统的性能.
对于非线性规划问题 非线性规划问题: 非线性规划问题 min f(X) s.t. X∈ E gi ( X ) ≥ 0 i=1,2,…, m
n
a j ≤ x j ≤ bj
j=1,2,…, n
用蒙特卡洛法求解的基本思想 求解的基本思想是:在估计的区域 求解的基本思想 {(x 1,x2,,…,xn)| xj ∈ [a j , b j ] ,j=1,2,…,n} 内随机取若干实验点,然后从试验点中找出可行点,再从可行点中选择最小点.
for i=1:n x1=r1(i); x2=r2(i); lpc=lpconst([x1 x2]); if lpc==1 z=mylp([x1 x2]); if z<z0 z0=z; sol=[x1 x2]; end end end
To Matlab(randlp)
返回
练习题
1、编一个福利彩票电脑选号的程序。
4.产生 m × n 阶期望值为 的指数分布的随机数矩阵:exprnd ( ,m, n ) exprnd
λe λt x ≥ 0 若连续型随机变量X的概率密度函数为 f ( x) = x<0 0 其中 λ >0为常数,则称X服从参数为 λ 的指数分布 指数分布。 指数分z = 2 x1 x2 + x1 x2 + 8 x1 + 3 x2
2 2
s.t 3 x1 + x2 = 10
x1 > 0 x2 > 0
在Matlab软件包中编程,共需三个M-文件:randlp.m, mylp.m, lpconst.m.主程序为randlp.m.
% mylp.m
function z=mylp(x) %目标函数 z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2); %转化为求最小值问题
5.产生 m × n 阶参数为 λ 的帕松分布的随机数矩阵:poissrnd (λ ,m, n) poissrnd
设离散型随机变量X的所有可能取值为0,1,2,…,且取各个值 λk e λ 的概率为 P( X = k ) = , k = 0,1,2,L , 其中 λ >0为常数,则称X服从参数为λ 的帕松分布 帕松分布。 帕松分布 帕松分布的期望值为 λ 帕松分布在排队系统、产品检验、天文、物理等领域有 广泛应用。
[1]模拟一日 To Matlab(simu1)
[2]模拟100日 To Matlab(simu2)
ci=ci-1+ xi 确定开始服务时间:bi=max(ci,ei-1) Y bi>480? N 停止
i=i-1,t=w/i
输出结果:完成服务个数:m=i 平均等待时间:t
返回
用蒙特卡洛法解非线性规划问题
3.产生 m × n 阶均值为 ,方差为 σ 的正态分布的随机数矩阵: normrnd ( , σ ,m, n)
产生一个均值为 ,方差为 σ 的正态分布的随机数:normrnd ( ,σ )
当研究对象视为大量相互独立的随机变量之和,且其中每 一种变量对总和的影响都很小时,可以认为该对象服从正态 分布。 机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、 各种测量误差、人的身高、体重等,都可近似看成服从正态 分布。
c1
c2 e1 e2
c3
c4 e3
c5 e4 b5 t
b1
b2
b3
b4
ci=ci-1+ xi ei=bi+yi bi=max(ci,ei-1)
[3] 模拟框图
初始化:令i=1,ei-1=0,w=0
产生间隔时间随机数xi~参数为0.1的指数分布 ci=xi , bi=xi 产生服务时间随机数yi~[4,15]的均匀分布 ei=bi+yi 累计等待时间:w=w+bi-ci 准备下一次服务:i=i+1 产生间隔时间随机数xi~参数为0.1的指数分布
(2)该商店在单位时间内到达的顾客数服从参数为0.1的帕松分布 (2)该商店在单位时间内到达的顾客数服从参数为0.1的帕松分布 该商店在单位时间内到达的顾客数服从参数为0.1 (1)指两个顾客到达商店的平均间隔时间是10个单位时间. (1)指两个顾客到达商店的平均间隔时间是10个单位时间.即平均 指两个顾客到达商店的平均间隔时间是10个单位时间 10个单位时间到达 个顾客. 个单位时间到达1 10个单位时间到达1个顾客. (2)指一个单位时间内平均到达0.1个顾客 (2)指一个单位时间内平均到达0.1个顾客 指一个单位时间内平均到达0.1
[2] 符号说明 总等待时间; w:总等待时间;ci:第i个顾客的到达时刻; 个顾客的到达时刻; 个顾客开始服务时刻; 个顾客服务结束时刻. bi:第i个顾客开始服务时刻; ei:第i个顾客服务结束时刻. 个顾客与第i xi:第i-1个顾客与第i个顾客之间到达的间隔时间 对第i yi:对第i个顾客的服务时间
数学建模竞赛暑期培训 数学建模竞赛暑期培训 Carlo模拟 Monte Carlo模拟
模拟的概念
模拟就是利用物理的、数学的模型来类比、模仿现实 系统及其演变过程,以寻求过程规律的一种方法。
模拟的基本思想是建立一个试验模型,这个模型包含 所研究系统的主要特点.通过对这个实验模型的运行,获 得所要研究系统的必要信息
2. 某报童以每份 0.03 元的价格买进报纸,以 0.05 元的价格出售. 根据 长期统计,报纸每天的销售量及百分率为 销售量 200 210 220 230 240 250 百分率 0.10 0.20 0.40 0.15 0.10 0.05 已知当天销售不出去的报纸,将以每份 0.02 元的价格退还报社.试用模 拟方法确定报童每天买进报纸数量,使报童的平均总收入为最大?
单服务员的排队模型:在某商店有一个售货员,顾客陆续来到, 单服务员的排队模型 在某商店有一个售货员,顾客陆续来到,
售货员逐个地接待顾客.当到来的顾客较多时, 售货员逐个地接待顾客.当到来的顾客较多时,一部分顾客便须排队 等待,被接待后的顾客便离开商店. 等待,被接待后的顾客便离开商店.设: 顾客到来间隔时间服从参数为0 的指数分布. 1.顾客到来间隔时间服从参数为0.1的指数分布. 对顾客的服务时间服从[ 15]上的均匀分布. 2.对顾客的服务时间服从[4,15]上的均匀分布. 排队按先到先服务规则,队长无限制. 3.排队按先到先服务规则,队长无限制. 假定一个工作日为8小时,时间以分钟为单位。 假定一个工作日为8小时,时间以分钟为单位。 [1]模拟一个工作日内完成服务的个数及顾客平均等待时间t. 模拟100个工作日, 100个工作日 [2]模拟100个工作日,求出平均每日完成服务的个数及每日顾客的平均 等待时间。 等待时间。 [1] 系统的假设: 系统的假设: (1) 顾客源是无穷的; ) 顾客源是无穷的; (2) 排队的长度没有限制; ) 排队的长度没有限制; 先到先服务” ( 3) 到达系统的顾客按先后顺序依次进入服务, 即“先到先服务”。 ) 到达系统的顾客按先后顺序依次进入服务,