|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
第二章:算法与问题解决 《巩固与提高》 第 - 58 - 页
: y4 a9 H4 u, E' a: o/ M/ W0 l 1. 任意输入三个数,输出其中最小数的值,设计解决该问题的算法并用流程图描述该算法。 E# S @& j7 I
答:本题算法及流程图如下:
+ F# H+ S% R9 F1 w2 U$ \
+ q5 e8 p( c7 x; X另附程序源代码参考如下: // 注:答案并非唯一,以下代码仅作参考!
) `. D8 n" k/ C 例1 > 方法一,原始比较,不使用函数,代码如下:(同学们可根据老师编写的以下代码用流程图描述该算法)- """+ z f; z( W) s/ |7 Q$ _" E, g
- 《信息技术》(必修一)P58页第1题(原始比较)( @8 [, K4 u) s: C( s
- 5 s m8 J) `! j& l" A" J
- Version: Python 3.x
# U+ \$ o+ b2 a" R - Team: 新大榭! C E" `: q$ G
- Author: 张黎斌
; s) L' R. C+ k. j' _* ]! H - update: 2021-03-16
. R2 A( S9 M' d P- ~0 C( Z8 K' c - Level: A
' f1 B" W# a i% p+ q
$ F9 i7 e2 O' [6 Q) M4 I- """7 S# j1 e$ c8 A) j
9 k# y5 K0 E& g* I; J0 ?- # 以下为主程序核心代码 ↓↓↓
: d2 K% z( | B; u: N8 I/ D9 h
5 K, c2 {. n5 g# ^3 O' e0 n- x=float(input('x = ')) # 定义浮点型数字类型 x
+ F0 f/ X$ S3 L$ x3 r+ o4 R. ]* V8 I - y=float(input('y = ')) # 定义浮点型数字类型 y- W" g- w; k& P& f8 ~2 w- t- n0 _# r
- z=float(input('z = ')) # 定义浮点型数字类型 z
% c( o& [* q7 O* p3 t' F$ E - & C H' \9 G3 z0 e6 [8 N
- if x>y:+ }% N# w6 x- B d3 W- U- k) o- Q
- x,y=y,x #换位赋值 即 y>x
( V+ G$ B Q9 I+ ]8 g: B - if x>z:
- ^' _4 I& G, Y- C& N' ^& r - x,z=z,x #换位赋值 即 z>x& N, N! l' K- Q0 ~! L( E$ r0 g
- if y>z:0 n2 z' n5 { C7 d1 @
- y,z=z,y #换位赋值 即 z>y& _; ?1 n+ \; }2 J1 i3 g! _
- . V, B; d* L6 y6 Q: G; q
- print('\n最小值为:',x) #综上推论,顺序为:z>y>x,即最小值为x
' r5 V* |! z& T& [- O+ C$ V - 1 S4 f, ?, a" M% U6 L( V
- # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
8 C' e: }# j& ` - + r# J# g* i) f% \- U
- print("\n--- 按回车键退出 ---")
, f" L: x/ |3 Q - input("")
复制代码 例2 > 方法二:使用min()内置函数,运行效率更高,代码如下:
* [: ^) }9 ~4 d3 N; _6 F- """
, r. q/ g, x* Z5 ]- ` - 《信息技术》(必修一)P58页第1题(使用min内置函数)
- N) p6 v2 R1 D# l6 Z6 J' K; s - 4 q0 J) s1 j3 D& C" p, i( ?% Y
- Version: Python 3.x2 h, S0 w- `& v
- Team: 新大榭
* q7 f& ?& _: b: ?/ P( i6 r/ u, a - Author: 张黎斌& j/ |- a! V! o4 Y6 ~
- update: 2021-03-16& c1 `2 T) W% s0 r! p
- Level: A& c( T6 |! k% Y! ]% W% c* `
- - ]9 Q! k. R' i9 F3 s; o- p& Q
- """
5 v: {* S4 O7 k3 D' V; c. |) H1 ]
) `9 Z& X$ |4 p9 R. C- # 以下为主程序核心代码 ↓↓↓
4 L# {( z( m- U
3 \1 T# n6 H6 C* Y# a/ s' r: B- x = float(input("请输入第1个数: "))
@ c0 f) D7 t4 } c# H - y = float(input("请输入第2个数: "))
% [% s0 C5 y3 A( y0 `) Q1 W- f - z = float(input("请输入第3个数: "))9 i0 f% _' @% W# h; H
# A8 c! D# q8 t& H. t- N = min(x, y, z) # 直接利用min内置函数
% X) H, U5 k H4 j8 b/ F
# {8 [; L0 s& w1 H- print("\n当前输出的最小值为:",N)- R" f" z0 V# ?7 P, Q; b% H" a4 v
; s) \6 r6 \% `" ]' `- # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!2 Q2 n" p0 Z$ |( F! T
- . g/ l& w( G `% \; j# q
- print("\n--- 按回车键退出 ---")7 z. P+ y9 |3 C( E H
- input("")
复制代码 温馨提示:0 U/ e/ _2 X: M, c6 |1 ?9 N2 T
针对本题课堂作业而言,优先推荐例1解法,掌握其核心算法和技巧;如果在未来遇到项目实际开发则采用例2解法! |
|