算法与程序设计知识点提要
- 格式:pdf
- 大小:303.58 KB
- 文档页数:9
《算法与程序设计》复习提纲第一章算法和算法的表示一、计算机解决问题的一般过程:1、分析问题确定要用计算机做什么(分析问题);2、寻找解决问题的途径和方法(设计算法);3、用计算机进行处理(算法实现及结果检测)。
二、算法的概念:解决问题的途径和方法。
三、算法的特征:1、有穷性;2、确定性;3、能行性;4、有0个或多个输入;5、有1个或多个输出。
<总结>:输入不是必须的,但输出则是必须的。
四、算法的表示方法:1、自然语言;2、流程图;3、伪代码。
五、流程图的六个构件:第三章面向对象程序设计的基本知识一、面向对象程序设计中的5个概念:类、对象、属性、事件、事件处理过程(方法)。
例如:“美丽的花瓶被摔碎了”中“美丽的”——属性;“花瓶”——对象;“摔”——事件;花瓶碎了——事件处理过程(方法)“类”是对相同性质的对象的一种抽象,在此例中,“类”可以是瓶子、容器、玻璃器皿等。
二、VB中常用的控件及其它们的最常用的属性:三、VB中修改对象的某个属性的格式:对象名.属性名=属性值例如:Text1.text=”Hello”(Text1:对象名、text:属性名、”Hello”:属性值)记住一句话:“姚明的身高是226cm”,其中“姚明”对应对象名、“身高”对应属性名、“226cm”对应属性值,其语法格式与VB中的语法格式一模一样。
四、VB文件保存时注意点(考试时可自行打开VB软件观察):首先保存窗体文件,后缀名为frm;然后保存工程文件,后缀名为vbp<注>:exe文件为可执行文件,不需安装VB就能直接运行,但exe文件不可编辑五、VB中常见的事件第四章VB程序设计初步一、VB中常用的基本数据类型:<注意>:A、VB中只有在双引号中的字母才区分大小写,如果弄不清楚请在任何情况下都区分大小写(也就是跟着题目中原始数据的大小写),以保证正确性。
B、逻辑值“True”不要写错。
(常见错误写法:“Ture”)二、数据的分类与定义:1、常量:在程序执行过程中其值不能改变的存储单元或数据。
算法与程序设计基础算法和程序设计是计算机科学中至关重要的两个概念。
算法是解决问题的具体步骤和方法的描述,而程序设计则是将算法具体实现为计算机可执行的代码。
本文将介绍算法和程序设计的基础知识,并探讨它们在计算机科学领域的重要性和应用。
一、算法的概念与特点算法是解决问题的方法和步骤的描述,它可以用自然语言、流程图或伪代码来表示。
一个好的算法应具备以下特点:1. 清晰和准确:算法应该能够清晰地描述问题的解决步骤,每个步骤都应该准确无误。
2. 有穷性:算法应该在有限步骤内结束。
如果算法一直运行下去而无法结束,那么它就是一个无穷算法,往往是不可接受的。
3. 确定性:算法的每个步骤都应该明确指定,不产生二义性。
4. 可行性:算法中的每个操作都应该是可行的,即可以通过计算机的基本操作完成。
二、常见的算法设计方法1. 递归算法:递归是一种使用函数自身来解决问题的方法。
递归算法通常用于解决可以分解成较小子问题的问题,它具有简洁、优雅的特点。
2. 贪心算法:贪心算法是一种通过每一步的最优选择来达到整体最优解的方法。
贪心算法在某些情况下能够有效地解决问题,但它不保证能够得到全局最优解。
3. 动态规划算法:动态规划算法通常用于求解具有重叠子问题和最优子结构性质的问题。
它通过将问题分解成多个子问题,并保存子问题的解以避免重复计算。
4. 回溯算法:回溯算法通常用于在一个问题的所有解空间中搜索特定的解。
它通过不断试探和回退来寻找问题的解。
三、程序设计基础程序设计是将算法具体实现为计算机可执行的代码。
程序设计语言是指定计算机操作的一组规则和结构。
1. 编程范式:编程范式是一种编程风格和方法的组合。
常见的编程范式包括面向过程编程、面向对象编程和函数式编程等。
2. 数据结构:数据结构是组织和存储数据的方式。
常见的数据结构包括数组、链表、栈、队列、树和图等。
3. 程序控制结构:程序控制结构是指控制程序执行流程的结构。
常见的程序控制结构包括顺序结构、选择结构和循环结构等。
二、算法与程序设计模块1.利用计算机解决问题的基本过程(1)利用计算机解决问题的基本过程(P3)①分析问题②设计算法③编写程序④调试程序(2)算法的基本特征(P9)①输入(0个或多个)②确定性(算法的每一步都必须要确切地定义)③有穷性(一个算法在执行有穷步之后必须结束)④输出(算法有一个或多个输出)⑤能行性(算法中有待执行的运算和操作必须是相当基本的)(3)算法描述(P10)表示描述算法的语言主要有:自然语言、流程图、伪代码等。
自然语言描述算法的优缺点:优点:通俗易懂缺点:具有歧义性、自然语言语句较长、难以清晰地表示循环与分支较多的算法、不便翻译成计算机程序设计语言流程图:开始/结束框输入/输出框处理框判断框流程线连接点(4)计算机程序的基本概念及执行的基本过程(P14)计算机程序是一组机器操作的指令或语句的序列,是算法的一种描述程序执行的基本过程:除非特殊声明,程序都从第一条语句开始顺序执行;有时语句要求执行者做出判定,即在某种条件成立的情况下执行一条或一组语句,否则执行另一条或另一组语句;一条或一组语句可能需要重复执行多次(循环体)。
程序的三种基本结构:顺序结构、选择结构、循环结构(5)程序设计语言产生与发展过程(P18)程序设计语言的发展历程:①机器语言(0、1代码)②汇编语言(带有助记符)③高级语言常见的高级语言:Fortran、Basic、C、C++、Pascal、JAVA(6)程序的编译与解释的过程(P20)程序的翻译:计算机程序转为机器语言程序(计算机只能识别和执行机器语言代码)程序的翻译有两种类型:编译程序(高级语言程序执行前翻译成等效的机器语言程序,然后再执行)解释程序(翻译一句,执行一句)2.程序设计语言初步(1)程序设计语言的基本概念程序设计语言是指人们编制程序时所使用的计算机语言(2)整型、字符型、实型和逻辑型等基本数据类型(P27)数据:描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的符号的集合。
算法与程序设计章节整理第一单元算法基础1.算法的概念及特点。
(1)复述算法的概念:解决某一问题的具体的、有限的方法和步骤⑵解释算法的主要特点:有穷性(步骤是有限的)、确定性(每个步骤有确切的含义)、可行性(每个步骤是可行的)、有0个或多个输入和有一个或多个输出。
(3)描述用算法解决问题的一般过程:计算机解决问题的一般过程:分析问题(确定要计算机做什么)、寻找解决问题的途径和方法(解决怎么做)和用计算机进行处理用算法解决问题的一般过程:需求分析(做什么卜确定算法(主要是人怎么做)编写程序(计算机怎么做)及上机调试和维护(做得更好)2.算法的描述方法;流程图的绘制方法;用流程图来描述算法。
(1)列举算法的描述方法(用自然语言描述、流程图描述、程序语言和伪代码描述);(2)列举常用的流程图符号及出入口数起止框、输入输出框、处理框、判断框、流程线3.常量和变量的区别。
(1)复述常量和变量的概念;常量:相当于数学中的常数,在程序运行中不会改变值的量变量:相当于函数中的变量,在程序运行中可以改变值的量(3)列举数据的基本类型(整型、实数型、字符型、逻辑型等);整型:相当于整数或用来存放整数的变量;实数型:相当于实数或用来存放实数的变量;字符型:非数据值型的数据(判断:一般不能用来加、减、乘、除的)如姓名、学号、电话号码、身份证号等逻辑型:用关系运算符和逻辑运算符连接的数据,只有真(1)和假(0)二种结果⑷比较变量名和变量值的区别:Max =5:变量名为Max,其值是5; A(1) =9:A(1)是下标变量4.变量的作用和特点;设置和使用变量。
(1)描述变量的基本作用和特点:作用保存数据;特点:取之不尽,一充就掉。
(2)列举变量命名的基本规则:英文字母开头,后面跟字母或数字或下划线,系统保留字不能用(3)使用赋值语句对变量进行赋值;LET变量名=表达式,先计算表达式,后将结果赋值给左边的变量,一般 LET省略5.运算符、运算的优先次序、表达式。
·1·算法与程序设计知识点提要1、算法:解题方法的精确描述,即解题方法步骤化。
2、算法的特征
有穷性:一个算法的执行步骤是有限的
确定性:算法中的每个步骤必须有确切的含义
可行性:算法的每个步骤是可行的,是实际能做的
有0个或多个输入
有1个或多个输出
3、算法表示:
自然语言:自然语言是指人们日常生活中使用的语言,如汉语、英语、法语等都是自然语言。用自然语言描述算法符合我们的表达习惯,并且容易理解。流程图:流程图(FlowChart)也称程序框图,它是算法的一种图形化表示方法。用流程图描述算法与自然语言描述相比,用流程图描述算法形象、直观,更容易理解。
伪代码:伪代码(Pseudocode)是介于自然语言和计算机程序语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。计算机语言:利用程序设计语言如VisualBasic、C、C++、Pascal等编制程序,实现算法。
4、对象:在VB中,我们总是和对象打交道。新建一个窗体就是新建了一个窗
体对象;从工具箱中,将一个控件拖放到窗体上,实际上也生成了一个对象。
5、属性:对象的属性是用来描述对象的外部特征的。在VB中,窗体(Form)
对象的属性有名称、标题(Caption)、字体(Font)、背景颜色(BackColor);按钮对象的属性有按钮名称、提示、背景颜色等,对象的属性可在“属性”面板中设置。·2·
代码中属性的引用方法为:对象名.属性名=属性值或变量=对象名.属性名例如,Form1.Caption="你的体重标准吗?"n=val(Text1.Text)6、方法:方法是一个对象允许其他对象与之交互的方式,它表明了一个对象所
具有的能力。代码中调用对象的方法可以用:对象名.方法名[参数列表]例如:Form1.Cls'擦除窗体
List1.AddItemn(i)'将幸运学号加入列表框中
7、类:现实生活中,我们通常会把具有共同性质的事物划分成一类,得出一个
抽象的概念“类”。在面向对象程序设计中我们也用这种方法,往往把具有共同属性、方法或事件的对象归为“类”。类是在对象之上的抽象,是对象的模板;对象是类的具体化,称类的实例。当我们说“标签”的时候,指的是标签类;当我们说某个标签的时候,指的是标签类的一个实例。VB工具箱中的类是可视类,设计程序时,将它们直接拖放到窗体上就可以
生成类的实例(对象)。使用VB进行程序设计的方便之处就在于VB给我们定义了许许多多的类,从窗体、工具栏、状态栏、命令按钮、图片框、单选框、复选框到时钟、文件、文件夹、驱动器、滚动条、旋转按钮等等,我们在程序设计中用到的类,一般它都提供了,这大大方便了程序的编写。编写一般的程序,我们只需要生成相应类的实例(即生成对象)就可以实现想要的功能。
8、事件和事件过程:VB为窗体和大多数控件都规定了一组事件,当应用程序
被启动后,VB随时准备捕获各种事件。一旦发生了某个事件,VB就会执行与该事件相联系的事件过程;执行完后,VB将等待下一个事件的发生。常用的事件有Load(载入事件,如Form_load)、Click(单击事件,如Command1_Click)、Change(改变事件,如Text1_Change)等。如用户用鼠标单
击按钮(CommandButton)就触发了Click事件,程序就会执行Click事件过程(即以下代码中的Sub和EndSub之间的语句)。PrivateSubCommand1_Click()DimrAsDoubler=Val(Text1.Text)Text2.Text=Str(2*3.14*r)EndSub
9、赋值语句
VB中赋值语句用“=”来实现,如:
a=b'将b的值赋给变量aN=1'将1赋给N赋值语句“=”后面可以是常量、变量或表达式。赋值语句中的“=”与数学中的·3·
“=”是不同的!如:N=N+1
这里的意义是将N的值加1后重新赋给N,结果N的值比原值增加了1。
10、注释语句
注释是以单引号(')开头的一串文字,可以出现在程序中需要说明的位置上,通过这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。注释对程序的执行效果没有任何影响,程序运行时自动跳过注释。在VB里,注释语句有两种,一种是用“Rem”关键字,还有一种是利用单引号“'”,例如:'定义a为字符串变量
Rem定义a为字符串变量
以上两句的作用是一致的,但Rem语句必须单独占一行。
11、变量
变量应该先声明后使用。VB中变量声明的方法是:DimAs
例如,DimNAsInteger'声明变量N为整型还可以在一行中定义多个变量,如:DimdtmBeginTimeAsDate,dtmEndTimeAsDateDima,b,cAsinteger
变量名可以简单地用i、j、k等单个字母表示,也可以包含比较复杂的信息描述,如intTimeCost和intWordCount,表示打字所花时间和输入的字符数。尽管变量命名可以有很大范围的自由度,但是还必须遵守以下几个约定:1.必须以字母或汉字开头,而不能以数字或其他字符开头。2.只能由字母、汉字、数字和下画线组成,不能含有小数点、空格等字符。3.字符个数不超过255个。4.变量名不能使用VB中的保留字。如Print、Sub、End等5.VB不区分变量名中字母的大小写。如HELLO和Hello是同一个变量。6.为增加程序的可读性,变量名最好取有意义的名称,建议前面加上类型缩写,如strA。
12、常量
如果程序中多次用到同一个常量,往往用一个有意义的符号表示,这种常量称为符号常量;代表常量的符号称为“常量名”,其定义形式如下:Const常量名[As类型]=表达式
如:ConstPI=3.1415926ConststrA="abcde"
13、数据类型·4·
整型、长整型、单精度和双精度都属于数值型,它们表示数值的范围是不同的。其中,单精度和双精度又合称为浮点型。字符串型数据是指用""括起来的一串字符。如"欢迎进入VB世界!"、"VisualBasic"、"1234"都是字符串类型。文本框里输入的是字符串类型。
布尔型又称逻辑型,常用于表示逻辑判断的结果,如“真/假”、“是/非”等,其值为True或False,分别表示逻辑真和逻辑假。VB中也常用数值0表示假值,-1表示真值。日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。14、常用函数
(1)常用数学函数函数功能实例结果Abs(x)求x的绝对值Abs(-4.6)4.6Sqr(x)求x的平方根Sqr(9)3
Sin(x)求x的正弦值Sin(30*3.14/180)0.499770102643102Cos(x)求x的余弦值Cos(30*3.14/180)0.866158094405463
Tan(x)求x的正切值Tan(60*3.14/180)1.72992922008979Atn(x)求x的反正切值4*Atn(1)3.14159265358979Exp(x)求指数函数exExp(2.0)7.38905609893065Log(x)求x的自然对数值Log(10)2.30258509299405
Int(x)取整数函数Int(99.8)99
Rnd(x)产生0~1之间(不包括1)的随机数Rnd()返回一个随机数·5·
要产生[a,b]区间范围内的随机整数,可以使用公式:int((b-a+1)*rnd+a)。例如:要产生[10,100]区间的随机整数,可以使用公式int(91*rnd+10)获得。
用数学函数时需要注意以下几点。(1)三角函数中的参数应是弧度数,如数学中sin30°应写为:sin(30*3.14159/180)(2)Rnd函数返回[0,1)(即包括0,但不包括1)之间的一个随机数,它往往和Randomize结合使用。如果我们班有54名同学开联欢会,要编程抽取一名幸运同学,可以用以下代码求得:
PrivateSubcmdOk_Click()Randomize'初始化随机数生成器
Label1.Caption="幸运同学的学号为:"&Int((Rnd*54)+1)EndSub
(2)常用字符串函数函数功能实例结果Len(字符串)求字符串的长度Len("2008奥运")6
Left(字符串,截取长度)截取字符串左边部分Left("2008奥运",4)2008Mid(字符串,起始位置[,截取长度])从中间指定位置截取字符串Mid("2008奥运",3,2)08
Right(字符串,长度)截取字符串右边部分Right("2008奥运",2)奥运
String(数值,字符)生成指定长度与指定字符的字符串String(3,"9")999(3)常用转换函数函数功能实例结果Val(字符串)将字符串转换为数值2+Val("12")14
Str(数值)将数值转为字符串Str(5)"5"Chr(字符代码)求字符代码对应的字符Chr(65)"A"Asc(字符)求字符对应的字符代码Asc("A")65
Cint(表达式)将表达式的结果转换为整数,小数部分四舍五入Cint(3.14259*2)6
Fix返回数的整数部分Fix(-3.6)-3