国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

結構化

2021-02-04 07:59許憬
中小學信息技術教育 2021年1期
關鍵詞:結構化計算機模塊

許憬

計算機學科里的結構化是通過界定、提煉、約簡和形式化,從混沌的信息中抽取核心內容,將復雜、模糊的劣構問題,轉化成簡單、清晰的良構問題,并以適當?shù)挠嬎憬Y構來表述問題解決中各要素之間的邏輯關系,最終達到計算模型的自動化實現(xiàn)。結構化方法源于結構化程序設計語言,但又超越了算法,它提供的不僅是一項具體的學科知識、學科方法,更是一種問題解決的全新思維方式。計算思維下的結構化,體現(xiàn)了計算機算法形式的本質特征,它貫穿于問題解決的全過程,包括數(shù)據(jù)的結構化、分析的結構化、設計的結構化和編碼的結構化。本文結合實踐從計算機解決問題的四個方面闡述結構化的實施。

從劣構到良構,實現(xiàn)數(shù)據(jù)的結構化

數(shù)據(jù)是構成數(shù)字世界的基石,是計算機處理的對象。算法選擇的重要依據(jù)是數(shù)據(jù)結構。構造數(shù)據(jù)使之結構化是問題解決的開始,也是計算機自動化的起點。

1.數(shù)據(jù)抽象使之結構化,讓計算機信息可識別

計算機能進行數(shù)值、邏輯和字符等數(shù)據(jù)的運算,所以對客觀事物和問題的描述只有抽象為數(shù)據(jù)才能計算。如一所學校的師生信息管理系統(tǒng),師生的信息將被映射成一個個數(shù)據(jù),在計算機世界里被結構成符號化、能識別、能計算的數(shù)據(jù)。客觀世界中的對象是綜合的,并賦予了諸多屬性,我們篩選出其中若干條關鍵性、有價值、能量化的要素,這個過程稱之為結構化,其他無足輕重的信息將在結構化的過程中自動被忽略。數(shù)據(jù)是客觀事物的符號表示,數(shù)據(jù)的編碼過程也是信息的結構化、數(shù)字化過程,也只有抽象并賦予信息價值后的數(shù)才能稱為數(shù)據(jù)。

2.數(shù)據(jù)清洗使之結構化,讓計算機工作更高效

大型問題的決策和計算機解決依賴于數(shù)據(jù)倉庫,庫內的海量數(shù)據(jù)是面向某一主題的數(shù)據(jù)集合,但這些數(shù)據(jù)源自多人、多渠道、多工具的原始采集,其中不乏不規(guī)范的、無關的、不完整的、錯誤的、重復的數(shù)據(jù),這不適宜被計算機直接拿來使用。我們可根據(jù)問題求解的需要提取數(shù)據(jù),并按一定規(guī)則把這些“臟數(shù)據(jù)”洗掉,數(shù)據(jù)清洗的任務就是過濾無效數(shù)據(jù),使進庫的數(shù)據(jù)都符合一定標準和基本規(guī)格,便于計算機后續(xù)的數(shù)據(jù)建構和操作。

【案例1】第6屆全國高中信息技術優(yōu)質課評比中,廣東彭麗歐老師在《數(shù)據(jù)選房:騰沖市房源數(shù)據(jù)的分析和可視化表達》一課中創(chuàng)設了“父親的換房之路”虛擬情境,用大數(shù)據(jù)技術為換房提供決策參考。在數(shù)據(jù)采集環(huán)節(jié),師生用網(wǎng)絡爬蟲設定了決策規(guī)則,循環(huán)抓取網(wǎng)上參數(shù)與字段,形成了最初的2591條原始數(shù)據(jù)倉庫,然后老師用Python程序對庫存內空值、異常值、重復值等進行了數(shù)據(jù)清洗,預處理后形成了二次數(shù)據(jù)集1997條記錄。結構化后的數(shù)據(jù)庫方便計算機更有效率地進行信息檢索與整理。

3.數(shù)據(jù)整理使之結構化,讓計算機處理更清晰

