文档库 最新最全的文档下载
当前位置:文档库 › 计算机算法

计算机算法

计算机算法
计算机算法

实验一递归算法的应用

一、实验目的

1.掌握递归算法的基本思想、技巧。

2.针对具体实际问题,能够熟练给出递归算法设计并进行实验验证。

3.熟悉并掌握C语言或Microsoft Visual C++语言。

二.问题描述

1.编程实现递归与非递归求n!阶层函数。

2.已知Fibonacci数列,1,1,2,3,5,8,…,编程实现求第50项的数值。三.算法设计

1.(1)递归

#include

using namespace std;

int digui(int);

int main()

{

int n,c;

cin>>n;

c=digui(n);

cout<

return 0;

}

int digui(int j)

{

if(j==1)

return 1;

else

return j*digui(j-1);

}

(2)非递归

#include

using namespace std;

int main()

{

int i,n,c=1;

cout<<"输入n"<

cin>>n;

for(i=1;i

c=c*i;

cout<

return 0;

}

2.

#include

using namespace std;

int fibon(int n)

{

if(n==0)

return 0;

else if(n==1)

return 1;

else

return

fibon(n-1)+fibon(n-2);

}

int main()

{

int i,c;

cin>>i;

c=fibon(i);

cout<

return 0;

}

四.程序调试及运行结果分析

1.(1)

(2)

2.

五.实验总结

通过对本次实验的上机,使我掌握了递归算法的基本思想和技巧,而且根据具体的问题,给出了递归算法的设计并进行了实验验证。

经过本次的实验操作,让我对C++语言有了更进一步的了解与认识。

计算机应用基础作业3

1(2分)、 2 在同一个工作簿中要引用其他工作表某个单元格的数据(如Sheet8中D 8单元格中的数据),下面的表达方式中正确的是()。 ?A、 =Sheet8!D8 ? ?B、 =D8(Sheet8) ? ?C、 +Sheet8!D8 ? ?D、 $Sheet8>$D8 ? 2.(2分)、 2 在Excel操作中,某公式中引用了一组单元格,它们是(C3:D7,A1:F1),该公式引用的单元格总数为()。 ?A、

4 ? ?B、 12 ? ?C、 16 ? ?D、 22 ? 3(2分)、 2 在同一个工作簿中区分不同工作表的单元格,要在地址前面增加()来标识。 ?A、 单元格地址 ? ?B、 公式 ? ?C、 工作表名称 ? ?D、

工作簿名称 ? 4(2分)、 2 执行"插入→工作表"菜单命令,每次可以插入()个工作表。 ?A、 1 ? ?B、 2 ? ?C、 3 ? ?D、 4 ? 5(2分)、 Excel工作表单元格中,系统默认的数据对齐是()。 ?A、 数值数据左对齐,正文数据右对齐 ?

?B、 数值数据右对齐,文本数据左对齐 ? ?C、 数值数据、正文数据均为右对齐 ? ?D、 数值数据、正文数据均为左对齐 ? 6(2分)、 2 在Excel输入数据的以下4项操作中,不能结束单元格数据输入的操作是()。 ?A、 按[Shift]键 ? ?B、 按[Tab]键 ? ?C、 按[Enter]键 ? ?D、 单击其他单元格

? 7(2分)、 在完成了图表后,想要在图表底部的网格中显示工作表中的图表数据,应该采取的正确操作是()。 ?A、 单击"图表"工具栏中的"图表向导"按钮 ? ?B、 单击"图表"工具栏中的"数据表"按钮 ? ?C、 选中图表,单击"图表"工具栏中的"数据表"按钮 ? ?D、 选中图表,单击"图表"工具栏中的"图表向导"按钮 ? 8(2分)、 2 在A1单元格中输入=SUM(8,7,8,7),则其值为()。 ?A、 15 ?

计算机编程及常用术语大全(英汉对照)

第一部分、计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 Set Data Structures 集合 Kd-Trees 线段树 Numerical Problems 数值问题 Solving Linear Equations 线性方程组 Bandwidth Reduction 带宽压缩 Matrix Multiplication 矩阵乘法 Determinants and Permanents 行列式 Constrained and Unconstrained Optimization 最值问题Linear Programming 线性规划 Random Number Generation 随机数生成 Factoring and Primality Testing 因子分解/质数判定Arbitrary Precision Arithmetic 高精度计算Knapsack Problem 背包问题 Discrete Fourier Transform 离散Fourier变换Combinatorial Problems 组合问题 Sorting 排序

Searching 查找 Median and Selection 中位数 Generating Permutations 排列生成 Generating Subsets 子集生成 Generating Partitions 划分生成 Generating Graphs 图的生成 Calendrical Calculations 日期 Job Scheduling 工程安排 Satisfiability 可满足性 Graph Problems -- polynomial 图论-多项式算法Connected Components 连通分支 Topological Sorting 拓扑排序 Minimum Spanning Tree 最小生成树 Shortest Path 最短路径 Transitive Closure and Reduction 传递闭包Matching 匹配 Eulerian Cycle / Chinese Postman Euler回路/中国邮路Edge and Vertex Connectivity 割边/割点 Network Flow 网络流 Drawing Graphs Nicely 图的描绘 Drawing Trees 树的描绘 Planarity Detection and Embedding 平面性检测和嵌入

简易常用-Word文档使用技巧方法大全(超全)

Word文档使用技巧方法大全 Word2000、2003、2007、2010快捷键使用大全总结常用快捷键 快捷键作用 一、字体类 Ctrl+B 使字符变为粗体 Ctrl+I 使字符变为斜体 Ctrl+U 为字符添加下划线 Ctrl+Shift+D 双下划线 Ctrl+Shift+< 缩小字号 Ctrl+Shift+> 增大字号 Ctrl+] 逐磅增大字号 Ctrl+[ 逐磅减小字号 Ctrl+Shift+F 改变字体 Ctrl+Shift+P 改变字号 Ctrl+D 改变字符格式("格式"菜单中的"字体"命令) Shift+F3 切换字母大小写(一次首字母变成大写,两次单词变成大写) CTRL+SHIFT+A 将所选字母设为大写 二、格式类 Ctrl+Shift+C 复制格式 Ctrl+Shift+V 粘贴格式 Ctrl+1 单倍行距(1为主键盘的数字键)

Ctrl+2 双倍行距 Ctrl+5 1.5 倍行距 Ctrl+0 在段前添加一行间距 Shift+F1(单击)需查看文字格式了解其格式的文字 Ctrl+E 段落居中 Ctrl+J 两端对齐 Ctrl+L 左对齐 Ctrl+R 右对齐 Ctrl+Shift+J 分散对齐 Ctrl+M 左侧段落缩进 Ctrl+Shift+M 取消左侧段落缩进 Ctrl+T 创建悬挂缩进 Ctrl+Shift+T 减小悬挂缩进量 Ctrl+Shift+S 应用样式 Ctrl+Shift+N 应用"正文"样式 Alt+Ctrl+1 应用"标题1"样式 Alt+Ctrl+2 应用"标题2"样式 Alt+Ctrl+3 应用"标题3"样式 三、编辑和文字移动 Backspace 删除左侧的一个字符 Ctrl+Backspace 删除左侧的一个单词 Delete 删除右侧的一个字符 Ctrl+Delete 删除右侧的一个单词 F2(然后移动插入移动选取的文字或图形点并按Enter键)

计算机算法设计与分析期末考试复习题

1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 5. 回溯法解TSP问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、实现最长公共子序列利用的算法是( B )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A、重叠子问题 B、最优子结构性质 C、贪心选择性质 D、定义最优解14.广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 15.背包问题的贪心算法所需的计算时间为( B )。

计算机常见算法面试题

简介:计算机考研之家搜集的华为C语言经典面试题,来试试你的C语言水平吧。每道题都附有详细解答和讲解,很有参考价值的C语言面试题。 怎么判断链表中是否有环? bool CircleInList(Link* pHead) { if(pHead = = NULL || pHead->next = = NULL)//无节点或只有一个节点并且无自环 return (false); if(pHead->next = = pHead)//自环 return (true); Link *pTemp1 = pHead;//step 1 Link *pTemp = pHead->next;//step 2 while(pTemp != pTemp1 && pTemp != NULL && pTemp->next != NULL) { pTemp1 = pTemp1->next; pTemp = pTemp->next->next; } if(pTemp = = pTemp1) return (true); return (false); } 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串 void insert(char *s, char *t, int i) { memcpy(&s[strlen(t)+i],&s[i],strlen(s)-i); memcpy(&s[i],t,strlen(t)); s[strlen(s)+strlen(t)]='\0'; } 1。编写一个C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。 char * search(char *cpSource, char ch) { char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) { if(*cpSource == ch) { iTemp = 0; cpTemp = cpSource; while(*cpSource == ch) ++iTemp, ++cpSource; if(iTemp > iCount)

加快计算机运行速度的5种简便方法

加快计算机运行速度的5种简便方法 1. 清理硬盘 硬盘上经常都充满了您并不真正需要的文件。硬盘上的东西越少,计算机的速度就会越快。 在PC 上释放空间的最佳方法是使用Windows(R) 磁盘清理实用程序。要访问该实用程序,请转到“开始”->“所有程序”->“附件”->“系统工具”,然后单击“磁盘清理”。可能需要指定要清理的驱动器。 在“磁盘清理”框中,在“要删除的文件”列表的内容中滚动,并选中要删除的项目。如果不确定要删除什么,那么最安全的是删除Internet 临时文件和已安装但不再使用的程序。完成后,单击“确定”。 如果不想同时删除某些文件,如照片和音乐或视频文件等,请考虑将其移动至外置硬盘。 2. 去除视觉效果 Windows Vista(R) 具有一些炫酷的视觉效果,但这些效果可能会耗尽系统资源。禁用其中一些将提高系统的速度。为此,请单击“开始”按钮,然后单击“控制面板”>“系统和维护”>“性能信息和工具”。 单击“调整视觉效果”。可能会要求您输入管理员密码。然后单击“视觉效果”选项卡,并选择“调整为最佳性能”。然后点击“确定”。 3. 扫描病毒和间谍软件 导致PC 性能低下的罪魁祸首之一就是恶意软件:病毒、间谍软件、特洛伊木马、蠕虫和其他种类多余的恶意软件。如果尚未安装某种防病毒保护机制,那么应该立即安装一种。请考虑使用Microsoft Windows Defender,Windows Vista 中附带此软件,也可以从Microsoft XP SP2 中免费下载。确保至少一个月安排一次自动病毒扫描。还应该将防火墙始终保持在运行状态,以便在最前线帮助阻止恶意软件进入您的PC。 4. 增加更多RAM(简单的方法) 增加系统内存(也称为RAM,或随机存取内存)可能是提高PC 性能的一个好方法。但是,升级内存有时可能比较困难和成本较高。Windows Vista 现在提供了Windows ReadyBoost,通过该技术,无须安装任何东西即可增加内存。此技术使您可以使用闪存设备,如USB 闪存驱动器或安全数字(SD) 存储卡作为额外的内存高速缓存。 5. 运行碎片整理实用程序 磁盘碎片整理程序是一个Windows 实用程序,它将计算机硬盘上的文件和文件夹整理在一起,以使每个文件占据一个单独的空间,这又会加快读写磁盘的速度。 要整理硬盘碎片,请转到“开始”>“所有程序”>“附件”>“系统工具”>“磁盘碎片整理程序”,然后选择要整理碎片的驱动器。然后转到“设置”,并确保在“整理我的硬盘碎片时”部分中的两个选项旁打上对勾,然后单击“确定”两次,开始整理。碎片整理完毕后,可能必须重新启动计算机。 遵守这些建议之后,您应该感到计算机性能有显著提高。

彻底清除计算机病毒的简便方法

彻底清除计算机病毒的简便方法 目前,彻底清除计算机病毒的常用方法是:先对硬盘进行低级格式化,然后分区,最后高级格式化。这种做法不仅费时,而且也损伤硬盘。那么能否既不需要对硬盘进行低级格式化,又能彻底清除计算机病毒呢?笔者经过实践,认为答案是肯定的。因为引导型病毒主要是驻留在硬盘0柱面0磁头1扇区开始的引导区内,只要把硬盘引导区的内容全部清零,即可达到清除引导型病毒的目的。 这可用DEBUG命令编写一段小程序,并把它写入一个干净的DOS系统盘上,这种程序的功能是把硬盘引导区内所有字节全部清零,从而在清除硬盘引导区全部数据的同时也清除含在其中的病毒代码。 由于该程序很短,可用无毒DOS系统盘启动计算机后调用该盘0的DEBUG命令编写的如下一段程序并把它写入磁盘,具体操作为: A:\>DEBUG -A100 0100 MOV CX,0200 ;清除1个扇区(512个单元) MOV DI,0200 ;内存起始地址为0200H,送于DI寄存器中 MOV AL,00 ;把立即数00存放到寄存器AL中 0108 MOV [DI],AL ;把AL中的数据写入DI所指的内存单元中 INC DI ; 内存地址加1 DEC CX ; 内存单元个数减1

JNZ 0108 ;不为零转移 MOV AX,0301 ;AH=03是写盘,AL=01是写入一个扇区 MOV BX,0200 ;BX=0200是从内存0200H处开始读数据 MOV CX,0001 ;LH=00为0磁头,CL=01为第一个扇区 MOV DX,0080 ;DH=00为0柱面,DL=80为硬盘 INT 13 ;调用DOS软中断之硬盘读写控制程序 011D INT 20 ;程序运行结束 -N A: https://www.wendangku.net/doc/6b9871410.html,;给文件命名,意为:对C盘引导区填满零 -BBX BX 0000 :00 -RCX CX 0000 :ID ;输入文件长度10个字节 -W ;写盘 Writing 0001D bytes -Q A:\> 至此,清除硬盘引导区程序https://www.wendangku.net/doc/6b9871410.html,已建立在A盘上。 为了确保计算机能真正做到干净无毒,除了应清除硬盘引导区病毒外,还应清除驻留在CMOS 芯片里的病毒。否则,当计算机启动读取CMOS信息时,病毒将从CMOS芯片中被引入到内存

VB程序设计的常用算法

VB程序设计的常用算法 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。 一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 本题使用数组来处理,用数组a(1 to 100)存放产生的确100个随机整数,数组x(1 to 10)来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x(1)中,个位是2的个数存放在x(2)中,……个位是0的个数存放在x(10)。 将程序编写在一个GetTJput过程中,代码如下: Public Sub GetTJput() Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 For i = 1 To 100 a(i) = Int(Rnd * 100) If a(i) < 10 Then Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If i Mod 10 = 0 Then Form1.Print Next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来 For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数字 If p = 0 Then p = 10 x(p) = x(p) + 1 Next i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个" Next i End Sub 二、求两个整数的最大公约数、最小公倍数 分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。 例如:求m=14 ,n=6的最大公约数. m n r

计算机基础试卷6

第四章: 一·选择题(将选中的序号填入括号中,每题1分,共20分) 1.Excel工作表的最后一个单元格的地址是___A___ 。 A.IV65536 B.IU65536 C.IU65535 D.IV65535 2.日期2005-1-30在Excel系统内部存储的格式是__D____ 。 A.2005.1.30 B. 1,30,2005 C.2005,1,30 D.2005-1-30 3. 新建工作簿文件后,默认第一张工作簿的名称是___C___ 。 A.Book B.表 C.Book1 D.表1 4. 在工作表中要创建图表时最常使用的工具是_C_____ 。 A."常用"工具栏中的"图表"按钮 B."常用"工具栏中的"绘图"按钮 C."常用"工具栏中的"图表向导"按钮 D."常用"工具栏中的"图片"按钮 5. 若在数值单元格中出现一连串的“###”符号,希望正常显示则需要___B___ 。 A.重新输入数据 B.调整单元格的宽度 C.删除这些符号 D.删除该单元格 6. 在Excel中,一个数据清单由___D___ 3个部分组成。 A.数据、公式和函数 B.公式、记录和数据库 C.工作表、数据和工作薄 D.区域、记录和字段 7. 一个单元格内容的最大长度为__D____ 个字符。 A.64 B.128 C.225 D.256 8.下列操作中,不能退出Excel的操作是__A____ 。 A.执行"文件→关闭"菜单命令 B.执行"文件→退出"菜单命令 C.单击标题栏左端Excel窗口的控制菜单按钮,选择"关闭"命令 D.按快捷键[Alt]+[F4] 9.在单元格中输入___B___ ,使该单元格的值为8。 A.="160/20" B.=160/20 C.160/20 D."160/20"

计算机算法设计与分析小论文

计算机算法设计与分析小论文 摘要: 算法是一个系列解决问题的清晰指令,即在有限时间内能够对一定规范的输入,能够得到所需要的输出。如果一个算法本身是有缺陷的!那么他往往不是这个问题的最佳解决方法,可见一个算法的优劣是通过一定的准则来规定的。通过这学期的对《计算机算法分析设计》这门课程的学习让我们充分的了解到了计算机算法的多样性和复杂性,让我们更加细心和耐心的去对待这门课程。例如甲某要去某个地方旅游,他有很多种方案到旅游地,但是不见的每种方案都是合理最优的!这时就是需要考虑透过一定的算法来得到自己的最优路线。所以可见算法就是以最少的成本、最快的速度、最好的质量开发出合适各种各样应用需求的软件,必须遵循软件工程的原则,设计出高效率的程序。一个高效的程序不仅需要编程技巧,更需要合理的数据组织和清晰高效的算法。目前我们将进行常见的算法分析设计策略介绍: 1.递归算法 1.1递归算法介绍: 直接或间接的调用自身的算法称为递归算法。或者说就是用自己来定义自己,不断调用自己的某一种状态。 1.2递归算法满足的条件 (1)递归满足2个条件: 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口) 1.3递归例子 递归例子:阶乘问题 n! = n * (n-1) * (n-2) * ...* 1(n>0) //阶乘 intresult(int i) { int sum = 0; if (0 == i) return (1); else sum = i * result(i-1); return sum; }

可见一个递归算法都有一个比较特殊的特点,那就是要先处理一些比较特殊的情况再处理递归关系。如上例中如果是0!的话!那么他的阶乘就是1,所以先处理0!这个特殊情况,然后再调用其他的递归关系得到自己想要的阶乘。比如当我们想要求出4!的结果那么我们就需要调用result(3)的结果而result(3)又要调用result(2)的结果!就这样直到得出答案为止。 在我们日常,递归算法的出现可以帮助我们解决很多问题,正因为它的:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。 2.分治算法 2.1分治算法介绍: 一个分治算法把问题实例划分成若干子实例(多数情况是分成两个),并分别递归地解决每个子实例,然后把这些子实例的解组合起来,得到原问题实例的解。 2.2 分治算法的特性 1)规模小,则很容易解决 2)大问题可以分为若干规模小的相同问题 3)利用子问题的解可以合并成该问题的解 2.3分治算法的遇到问题 为了阐明这个方法,考虑这样一问题:在一个整数组A[1...n]中,同时寻找最大值和最小值。下面我们来看一下用分治策略:将数组分割成两半,A[1...n/2]和A[(n/2)+1...n],在每一半中找到最大值和最小值,并返回这两个最小值中的最小值及这两个最大值中的最大值。 过程 Min-Max ⅰ输入 n个整数元素的数组A[1...n]n为2的幂 ⅱ输出 (x,y), A中的最大元素和最小元素

