网站首页 > 技术文章 正文
我在《72岁老翁学python》(六)一文里展示了仿写的第一个python程序zxf-python-cx01.py,以及试写的一个程序zxf-python-cx02.py,虽然错误多多,但是万里长征第一步。
这两个小程序都是有关循环及循环嵌套的程序。
由此,我想起了初学程序设计的那些日子,那是一个青春无悔,岁月如歌的火红年代。
1979年的4月,大别山兰花飘香,映山红开满了山坡。45年前,就在这个季节,我开始学习J101机器语言程序设计。教员是黄亦文同志(图一前左2),同班学员有王小卫、杜民根、周俊等,我是班长(图一,后排左1)。
1984年下半年我又到大别山学习Z80汇编语言程序设计和计算机硬软件及其应用。教员是耿开桂同志(图二,二排左1),同班学员有张建国、丁媛琴、陈正富、吴仕敏、单荣、朱克等,我是一班班长(图二,前排左3)。
自此以后,我对程序设计情有独钟,特别感兴趣。虽然我不是专业的程序设计人员,但在1985年我又先后自学了BASIC语言和C语言。其中C语言达到了能编写工作程序的水平。
上个世纪九十年代,因评聘职称,临时抱佛脚我自学了Foxbase数据库管理程序设计语言,编写了几十个应用程序,并以此发表了多篇论文。
今年我72岁了,正在学python程序设计。我学python的主要目的还是以愉乐为主,以兴趣为导向。所以也就有时间有精力翻开以前的学习笔记,对六种语言的循环及循环嵌套作一个横向的对比。
图三6是J101机器语言设计的程序,其循环是用“0”条件转移指令“30”;“1”条件转移指令“31”和无条件转移指令“32”来实现的。
这是一个17条指令的排队小程序,使用了3条“30”指令,嵌套了两个循环。大循环的“30”指令在“0”条件下转移至0061入口进行循环;嵌套循环的“30”指令转移至0064入口进行循环;另一个“30”指令转移至006C(C是16进制数的12)入口进行循环。
图四为Z80汇编语言编写的一个定时2秒的延迟程序。程序之中的循环与循环嵌套使用了“JR…LOOP”为循环语句。其中“JR…LOOP1”为大循环,“JR…LOOP2”为小循环嵌套。
图五为BASIC语言的循环,这是一个BASIC语言编写的A数组改为B数组的程序。程序的循环及循环嵌套使用了“FOR…NEXT”为循环语句,以变量“J”和“I”控制是否跳出循环。
图六为C语言的循环,这是我用C语言编写的一个工作程序zxf02.C。其中的循环和循环嵌套是用“for 表达式”实现的。63条指令用了13个循环,有5个嵌套循环,用变量的值控制循环是否结束。
图七为Foxbase语言的循环,这是我用Foxbase语言编写的《办公自动化管理辅助系统》之中的“工资自动调整子系统”程序ZXFCX.PRG。Foxbase语言的循环及循环嵌套使用了“do whil 表达式…enddo”。其中,第一层大循环用“do whil bq1=“y””开始,以变量bq1不等于“y”,结束循环(enddo)。大循环之中嵌套了第二层的小循环,用“do whil bq2=“y””开始,以变量不等于“y”结束循环(enddo)。用“bq+数字”定义变量名是我们原部队专业程序设计员约定俗成的习惯。好处是比用ijk…等字母,更直观地看出变量之间的递进关系。
图八为python语言的循环,这是我编写的一个python语言程序zxf-python-cx05.py,及其电脑运行结果截图。题意为打印并计算1,2,3能组成多少个互不相同且数字可重复的三位数。
程序指令一共7条,但循环用了3个。使用“for 变量 in 表达式”为循环体。其大循环以“i”变量控制跳出循环,嵌套循环以“j”变量控制跳出循环,另一个以“k”变量控制跳出循环。
横向对比这六种程序语言设计的循环及循环嵌套,我认为还是python语言的循环简单明了,可读性更强。
学习程序设计对我的人生经历来说有着非凡的意义,每一次学习都是浓墨重彩的一笔。
如果说“学程序设计改变了我人生走向”,那言过其实。
但如果说,“学程序设计助力我走在正确的道路上”,那名副其实。
所以,我愿意毕生学习,直到永远。
好了,学python的老头,且学且看且珍惜!
《学python的老头》(八)周兴富2025/5/17
- 上一篇: 阿里云推出首个AI程序员,分钟级即可完成应用开发
- 下一篇: 零基础Python带你构建Web应用
猜你喜欢
- 2025-06-02 零基础Python带你构建Web应用
- 2025-06-02 AI超助:打造第一个Python应用(III)
- 2025-06-02 阿里云推出首个AI程序员,分钟级即可完成应用开发
- 2025-06-02 Python 中的asyncio 编程入门示例-1
- 2025-06-02 【Python程序开发系列】使用Docker部署一个简单的Python应用程序
- 2025-06-02 无需安装python程序,推荐6个靠谱网站在线学习编写python代码
- 2025-06-02 Python初体验,第一个Python程序
- 2025-06-02 Python开发微信小程序指南
- 2025-06-02 Python小白逆袭!7天吃透PyQt6,独立开发超酷桌面应用
- 2025-06-02 掌握5 个 Python关键程序,编写更清晰、更高效的代码
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)