备赛蓝桥杯之第十六届模拟赛3期职业院校组

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议


由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题,在这里只提供部分原题代码

本题目为:备赛蓝桥杯之第十六届模拟赛3期职业院校组

第十六届蓝桥杯(Web 应用开发)模拟赛 3 期-职业组 - 蓝桥云课


题目1:跨屏变形记

需要考生作答的代码段如下:

/* TODO:请补充代码 *//* TODO:END */

题目要求:

请使用 CSS 的媒体查询功能,为页面实现移动端布局,具体实现如下:

  • 页面宽度小于 768px 时,页面样式如下:
    • 轮播图(id="banner")与新闻(id="news")上下排列分布,都独占一行,且宽度填充满整个页面。
    • 轮播图(id="banner")与新闻(id="news")之间间隔 45px

答案:

@media(max-width: 768px) {#container {flex-direction: column;}#banner {margin-bottom: 45px;width: 100%;}#news {width: 100%;}
}

 

本题作者想说

本题主要考察的知识:

1.css

2.css的媒体查询

CSS的媒体查询(Media Queries)是CSS3引入的一个非常有用的特性,它允许你根据不同的媒体类型(如屏幕、打印等)和特定的条件(如屏幕宽度、分辨率等)来应用不同的样式规则。这样,你可以为不同的设备或环境编写特定的CSS代码,从而实现响应式设计。

媒体查询的基本语法如下:

@media not|only mediatype and (expressions) {CSS-Code;
}

not:排除某种媒体类型。

only:指定某种媒体类型,防止旧浏览器不支持带媒体查询的样式时应用到所有设备。

mediatype:媒体类型,如screen(屏幕)、print(打印)等。

expressions:一个或多个表达式,用于测试特定的条件,如屏幕宽度、高度、分辨率等。

 本题要求对于“页面宽度小于 768px 时”对页面中的元素进行调整,那么首先要用@media(max-width: 768px)进行限制,此处我们设置当页面最大宽度为768px时,也就是小于768px时,对下列元素进行css设置

  • 轮播图(id="banner")与新闻(id="news")上下排列分布,都独占一行,且宽度填充满整个页面。
  • 轮播图(id="banner")与新闻(id="news")之间间隔 45px

此处各个元素都是由id进行定义的,所以用css时要用“#”才可以,上下排布独占一行,可以使用flex布局中的横轴与交叉轴的定义,对页面中元素进行纵向排布,flex-direction: column;宽度占满整个页面,则是子元素的设置,我们需要将子元素的id单独拿出来进行css定义,并设置 width: 100%;要求轮播图与新闻之间间隔45px,我们则采用外边距的方式将二者隔开margin-bottom: 45px;最后结果如此

本题的判题程序可能出现问题,因此有些能实现效果的代码也有可能不通过


题目2:垃圾分类

