网站首页 > 开源技术 正文
我在《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
猜你喜欢
- 2025-06-19 湖南省美术专业实力强的10所大学:美术招生专业、实力分析
- 2025-06-19 C语言的数据类型(c语言的数据类型有几类分别是什么)
- 2025-06-19 618买点啥?高PPI显示器才是设计师的心头好
- 2025-06-19 水桶型入门全画幅微单 为什么选择尼康Z5II
- 2025-06-19 文科:数字媒体技术/网络与新媒体专业,450-580分公办院校全盘点
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)