编程与数学计算实践

19、在一个工具栏中添加两个标签,一个标签显示当前簇半径(单位:纳米),另一个标签显示已过去的实际时间(单位:皮秒),并实现标签内容的更新。

以下是实现步骤:

  1. 在合适的代码位置插入七行代码用于定位标签:
CloseButton.grid(row=nr, column=0, sticky=W)
nr += 1
TimeLab = Label(toolbar, text='{:08} ps'.format(0))
TimeLab.grid(row=nr, column=0, sticky=N)
nr += 1
RadLab = Label(toolbar, text='{:08} nm'.format(100))
RadLab.grid(row=nr, column=0, sticky=N)
  1. 在合适的代码位置插入两行代码,定义迭代计数器 count 和“真实”已过时间 tt
count = 0
tt = 0.0
  1. 在合适的代码位置插入以下代码,用于更新时间和半径标签:
rr = r * scale
tt += dt
count += 1
if count % 20 == 0:
    count = 0
    TimeLab['text'] = '{:11.2f} ps'.format(tt * 1.e12)
    RadLab['text'] = '{:11.2f} nm'.format(r * 1.0e9)

注:这里的代码需要根据实际的编程环境和已有代码结构合理插入,其中 toolbar r scale dt 等变量需要根据实际情况定义和赋值。

20、使用公式计算方程 (ax^2 + bx + c = 0) 的根,其中 (a = 2),(b = -17),(c = 35)。

本题可根据一元二次方程的求根公式

$$ x = \frac{-b\pm\sqrt{b^2 - 4ac}}{2a} $$

来计算方程

$$ 2x^2 - 17x + 35 = 0 $$

的根。将 $ a = 2 $,$ b = -17 $,$ c = 35 $ 代入求根公式可得:

$$
x = \frac{17\pm\sqrt{(-17)^2 - 4\times2\times35}}{2\times2}
= \frac{17\pm\sqrt{289 - 280}}{4}
= \frac{17\pm\sqrt{9}}{4}
= \frac{17\pm3}{4}
$$

$$
x_1 = \frac{17 + 3}{4} = 5, \quad x_2 = \frac{17 - 3}{4} = \frac{7}{2}
$$

所以方程的根为

$$
x_1 = 5, \quad x_2 = \frac{7}{2}
$$

21、计算 (99999×78965321×123456499×987645) 的结果的位数。

我们可以先取对数进行计算。设:

$$
x = 99999 \times 78965321 \times 123456499 \times 987645
$$

则:

$$
\lg x = \lg 99999 + \lg 78965321 + \lg 123456499 + \lg 987645
$$

近似计算得:

$$
\lg x \approx 4.999996 + 7.89744 + 8.09152 + 5.99469 = 26.983646
$$

因此,结果的位数为:

$$
\lfloor \lg x \rfloor + 1 = 27
$$

22、在列表 ['Aardvark', 'Aargau', 'Abacus', 'Blowfish', 'Caper'] 中添加元素 'Abalo

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值