例2.2:有50个学生,要求将成绩在80分以上的学 挂的学号和成绩输出。 用n:代表第i个学生学号,g:表示第i个学生成绩 算法如下: ① 1→i ② 如果g≥80,则输出n和g1 ③ i+1→i ④ 如果i≤50,返回到②,继续执行; 否则,结束
例2.2 :有50个学生,要求将成绩在80分以上的学 生的学号和成绩输出。 ◼ 用 ni 代表第 i 个学生学号,gi 表示第 i 个学生成绩 ◼ 算法如下: ① 1i ② 如果gi≥80,则输出ni和gi ③ i+1i ④ 如果i≤50,返回到②,继续执行; 否则,结束
例2.3:判定2000一2500年中的每一年是否闰年, 并将结果输出。 闰年的条件: (1)年份能被4整除,但不能被100整除的年份都 是闰年,如2008、2012、2048年; (2)年份能被400整除的年份是闰年,如2000年 不符合这两个条件的年份不是闰年。 例如:2009、2100年
例2.3:判定2000—2500年中的每一年是否闰年, 并将结果输出。 ➢ 闰年的条件: (1) 年份能被4整除,但不能被100整除的年份都 是闰年,如2008、2012、2048年; (2) 年份能被400整除的年份是闰年,如2000年 不符合这两个条件的年份不是闰年。 例如:2009、2100年
设year为被检测的年份。算法如下: ① 年份初值year=2000 若year不能被4整除,则输出year的值和“不是闰 年”,然后转到⑥ ③ 若year能被4整除并且不能被100整除,则输出year的 值和“是闰年”,然后转到⑥ ④ 若year能被4O0整除,则输出year的值和“是闰年”, 然后转到⑥ 其他情况输出year的值和“不是闰年”,然后转到⑥ year+l→year 当year≤2500时,转②;否则结束
◼ 设 year 为被检测的年份。算法如下: ① 年份初值year=2000 ② 若year不能被4整除,则输出year 的值和“不是闰 年”,然后转到⑥ ③ 若year能被4整除并且不能被100整除,则输出year的 值和“是闰年”,然后转到⑥ ④ 若year能被400整除,则输出year的值和“是闰年” , 然后转到⑥ ⑤ 其他情况输出year的值和“不是闰年”,然后转到 ⑥ ⑥ year+1year ⑦ 当year≤2500时,转②;否则结束
year不能 被4整除 非闰年 闰年 year被100 year被4整 整除,又能 除,但不能 被400整除 被100整除 闰年 逐渐缩小判 其他 断的范围 非闰年
year不能 被4整除 非闰年 year被4整 除,但不能 被100整除 闰年 year被100 整除,又能 被400整除 闰年 其他 非闰年 逐渐缩小判 断的范围
2.2算法的特性 法具有下面五个特性: 有穷住:一个算法应包含有限的操作步骤,且每个 步骤执行时间是有限的。 2)确定性:算法中的每个步骤含义明确,无二义性。 3) 可行性:算法中描述的操作都能实现。 4) 输入:一个算法应具有零个或多个输入。 5)输出:一个算法应具有一个或多个输出
算法具有下面五个特性: 1)有穷性:一个算法应包含有限的操作步骤, 且每个 步骤执行时间是有限的。 2)确定性:算法中的每个步骤含义明确,无二义性。 3)可行性:算法中描述的操作都能实现。 4)输入:一个算法应具有零个或多个输入。 5)输出:一个算法应具有一个或多个输出。 2. 2 算法的特性