抽象后的數(shù)據(jù)可直接被計算機調用,但它僅僅是分離的元素、數(shù)據(jù)的孤島。數(shù)據(jù)與數(shù)據(jù)只有經(jīng)歷整理形成一定意義關聯(lián)和邏輯連接,經(jīng)此結構化后的數(shù)據(jù)才能真正發(fā)揮其價值。

“數(shù)據(jù)結構+算法=程序”。好程序,不但需要高效率的算法,更依賴于結構化的數(shù)據(jù)材料,一定程度上數(shù)據(jù)結構影響著算法選擇。數(shù)據(jù)結構是計算世界特有的數(shù)據(jù)存儲形式,其模型也極其豐富,有表達點狀關系的集合,表達線性關系的數(shù)組、棧、隊列、鏈式,有表達層次關系或分支關系的樹形、圖(網(wǎng))狀等,這些結構化后的數(shù)據(jù),便于計算機的自動化處理。數(shù)據(jù)整理的價值在于實現(xiàn)數(shù)據(jù)形式的結構化,使呈現(xiàn)更清晰;數(shù)據(jù)邏輯的結構化,使關系更有條理。在數(shù)據(jù)關系中行列式結構——表格,依然是最易理解、最有效率的數(shù)據(jù)存儲方式,也最宜用二維數(shù)組實現(xiàn),從二維表里我們很容易挖掘出數(shù)據(jù)元素之間的關聯(lián)、數(shù)據(jù)發(fā)展的趨勢和背后隱藏的信息。

從模糊到清晰,實現(xiàn)分析的結構化

分解是問題分析的基本方法。不管在什么領域,當人們面對一個大型項目或復雜問題需要求解時,都應優(yōu)先考慮怎樣對問題進行合理分解。問題求解時計算機采用慣用思維方式是按照樹形結構自頂向下、逐步求精的方法,層層分解,去除非核心問題,剪枝冗余分杈,列出需要解決的最主要的子問題,如此類推及至每個子問題都控制在人們容易理解和處理的范圍內,最后通過逐一解決每個子問題來解決初始的問題(圖1)。

逐步求精的結構分解法,源自技術領域的經(jīng)驗。將問題的分析與分解,細化至每個明確可控、可操作、可處理的步驟,這是計算機自動化實現(xiàn)的可計算原則。這種思想不僅適用于技術領域,也適用于人類生活。在人的思維習慣里,大腦總是通過已有經(jīng)驗和模式識別來存儲新信息、認知新問題。結構化分解是分析問題最有效的方法,按功能進行結構分解,把一個復雜問題拆解成若干個更簡單、更可執(zhí)行、更為熟悉的小步驟微算法,畢竟解決一個復雜度較小的問題所需的工作量相比一個復雜度較大的問題總是要少得多,也容易得多。結構化的分解分析,可幫助我們快速尋找到解決問題的焦點、難點、關鍵點、著力點。長期進行結構化的分解訓練,恰似庖丁解牛,可幫助我們養(yǎng)成聚焦問題核心的能力。

【案例2】第6屆全國高中信息技術優(yōu)質課評比中,江蘇金婧老師在教學完成“快速制作大量邀請函”的項目時,通過分析先把這項大工程解構成三個子問題。問題一:邀請函模板如何制作?問題二:人員信息表如何建立?問題三:信息表中的姓名如何依次并入邀請函模板中?經(jīng)過師生討論,大家發(fā)現(xiàn)前兩個問題的解決只需原有的Word、Excel技術經(jīng)驗便可達成,問題三跨域的合并才是工程解決的鑰匙所在,也是課時的技術難點。隨后師生共同探究新技術,再細化問題三,梳理出信息“合并”的算法:(1)選擇“收信人”數(shù)據(jù)庫;(2)在邀請函指定位置“插入合并域”項目;(3)“郵件合并”實現(xiàn)姓名、邀請函的合并輸出。本課時解決問題中就采用了結構化的分解方法,將復雜問題層層解構,最終直抵問題的關鍵。

從解構到重構,實現(xiàn)設計的結構化

模塊化設計是將一個大程序按照功能結構劃分為若干小程序模塊,每個模塊承擔完成一個確定的功能,我們在這些功能模塊之間建立必要的聯(lián)系,然后通過模塊的互動協(xié)作完成整體系統(tǒng)功能。好的模塊圖不僅能勾勒出算法的大致結構,更能反映出主要模塊之間的邏輯關系。模塊化設計從問題的宏觀總目標開始,抽象底層的微觀細節(jié),專心構造高層的結構,使設計者能高屋建瓴把握主題,避免一開始便陷入繁復的細節(jié)中。

