在可预见的将来,高考仍然是最重要且具有社会影响力的人才选拔机制. 我已经很长时间没有关注了,最近才得知高考已经开始添加程序(请参阅如何评估2017年浙江高考技术是否包含在七个选择的三个主题中?). 尽管人们仍然对编程是否应该参加高考有所保留,但至少每个人的编程趋势(应该是可能的)已经很明显. 这应该是中文编程兴起的又一次机会(上一篇文章中中文编程兴起的必然性讨论了一些技术性更高的原因.
阅读了浙江2017年的高考卷后,我觉得算法/系统/基础知识比较低,技术也相对. 我相信将来会逐步调整. 毕竟,该技术的更新很快,而前者经过了更多时间的考验和更多的黄金基础. 个人认为该算法在短期内仍需要特定的编程语言作为载体. 毕竟,不可能在教学实践中制定纯纸质算法. 因此,一种适用于算法设计和实践的中文编程语言中文编程语言研究,如果可以用于高考论文中,相信它将成为中文编程的一个里程碑.
本文试图列出这种假设的语言/开发环境的一些(当然不是全部)功能特性和示例,以期启发灵感. 其中,每个功能的必要性以一到三的顺序排列中文编程语言研究,其中一个最高.
(将在中文程序/概述中不断改进和更新)
定义 二分查找(数组, 目标) {
左索引 = 0
右索引 = 取长度(数组) - 1
位置 = -1
当 左索引 ≤ 右索引 且 位置 为 -1 {
中索引 = 向下取整((左索引 + 右索引) / 2)
如果 数组(中索引) 为 目标 {
位置 = 中索引
} 否则 {
如果 数组(中索引) > 目标 {
右索引 = 中索引 - 1
} 否则 {
左索引 = 中索引 + 1
}
}
}
返回 位置
}
Python:
def binarySearch(array, key):
left = 0
right = len(array) - 1
res = -1
while left <= right and res == -1:
mid = (left + right) // 2
if array[mid] == key:
res = mid
else:
if array[mid] > key:
right = mid - 1
else:
left = mid + 1
return res
一些相关的讨论和参考资料:
讨论: 适用于中国用户的编程语言和IDE,着眼于现有语言/ IDE不可用的功能问题#11·编程在中国/概述
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-251379-1.html