新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

查看: 199|回复: 3

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

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

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

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

x
第二章:算法与问题解决 《巩固与提高》 第 - 58 - 页
  l2 \. _) Z# e/ \7 }
1. 任意输入三个数,输出其中最小数的值,设计解决该问题的算法并用流程图描述该算法。+ D! z9 k; K3 s( ~
答:本题算法及流程图如下:
) U1 q, C* {# g' M* \
游客,如果您要查看本帖隐藏内容请回复

5 m/ h, |5 M. d& B: `另附程序源代码参考如下:
//  注:答案并非唯一,以下代码仅作参考!
* Q9 Y: T+ \1 b
例1 > 方法一,原始比较,不使用函数,代码如下:同学们可根据老师编写的以下代码用流程图描述该算法
  1. """6 ?( [+ \+ w/ @$ U, p
  2. 《信息技术》(必修一)P58页第1题(原始比较)
    2 D# Y" }2 ^% [# N/ T! j
  3. " W' N, S( t8 b1 b+ p; q
  4. Version: Python 3.x! o8 R+ I' ^8 z# X! j
  5. Team: 新大榭$ Q& t* \: ?' ]! j5 @! [
  6. Author: 张黎斌
    % H$ m7 e8 ]6 [/ g7 m8 n. g
  7. update: 2021-03-16
    8 p4 V" C. e$ X" T
  8. Level: A
    # ^! u; j# g* D1 T, S! Z/ m
  9. : ?9 [& @+ W! p/ s. |* N- u
  10. """
    ! k! O5 ?% q9 `# ]+ Y
  11. 2 H9 [( @; B3 q
  12. # 以下为主程序核心代码 ↓↓↓$ ^! ^) z' S: F0 a$ ~

  13. . `4 P. v1 n. u- M. P
  14. x=float(input('x = '))   # 定义浮点型数字类型 x
    ! I2 o  q% ^" h) a% Q" q/ ]5 I
  15. y=float(input('y = '))   # 定义浮点型数字类型 y
    + i  U5 O1 _/ @, {1 c" I
  16. z=float(input('z = '))   # 定义浮点型数字类型 z& r1 A! {6 b. u3 H

  17. 4 @9 @' ]; \# Z$ Y
  18. if x>y:
    ; m& a0 u) @2 y+ R% b4 }2 C: N# e
  19.     x,y=y,x       #换位赋值 即 y>x
    ) n# k  p; V. W: e; n
  20. if x>z:
    ' j! g/ t2 N3 c9 ~* d6 h- a
  21.     x,z=z,x       #换位赋值 即 z>x
    ( D# Y" |" {8 s% q
  22. if y>z:0 d* f* c( f; k
  23.     y,z=z,y       #换位赋值 即 z>y, w1 d3 m' @0 I+ T' F
  24.    
    6 l1 k: P$ D* X) I* z. d
  25. print('\n最小值为:',x)   #综上推论,顺序为:z>y>x,即最小值为x; z0 w2 g+ i+ u2 T1 V1 E
  26. : h/ i) l6 K' _: q" v7 j
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    ' [, m7 c2 N) {" u! a; M
  28. ; [. o7 u* n8 Q2 P  x
  29. print("\n--- 按回车键退出 ---")4 \% _2 u4 M' v9 Y
  30. input("")
复制代码
例2 > 方法二:使用min()内置函数,运行效率更高,代码如下:
3 y: w' R) u$ t$ u* K* N5 i; z
  1. """! |8 {* t7 i/ o: Q8 z7 A8 x( `
  2. 《信息技术》(必修一)P58页第1题(使用min内置函数)
    ! `) n1 u% [1 q6 s0 d9 c$ v

  3. 5 T3 C9 I5 ?" E" X! {# V2 L% G
  4. Version: Python 3.x
      T$ i9 V" Y! i" M9 D
  5. Team: 新大榭
    ! N* q: ^; z0 J* u
  6. Author: 张黎斌
      A# a% O( c& C
  7. update: 2021-03-16( j4 }; I" Y5 N
  8. Level: A
    , v* c( }! Q/ Z% p: K0 P
  9.   F5 Z; T( {9 t7 T6 `
  10. """
    % j' H+ m" ]7 W: T' ~0 F
  11. 2 l2 E6 _' U/ r, i6 R( L
  12. # 以下为主程序核心代码 ↓↓↓
    ' N( S( n1 w" U& @  H6 J

  13. ! ^2 u$ R- T3 m* K
  14. x = float(input("请输入第1个数: "))
    * t5 B( v- Z! w; a) z
  15. y = float(input("请输入第2个数: "))
    : b4 n2 ]5 q* ^/ N
  16. z = float(input("请输入第3个数: "))4 i% \- f* X8 I( q$ I6 a

  17. : `' |, t" h6 Z0 Y7 H- a6 P9 P
  18. N = min(x, y, z)   # 直接利用min内置函数; h9 d7 U/ Z1 f+ G: ?7 z
  19. 4 ?" ~+ Y: m* D) l& T+ o
  20. print("\n当前输出的最小值为:",N)
    9 i6 y, n  R8 d2 O( I* M! N, c
  21. : Z/ M$ Q" z* V+ j" V& y9 H! Y
  22. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!4 K1 e# P  s9 X& |2 F+ F
  23. * |# y% J' @; g
  24. print("\n--- 按回车键退出 ---")" _' [2 ]$ [& j. ~
  25. input("")
复制代码
温馨提示: }/ p+ z9 L2 @/ t) J
针对本题课堂作业而言,优先推荐例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. 任意输入三个数,按从小到大的顺序依次输出这三个数。设计解决该问题的算法并用流程图描述该算法。
0 m: O- h' s" n* [! L; h# ~, `3 |5 P# a
1 B: Z6 E9 m  O; l9 S" @- C答:本题算法及流程图如下:
' L$ X9 M# o3 q! G% A! U
游客,如果您要查看本帖隐藏内容请回复

  P- q, h! Y, Q# j1 M4 i本帖直接编写程序代码:
//  注:答案并非唯一,以下代码仅作参考!
例1> 方法一:直接比较,换位赋值,跟P58第1题解题思路相同,代码如下:
  1. """3 x- ~# w7 Y5 f% e' F9 l
  2. 《信息技术》(必修一)P58页第2题(原始比较): {: |! D; h! D8 x9 I# \

  3. * l0 I! ~3 F0 c$ C
  4. Version: Python 3.x
    6 A; e) g$ P" v' a# w4 t2 t( j
  5. Team: 新大榭# t( p0 L7 x+ G4 l( e! G
  6. Author: 张黎斌
    3 u, g! l, ?9 e4 K
  7. update: 2021-05-28
    ( q* }/ T8 |3 S* ]
  8. Level: A
    2 `; z/ e( W7 j' g2 S

  9. 6 _" U# y% L3 Z- Q4 \* i- c) {
  10. """
    ( L( C& s" l7 N/ c7 Q

  11. . C5 B) i/ r4 q0 X! |
  12. # 以下为主程序核心代码 ↓↓↓
    ! B3 `) y+ ]) {! ]( c% R8 p
  13.   q! n7 A# I" p9 a+ z0 [! Q# J
  14. x=float(input('x = '))   # 定义浮点型数字类型 x
    " K& s9 F  x' \! F( R! f
  15. y=float(input('y = '))   # 定义浮点型数字类型 y" Q3 f1 g# Z0 h, U3 S  Y0 B
  16. z=float(input('z = '))   # 定义浮点型数字类型 z4 {  m) B7 g* Y( e: l$ b1 Q
  17. 2 @9 M2 h! T$ q0 _/ J% c# }
  18. if x>y:8 d) j2 d, S% w6 w# _
  19.     x,y=y,x       #换位赋值 即 y>x& j# p+ H- j5 r8 F' l
  20. if x>z:; [- Z& ]( p5 z# v
  21.     x,z=z,x       #换位赋值 即 z>x; f: c: m0 }! {1 |+ O) _, W2 `
  22. if y>z:. |. n6 \3 |2 n! [; u
  23.     y,z=z,y       #换位赋值 即 z>y8 B( c2 r  t# z0 x# [
  24.    
      x3 i' G3 b2 t) ?
  25. print('\n这三个数从小到大的顺序分别为:',"\n\n",x,"\n",y,"\n",z)   #综上推论,即顺序为:z>y>x
    6 N, Z# U% d0 ?* q: c+ [' h

  26. ) l2 |/ ?2 \* m$ B0 R& S0 K
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!8 S5 _( G+ Q+ G& g
  28. 7 I  w3 x0 M1 c( V' b+ G
  29. print("\n--- 按回车键退出 ---")
    2 ?' `% G8 \% E/ L8 V
  30. input("")
复制代码

3 m1 ~, z( t4 D/ M" d/ \例2> 方法二:采用内置函数新思维解法,对于优秀学生要求掌握,算法推荐(关键词:appendsortjoin),可参考7381号帖子
  1. """
    . c6 f" z  f9 p; {+ r* Z4 M
  2. 《信息技术》(必修一)P58页第2题(采用内置函数新思维解法,优秀学员推荐). M8 z5 X& n5 a/ I
  3. * v5 Z# h7 Y6 y* l
  4. Version: Python 3.x% c3 Y% {9 \/ c+ c+ W
  5. Team: 新大榭7 C5 c7 x/ c: P; G  ~) y
  6. Author: 张黎斌7 P/ ]/ h. }# t5 }, L
  7. update: 2021-05-28: h" N) A8 n4 l* I" s
  8. Level: A
    5 }7 |; L9 X) P! j

  9. ! ?% v$ I8 X, q9 h  p
  10. """
    + Y+ m$ O+ p0 O& A2 W1 B7 g5 r
  11. . I$ z4 c6 `6 k) w2 V
  12. # 以下为主程序核心代码 ↓↓↓
    9 T$ j" j6 [0 M8 q  |- Q, E
  13. ' t) H3 ]4 R, y
  14. data = []     # 创建空列表并初始化赋值为空
    8 `* H4 Z3 \3 g. K( \9 [
  15. data.append(input("请输入第1个数:"))  # 在数列中插入数据的append方法# }/ |7 o: f* n6 D! d/ L
  16. data.append(input("请输入第2个数:"))& S  q3 k2 Q- \; h* H+ Y
  17. data.append(input("请输入第3个数:"))
    & z9 Y' ~& |) m, \* I% l
  18. data.sort(reverse=False)  # reverse=False 表示正序排列(默认可省略);reverse=True表示倒序
    7 b$ S2 j, a1 {
  19. print(";".join(data))    # 这里采用join数据连接方法  W% G2 f6 c6 J. x  w

  20. 3 T2 \3 S! m0 ~$ `, D) j
  21. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    5 X" r+ k+ j! e1 [

  22. ) j6 _, @6 h" Y3 Q, J2 n( c# k- q
  23. print("\n--- 按回车键退出 ---")$ `. F& M6 x  e/ Q
  24. input("")
复制代码
PS:例2的解法老师故意留了个漏洞,没有对输入的数据做合法性验证,如果输入的是字符串或其他数据类型,程序核算就会出错!聪明的同学们,你可以帮粗心的张老师修复这个程序BUG吗?9 c1 O7 I  c/ Q4 x6 c0 f' e9 h/ b

// 已经学过程序流程控制语句的同学们可以试一试,提示:增加 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. 比较表中三种算法描述的特点,并填写下表。

+ D: ^/ w) _. W% t
游客,如果您要查看本帖隐藏内容请回复
$ V  v, j# L' w( d" a
! p% V- c2 P2 n, \7 B. c

2 c$ n' G+ h& E5 U* ?
7 F  G1 _2 S/ {6 c" P" J, S4 b" s
新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
北仑单身女神专属群:181567400 北仑单身男神专属群:140788506  平台大数据筛选,勇敢为爱宣告,拒绝骚扰!
 楼主| 发表于 2021-5-28 20:04:12 | 显示全部楼层
4. 学校举行迎新年大合唱比赛,每个班级合唱结束后,主持人会当场宣读10个评委的打分,然后再统计出总评分作为该班级的最终得分。每个班级表演所得的总评分计算规则如下:4 @4 |: O, q1 N5 k( B, F7 l" _; O( o
(1)在10个评委的打分中去掉一个最高分和一个最低分。
( b" u  A! B& |1 P0 M4 {7 N(2)剩余8个分数的平均分即为总评分。
& `6 V) S/ S* h% ~% a         为了在比赛现场能快速根据主持人所宣读的10个分数计算出总评分,小伟需要为比赛编写一个计算机程序。请你设计一个解决该问题的算法,并用合适的方式描述。
: u  }; m& M0 V/ a0 R
例1> 答:算法及流程图略,程序设计源代码如下(答案并非唯一,本站仅做参考):
游客,如果您要查看本帖隐藏内容请回复

7 F+ s' Q5 G+ M; s* B3 S3 K7 K注:老师感觉这个算法不够精炼,如果同学们有更好的算法思路,欢迎来跟张老师交流探讨~
; r/ Z3 O8 k" t) c: r
课程导读  >> 下一课: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-8-26 21:29 , Processed in 0.088631 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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