返回
程序员也要高考?十年毕业生自拟试卷,考考你还能考几分?
见解分享
2023-09-14 12:50:31
毕业十年后,我忍不住出了一份程序员的高考试卷
本文观点: 计算机专业学生的高考,应该考查代码能力和解决问题的能力。
没错,你没看错,程序员也要参加高考!作为一名毕业十年的程序员,我忍不住给现在的计算机专业学生们出了一份高考试卷。这份试卷,将会考查你们最核心的两项能力——代码能力和解决问题的能力。
第一题:代码能力
请用你最擅长的编程语言,编写一个程序,实现以下功能:
- 输入一个正整数n
- 计算1+2+3+...+n的和
- 输出结果
第二题:解决问题能力
有一个100层的摩天大楼,现在有一块玻璃,不知道从哪一层扔下去会碎。已知玻璃杯从某一层楼扔下,刚好碎了。现在,你需要找出这块玻璃从第几层扔下时会碎,并且只能扔两次。
评分标准:
- 代码能力:满分10分,代码正确且高效,逻辑清晰,命名规范。
- 解决问题能力:满分10分,思路清晰,算法正确,代码实现完整。
考试时间:
120分钟
考试须知:
- 请使用你最擅长的编程语言作答。
- 代码必须运行无错。
- 请在答题纸上写明你的姓名、学号和专业。
答案解析:
第一题:代码能力
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
System.out.println(sum);
}
}
第二题:解决问题能力
从第1层扔下去,如果碎了,说明玻璃杯从第1层扔下去就会碎。如果没碎,说明玻璃杯从第1层扔下去不会碎,那么从第2层扔下去一定会碎。
参考答案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int floor = 0;
for (int i = 1; i <= 2; i++) {
if (n == 1) {
floor = 1;
break;
} else if (n == 2) {
floor = 2;
break;
} else {
n = n / 2;
floor++;
}
}
System.out.println(floor);
}
}
结语:
这份试卷,不仅仅是一次考试,更是一次对计算机专业学生能力的检验。希望通过这份试卷,能够让同学们意识到自己的不足,并督促自己不断进步。只有拥有过硬的代码能力和解决问题的能力,才能在未来的职业道路上走得更远。