计算机基础 第5章 真题整理

D[24].下列关于简单文本与丰富格式文本的论述,错误的是___________。 A.简单文本由一连串用于表达正文内容的字符的编码组成,它几乎不包含任何其他的格式信息和结构信息 B.为了使文本能以整齐、美观的形式展现给用户,人们还需要对文本进行排版 C.Windows操作系统中的"帮助"文件(.hlp文件)是一种丰富格式文本 D.使用微软公司的Word软件生成的DOC文件,与使用记事本生成的TXT文件一样,都属于简单文本文件超文本 [26].Windows操作系统中的"帮助"文件(HLP文件)也是一种文本,其类型属于_____。 A[14]. 就文本格式而言,下列关于标记与标记语言的叙述,错误的是__________。 A.所有标记及其使用规则都称为"标记语言",不同的文字处理软件使用的标记语言都是统一的 B.标记用来说明文本的版面结构、内容组织、文字的外貌属性等。一般来说,丰富格式文本除了包含 正文外,还包含许多标记 C.Word所使用的标记语言是微软公司专用的,它与Adobe公司Acrobat所使用的标记语言不兼容 D.超文本标记语言HTML和可扩展的标记语言XML是用于Web网页的标准标记语言 D[24]. 使用计算机进行文本编辑与文本处理是常见的两种操作,下面属于文本处理操作的是_________。 A.设置页面版式 B、设置文章标题首行居中 C、设置文本字体格式 D、文语转换 D[44].下列丰富格式文本文件中,不能用Word文字处理软件打开的是_______文件。 A.HTML格式 B、RTF格式 C、DOC格式 D、PDF格式 B[9].中文Word是一个功能丰富的文字处理软件,下面的叙述中错误的是________。 A.在文本编辑过程中,它能做到“所见即所得” B.在文本编辑过程中,操作发生错误后不能“回退”(Undo) C.它可以编辑制作超文本 D.它不但能进行编辑操作,而且能自动生成文本的“摘要” D[25]. 文本编辑与排版操作的目的是使文本正确、清晰、美观,下列_____操作不属于文本编辑排版操作。 A.添加页眉和页脚 B、设置字体和字号 C、设置行间距,首行缩进 D、对文本压缩 B[18]. 下列________图像文件格式大量用于扫描仪和桌面出版。 A.BMP B、TIF C、GIF D、JPEG C[29].数字图像的获取步骤大体分为四步,以下顺序正确的是__________。 A.扫描分色量化取样 B、分色扫描量化取样 C、扫描分色取样量化 D、量化取样扫描分色 C[14]. 为了与使用数码相机、扫描仪得到的取样图像相区别,计算机合成图像也称为__________ 。 A.位图图像 B、3D图像 C、矢量图形 B[15]. 若中文Windows 环境下西文使用标准ASCII码,汉字采用GB2312编码,设有一段简单文本的内码为CB F5 D0 B4 50 43 CA C7 D6 B8,则在这段文本中,含有________。 A、2个汉字和1个西文字符 B、4个汉字和2个西文字符 C、8个汉字和2个西文字符 D、4个汉字和1个西文字符 D[18].下列静态图像文件格式中,在Internet上大量使用的是________。 A.Swf B、Tif C、bmp D、jpg D[6]. 目前有许多不同的图像文件格式,下列________不属于图像文件格式。 A.TIF B、JPEG C、GIF D、PDF D[13]. 一幅具有真彩色(24位)、分辨率为1024╳768的数字图象,在没有进行数据压缩时,它的数据量大约是________ 。 A.900KB B、18MB C、3.75MB D、2.25MB C[40].在计算机中广泛使用的ASCII码,其中文含义是________。 A.二进制编码 B、常用的字符编码 C、美国标准信息交换码 D、汉字国标码 D[15].汉字从键盘录入到存储,涉及汉字输入码和汉字________ 。 A.DOC码 B、ASCII码 C、区位码 D、机内码 B[31].若内存中相邻2个字节的内容其十六进制形式为74和51,则它们不可能是________

