備賽藍橋杯之第十六屆模擬賽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.pswp.cn/web/72727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72727.shtml
英文地址,請注明出處:http://en.pswp.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要調用服務器,您可以使用官…