新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

《新大榭》- 创大榭地方网络社区先锋品牌 新大榭始终专注于地方网络社区平台的建设 关于我们- [大记事]- 留言建议- [新手报道]

发布 .新大榭软件管家(Excel版) V6.0版 财务/仓库/生产/销售/采购/行政/人事/校园 .公告 - 客户 - 打赏 - 职场 - Excel - Python.

新大榭镜像-音乐-法律-图书-高中课堂-实验 广告是为了能更好的发展 [欢迎商家支持本站互利共赢] 广告位招租.首页黄金广告位等您来!联系 13566035181

查看: 150|回复: 3

[必修1] 7151 - 《信息技术》(必修一)P058【巩固与提高】二单元

 关闭 [复制链接]
发表于 2021-3-16 14:01:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!

您需要 登录 才可以下载或查看,没有账号?注册

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 > 方法一,原始比较,不使用函数,代码如下:同学们可根据老师编写的以下代码用流程图描述该算法
  1. """+ z  f; z( W) s/ |7 Q$ _" E, g
  2. 《信息技术》(必修一)P58页第1题(原始比较)( @8 [, K4 u) s: C( s
  3. 5 s  m8 J) `! j& l" A" J
  4. Version: Python 3.x
    # U+ \$ o+ b2 a" R
  5. Team: 新大榭! C  E" `: q$ G
  6. Author: 张黎斌
    ; s) L' R. C+ k. j' _* ]! H
  7. update: 2021-03-16
    . R2 A( S9 M' d  P- ~0 C( Z8 K' c
  8. Level: A
    ' f1 B" W# a  i% p+ q

  9. $ F9 i7 e2 O' [6 Q) M4 I
  10. """7 S# j1 e$ c8 A) j

  11. 9 k# y5 K0 E& g* I; J0 ?
  12. # 以下为主程序核心代码 ↓↓↓
    : d2 K% z( |  B; u: N8 I/ D9 h

  13. 5 K, c2 {. n5 g# ^3 O' e0 n
  14. x=float(input('x = '))   # 定义浮点型数字类型 x
    + F0 f/ X$ S3 L$ x3 r+ o4 R. ]* V8 I
  15. y=float(input('y = '))   # 定义浮点型数字类型 y- W" g- w; k& P& f8 ~2 w- t- n0 _# r
  16. z=float(input('z = '))   # 定义浮点型数字类型 z
    % c( o& [* q7 O* p3 t' F$ E
  17. & C  H' \9 G3 z0 e6 [8 N
  18. if x>y:+ }% N# w6 x- B  d3 W- U- k) o- Q
  19.     x,y=y,x       #换位赋值 即 y>x
    ( V+ G$ B  Q9 I+ ]8 g: B
  20. if x>z:
    - ^' _4 I& G, Y- C& N' ^& r
  21.     x,z=z,x       #换位赋值 即 z>x& N, N! l' K- Q0 ~! L( E$ r0 g
  22. if y>z:0 n2 z' n5 {  C7 d1 @
  23.     y,z=z,y       #换位赋值 即 z>y& _; ?1 n+ \; }2 J1 i3 g! _
  24.     . V, B; d* L6 y6 Q: G; q
  25. print('\n最小值为:',x)   #综上推论,顺序为:z>y>x,即最小值为x
    ' r5 V* |! z& T& [- O+ C$ V
  26. 1 S4 f, ?, a" M% U6 L( V
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    8 C' e: }# j& `
  28. + r# J# g* i) f% \- U
  29. print("\n--- 按回车键退出 ---")
    , f" L: x/ |3 Q
  30. input("")
复制代码
例2 > 方法二:使用min()内置函数,运行效率更高,代码如下:
* [: ^) }9 ~4 d3 N; _6 F
  1. """
    , r. q/ g, x* Z5 ]- `
  2. 《信息技术》(必修一)P58页第1题(使用min内置函数)
    - N) p6 v2 R1 D# l6 Z6 J' K; s
  3. 4 q0 J) s1 j3 D& C" p, i( ?% Y
  4. Version: Python 3.x2 h, S0 w- `& v
  5. Team: 新大榭
    * q7 f& ?& _: b: ?/ P( i6 r/ u, a
  6. Author: 张黎斌& j/ |- a! V! o4 Y6 ~
  7. update: 2021-03-16& c1 `2 T) W% s0 r! p
  8. Level: A& c( T6 |! k% Y! ]% W% c* `
  9. - ]9 Q! k. R' i9 F3 s; o- p& Q
  10. """
    5 v: {* S4 O7 k3 D' V; c. |) H1 ]

  11. ) `9 Z& X$ |4 p9 R. C
  12. # 以下为主程序核心代码 ↓↓↓
    4 L# {( z( m- U

  13. 3 \1 T# n6 H6 C* Y# a/ s' r: B
  14. x = float(input("请输入第1个数: "))
      @  c0 f) D7 t4 }  c# H
  15. y = float(input("请输入第2个数: "))
    % [% s0 C5 y3 A( y0 `) Q1 W- f
  16. z = float(input("请输入第3个数: "))9 i0 f% _' @% W# h; H

  17. # A8 c! D# q8 t& H. t
  18. N = min(x, y, z)   # 直接利用min内置函数
    % X) H, U5 k  H4 j8 b/ F

  19. # {8 [; L0 s& w1 H
  20. print("\n当前输出的最小值为:",N)- R" f" z0 V# ?7 P, Q; b% H" a4 v

  21. ; s) \6 r6 \% `" ]' `
  22. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!2 Q2 n" p0 Z$ |( F! T
  23. . g/ l& w( G  `% \; j# q
  24. print("\n--- 按回车键退出 ---")7 z. P+ y9 |3 C( E  H
  25. input("")
复制代码
温馨提示0 U/ e/ _2 X: M, c6 |1 ?9 N2 T
针对本题课堂作业而言,优先推荐例1解法,掌握其核心算法和技巧;如果在未来遇到项目实际开发则采用例2解法!

AP058_01_01_7151.zip

670 Bytes, 阅读权限: 5, 下载次数: 2, 下载积分: 财富 -1 点

第1题,例1 源代码

AP058_01_02_7151.zip

603 Bytes, 阅读权限: 5, 下载次数: 2, 下载积分: 财富 -1 点

第1题,例2 源代码

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
Q群推荐 大榭本地求职招聘QQ群,欢迎转发分享本地招聘信息资讯! 官方招聘1群(已满);官方招聘2群:315816937 *
 楼主| 发表于 2021-5-28 20:00:10 | 显示全部楼层
2. 任意输入三个数,按从小到大的顺序依次输出这三个数。设计解决该问题的算法并用流程图描述该算法。
* i& c: n: {: e/ O) q1 M# N1 e9 g# O( Z' ~# l: L: w
答:本题算法及流程图如下:7 @4 q( P$ r% D4 f6 i5 T
游客,如果您要查看本帖隐藏内容请回复

; T7 i* I: K# I5 H6 e. `; `本帖直接编写程序代码:
//  注:答案并非唯一,以下代码仅作参考!
例1> 方法一:直接比较,换位赋值,跟P58第1题解题思路相同,代码如下:
  1. """5 F5 H! ~! n* y0 r# e) ~3 j7 e
  2. 《信息技术》(必修一)P58页第2题(原始比较)" |" A2 E" X+ M# G3 _* Z. i
  3. * n8 w8 U1 u& p: w
  4. Version: Python 3.x3 y, p( ^- I8 k* G7 p8 r
  5. Team: 新大榭
    & N& G) y7 p1 C0 \. m
  6. Author: 张黎斌0 s! C0 C9 s0 b& x' M
  7. update: 2021-05-286 b) `0 {, z. e3 C. O# }
  8. Level: A$ {" T; Q, M4 N+ ?# ]/ e, A

  9. / V4 X$ _' X8 M: d& y6 T4 Q
  10. """* U. {0 N- l8 A3 _4 Y% ~
  11. / M0 j" T6 z$ F! i* x: J+ t+ q& u
  12. # 以下为主程序核心代码 ↓↓↓& {! o- D" r7 R6 m1 E( G
  13. ' t( k! q5 Z) V% w
  14. x=float(input('x = '))   # 定义浮点型数字类型 x4 i- q; q1 J7 ~  V
  15. y=float(input('y = '))   # 定义浮点型数字类型 y
    * M0 N  [6 V9 a) `. B- T& G& N0 e
  16. z=float(input('z = '))   # 定义浮点型数字类型 z
    : u0 C2 B0 q) y3 u

  17. , e$ e1 s( }! y. s6 \* ^; J
  18. if x>y:
    4 h( c3 X2 }0 `6 Z- J. m
  19.     x,y=y,x       #换位赋值 即 y>x
    0 k6 \' d. l9 Q0 A* j# l/ B4 ], d
  20. if x>z:
    * |  V+ R% V# \9 j* t( D% \$ N
  21.     x,z=z,x       #换位赋值 即 z>x/ x- C% N3 ?4 q) v
  22. if y>z:
    8 D  I% e' S1 O% _; j9 @
  23.     y,z=z,y       #换位赋值 即 z>y0 h' ]. R9 X9 u5 X5 D! v
  24.    
    4 K$ c& _% q- c; Y8 d
  25. print('\n这三个数从小到大的顺序分别为:',"\n\n",x,"\n",y,"\n",z)   #综上推论,即顺序为:z>y>x
    , x4 z! x: n  ?3 |8 y

  26. 3 U  M* Y( L9 r" ?$ {- ~3 H
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    " U& t! Y8 x  A- o& M) r

  28. 2 Y: f3 d+ B) p& ~; {
  29. print("\n--- 按回车键退出 ---")
    8 y0 q+ P+ d) w, c" ^- k  T
  30. input("")
复制代码

: s9 c, j3 w  {4 K例2> 方法二:采用内置函数新思维解法,对于优秀学生要求掌握,算法推荐(关键词:appendsortjoin),可参考7381号帖子
  1. """7 q! t( p  o: z. A  B
  2. 《信息技术》(必修一)P58页第2题(采用内置函数新思维解法,优秀学员推荐)
    3 |$ I# K/ i% g9 a1 }

  3. + {  i' \- E; Y7 }
  4. Version: Python 3.x
      f) h/ U: K9 Y5 `7 H- j$ B
  5. Team: 新大榭
    # G! j6 D; P8 e4 T' r% Z
  6. Author: 张黎斌3 j, J2 |4 I) `$ ]
  7. update: 2021-05-28
    , u/ v! P; }3 I3 P; c# ?
  8. Level: A
    + q5 @: k# Z- o+ N

  9. % Q" V( n! \) @# h) m
  10. """: T* a2 r+ V, F! Q# |
  11. 4 V. ^) P0 J5 ]7 }2 q
  12. # 以下为主程序核心代码 ↓↓↓5 S7 b4 k* s: M5 \$ ?
  13. % _. [+ `% F% y" M! X5 T
  14. data = []     # 创建空列表并初始化赋值为空6 D; _7 ~- B: d8 Y+ y9 l% d% N
  15. data.append(input("请输入第1个数:"))  # 在数列中插入数据的append方法
    . J9 f: W# y% Y# }
  16. data.append(input("请输入第2个数:"))5 K4 ]5 R* h; b4 S- i/ x
  17. data.append(input("请输入第3个数:")), Z4 p' {# Y: z2 t9 V
  18. data.sort(reverse=False)  # reverse=False 表示正序排列(默认可省略);reverse=True表示倒序
    / l9 G8 ~" J% k9 B
  19. print(";".join(data))    # 这里采用join数据连接方法8 V5 X* _' G- g2 W% [
  20. * C& k' L( n, }( K6 e. q. ?
  21. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    ' B$ Z7 Z7 Z8 B  ?% i

  22.   l) b/ J) A" v$ \- ?' y& h0 [
  23. print("\n--- 按回车键退出 ---")
    0 E0 I4 F4 J% D
  24. input("")
复制代码
PS:例2的解法老师故意留了个漏洞,没有对输入的数据做合法性验证,如果输入的是字符串或其他数据类型,程序核算就会出错!聪明的同学们,你可以帮粗心的张老师修复这个程序BUG吗?
! F! H* l2 U# c- m  y
// 已经学过程序流程控制语句的同学们可以试一试,提示:增加 if ... else... 语句

AP058_02_01_7151.zip

699 Bytes, 阅读权限: 5, 下载次数: 0, 下载积分: 财富 -1 点

第2题,例1 源代码

AP058_02_02_7151.zip

743 Bytes, 阅读权限: 5, 下载次数: 0, 下载积分: 财富 -1 点

第2题,例2 源代码

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
新大榭官方公益帮帮群:6603298 官方Excel学习交流群:82064486  欢迎您加入
 楼主| 发表于 2021-5-28 20:00:22 | 显示全部楼层
3. 比较表中三种算法描述的特点,并填写下表。
, f( x( _% E) E7 p$ I3 v
游客,如果您要查看本帖隐藏内容请回复
+ j9 m' q# v4 H$ |; R# ~

; t, @# l4 \. _5 o; |" S. x) Z" u0 w. `. `3 ]* r

9 R+ P1 d6 A4 k3 F5 q
新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
北仑单身女神专属群:181567400 北仑单身男神专属群:140788506  平台大数据筛选,勇敢为爱宣告,拒绝骚扰!
 楼主| 发表于 2021-5-28 20:04:12 | 显示全部楼层
4. 学校举行迎新年大合唱比赛,每个班级合唱结束后,主持人会当场宣读10个评委的打分,然后再统计出总评分作为该班级的最终得分。每个班级表演所得的总评分计算规则如下:
0 L# O' f( T0 d: Y: n" y(1)在10个评委的打分中去掉一个最高分和一个最低分。
! V5 t3 F& n/ i2 G+ g  x(2)剩余8个分数的平均分即为总评分。) v' [8 j. L0 c1 m- ^6 b
         为了在比赛现场能快速根据主持人所宣读的10个分数计算出总评分,小伟需要为比赛编写一个计算机程序。请你设计一个解决该问题的算法,并用合适的方式描述。
4 |: Y$ h# O, u2 U& ?5 @! H
例1> 答:算法及流程图略,程序设计源代码如下(答案并非唯一,本站仅做参考):
游客,如果您要查看本帖隐藏内容请回复

5 |6 Q* z, H4 J) V8 A; d' |注:老师感觉这个算法不够精炼,如果同学们有更好的算法思路,欢迎来跟张老师交流探讨~: b2 S6 y. l# e6 d. n/ D1 v3 S

课程导读  >> 下一课:P059【项目挑战】* 为超市寻找关联次数最多的商品  → 【传送门

AP058_04_01_7151.zip

730 Bytes, 阅读权限: 5, 下载次数: 4, 下载积分: 财富 -1 点

第4题,例1 源代码

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

文字版|小黑屋|新大榭 ( 浙ICP备16018253号-1 )|点击这里给站长发消息|

GMT+8, 2026-5-28 16:20 , Processed in 0.176851 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表