单片机常用的14个C语言算法,看过的都成了大神!

单片机常用的14个C语言算法,看过的都成了大神! 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。本题使用数组来处理,用数组a[100]存放产生的确100个随机整数,数组x[10]来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在x[10]。 void main(){int a[101],x[11],i,p;for(i=0;in; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。例如: 求m="14" ,n=6 的最大公约数. m n r 14 6 2 6 2 0 void main() { int nm,r,n,m,t; printf("please input two numbers:\n"); scanf("%d,%d", nm=n*m; if (m{ t="n"; n="m"; m="t"; } r=m%n; while (r!=0) { m="n"; n="r"; r="m"%n; } printf("最大公约数:%d\n",n); printf("最小公倍数:%d\n",nm/n); } 三、判断素数只能被1或本身整除的数称为素数基本思想:把m作为被除数,将2—INT()作为除数,如果都除不尽,m就是素数,否则就不是。(可用以下程序段实现) void main() { int m,i,k; printf("please input a number:\n"); scanf("%d", k=sqrt(m); for(i=2;iif(m%i==0) break; if(i>=k) printf("该数是素数"); else printf("该数不是素数"); } 将其写成一函数,若为素数返回1,不是则返回0 int prime( m%) {int i,k; k=sqrt(m); for(i=2;iif(m%i==0) return 0; return 1; } 四、验证哥德巴赫猜想(任意一个大于等于6的偶数都可以分解为两个素数之和)基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。如n1不是素数,就不必再检查n2是否素数。先从n1=3开始,检验n1和n2(n2=N-n1)

计算机操作系统简单介绍

计算机操作系统简单介绍 操作系统的种类繁多,依其功能和特性分为分批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。 1)微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft 公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一多户多任务系统,经过十几年的发展,已从Windows 3.1发展Windows NT、Windows 2000、Windows XP、Windows vista、Windows 7和Windows 8等等。它是当前微机中广泛使用的操作系统之一。Linux是一个源码公开的操作系统,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大,已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统 人和计算机交流信息使用的语言称为计算机语言或称程序设计语言。计算机语言通常分为机器语言、汇编语言和高级语言三类。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。翻译的方法有两种:一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。 另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。 对源程序进行解释和编译任务的程序,分别叫作编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

计算机算法设计分析试题及答案

算法设计与分析试卷 一、填空题(20分,每空2分) 1、算法的性质包括输入、输出、_确定性__、有限性。 2、动态规划算法的基本思想就将待求问题__分解成若干个 子问题___、先求解子问题,然后从这些子问题的解得 到原问题的解。 3、设计动态规划算法的4个步骤: (1)找出__最优解的性质__,并刻画其结构特征。(2)__递归的定义最优值_____。 (3)__以自底向上的方式计算出最优值_____。(4)根据计算最优值得到的信息,__构造最优解_____。 4、流水作业调度问题的johnson算法: (1)令N1=_{i|ai=bj}; (2)将N1中作业依ai的_非减序排序,将N2中作业依bi 的非增序排序__。 5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}___。 6、最优二叉搜索树即是_最小平均查找时间__的二叉搜索树。 二、综合题(50分)

1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)___20_(5分) 2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分) 3、最大子段和问题的简单算法(10分) int maxsum(int n,int *a,int & bestj) { intsum=0; for (int i=1;i<=n;i++) for (int j=i;j<=n;j++) int thissum=0; for(int k=i;k<=j;k++)__thissum+=a【k】___; if(thissum>sum){ sum=thissum; __besti=i____; bestj=j;} } return sum; } 4、设计最优二叉搜索树问题的动态规划算法 OptimalBinarysearchTree? (15分)

五大常用算法

五大常用算法之一:分治算法 分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易处理了。要想直接解决一个规模较大的问题,有时是相当困难的。 二、基本思想及策略 分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。 如果原问题可分割成k个子问题,1

计算机简答题答案

计算机基础知识 四、简答题 1、冯·诺依曼设计思想可以简要概括为三点? 1)计算机硬件由运算器、控制器、存储器、输入设备和输出设备组成 2)计算机内部采用二进制表示数据和指令。、 3)存储程序和程序控制 2、简述计算机基本工作过程,并举例说明。 1)将程序和数据通过输入设备输入到内存 2)控制器从内存读出指令译码分析后予以处理 3)将结果通过输出设备输出 例如:对1+2=3计算过程的分析。 3、简述微型计算机中的三种总线及其作用。 1)三总线:地址总线、数据总线和控制总线 2)地址总线:用于存储器或I/O接口的地址信号传送 3)数据总线:用于CPU与内存、内存与I/O接口之间传送数据 4)控制总线:用于传送控制器的各种控制信号 4、简述解释程序与编译程序的作用与区别。 作用:1)解释程序是将高级语言源程序的指令逐条解释执行 2) 编译程序是将高级语言源程序编译成机器语言的目标程序后被CPU执行 区别:1) 解释程序不产生目标程序,逐条解释执行,效率低,便于调试 2) 编译程序生成目标成绩,执行效率高。 5、简述冯·诺依曼计算机结构及工作原理。 1)结构:计算机硬件有运算器、控制器、存储器、输入设备和输出设备组成 2)工作原理:存储程序和程序控制 6、什么叫指令?它由哪两部分组成?请简述计算机执行指令的过程。 指令:是指使计算机完成某种基本操作的命令 指令是由操作码和操作数(地址码)组成 计算机执行一条指令分三个步骤:CPU从内存取出指令→译码分析→执行指令7、列出当前常用的外存储器(4种以上)。 软盘、硬盘、光盘、U盘(移动硬盘,存储卡,磁带亦可) 8、简述操作系统的功能,列出微机上常用的操作系统。(4种以上) 功能:作业管理、文件管理、微处理器管理、设备管理、存储管理 操作系统:Windows,Dos,Unix,Linux 9、分别列举四种常用的输入设备和输出设备。 输入设备:鼠标,键盘,扫描仪,光笔,麦克风,触摸屏 输出设备:显示器,打印机,绘图仪,音箱

计算机算法设计与分析 试题

计算机算法设计与分析期末试题 一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 5. 回溯法解旅行售货员问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C ) A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法 11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法

计算机编程常用算法

常用算法 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。 算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任务和它们被执行的顺序。计算机按算法指令所描述的顺序执行算法的指令能在有限的步骤内终止,或终止于给出问题的解,或终止于指出问题对此输入数据无解。 通常求解一个问题可能会有多种算法可供选择,选择的主要标准是算法的正确性和可靠性,简单性和易理解性。其次是算法所需要的存储空间少和执行更快等。 算法设计是一件非常困难的工作,经常采用的算法设计技术主要有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。 一、迭代法 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: (1)选一个方程的近似根,赋给变量x0; (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1);/*按特定的方程计算新的近似根*/

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