第一章初步算法
一、算法的概念
1.算法的概念:
数学上,现代意义上的“算法”通常是指计算机能解决的某一类问题,即程序或步骤,必须清晰有效,并能在有限的时间内完成。
2.算法的特点:
(1)有限性:算法的步骤序列是有限的,在有限的运算之后必须停止,而不是无限的。
(2)确定性:算法中的每一步都应该是确定的,并且可以有效地执行和得到确定的结果,而不应该是模糊的。
(3)顺序和正确性:算法从初始步骤开始,分成若干确定的步骤。每一步只能有一个确定的后续步骤,前一步是下一步的前提。只有执行完上一步,才能进行下一步,每一步都做准,才能完成问题。
(4)非唯一性:某个问题的解不一定是唯一的。一个问题可以有不同的算法。
(5)普适性:很多具体的问题可以通过设计合理的算法来解决,比如心算、计算器计算等,都要通过有限的、预先设计好的步骤来解决。
二。程序框图
1.程序框图的基本概念
(1)程序构成的概念:程序框图,也称流程图,是用规定的图形、指向线和文字说明,准确、直观地表达算法的图形。
程序框图包括以下部分:代表相应操作的程序块;带箭头的流线;程序框外必要的文本描述。
(2)构成程序框的图形符号及其功能
程序的名称和功能
起止框:表示一个算法的开始和结束,对于任何流程图都是不可缺少的。
输入输出框:表示算法的输入输出信息,可以用在算法中任何需要输入输出的位置。
处理框:赋值和计算。算法中处理数据所需的公式和公式写在不同的处理数据的处理盒中。
判断框:判断某个条件是否为真,为真时在出口处标注“是”或“Y”;没有立即标明“否”或“否”。
(3)算法的三种基本逻辑结构:顺序结构、条件结构和循环结构。
1.序列结构:序列结构是最简单的算法结构。句子和方框是从上到下执行的。它由按顺序执行的几个处理步骤组成。是任何算法都离不开的基本算法结构。
顺序结构程序框图的体现是用流水线从上到下连接程序块,依次执行算法步骤。如图所示,框A和框B依次执行,只有在执行了框A指定的操作后,才能执行框B指定的操作。
2.条件结构:
条件是指算法中对条件的判断。
根据条件选择不同流向的算法结构。
如果条件p成立,选择方框a或方框b。无论P条件是否成立,都只能执行盒子A或盒子B中的一个,不可能同时执行盒子A和盒子B,盒子A和盒子B都不能执行。一个判断结构可以有多个判断框。
3.循环结构:在某些算法中,往往是某个处理步骤按照一定的条件从某个地方重复执行。这就是循环结构,重复执行的处理步骤就是循环体。显然,循环结构必须包含条件结构。循环结构也称为重复结构,循环结构可以细分为两类:
(1)、第一种是当循环结构,如下左图所示,其功能是当给定条件P成立时执行A框。A框执行后,判断条件P是否成立。如果仍然成立,则反复执行A框,这样反复执行A框,直到某个条件P不成立。此时,不再执行A框,留下循环结构。
(2)另一种是until型圆形结构,如下右图所示。它的作用是先执行它,然后判断给定的条件P是否成立。如果P仍然不成立,继续执行方框A,直到给定的条件P成立。此时停止执行框A,离开循环结构。