整個模塊化設計包含解構與重構兩個過程。解構是從系統(tǒng)到模塊的分割。根據(jù)模塊化思維,系統(tǒng)設計時可將整個工程分解成幾個模塊,每組只負責其中一個模塊。我們需要保持每個模塊的獨立性,一個理想的模塊應當只做單一任務,只賦予單一功能。重構是從模塊到系統(tǒng)的集成。采用搭積木的方法把完成的若干獨立功能模塊進行重組,組合過程遵循系統(tǒng)論原則,重點進行模塊之間的整體關聯(lián)、接口耦合。模塊化不意味著無限分解,隨著模塊數(shù)量的增長,模塊之間耦合的復雜度和設計所需的工作量也會隨之增加。解構和重構是模塊化設計中的兩個串行進程。

模塊化設計與結構化分解都是我們用計算機視野看問題的一種方式,但兩者分的程度不同。在任務樹里,分解會細分到葉,而模塊只需分割到結點。分解適用于問題分析階段,思維方向是從頂向下;模塊化適用于問題解決階段,其思考方向既有縱向,也有橫向的功能模塊聯(lián)系。

從自然到規(guī)范,實現(xiàn)編碼的結構化

一個問題求解算法的逐步求精,就是對用自然語言等描述的算法逐步細致化、精確化和形式化的過程,算法的描述經(jīng)歷了從非形式的自然語言到形式化程序語言的發(fā)展,編碼形式也實現(xiàn)了從非結構化到結構化的歷程。隨著計算機計算能力的增強,現(xiàn)在衡量程序質量的標準,已從過去的效率第一轉為清晰第一。構造以自動化為目標的結構化,體現(xiàn)了計算機形式的最本質特征。

從自然語言的算法描述到結構化的代碼實現(xiàn),背后支撐的是兩種不同語言系統(tǒng),而兩種語言之間缺乏通道,學生還存在著經(jīng)驗斷裂帶。高中算法課上教師往往采取直接代碼復制的方法來實施講解,回避了結構化、形式化過程中理解與編碼難點,這種簡化方式對算法習慣的形成和計算思維的培育是非常不利的。打通口頭描述和代碼實現(xiàn)之間的最后一公里,可采用“三步走”方式來推進。

第一步,自然語言的算法描述。算法的形成會經(jīng)歷一個從模糊到清晰的漸變過程,“說”可以加速這個進程。算法教學要重視“自然說”的過程,讓學生將解決問題的方法通過人們日常使用的語言進行表述,只有讓學生親身經(jīng)歷過自述、討論、互述等環(huán)節(jié),并能通過數(shù)學語言、口頭語言等自然語言對解題步驟進行詳盡描述,頭腦中的算法框架已經(jīng)形成并逐步完善、清晰、具體化時,那么編碼也就水到渠成了。

第二步,結構化的語言描述。用自然語言描述算法通俗易懂。但自然語言的歧義性、冗長、非結構化等特征在一定程度上阻礙了計算思維的準確表達。我們倡導算法的結構化描述,雖仍以自然語言為語言載體,但它以結構性詞匯作為算法描述和邏輯轉化的關聯(lián)詞(先……后……、如果……就……、重復執(zhí)行……),并把問題的解決步驟化歸在順序、選擇和循環(huán)三種基本結構框架內。

自然語言的結構化描述能清晰地反映算法的基本結構,又不與某種特定的編程語言發(fā)生聯(lián)系,它不拘束于苛刻的語法規(guī)則,易于編寫與理解,利于構造與轉換。結構化描述可以幫助孩子在正式編碼之前準確表達程序的邏輯,經(jīng)自然語言結構化描述的算法也比較容易轉化為任何一種高級語言程序。

【案例3】浙攝版小學六年級“Scratch創(chuàng)編游戲”

師:剛才玩了走迷宮游戲,沒有限制的游戲是無趣的,為了讓游戲更具挑戰(zhàn)性,我們可以給機器貓?zhí)砑幽男┯螒虻囊?guī)則呢?

