项目4 数组和算法 任务4.2-算法 (课件)-《C#程序设计基础》(河海大学出版社)同步精品课堂
|
41页
|
118人阅读
|
0人下载
精品
内容正文:
C#
项目4数组和算法
制作:孔艳丽
2024年2月
2010版
c#
项目4数组和算法
维数组
任务4.1学生成绩分析
二维数组
项目4数组与算法
算法基础
常用数学算法
任务4.2字符串加密
典型算法
排序算法
查找算法
2010版
C#
任务4.2字符串加密
4.2.1算法基础
1.算法的概念与特征
(1)算法的概念
算法(algorithm)是对特定问题求解步骤的准确、完整的描述,是一系列解决问题的清晰指令
的有限序列,其中每一条指令表示一个或多个操作。
烹饪用的菜谱
在生活中我们也经常会应用“算法”的
算法
也是一种算法
一些思想来解决实际问题,例如根据菜谱做
问题
处理顺序
做红烧肉
菜谱
菜就是非常典型的算法思想的应用,如图所
①
处理步骤
①烹制顺序
示。菜谱中记录了做出各式美食的方法步骤,
②
处理步骤
②烹制顺序
会将材料、用量、烹制过程、时间等每一步
③
处理步骤
③烹制顺序
解决
清晰准确地记录下来,只要按照菜谱去做,
就一定能够制作出美味的红烧肉。
2010版
C#
任务4.2字符串加密
4.2.1算法基础
(2)算法的特征
有穷性
算法在有限步骤后结束,步聚在有限时间内完成
确定性
相同输入得到相同结果
算法特征
可行性
通过已经实现基本运算执行有限次完成
输入
有0个或多个输入
输出
有1个或多个输出
2010版
C#
任务4.2字符串加密
4.2.1算法基础
2.算法的描述方法
(1)自然语言描述算法
自然语言就是我们在日常生活中所使用的语言。用自然语言描述的算法通俗易懂,但是当算法
步骤中包含分支结构和循环结构并且执行步骤较多时,描述起来就比较费力且逻辑不够清晰。
【例4-4】使用自然语言描述算法:找出自然数1~100(包含1和100)中的偶数。
①设i的值为1:
②将i除以2,若余数为0,则i是偶数,输出ⅰ的值;
③将i的值加1:
④判断ⅰ的值是否超过100,没有超过则回到步骤②,否则算法结束。
2010版
C#
任务4.2字符串加密
4.2.1算法基础
(2)流程图描述方法:
所谓流程图(Flow Chart),是指用规定的图形符号来描述算法,流程图中各符号含义如下:
图形符号
名称
含义
起止框
程序的开始或结束
处理框
数据的各种处理和运算操作
输入输出框
数据的输入和输出
判断框
根据条件的不同,选择不同操作
0
连接点
转向流程图的它处或从它处转入
业>
流向线
程序的执行方向
2010版
C#
任务4.2字符串加密
成立
不成立
4.2.1算法基础
条件
处理步骤A
处理步骤B
处理步骤A
处理步骤B
(a)顺序结构
(b)选择结构(条件分支)
面向对象的程序设计方法中规定
的三种基本程序流程结构(顺序结构、
不成立
选择结构和循环结构)都可以用流程
条件
处理步骤A
图明晰地表达出来。
成立
处理步骤A
成立
条件
不成立
当型循环:当条件成立时重复操
直到型循环:重复操作,直到
作,当条件不成立时退出循环
条件不成立时退出循环
(c)循环结构
2010版
C#
任务4.2字符串加密
4.2.1算法基础
(3)N-S图描述算法
虽然用流程图描述的算法条理清晰、通俗易懂,但是在描述大型复杂算法时,流程图的流向线
较多,影响了对算法的阅读和理解。因此有两位美国学者提出了一种完全去掉流程方向线的图形描
述方法,称为N-S图(两人名字的首字母组合)。
处理步骤A
条件
N-S图使用矩形框来表达各种理步骤
处理步骤B
成立
不成立
和三种基本结构,全部算法都写在一个矩形
处理步骤C
处理A
处理B
(a)顺序结构
(b)选择结构(条件分支)
框中。
当条件成立
处理步骤A
处理步骤A
直到条件不成立
当型循环
直到型循环
(c)循环结构
2010版
C#
任务4.2字符串加密
4.2.1算法基础
处理步骤A
if(条件)(
处理步骤B:
处理步骤A:
(4)伪代码描述算法
处理步骤C
else
伪代码是介于程序代码和自然语言之间的
处理步骤B:
}
一种算法描述方法。用自然语言和各种符号来
表示所进行的各种处理及所涉及的数据。这样
(a)顺序结构
(b)选择结构(条件分支)
描述的算法书写比较紧凑、自由,也比较好理
while(条件)(
do
解(尤其在表达选择结构和循环结构时),同
处理步骤;
处理步骤;
}
whi1e(条件):
时也更有利于算法的编程实现(转化为程序)。
当型循环
直到型循环
2010版
C#
任务4.2字符串加密
4.2.1算法基础
(5)程序设计语言描述算法
算法最终都要通过程序设计语言描述出来(编程实现),并在计算机上执行。程序设计语言也是
算法的最终描述形式。无论用何种方法描述算法,都是为了将其更方便地转化为计算机程序。
【例4-5】使用程序设计语言描述算法:找出自然数1~100(包含1和100)中的偶数。
inti=1;
while(i <100)
{
ifi%2=0)
Console.Write(i+"");
}
i=i+1;
2010版
资源预览图