新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

查看: 291|回复: 3

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

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

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

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

x
第二章:算法与问题解决 《巩固与提高》 第 - 58 - 页
$ i( W0 Q; A, R3 w' u7 o+ K+ b* u
1. 任意输入三个数,输出其中最小数的值,设计解决该问题的算法并用流程图描述该算法。  T1 ~. `, N8 ^/ Z5 V) V# T
答:本题算法及流程图如下:
6 e; Z, J& V7 |6 y0 h3 {/ n9 C7 l
游客,如果您要查看本帖隐藏内容请回复

* b0 t( B0 ^8 v" b另附程序源代码参考如下:
//  注:答案并非唯一,以下代码仅作参考!
: M+ ]* [0 U2 W6 _$ N2 q
例1 > 方法一,原始比较,不使用函数,代码如下:(同学们可根据老师编写的以下代码用流程图描述该算法)
  1. """! [: v, O* F6 _) g
  2. 《信息技术》(必修一)P58页第1题(原始比较)
    " \  N& k5 c* d5 W. i4 r2 Q+ F$ v
  3. & f) p6 T% _( w
  4. Version: Python 3.x5 i0 g0 j! O9 W1 g6 `- Z
  5. Team: 新大榭& O6 V5 b; l: h
  6. Author: 张黎斌
    % K1 f5 l) c; X: T" \) ^: q$ l4 P
  7. update: 2021-03-16
    . C$ z9 o5 L5 A. ], C& G
  8. Level: A
    $ W/ F: ~1 N  A- @/ H3 g) n# ~
  9. " q) c# ]3 L9 Z. z
  10. """
      W" x* I9 M9 B9 O) l
  11. & d- a& i2 K- o' e  t% b% W$ M
  12. # 以下为主程序核心代码 ↓↓↓
    ; S2 H, S3 Q# ^# r7 g
  13. : O1 |) A4 E# @$ U% E* k8 v  i! v
  14. x=float(input('x = '))   # 定义浮点型数字类型 x
    " Q; l8 B9 u2 q( |. {! h
  15. y=float(input('y = '))   # 定义浮点型数字类型 y
    8 w( F* i( c, ?& G
  16. z=float(input('z = '))   # 定义浮点型数字类型 z
    . e3 P$ e, x4 M
  17. & S* J, ]; n* V$ W5 p4 N
  18. if x>y:7 o' G6 }& n/ b  e8 V, D8 b
  19.     x,y=y,x       #换位赋值 即 y>x. V4 b- J% W! ^4 F( `6 `" e
  20. if x>z:
    ( w! K5 P" S3 x( B6 @( ~, e
  21.     x,z=z,x       #换位赋值 即 z>x& m! H5 ^8 z3 \3 g
  22. if y>z:$ w" a2 E; n, P; d7 g* v
  23.     y,z=z,y       #换位赋值 即 z>y8 x4 W2 @- i) O* }  U% a
  24.    
    ( \! u, o" h  O( f4 V) D3 ?
  25. print('\n最小值为:',x)   #综上推论,顺序为:z>y>x,即最小值为x" p& `' R; a. i

  26. . M! F7 @# n% T
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    + S# I% T" K5 r  s. o, ]3 ~( p

  28. 5 m, A# k; x) h, |3 w
  29. print("\n--- 按回车键退出 ---")" q- t9 m& G9 i" V" z
  30. input("")
复制代码
例2 > 方法二:使用min()内置函数,运行效率更高,代码如下:. W# v( V4 u% A/ z% o! Q8 \
  1. """7 M6 q. o% }0 J6 G9 d3 s
  2. 《信息技术》(必修一)P58页第1题(使用min内置函数)
    # `; e3 T  _2 h0 R
  3. 1 ~$ ~9 ]- U! R+ N0 l% `6 B
  4. Version: Python 3.x
    % L( L5 w9 i9 R1 f& s% z; H# k
  5. Team: 新大榭
    ) z- z3 a  Z. n2 A" r
  6. Author: 张黎斌
    8 _6 s% z, M! O8 q# `
  7. update: 2021-03-16# Z9 {% z6 @+ V  c2 y
  8. Level: A7 e2 Q  z/ M% @2 W3 ]$ s
  9. . N& t) B  r% h5 H' P6 d* \
  10. """
    * I: }+ {8 s; ~( a3 S) l
  11. 1 a# Q: r; ^; u' Y" x! Y: s/ M+ t
  12. # 以下为主程序核心代码 ↓↓↓
    0 t4 I1 X7 i, _( M3 f

  13. 3 n: Q* {' |% N2 e# z* M
  14. x = float(input("请输入第1个数: "))
    % K$ @# t1 ^/ j. Q# J# l9 o' r
  15. y = float(input("请输入第2个数: "))
    : D+ w, _/ E  y* d$ C4 r
  16. z = float(input("请输入第3个数: "))0 G) J# ^4 Z4 f* e

  17. * X4 e* g; h8 v2 U0 u+ A& ?
  18. N = min(x, y, z)   # 直接利用min内置函数' ?+ j3 a) T' i; b+ C" W, ?

  19. ' X+ y; Y# [. d; U: ^! L
  20. print("\n当前输出的最小值为:",N)7 P% d, D1 R4 }4 }+ B0 e7 c6 r" ^
  21. ' X& Z$ V" k8 I0 w. b6 Q
  22. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    4 i2 j0 F% N+ {9 Q9 r" B8 S

  23. ; C# M( E; _6 ?
  24. print("\n--- 按回车键退出 ---")
    - {  g5 E5 d4 {: P* N
  25. input("")
复制代码
温馨提示:
2 X8 U" L( k- I% i针对本题课堂作业而言,优先推荐例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. 任意输入三个数,按从小到大的顺序依次输出这三个数。设计解决该问题的算法并用流程图描述该算法。4 Z9 u# [6 o  U% ^  C! U. b

- G& H: {* Y% k- a答:本题算法及流程图如下:4 c5 R/ ~3 Y1 M
游客,如果您要查看本帖隐藏内容请回复
5 j$ z" ~% c- ^: N) Y; K
本帖直接编写程序代码:
//  注:答案并非唯一,以下代码仅作参考!
例1> 方法一:直接比较,换位赋值,跟P58第1题解题思路相同,代码如下:
  1. """
    ; [* k% Y: t. O' v* h
  2. 《信息技术》(必修一)P58页第2题(原始比较)2 [# p/ Y/ [% i& G

  3. % T0 `' q6 r# b8 x2 A$ a
  4. Version: Python 3.x' S: a, i' m1 P
  5. Team: 新大榭
    2 o5 @% a! l1 a6 {( ^4 R5 x' j
  6. Author: 张黎斌" h- R6 {4 `: W& ]  D( B. Z; N
  7. update: 2021-05-28  M4 T9 P/ \9 g' n" N" I5 _; }
  8. Level: A
    3 `% m/ |& k9 y  a  o3 z
  9. ( V- B$ C: h+ I2 B" Z5 q. C$ X% e
  10. """
      d6 l) _3 V# D1 B4 L' F
  11. . i: j! Y. `0 p: M& ?7 e9 Q. s5 u) a
  12. # 以下为主程序核心代码 ↓↓↓4 P, ~- i; P- W3 v6 L

  13. , d& U* F4 p2 e! Q5 s3 T* k5 `% n
  14. x=float(input('x = '))   # 定义浮点型数字类型 x
    4 F' d( V0 v: b; S$ u
  15. y=float(input('y = '))   # 定义浮点型数字类型 y
    ! z6 [2 N& u# ^% `
  16. z=float(input('z = '))   # 定义浮点型数字类型 z1 N9 [3 f% l% \- K* r2 n* k
  17. # [. z+ p) z, ~
  18. if x>y:9 X& S, y3 r8 b3 u9 V+ E  _
  19.     x,y=y,x       #换位赋值 即 y>x
    - u: W7 \/ T& m+ g: x2 @
  20. if x>z:
    $ ^$ y4 h& j0 ~: p! w: |- ^
  21.     x,z=z,x       #换位赋值 即 z>x
    - {* P. h1 |+ r. n+ @- Z  j$ r5 F
  22. if y>z:
    " ~' B' q& c5 k
  23.     y,z=z,y       #换位赋值 即 z>y2 x, u( B7 x; B8 z6 Y
  24.    
    5 l9 K2 i0 s2 j# o9 j7 d5 c
  25. print('\n这三个数从小到大的顺序分别为:',"\n\n",x,"\n",y,"\n",z)   #综上推论,即顺序为:z>y>x
    % ^0 q$ x1 I7 e3 R& [5 i5 I4 ?. C/ ?

  26. , r, n  ~- k( @8 ^/ s
  27. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!! a8 G+ t3 `  d) N" S
  28. 2 t9 f3 y/ t0 x4 J8 v
  29. print("\n--- 按回车键退出 ---")  U( T* F& s) Q# w/ ?
  30. input("")
复制代码
) J3 S8 ?" X# |# L# w0 H
例2> 方法二:采用内置函数新思维解法,对于优秀学生要求掌握,算法推荐(关键词:append、sort、join),可参考7381号帖子
  1. """
    ( }; G0 L# r3 F! H, y
  2. 《信息技术》(必修一)P58页第2题(采用内置函数新思维解法,优秀学员推荐)
    " M' v/ e% h$ Z6 `: o

  3. 2 q# O4 h( r, X7 P
  4. Version: Python 3.x% o- \* {# Z! g; x* G
  5. Team: 新大榭* a) Z3 [% t# |4 @5 i/ N6 S6 N
  6. Author: 张黎斌
    7 h5 u0 y7 V- t6 ~, D
  7. update: 2021-05-28
    6 ~+ w! @; N- S( ^/ c+ ^
  8. Level: A3 J3 h( v7 k& R+ {7 R/ A
  9. + a# o7 y9 A% }; i
  10. """% Y, x& @" o) p( P1 t3 U: a% S# d# g6 L
  11. & z  p9 C" O; ^1 e, y% u; Z$ R
  12. # 以下为主程序核心代码 ↓↓↓
    + w0 m# _+ i, K* H. }

  13. ! H3 z2 Z- d0 t0 z) Z1 F
  14. data = []     # 创建空列表并初始化赋值为空
    0 @3 }* x$ o5 w6 \+ o
  15. data.append(input("请输入第1个数:"))  # 在数列中插入数据的append方法- V0 k6 Z; F, _- @, \. S7 ]
  16. data.append(input("请输入第2个数:"))
      x+ Y. g6 f8 t8 k! l0 J& `8 E# a
  17. data.append(input("请输入第3个数:"))
    1 w. j2 p) T. h4 y3 z3 R) ^9 c
  18. data.sort(reverse=False)  # reverse=False 表示正序排列(默认可省略);reverse=True表示倒序
    - D; X1 F4 R. F7 z0 l- p
  19. print(";".join(data))    # 这里采用join数据连接方法
    % G# C4 ?8 [1 e% E

  20. 2 ^, R3 F/ y8 c/ j: V' q3 P' ?
  21. # 以下是程序优化代码 ↓↓↓ 与本题核算无关,可屏蔽程序意外退出!
    ' n- q& D6 r9 v7 H- l3 p% C
  22. * f% O! Y, q, }' o
  23. print("\n--- 按回车键退出 ---")" [1 S. v: x7 S1 e5 f/ L3 j. F2 ^- I
  24. input("")
复制代码
PS:例2的解法老师故意留了个漏洞,没有对输入的数据做合法性验证,如果输入的是字符串或其他数据类型,程序核算就会出错!聪明的同学们,你可以帮粗心的张老师修复这个程序BUG吗?5 f2 o3 @) \/ T5 d( L5 S7 U

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

* X) J4 X! |/ r
游客,如果您要查看本帖隐藏内容请回复

2 \6 n9 t, X; s* d) S$ `1 U+ t. ?; r1 \2 f

8 x3 }( J& E8 ~: @+ v  R+ ]) I2 m7 R9 w
新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
北仑单身女神专属群:181567400 北仑单身男神专属群:140788506  平台大数据筛选,勇敢为爱宣告,拒绝骚扰!
 楼主| 发表于 2021-5-28 20:04:12 | 显示全部楼层
4. 学校举行迎新年大合唱比赛,每个班级合唱结束后,主持人会当场宣读10个评委的打分,然后再统计出总评分作为该班级的最终得分。每个班级表演所得的总评分计算规则如下:
% p* h" E/ _! p4 n9 V9 q(1)在10个评委的打分中去掉一个最高分和一个最低分。- F* S4 n0 a7 z, F1 S, G
(2)剩余8个分数的平均分即为总评分。
5 S6 u) e' u2 K0 g9 Z         为了在比赛现场能快速根据主持人所宣读的10个分数计算出总评分,小伟需要为比赛编写一个计算机程序。请你设计一个解决该问题的算法,并用合适的方式描述。
* h. y+ s( ]- m4 P0 H; m
例1> 答:算法及流程图略,程序设计源代码如下(答案并非唯一,本站仅做参考):
游客,如果您要查看本帖隐藏内容请回复
6 S$ W' u9 K$ S8 _+ t
注:老师感觉这个算法不够精炼,如果同学们有更好的算法思路,欢迎来跟张老师交流探讨~! A+ v; F; c+ E3 n

课程导读  >> 下一课: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-11-11 19:15 , Processed in 0.082175 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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