生1:走進草地便返回至起點;生2:遇見滑梯便快速滑到終點;生3:走到沼澤地,原地停留3秒鐘,并發(fā)出“喵”的一聲。

情境分析與游戲創(chuàng)新設計,學生用自然語言來描述抽象出來的規(guī)則。

師:返回原點的情況一定會發(fā)生嗎?可用什么關聯(lián)句式來表述呢?(“如果……就……”)生:(機器貓)如果走進草坪,就會返回起點。

師:機器貓怎樣自動識別是否走進草坪?又怎么才能聽話乖乖地返回起點?生:走進草坪,可以看是否碰到綠色的區(qū)域。

師:(提示)機器貓具備自動偵測的功能,它能對碰到的顏色、角色進行(Y/N)判斷。生:返回原點就是移動至最初起點。

師:請用學科特有的表達格式再來描述一下?(提示)原點坐標:(-200,150)。生:如果偵測到了綠色,(機器貓)就移動至(-200,150)位置。

用“如果……就……”關聯(lián)句式對游戲規(guī)則進行算法改造和描述,以實現(xiàn)結構化;教師通過增設的結構化描述環(huán)節(jié),搭建了從自然語言到程序語言之間的算法橋梁,如果算法描述的結構化順利完成,則程序腳本的實現(xiàn)也水到渠成。

第三步,程序代碼的結構化實現(xiàn)。所謂編碼的結構化就是算法最終的代碼必須遵循計算機語言規(guī)范,嚴格用順序、選擇和循環(huán)三種基本程序結構的組合構建結構化的算法。結構化的編碼有利于代碼實現(xiàn)、代碼維護,有利于程序閱讀、程序監(jiān)測。也只有被結構化了的編碼,才能被計算機有效地模式識別,被計算機高效地執(zhí)行,并最終實現(xiàn)自動化。

不僅是程序算法,我們的教案設計也可以嘗試著使用順序、分支、循環(huán)三種結構組合的流程圖方式來描述解決問題的關鍵步驟。

結構化方法的本質就是邏輯。它將零散的思維、知識、信息、數(shù)據(jù)等,用一種特定的邏輯框架實現(xiàn)聚合。它讓繁復的問題簡約化,并獲得一種分析的方法、量化的工具。結構化方法使我們透過現(xiàn)象看本質,長期進行結構化思維訓練,可以提高我們系統(tǒng)分析問題、高效解決問題以及統(tǒng)籌規(guī)劃工作的能力,它使我們的思維及表達更加縝密、有條理。結構化作為計算思維、工程思維、系統(tǒng)思維的一種方法,體現(xiàn)在問題解決的全過程,其價值也不局限于計算機科學,運用其思想可以指導我們更高效地實現(xiàn)系統(tǒng)設計和理解人類行為。

參考文獻

王榮良. 中小學計算思維教育實踐[M]. 上海:上??萍冀逃霭嫔?,2019.

馮超,白珍,李欣. 結構化方法在信息技術教學中的應用實踐[J]. 中小學信息技術教育,2019(9).

猜你喜歡
結構化計算機模塊
28通道收發(fā)處理模塊設計
“選修3—3”模塊的復習備考
計算機操作系統(tǒng)
促進知識結構化的主題式復習初探
結構化面試方法在研究生復試中的應用
基于計算機自然語言處理的機器翻譯技術應用與簡介
信息系統(tǒng)審計中計算機審計的應用
基于圖模型的通用半結構化數(shù)據(jù)檢索
Fresnel衍射的計算機模擬演示
基于軟信息的結構化轉換
临颍县| 寿宁县| 林芝县| 边坝县| 陆良县| 措美县| 滕州市| 舒兰市| 松溪县| 肃南| 罗源县| 丘北县| 阿图什市| 昭苏县| 松原市| 安徽省| 井冈山市| 丹寨县| 布尔津县| 手游| 文昌市| 汉寿县| 平度市| 周口市| 白城市| 略阳县| 婺源县| 红桥区| 子长县| 田东县| 龙江县| 平塘县| 房产| 义马市| 金塔县| 上饶市| 丘北县| 长武县| 芦山县| 德格县| 恩平市|