10.21

一. 多选题(共8题,66.4分)

  1. (多选题)从软件工程方面,软件可以划分为:
    A. 支撑软件
    B. 单机软件
    C. 系统软件
    D. 应用软件
    我的答案: ACD:支撑软件; 系统软件; 应用软件;正确答案: ACD:支撑软件; 系统软件; 应用软件;
    8.3分
  2. (多选题)敏捷技术常见的最佳实践方法包括:
    A. 结对编程
    B. 测试驱动开发
    C. 代码重构
    D. 持续集成
    我的答案: ABCD:结对编程; 测试驱动开发; 代码重构; 持续集成;正确答案: ABCD:结对编程; 测试驱动开发; 代码重构; 持续集成;
    8.3分
  3. (多选题)软件包括:
    A. 开发者
    B. 文档
    C. 程序
    D. 数据
    我的答案: BCD:文档; 程序; 数据;正确答案: BCD:文档; 程序; 数据;
    8.3分
  4. (多选题)敏捷开发的核心价值观包括:
    A. 个体和互动胜过流程和工具
    B. 客户合作胜过合同谈判
    C. 响应变化胜过遵循计划
    D. 不需要文档
    我的答案: ABC:个体和互动胜过流程和工具; 客户合作胜过合同谈判; 响应变化胜过遵循计划;正确答案: ABC:个体和互动胜过流程和工具; 客户合作胜过合同谈判; 响应变化胜过遵循计划;
    8.3分
  5. (多选题)从服务对象方面,软件可以划分为:
    A. 项目软件
    B. 单机软件
    C. 产品软件
    D. 网络软件
    我的答案: AC:项目软件; 产品软件;正确答案: AC:项目软件; 产品软件;
    8.3分
  6. (多选题)常见计算机编程语言
    A. Python
    B. Java
    C. 自然语言
    D. C
    我的答案: ABD:Python; Java; C;正确答案: ABD:Python; Java; C;
    8.3分
  7. (多选题)Scrum框架的角色包括:
    A. 产品负责人
    B. 产品经理
    C. 团队
    D. 项目经理
    我的答案: AC:产品负责人; 团队;正确答案: ABC:产品负责人; 产品经理; 团队;
    4.2分
  8. (多选题)常见的软件开发过程包括:
    A. 瀑布式开发过程
    B. 增量式开发过程
    C. 个体软件过程
    D. 团队软件过程
    我的答案: AB:瀑布式开发过程; 增量式开发过程;正确答案: ABCD:瀑布式开发过程; 增量式开发过程; 个体软件过程; 团队软件过程;
    4.2分
    二. 单选题(共2题,16.8分)
  9. (单选题)关于软件生命周期说法正确的是:
    A. 软件开发+软件测试
    B. 软件开发+软件测试+软件出售
    C. 从软件需求,到软件开发,到最终软件不再使用的整个过程。
    D. 软件开发的整个过程
    我的答案: C:从软件需求,到软件开发,到最终软件不再使用的整个过程。;正确答案: C:从软件需求,到软件开发,到最终软件不再使用的整个过程。;
    8.4分
  10. (单选题)构造占软件开发()的工作时间
    A. 10%~30%
    B. 80%~90%
    C. 0%~10%
    D. 30%~80%
    我的答案: A:10%~30%;正确答案: D:30%~80%;
    0分
    三. 判断题(共1题,8.4分)
  11. (判断题)敏捷开发可以替代传统开发模式。
    A. 对
    B. 错
    我的答案: 错正确答案: 错
    8.4分
    四. 简答题(共1题,8.4分)
  12. (简答题)
    请利用文心一言等大模型开发一个具有界面的贪吃蛇小游戏,采用Java或Python语言。要求提交源代码及运行视频。

1、要有简单的界面

2、要可操控

3、代码要自行运行,视频录制代码在编译器里运行然后出界面的过程。

我的答案:8.4分

import pygame
import random

初始化Pygame

pygame.init()

设置窗口大小

width = 800
height = 600
window = pygame.display.set_mode((width, height))
pygame.display.set_caption(“贪吃蛇游戏”)

定义颜色

black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)

蛇和食物的大小

block_size = 20

初始化蛇

snake = [(width // 2, height // 2)]
snake_direction = (block_size, 0)

生成食物

def generate_food():
while True:
food = (random.randrange(0, width, block_size),
random.randrange(0, height, block_size))
if food not in snake:
return food

food = generate_food()

游戏主循环

clock = pygame.time.Clock()
game_over = False

while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT and snake_direction != (block_size, 0):
snake_direction = (-block_size, 0)
elif event.key == pygame.K_RIGHT and snake_direction != (-block_size, 0):
snake_direction = (block_size, 0)
elif event.key == pygame.K_UP and snake_direction != (0, block_size):
snake_direction = (0, -block_size)
elif event.key == pygame.K_DOWN and snake_direction != (0, -block_size):
snake_direction = (0, block_size)

移动蛇

new_head = (snake[0][0] + snake_direction[0], snake[0][1] + snake_direction[1])
snake.insert(0, new_head)

检查是否吃到食物

if snake[0] == food:
food = generate_food()
else:
snake.pop()

检查游戏是否结束

if (snake[0][0] < 0 or snake[0][0] >= width or
snake[0][1] < 0 or snake[0][1] >= height or
snake[0] in snake[1:]):
game_over = True

绘制游戏界面

window.fill(black)
for segment in snake:
pygame.draw.rect(window, green, (segment[0], segment[1], block_size, block_size))
pygame.draw.rect(window, red, (food[0], food[1], block_size, block_size))
pygame.display.update()

控制游戏速度

clock.tick(10)

退出游戏

pygame.quit()

正确答案:

请登录后发表评论

    没有回复内容