又被工作耽搁了几天,终于要放假了,有时间再读一下这本书。目前第二部分关于Chatgpt的应用已经读完。简单谈一下感受。
第二部分主要讲Chatgpt的应用,其中Chatgpt生成每日计划表、生成营销海报这些不是我关注的内容,所以略过。重点讲讲对理工科研究人员有帮助的几点内容。
1.使用Chatgpt进行外文翻译。由于Chatgpt具有很强的上下文能力,目前翻译的效果明显比以前那些翻译软件要好不少,比如可以用来生成英文邀请函,论文的回复意见等等。那些外文水平有限的同学,我都是建议他们采用chatgpt或者gemini对中文论文进行翻译,效果还是可以的。做专业领域的翻译时,可以采用预设角色的方法,比如写电子信息类的论文,可以这样提问“假如你是一名电子信息领域的资深专家,请你将下面文字翻译成英文:xxxxxx”,这样提问就能让gpt的翻译更专业准确。
2.使用Chatgpt进行软件开发。这个能力确实很强悍,所以直接导致现在低级程序员完全没有任何优势了,也间接导致了计算机专业和软件专业毕业生的就业难。我在gemini里随便试了几个例子,
使用者:请使用C语言生成一段冒泡排序的程序代码
gemini:
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
// 最后 i 个元素已经有序,无需再遍历
for (j = 0; j < n - i - 1; j++) {
// 如果当前元素大于下一个元素,则交换
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11,[i]);
}
printf("\n");
return 0;
}
代码解释:
bubbleSort 函数:
接受一个整数数组 arr 和数组大小 n 作为参数。
使用嵌套循环迭代数组元素。
外层循环控制排序趟数,每趟将最大的元素放到数组末尾。
内层循环比较相邻元素,如果顺序错误则交换位置。
main 函数:
定义一个整数数组 arr 并初始化。
使用 sizeof 运算符计算数组长度 n。
调用 bubbleSort 函数对数组进行排序。
打印排序后的数组。
注意:
冒泡排序是一种简单但效率较低的排序算法,时间复杂度为 O(n^2)。
在实际应用中,通常使用更高效的排序算法,如快速排序、归并排序等。
使用者:请将上面那段代码改为python
gemini:
def bubble_sort(arr):
"""
使用冒泡排序算法对列表进行排序。
Args:
arr: 要排序的列表。
"""
n = len(arr)
for i in range(n - 1):
# 最后 i 个元素已经有序,无需再遍历
for j in range(n - i - 1):
# 如果当前元素大于下一个元素,则交换
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
if __name__ == "__main__":
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:", arr)
代码解释:
bubble_sort 函数:
接受一个列表 arr 作为参数。
使用 len(arr) 获取列表长度 n。
使用嵌套循环迭代列表元素。
外层循环控制排序趟数,每趟将最大的元素放到列表末尾。
内层循环比较相邻元素,如果顺序错误则使用Python的元组解包语法进行交换。
if __name__ == "__main__": 代码块:
定义一个列表 arr 并初始化。
调用 bubble_sort 函数对列表进行排序。
打印排序后的列表。
注意:
Python的列表是可变对象,因此在函数内部修改列表会影响原始列表。
与C语言版本类似,冒泡排序的时间复杂度为 O(n^2)。
从上面的例子可以看到,gemini不仅给出了代码,还附带详细的解释和注意事项,简直比我们这些老师辅导的还要细致,感觉很多大学教师真的要失业了。
没想到这帖子有点太长了,关于 chatgpt助力科研我放到下一个帖子再讲。
|