编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

六种程序设计语言的循环及循环嵌套之比较(周兴富)

wxchong 2025-06-19 01:07:47 开源技术 4 ℃ 0 评论

我在《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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表