需要考生作答的代码段如下:

        const garbagesorting = () => {// TODO:待补充代码};

题目要求:

完善 index.html 中的 garbagesorting 方法。

点击一键分类,把垃圾 waste 中的数据中的 txt 根据分类 type 依次放到对应的数组,对应的数组如下:

let food_waste = ref([]); //厨余垃圾
let recyclable_waste = ref([]); //可回收垃圾
let other_waste = ref([]); //其他垃圾
let harmful_waste = ref([]); //有害垃圾。

 

如 food_waste 最后的结果是 ["剩菜剩饭", "骨头", "菜根菜叶"]

答案:

        const garbagesorting = () => {// TODO:待补充代码waste.value.forEach(({type,txt})=>({厨余垃圾:food_waste,可回收垃圾:recyclable_waste,其他垃圾:other_waste,有害垃圾:harmful_waste})[type].value.push(txt))};

本题作者想说

本题主要考察的知识:

主要将已存在的数组按数组内部的属性进行再分类

 本题主要是要求我们对waste中的垃圾属性,按照垃圾类型一对一进行分类,既然涉及到了“一对一”那我们首先要想到循环遍历,也就是将数组一个一个进行定义(forEach

forEach 是 JavaScript 中数组的一个方法,用于对数组的每个元素执行一次提供的函数。它不会改变原数组,也不会返回任何值(即返回 undefined)。

以下是 forEach 方法的基本语法:

array.forEach(function(currentValue, index, arr), thisValue)

currentValue:当前正在处理的数组元素。

index(可选):当前正在处理的数组元素的索引。

arr(可选):正在被遍历的数组本身。

thisValue(可选):执行回调函数时用作 this 的值。

这个语法其实没什么难的,最主要的就是要明白你要对那个进行循环操作,在本题中,我要对waste数组中的type与txt进行循环,这样我们就要把这两个属性,作为一个整体的对象在foreach中展示

waste.value.forEach(({type,txt})=>()
)

 如此,我们明白了要把什么循环,之后就要考虑对要循环的东西怎么循环,根据题意,题目中已经把各个类型垃圾都已经做好了定义,那么我们要做的就是把该属于这类的垃圾与watse中乱序的垃圾分类进行一一的映射,并根据类型的值将watse中的txt推送到其中

一一映射:在一一对应时,注意“,”的使用

              厨余垃圾:food_waste,可回收垃圾:recyclable_waste,其他垃圾:other_waste,有害垃圾:harmful_waste

根据类型([type])的值(.value)将watse中的txt推送到其中(.push(txt) )最后结果如此

因此题的{}与()过于多,所以需要答题者一定要注意foreach用到的符号与自己定义的对象符号,不要搞混


题目3:神奇的滤镜

需要考生作答的代码段如下:

filterTrigger.forEach(trigger => {// TODO:待补充代码});

题目要求:

请在 js/index.js 文件中的 TODO 部分补充代码实现需求,变量 filterTrigger 为所有滤镜复选框元素。为复选框 .Header input 绑定选择事件,当选择某个复选框时,会弹出对应的滤镜效果的弹窗(class="Filter")。当选择多个复选框时,滤镜会进行叠加,通过调用以提供的 updateZIndex 函数将后选择的滤镜覆盖在最上层。

例如:当勾选页面中 data-filter-name="brightness" 对应的复选框时,与其对应的滤镜弹窗(class="Filter" data-filter-name="brightness")将显示在页面中(注意,只能通过修改 display 属性控制其显隐)。

答案:

filterTrigger.forEach(trigger => {// TODO:待补充代码document.querySelector('header').onchange = ({target}) => {filterTrigger.forEach((trigger,id) => {filters[id].style.display = trigger.checked ? 'block' : 'none'if(trigger===trigger){updateZIndex(filters[id])}})}
});

本题作者想说

本题主要考察的知识:

利用js寻找改变的元素,并利用循环遍历与监听器,持续不断的判断状态以达到内部属性的改变

 本题的代码过于冗杂,这便更考到我们理解代码的能力,首先我们要清楚filterTrigger 为控制所有滤镜框的复选框元素,我们要做到当点击页面头部的选项时,滤镜框的复选框同时被选择,同时可以显示滤镜框,trigger代表在循环时滤镜框的另一种代指,滤镜效果的弹窗(class="Filter")即表示滤镜框,但是值得注意的上述代码const filters = document.querySelectorAll('.Filter');已经将.Filter变成了filters,所以filters为滤镜框

首先找到页面头部的复选框是否被选中,并添加一个监听器,使随时可以监听是否选择

  document.querySelector('header').onchange = ({target})

这里target代表头部复选框的另一种代指,之后我们首先有了前提条件复选框的控制选项,之后通过复选框选项再次循环对滤镜框的复选框元素

=> {filterTrigger.forEach((trigger,id) => {}

与之前不同的是,我们把id也传入进去,这样编程就知道了谁被选择了,之后我们就可以根据id将滤镜框展示出来,另外多个展示框展示时,题目有明确要求使用updateZIndex()函数放置上层

      filters[id].style.display = trigger.checked ? 'block' : 'none'if(trigger===trigger){updateZIndex(filters[id])}})

 如此便完成了

本题难点就难在了一层层的套环,一层层数据的传递


题目4:解密工具

需要考生作答的代码段如下:

function getPossiblePasswords(max, count) { // TODO: 待补充代码  }

题目要求:

完善 js/index.js 中的 getPossiblePasswords 函数,该函数接受两个参数:

  • max:密码数组中的最大数字
  • count:密码数组的长度

该方法返回值为一个二维数组,里面包含所有的可能解密的数组。解密的数组从1开始,无需考虑二维数组中包含的数组顺序以及密码数组中数字的顺序。即[[2,4],[3,4]][[4,3],[4,2]] 是一样的。

答案:

function getPossiblePasswords(max, count) {// TODO: 待补充代码  const resultArr = []const handleArr = (start, res) => { if (res.length == count) {resultArr.push([...res])return}for (let i = start; i <= max; i++) { res.push(i)handleArr(i + 1, res) res.pop() }}handleArr(1, [])return resultArr
}

本题作者想说

本题主要考察的知识:

通过两个数字的限制,生成符合排列组合的二维数组

本题其实就是让答题人限制最大数与数组的个数,生成符合个数且最大数不超过限定的最大数的排列组合数组

定义一个数组用来存放最后的数组    const resultArr = []

之后我们再定义一个处理数组的方法,传入start和res,start表示当前排列组合的起始数字,res是一个数组,用于存储当前的排列组合。

const handleArr = (start, res) => {}

如果res数组的长度等于count,则将res数组的副本推入resultArr数组中,并返回

if (res.length == count) {resultArr.push([...res])return
}

 函数通过一个for循环遍历从start到max的所有整数,对于每个整数i,将其推入res数组,然后递归调用handleArr函数,传入i + 1作为新的start值,递归调用后,将res数组的最后一个元素弹出,以便尝试下一个可能的排列组合

for (let i = start; i <= max; i++) { res.push(i)handleArr(i + 1, res) res.pop() 
}

之后我们用这个函数将1与空数组【】传入,在处理之后,返回最后的数组

    handleArr(1, [])return resultArr

 如此便完成了,


感谢观看此篇文章,谢谢大家的支持,本片文章只是我自己学习的历程,有些写的不好地方欢迎大家交流改动。

长路漫漫,我们还需努力!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI大模型】提示词(Prompt)工程完全指南:从理论到产业级实践

【AI大模型】提示词&#xff08;Prompt&#xff09;工程完全指南&#xff1a;从理论到产业级实践 一、Prompt 提示词介绍&#xff1a;AI的“密码本” 1. Prompt的底层定义与价值 本质&#xff1a;Prompt是人与AI模型的“协议语言”&#xff0c;通过文本指令激活模型的特定推理…

Excel 小黑第12套

对应大猫13 涉及金额修改 -数字组 -修改会计专用 VLOOKUP函数使用&#xff08;查找目标&#xff0c;查找范围&#xff08;F4 绝对引用&#xff09;&#xff0c;返回值的所在列数&#xff0c;精确查找或模糊查找&#xff09;双击填充柄就会显示所有值 这个逗号要中文的不能英…

基于Spring Boot的冷链物流系统的设计与实现的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

python环境集成整理

接口测试过程中&#xff0c;可能会切换测试环境&#xff0c;通过配置相关信息修改 设计思路&#xff1a; 1、 准备各个环境配置文件信息&#xff0c;包括http、common 、redis、db 2、创建不同环境配置信息 测试环境&#xff1a;env_test.yml、 预生产环境:env_prepro.yml、生产…

动平衡仿真程序设计

以下是针对动平衡振动信号分析的模块扩展方案&#xff0c;基于原有信号发生器架构进行增强&#xff1a; 一、动平衡专用信号生成器 // UnbalanceVibrationGenerator.h #pragma once #include "SignalGenerator.h" #include <vector>class UnbalanceVibration…

牛客周赛85 题解 Java ABCDEFG

A小紫的均势博弈 判断输入的 n 是奇数还是偶数 import java.io.*; import java.math.*; import java.util.*;public class Main {static IoScanner sc new IoScanner();static final int mod(int) (1e97);static void solve() throws IOException {int nsc.nextInt();if(n%2…

python——UI自动化(1) selenium之介绍和环境配置

一、selenium介绍 selenium是一个第三方库&#xff0c;python有很多库&#xff1b; 1、什么是ui自动化? 通过模拟手工操作用户ui页面的方式&#xff0c;用代码去实现自动化操作和验证的行为。 2、ui自动化的优点&#xff1f; &#xff08;1&#xff09;解决重复性的功能测…

Can通信流程

下面给出一个更详细的 CAN 发送报文的程序流程说明&#xff0c;结合 HAL 库的使用及代码示例&#xff0c;帮助你了解每一步的具体操作和内部原理。 一、系统与外设初始化 1.1 HAL 库初始化 在 main() 函数开头&#xff0c;首先调用 HAL 库初始化函数&#xff1a; HAL_Init()…

15 数据结构及算法应用

15 数据结构及算法应用 15.1 算法策略区分 15.1.1、分治法 特征:把一个问题拆分成多个小规模的相同子问题&#xff0c;一般可用递归解决。 经典问题:斐波那契数列、归并排序、快速排序、矩阵乘法、二分搜索、大整数乘法、汉诺塔。 15.1.2、贪心法 (一般用于求满意解) …

基于大模型的唇裂手术全流程预测与应用研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目标与内容 二、唇裂相关医学知识概述 2.1 唇裂的定义、分类与发病原因 2.2 唇裂对患者生理与心理的影响 2.3 传统唇裂治疗方法与局限性 三、大模型技术原理与应用基础 3.1 大模型概述 3.2 适用于唇裂预测的大模型类型及特…

环境变量设置异常导致UOS文件管理器无法正常运行

编译QT5.15.2&#xff0c;与UOS20.9的QT依赖冲突 现象原因解决方法 现象 重启系统后UOS桌面变成黑色&#xff0c;没有任何图标&#xff0c;任务栏的应用本来是有预览的&#xff0c;但也变得不可用。 原因 找了很久&#xff0c;查到原来是dde-file-manager未能正常启动。直接…

《认知觉醒》改变的核心方法论

《认知觉醒》改变的核心方法论 一、认知觉醒的核心目标 改变 → 提升能力 → 获得更好生活 二、大脑运作机制 脑区运算速度作用特点本能脑1.1亿次/秒自动化反应&#xff0c;能量消耗低情绪脑1.1亿次/秒情感驱动型决策​理智脑​40次/秒战略指挥官角色 关键差异&#xff1a…

Python中的字典:深度解析与应用实践

一、字典的本质与特性 Python字典&#xff08;Dictionary&#xff09;是以**键值对&#xff08;Key-Value Pair&#xff09;**形式存储数据的无序集合&#xff0c;使用大括号{}定义。其核心特性包括&#xff1a; 快速查找&#xff1a;基于哈希表实现&#xff0c;通过键&#…

【蓝桥杯python研究生组备赛】005 数学与简单DP

题目1 01背包 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值。 输入格式 第一行两个整数&a…

2024年国赛高教杯数学建模E题交通流量管控解题全过程文档及程序

2024年国赛高教杯数学建模 E题 交通流量管控解题 原题再现 随着城市化进程的加快、机动车的快速普及&#xff0c;以及人们活动范围的不断扩大&#xff0c;城市道路交通拥堵问题日渐严重&#xff0c;即使在一些非中心城市&#xff0c;道路交通拥堵问题也成为影响地方经济发展和…

穿越是时空之门(java)

emm&#xff0c;之前做过一道类似的题目&#xff0c;但是这次又忘了 一开始的错误代码 package Lanqiao;import javax.swing.plaf.synth.SynthTextAreaUI; import java.math.BigInteger;/*** author zb* date2025/3/19 21:33*/ public class L19701 {public static void main…

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本的处理方法

1、安装了node.js后&#xff0c;windows powershell中直接输入npm&#xff0c;然后就报错 2、出现原因&#xff1a;权限不够 系统禁用了脚本的执行&#xff0c;所以我们在windows powershell输入npm -v的时候&#xff0c;就会报上面的错误。 3、解决 Set-ExecutionPolicy Un…

蓝桥杯单片机之AT24C02(基于自己对AT24C02的学习和理解)

一、先用抽象法说明原理&#xff0c;让原理变得简单易懂&#xff1a; 1、向AT24C02写入数据&#xff1a; 有个关系户&#xff0c;他想安排自己的儿子进某个大厦里某个楼层的公司&#xff0c;那么他就要先找到这个公司的地址&#xff0c;然后再找到该公司是第几楼&#xff0c;最…

Java面试易忽略知识点

1. CompletableFuture中thenApply()与thenCompose()的区别 考察点&#xff1a;组合式异步编程 解析&#xff1a; ​**thenApply()**&#xff1a;接收前序任务结果&#xff0c;返回普通对象&#xff08;同步转换&#xff09;&#xff0c;适用简单数据处理。​**thenCompose()*…

VLLM专题(十九)—兼容 OpenAI 的服务器

vLLM 提供了一个 HTTP 服务器,能够实现 OpenAI 的 Completions API、Chat API 等功能! 您可以通过 vllm serve 命令启动服务器,或者通过 Docker 启动: vllm serve NousResearch/Meta-Llama-3-8B-Instruct --dtype auto --api-key token-abc123要调用服务器,您可以使用官…