《从问题到程序:用Python学编程和计算》——练习-阿里云开发者社区

开发者社区> 华章计算机> 正文

《从问题到程序:用Python学编程和计算》——练习

简介:
+关注继续查看

本节书摘来自华章计算机《从问题到程序:用Python学编程和计算》一书中的第3章,练习,作者 裘宗燕,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

练习

概念和理解

1.   复习下面概念:数值积分,区间分割法,舍入误差,简单重复,累积,累积变量,生成和筛选,递推,递推变量,素数(质数),因子和真因子,哥德巴赫猜想,输入循环,输入控制的循环,递归定义,递归函数,循环定义,无穷递归,循环和递归,斐波那契数列,二路递归,计时,循环不变式,计算复杂性,最大公约数,欧几里得算法(辗转相除法),河内塔问题,自递归,相互递归,程序终止性,不可判定,Collatz猜想,唯一定义原则,自下而上,自顶向下,逐步求精,形式参数(形参),文档串,实际参数(实参),类型错误,全函数,参数检查,断言语句,通用和专用的方法,枚举和检查,二分法,绝对误差,相对误差。
2.   请分析3.1.2节中定义的函数mysin的执行,为什么它对越大的实参误差越大?请考虑用Python做一些试验,分析并总结试验中看到的情况。
3.   请证明如果一个自然数有真因子,一定有小于其平方的真因子。
4.   请分析3.2.2节改进的乘幂函数,设法弄清它对一般的自然数n计算power(x, n) 时要做多少次乘法和加法。
5.   请设法论证3.2.2节改进的乘幂函数对任何非负整数乘幂参数都能终止。
6.   请在你计算机上试验递归的fib函数,看看算到第几个斐波那契数时,计算的时间就超过了10秒钟,半分钟和一分钟。
7.   请设法论证3.2.4节最后用for结构描述的fib函数的正确性。
8.   请设法说明3.2.5节中常用辗转相除法定义的函数一定能求出最大公约数。
9.   请证明对河内塔问题,搬移n个圆盘时正好调用moveone函数2n - 1次。
10.   对一些n值试验河内塔程序,给它们计时。据此估计你所用计算机搬完64个金盘需要的时间。再去掉程序执行中的输出(例如把moveone的体改为一个return语句)后重新试验。如果僧侣们1秒钟搬金盘1次,搬完64个金盘需要多少时间?将这一时间与科学家对宇宙从大爆炸至今的估计寿命比较,据此评价僧侣们的说法。

编程练习

image
image
image
image
image
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
学习准备(下):计算机基础 | Python从入门到精通:入门篇之二
本章节继续讲授关于计算机基础的课程,包括进制、Python编辑器的安装以及编码方式等。
5087 0
《并行计算的编程模型》一3.6.3 锁
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
729 0
Python学习(29)--tkinter图形界面编程2
Python学习(29)--tkinter图形界面编程2 这一节我们将继续介绍tkinter中的控件部分,本节主要介绍的控件为下拉列表控件Listbox。 1.Listbox Listbox是一个列表框控件,其主要功能为提供一个数据列表供用户选择。
1498 0
【转】C# 计算程序运行时间
 1 //计算程序运行时间(.net1.1 于.net2.0的区别)在.net2.0中提供了Stopwatch类,简单例子  2 using System.Diagnostics;  3  4 private Stopwatch stw = new Stopwatch();  5  6 pri...
600 0
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.12 练习
如果想更多地探索本章介绍的主题,可完成下列练习。 将英文短语“Hello world!”翻译成其他语言,翻译时可以使用谷歌翻译,编写一个程序,让计算机用法语、意大利语或葡萄牙语向世界问候。
1350 0
Python学习(27)--面向对象编程4
Python学习(27)--面向对象编程4 这一节我们来继续介绍面向对象编程。涉及到的内容有property属性和运算符的重载。 1.property属性 之前的面向对象编程中,我们介绍了两种访问属性的方式。
831 0
Python学习(28)--tkinter图形界面编程1
Python学习(28)--tkinter图形界面编程1 这一节我们将介绍Python内置的图形界面编程模块tkinter,tkinter是Python标准的GUI编程接口,可以良好的运行在大多数的系统平台中,只需要安装好Python就可以导入tkinter模块并使用,无需安装第三方库。
1689 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载